Skip to content

feat(claude): add dependabot-triage skill#86

Merged
rin2yh merged 1 commit into
mainfrom
claude/dependabot-prs-60j2hk
Jul 11, 2026
Merged

feat(claude): add dependabot-triage skill#86
rin2yh merged 1 commit into
mainfrom
claude/dependabot-prs-60j2hk

Conversation

@rin2yh

@rin2yh rin2yh commented Jul 11, 2026

Copy link
Copy Markdown
Owner

What

Adds a Claude Code skill, dependabot-triage, that captures the workflow used to clear this repo's Dependabot backlog — so the next batch can be handled consistently.

home/claude/skills/dependabot-triage/SKILL.md — a single self-contained skill file.

The procedure it encodes

  1. Enumerate open automated PRs (is:pr is:open author:app/dependabot).
  2. Check each PR's real CI status, not its title. mergeable_state: unstable is not a green light — a check is failing or still pending.
  3. Merge the green, independent bumps (respecting the repo's allowed merge methods — squash is disabled here, so plain merge).
  4. Investigate every red PR from its log before acting.
  5. Detect lockstep pairs — bumps that each fail alone but pass together because they share a moving interface. The concrete case that motivated this: nixpkgs + nix-darwin, coupled through inputs.nixpkgs.follows = "nixpkgs". Bumping nixpkgs alone failed with --toc-depth has been removed, use --sidebar-depth instead; bumping nix-darwin alone failed with unrecognized arguments: --sidebar-depth. Opposite errors on the same tool → they must land together.
  6. Stay within the user's scope — "handle the Dependabot PRs" authorizes merging/closing those PRs, not authoring a replacement PR of one's own.

How it was validated

Before finalizing, the skill was checked with the skill-creator eval methodology: a with-skill vs no-skill baseline across three scenarios (a lockstep pair in a mixed batch, a genuine breaking change, and a pending-not-failing trap), graded against assertions.

Metric With skill Baseline
Pass rate 100% 87%

The entire gap is the lockstep scenario: the baseline detects the coupling but stalls (defers, or drifts toward authoring a new combined PR), while the skill decisively co-merges the pair within Dependabot's own PRs. The two easier scenarios both pass with or without the skill — the skill reinforces good defaults without hurting them. (The eval fixtures themselves are kept out of the repo and are not part of this PR.)

Deployment

Picked up automatically by the existing ~/.claude/skills → home/claude/skills out-of-store symlink in home/home.nix; no config change needed. Kept YAML frontmatter (unlike the two older skills here) so it can auto-trigger on relevant requests rather than only via an explicit slash command.

Notes

🤖 Generated with Claude Code

https://claude.ai/code/session_016WThNHb4txVH79gMdnposV

Captures the workflow for safely landing automated dependency-update PRs:
enumerate open Dependabot PRs, check each one's CI (not the title), merge
the green independent ones, and handle bumps that only pass when landed
together — lockstep dependencies such as nixpkgs + nix-darwin/home-manager,
where each fails alone because they share a moving interface but succeed
when bumped in the same lock update.

Deploys automatically via the existing home/claude/skills -> ~/.claude/skills
symlink; no home.nix change required.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WThNHb4txVH79gMdnposV
@rin2yh rin2yh force-pushed the claude/dependabot-prs-60j2hk branch from 6f06e0c to 0a223cd Compare July 11, 2026 06:55
@rin2yh rin2yh marked this pull request as ready for review July 11, 2026 06:56
@rin2yh rin2yh merged commit 4349855 into main Jul 11, 2026
@rin2yh rin2yh deleted the claude/dependabot-prs-60j2hk branch July 11, 2026 06:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants