From update-issue-index
Use this skill whenever the user wants to implement a specific existing GitHub Issue in a spec-driven development (SDD) workflow. Triggers include Japanese phrases like "Issue
How this skill is triggered — by the user, by Claude, or both
Slash command
/update-issue-index:implement-issueThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
`docs/issues/issue-<N>/spec.md` を真実の源として、Issue を実装しブランチを切って PR を出すまでを一貫して行うスキル。
docs/issues/issue-<N>/spec.md を真実の源として、Issue を実装しブランチを切って PR を出すまでを一貫して行うスキル。
create-issue と対になる位置づけで、SDD(Spec-Driven Development)のサイクルを完結させる。
ルーチンな Git/GitHub 操作はシェルスクリプトに集約。実装判断と差分生成は Claude 本体が担当する。
プラグインとしてインストールされると、スクリプトは ${CLAUDE_PLUGIN_ROOT}/skills/implement-issue/scripts/ 配下に展開される。SKILL.md 内に書かれた ${CLAUDE_PLUGIN_ROOT} は Claude Code のインライン置換で絶対パスに置き換わってから Bash tool に渡される(このトークンに bash の parameter expansion %/ 等を加えると置換エンジンにマッチしなくなり、空文字展開で失敗するので、素の ${CLAUDE_PLUGIN_ROOT} のまま使うこと)。末尾スラッシュ付きで展開されて // が入ることがあるが Unix では無害。作業ディレクトリ(cwd)はユーザーのプロジェクトのままで OK。
| スクリプト | 役割 | 使い方 |
|---|---|---|
check-prereqs.sh | 前提チェック(gh 認証・git・デフォルトブランチ・作業ツリー) | bash "${CLAUDE_PLUGIN_ROOT}/skills/implement-issue/scripts/check-prereqs.sh" |
create-branch.sh | 規約に沿ったブランチ作成 | bash "${CLAUDE_PLUGIN_ROOT}/skills/implement-issue/scripts/create-branch.sh" <番号> <type> <short-desc> |
create-pr.sh | 現ブランチから PR 作成 | bash "${CLAUDE_PLUGIN_ROOT}/skills/implement-issue/scripts/create-pr.sh" "<タイトル>" <body-file> |
コミットは Claude が git コマンドで直接行う(内容ごとにメッセージが変わるため)。
このスキルは完全自動ではなく、各ステップでユーザーに確認を取るチェックポイントを設けている。勝手に解釈して進めない。
bash "${CLAUDE_PLUGIN_ROOT}/skills/implement-issue/scripts/check-prereqs.sh"
エラー終了したら内容をユーザーに報告して中断する。WARN: が出た場合は続行してよいか確認する。
gh issue view <番号> --json number,title,body,state,labels
続いて docs/issues/issue-<番号>/spec.md を Read で読み込む。
spec.md が存在しない場合は中断する。「先に create-issue スキルで spec を作ってください」とユーザーに伝える。Issue 本文だけを頼りに実装を始めない。
Issue の状態が CLOSED の場合もユーザーに確認する(意図せず閉じた Issue を実装しようとしている可能性)。
spec.md を読んだ上で、以下をユーザーに提示して合意を取る:
<type>/issue-<番号>-<short-desc> の形式で提案
feature / fix / refactor / docs / test のいずれかユーザーから OK が出るまで先に進まない。
bash "${CLAUDE_PLUGIN_ROOT}/skills/implement-issue/scripts/create-branch.sh" <番号> <type> <short-desc>
成功するとブランチ名が stdout に返る。以降の作業はこのブランチで行う。
Claude が Edit / Write / Bash 等を使って実装する。以下を守る:
feat: <説明> (#<番号>) — 新機能fix: <説明> (#<番号>) — バグ修正refactor: <説明> (#<番号>) — リファクタdocs: <説明> (#<番号>) — ドキュメントtest: <説明> (#<番号>) — テスト追加/修正実装中に spec の解釈で迷ったら、その場でユーザーに確認する(推測で進めない)。
PR を出す前に、以下を順にチェックしてレポートをユーザーに提示する。1 つでも FAIL があれば PR 作成に進まず、ユーザー判断を仰ぐ。
CLAUDE.md の ## Commands セクション(または同等の記載)を参照してコマンドを実行する。プロジェクトに定義が無ければそのことを明記して省略。- [ ] を全件列挙し、それぞれについて「自動テストでカバー済み」「手動確認: 実装の該当箇所 file:line」「未達」を明記。git diff <default-branch>...HEAD で console.log / print( / debugger / TODO: remove 等が残っていないか確認。git diff --stat <default-branch>...HEAD を表示し、変更ファイルが想定どおりか目視確認。git log <default-branch>..HEAD --oneline を表示し、Conventional Commits 形式と Issue 番号が揃っているか確認。レポートは以下のような構造化された形式で出す:
[PASS/FAIL] リンター: <実行コマンド>
[PASS/FAIL] 型チェック: <実行コマンド>
[PASS/FAIL] テスト: <実行コマンド>
[PASS/FAIL] 受け入れ条件:
- [x] 条件1 — tests/foo.test.ts:12 でカバー
- [x] 条件2 — src/bar.ts:42 で実装、手動確認済み
- [ ] 条件3 — 未達(理由)
[PASS/FAIL] デバッグコード混入なし
[PASS/FAIL] 変更ファイルは想定どおり
[PASS/FAIL] コミットメッセージ規約準拠
PR 本文を一時ファイルに書き出す:
BODY_FILE=$(mktemp)
cat > "$BODY_FILE" <<EOF
## 概要
<1-2 文で何をしたか>
## 関連 Issue
Closes #<番号>
## 変更内容
- <箇条書き>
## テスト
- <追加/変更したテストの概要、実行結果>
## 動作確認
<該当すれば、スクショや手順。なければ省略>
EOF
PR タイトルは代表コミットと同じ形式(例: feat: ユーザー一覧にページネーションを追加 (#42))。
タイトルと本文をユーザーに提示して OK をもらう。
bash "${CLAUDE_PLUGIN_ROOT}/skills/implement-issue/scripts/create-pr.sh" "<タイトル>" "$BODY_FILE"
rm -f "$BODY_FILE"
スクリプトは未プッシュのブランチを自動で git push -u origin <branch> する。
git diff --stat <default-branch>...HEAD)ユーザー: 「Issue #42 を実装して」
動き:
check-prereqs.sh で環境確認(デフォルトブランチにいる・作業ツリーがクリーン)gh issue view 42 と docs/issues/issue-42/spec.md を読むfeature/issue-42-add-pagination・実装方針をユーザーに提示して合意を取るcreate-branch.sh 42 feature add-paginationsrc/users/UserList.tsx を編集、tests/users/UserList.test.tsx を追加。コミット 2 個に分ける:
feat: add pagination to user list (#42)test: add tests for user list pagination (#42)create-pr.sh で PR 作成create-issue スキルを使うよう促す。古い Issue で spec が無い場合は、ユーザーに「spec を先に作るか、このスキルを使わず手動で進めるか」を確認する。黙って Issue 本文だけで実装を進めない。gh pr create するか相談する。勝手にブランチを削除しない。create-pr.sh が自動で git push -u origin を行う。push を避けたい運用の場合はこのスキルを使わず手動で進める。CLAUDE.md。このスキル内にはハードコードしない。CLAUDE.md に該当セクションが無い場合、セルフレビューでその旨を明記して「コマンドが不明のため未実行」とする。Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Applies a firm's KYC/AML rules grid to parsed onboarding records: assigns risk rating, checks required documents, outputs rule outcomes with citations, and routes for escalation.
Generates daily or weekly digests of activity from connected sources (chat, email, docs, tasks, CRM), highlighting action items, decisions, mentions, and project updates.
npx claudepluginhub tokoro7/skills --plugin update-issue-index