ワンクリックで
dependabot-resolve
Review and merge dependabot PRs safely using gh CLI. Process one-by-one to avoid package-lock.json conflicts
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Review and merge dependabot PRs safely using gh CLI. Process one-by-one to avoid package-lock.json conflicts
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Perform deep analysis of the codebase, recent changes, and the requested task. Create a validated, expert-reviewed implementation plan
Review a pull request and provide constructive feedback with structured verdict. Used by awinogradov/code-review-action
Plan, implement, commit, create PR, and monitor until approved
Analyze staged changes and create conventional commits with intelligent grouping. Use when creating commits, or when invoked from other skills.
Create a GitHub issue with a structured body (Context, What, Why, Scope, Solution) and curated labels via the gh CLI. Use when filing new issues, or when invoked from other skills.
Create a Linear issue with a structured body (Context, What, Why, Scope, Solution) and wizard-selected status, label, and assignee via the Linear MCP. Use when filing a Linear ticket on a linear-tracked project.
| name | dependabot:resolve |
| description | Review and merge dependabot PRs safely using gh CLI. Process one-by-one to avoid package-lock.json conflicts |
| allowed-tools | ["Bash(gh *)","AskUserQuestion"] |
Review and merge dependabot PRs safely using gh CLI. Process one-by-one to avoid package-lock.json conflicts.
Arguments: $ARGUMENTS
No arguments are expected. Any supplied arguments are ignored.
gh repo view --json nameWithOwner --jq .nameWithOwner on the current directory. Do NOT prompt.gh pr list --author "app/dependabot" --state open --json number,title,headRefName
gh pr list --author "dependabot[bot]" --state open --json number,title,headRefName
Merge results from both queries and deduplicate by PR number before proceeding.For each PR, create a report:
| PR | Package | Change | Type | Risk | Breaking Changes |
|---|---|---|---|---|---|
| #N | name | 1.0.0 → 2.0.0 | major | high | [summary from changelog] |
Risk Levels:
For major/minor updates, fetch changelog summary:
gh pr view [number] --json body --jq '.body'
All updates require individual approval. Process one-by-one with context.
Before each approval, show relevant context:
Then present approval using AskUserQuestion tool:
Tool parameters:
question: "[TYPE] [package] X.X.X → Y.Y.Y\n\nCI: [pass/fail]\n[changelog summary for minor/major]"header: "PR #N"options: [
{ label: "Merge", description: "Approve and merge this update" },
{ label: "Skip", description: "Skip this update for now" }
]multiSelect: falseFor each approved PR (one at a time):
gh pr checks [number] --watch
If checks fail → analyze and report fix plan:
Fetch failure details:
gh pr checks [number] --json name,state,conclusion
gh run view [run-id] --log-failed
Analyze the error (type errors, test failures, lint issues, etc.)
Report fix plan:
PR #N [package] - CI Failed
**Error:** [brief description]
**Cause:** [why this update broke it]
**Fix:** [1-3 actionable steps to resolve]
Skip this PR, continue to next
gh pr view [number] --json mergeable --jq '.mergeable'
If not mergeable → request rebase from dependabot:
gh pr comment [number] --body "@dependabot rebase"
Report: "Requested rebase for PR #N, will need to re-run /dependabot-resolve later" Continue to next PR.
gh pr review [number] --approve
gh pr merge [number] --rebase --delete-branch
Wait 2-3 seconds before next PR to allow CI to update base branch.
## Dependabot Session Summary
### Merged (N PRs)
| PR | Package | Change | Type |
|----|---------|--------|------|
### Skipped - Failed Checks (N PRs)
| PR | Package | Error | Fix Plan |
|----|---------|-------|----------|
### Rebased - Conflicts (N PRs)
| PR | Package | Status |
|----|---------|--------|
(Requested @dependabot rebase - re-run /dependabot-resolve later)
### Skipped - Not Approved (N PRs)
| PR | Package | Reason |
|----|---------|--------|
These rules govern references — when you point the reader at a real file, standard, section, commit, or issue. (A token named only as an example, with no real target, is a code specimen in backticks, like any code identifier.) Every reference must resolve: render it as a real link whose target exists, and prefer the most stable link form so it does not rot. Render the same kind of reference the same way everywhere:
buildReviewComments, reviewOutput.ts. A backticked token names a thing as an example; it is not a reference and carries no link.[release field spec](<repo-blob-url>/docs/06-release-field.md). Use a repo-relative path in repository files and the absolute <repo-blob-url> form in generated output posted outside the repo (PR/issue bodies, review comments, release notes), where relative paths do not resolve. Any prose mention of a file or path that exists in the repo is such a reference — link it so it resolves on the default branch at writing time; a path that does not exist yet (a file the text proposes to create) or one shown inside a command or fenced block is a code specimen, not a reference.[RFC-0001](<repo-blob-url>/rfc/0001-reference-formatting.md); an Accepted RFC is immutable except through an explicit version bump, so the link never rots.[title](url) to the canonical source, taking the title from the source (or the site name). Use only a URL present in your input or context — never produce one from memory; a source with no known URL stays plain prose. When several sources back one document, they may be gathered into a short references list.#anchor, e.g. [Phase 6](#phase-6-reply-to-review-threads). Another document: path#anchor — a repo-relative path in repository files, the absolute <repo-blob-url>/path#anchor form in generated output. A GitHub anchor is the heading lower-cased, spaces turned to hyphens, punctuation dropped.[0328a61](<repo-commit-url>/0328a61); a commit is immutable. If you cannot build the URL, leave the bare SHA un-backticked.ENG-123) is dead text when bare: in prose, ALWAYS render it as a markdown link, e.g. [ENG-123](https://linear.app/<workspace>/issue/ENG-123) — a slug-less issue URL resolves. On a magic-word line (Closes/Fixes/Related to in a PR body's **Issues:** section) use plain forms only: bare #N for GitHub, the plain issue URL for other trackers — never a markdown-bracket link, which breaks the close-parsers.Backticks suppress GitHub autolinking: a commit SHA or issue/PR number inside a code span renders as dead text — that is why a backticked SHA was un-clickable in a prior review. Never wrap a SHA or issue/PR number in backticks; link it, or leave it bare so GitHub auto-links it.
Write the most helpful, readable output you can: plain, direct prose; every reference resolvable; explain the "why", not the obvious "what".