Best for
- Use when the user wants to review dependency PRs, check which are mergeable, fix failing CI on dependency updates, or clean up a backlog of automated dependency PRs.
jackchuka/skills/gh-dep-pr-triage/SKILL.md
Triage and fix dependency update PRs (Renovate, Dependabot, etc.). Use when the user wants to review dependency PRs, check which are mergeable, fix failing CI on dependency updates, or clean up a backlog of automated dependency PRs. Also triggers when the user mentions "renovate PRs", "dependabot PRs", "dependency updates", "dep PRs".
Decision brief
End-to-end workflow for triaging dependency update PRs: list them, assess merge safety, and fix CI failures — all with maximum parallelism. Do NOT merge PRs unless the user explicitly asks.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/jackchuka/skills --skill "gh-dep-pr-triage"Inspect the Agent Skill "gh-dep-pr-triage" from https://github.com/jackchuka/skills/blob/7b0b33f68b8f11522e43622e5cb3bacd802999d2/gh-dep-pr-triage/SKILL.md at commit 7b0b33f68b8f11522e43622e5cb3bacd802999d2. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
List all open dependency update PRs. Detect the bot automatically (Renovate, Dependabot, etc.).
gh search prs --author app/renovate --author app/dependabot --state open --owner \ --archived=false --json repository,number,title,updatedAt --limit 100
gh pr list --repo --search "author:app/renovate OR author:app/dependabot" \ --json number,title,mergeable,mergeStateStatus,statusCheckRollup
For each CLEAN PR, run investigations in parallel to assess merge safety.
Only proceed if the user confirms. For each failing PR, fix it in its own git worktree so fixes run in parallel without interfering with each other or the main working directory.
Permission review
The documentation asks the agent to run terminal commands or scripts.
git worktree listThe documentation asks the agent to run terminal commands or scripts.
git worktree remove <worktree-path>Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 95/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 15 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
End-to-end workflow for triaging dependency update PRs: list them, assess merge safety, and fix CI failures — all with maximum parallelism. Do NOT merge PRs unless the user explicitly asks.
List all open dependency update PRs. Detect the bot automatically (Renovate, Dependabot, etc.).
gh pr list --repo <owner/repo> --search "author:app/renovate OR author:app/dependabot" \
--json number,title,author,mergeable,mergeStateStatus,statusCheckRollup,labels,updatedAt
When the user specifies an org (or says "all my repos"), search across all repos first, filter out archived repos, then fetch detailed status per repo in parallel:
# Step 1: Discover all open dep PRs across the org (excluding archived repos)
gh search prs --author app/renovate --author app/dependabot --state open --owner <org> \
--archived=false --json repository,number,title,updatedAt --limit 100
# Step 2: For each unique repo found, fetch detailed PR status in parallel
gh pr list --repo <owner/repo> --search "author:app/renovate OR author:app/dependabot" \
--json number,title,mergeable,mergeStateStatus,statusCheckRollup
Classify each PR into one of these buckets:
| Bucket | Criteria | Next step |
|---|---|---|
| CLEAN | mergeStateStatus=CLEAN, all checks pass | Investigate for merge safety (Phase 2) |
| FAILING | One or more checks failing | Fix CI (Phase 3) |
| CONFLICTING | mergeable=CONFLICTING or mergeStateStatus=DIRTY | Resolve conflicts (Phase 3) |
Present the full table to the user and ask how they'd like to proceed before moving to the next phase. Do not automatically start investigating or fixing.
For each CLEAN PR, run investigations in parallel to assess merge safety.
When the same dependency appears across multiple repos (e.g., oxlint bumped in 3 repos), investigate it once and apply the verdict to all. Dispatch investigation agents by dependency group:
Report back a structured summary per dependency:
After presenting the investigation summary, ask the user if they want to proceed with fixing failing PRs.
Only proceed if the user confirms. For each failing PR, fix it in its own git worktree so fixes run in parallel without interfering with each other or the main working directory.
Lint/format failures — Run the project's lint and format commands. Often the dependency update changes generated files or type signatures that need reformatting.
Lockfile conflicts — Accept main's lockfile version, then regenerate with the project's package manager.
Merge conflicts — Merge main into the PR branch, resolve conflicts, then verify all checks pass.
1. git worktree add <worktree-path> <pr-branch>
2. cd <worktree-path>
3. Merge origin/main if behind
4. Install dependencies
5. Run lint → fix issues
6. Run format → apply fixes
7. Run typecheck → fix type errors
8. Run doc/code generation if applicable
9. Verify all checks pass locally
10. Commit and push
Always run all project checks before pushing, not just the one that was failing — dependency updates can cause cascading issues.
After all fixes are pushed and CI is passing, clean up local worktrees and branches created during the process.
# List worktrees to see what was created
git worktree list
# Remove each worktree
git worktree remove <worktree-path>
# Or if directories were already deleted:
git worktree prune
# Only delete branches that were created by worktree agents during this session
# Track which branches you create and delete only those specific ones
git branch -D <branch-1> <branch-2> ...
Always clean up before finishing — worktrees and local branches accumulate fast when fixing many PRs in parallel.
Only proceed with merging if the user explicitly asks. Never auto-merge.
When merging multiple dependency PRs, each merge can create conflicts in remaining PRs (especially in lockfiles and generated files).
Submit an approving review on each PR before merging it — never merge an unreviewed PR. The approval is the record that the PR was triaged and judged safe; merging without it skips that record.
Ask the user first. Approving is a distinct action from merging — do not auto-approve. After Phase 2, ask whether to approve the PRs (and which ones). Only approve the PRs the user confirms.
Approve with a comment carrying the investigation findings. Use --body to attach the Phase 2 verdict for that PR's dependency — version change, key changelog notes, and the safe-to-merge reasoning — so the approval is self-documenting. Approve in parallel across repos with error isolation, then verify the review landed:
# Approve each PR with the investigation summary as the review comment
gh pr review <number> --repo <owner/repo> --approve \
--body "esbuild 0.28.0 → 0.28.1 (patch, dev-only). Security + bug fixes only, no breaking changes. Safe to merge." 2>&1 || true
# Verify the approval was recorded
gh pr view <number> --repo <owner/repo> --json reviews \
--jq '.reviews[] | "\(.author.login): \(.state)"'
If you merged before approving, GitHub still accepts a retroactive --approve on a merged PR — submit it and verify, but treat this as a mistake to avoid, not the normal path.
Parallel across repos, sequential within a repo. PRs in different repos are independent and can be merged simultaneously. PRs in the same repo must be merged one at a time because each merge can dirty the next PR's lockfile.
gh pr merge returns exit code 1 on failure, which cancels all parallel tool calls. Always append || true when merging in parallel to prevent one failure from cancelling the rest:
# DO: merge across repos in parallel with error isolation
gh pr merge 42 --repo owner/repo-a --squash 2>&1 || true
gh pr merge 13 --repo owner/repo-b --squash 2>&1 || true
# DON'T: bare gh pr merge in parallel (one failure cancels all)
gh pr merge 42 --repo owner/repo-a --squash
gh pr merge can return "Pull Request is not mergeable" even when the merge actually succeeded. If a merge reports failure, verify the actual PR state before assuming it failed:
gh pr view <number> --repo <owner/repo> --json state --jq .state
mergeStateStatus)gh pr merge <number> --repo <owner/repo> --squash 2>&1 || true
After all merges complete, do a final scan for new PRs that appeared during the session. Merging dependency updates can trigger Renovate/Dependabot to open additional PRs (e.g., transitive dependency bumps). Report any new PRs to the user.
gh search prs --author app/renovate --author app/dependabot --state open --owner <org> \
--json repository,number,title --limit 100
|| true on parallel merge commands to prevent one failure from cancelling the restgh pr merge can report false errors; always check actual PR stateAlternatives
event4u-app/agent-config
Use when the user says "review the design", "check the UI", or wants a comprehensive UI/UX review. Uses a 7-phase methodology covering interaction, responsiveness, accessibility, and more.
K-Dense-AI/scientific-agent-skills
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.
K-Dense-AI/scientific-agent-skills
Medicinal chemistry filters for compound triage. Apply drug-likeness rules (Lipinski, Veber, CNS), structural alert catalogs (PAINS, NIBR, ChEMBL), complexity metrics, and the medchem query language for library filtering.
K-Dense-AI/scientific-agent-skills
Use NeuroKit2 to build or audit reproducible research workflows for physiological time-series preprocessing, event/interval analysis, multimodal alignment, variability, and complexity. Trigger when code imports neurokit2 or needs its current APIs, schemas, and method-aware validation—not for diagnosis or device validation.