with one click
with one click
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | review-issue |
| description | ISSUE の実装計画が全 PR 横断で網羅されているかを検証し、結果を ISSUE コメントに投稿 |
| argument-hint | <ISSUE 番号> |
| disable-model-invocation | true |
ISSUE #$ARGUMENTS の実装計画が、紐づく全 PR 横断で網羅されているかを検証してください。
ISSUE 本文・コメントが実装計画の一次ソース。その上に docs/spec/ がある場合、spec も整合性チェックの対象に含める。
- [ ] / - [x])同じ ISSUE への 2 回目以降の呼び出しかもしれないため、最新状態とコメント履歴を必ず取得して現状を判断する。 過去の Claude Review (ISSUE 完了監査) コメントがあっても「既に監査済み」で即終了せず、追加 PR マージや実装状況の変化を踏まえて 初回監査 / 再監査 / 再監査不要 (変化なし) のいずれかを判断する。
以下を並列で:
gh issue view $ARGUMENTS --comments (過去の Claude Review コメントも確認)gh issue view $ARGUMENTS --json title,state,body,labels,assignees,closedAtgh pr list --search "$ARGUMENTS in:body" --state all --json number,title,state,mergedAt,body
#<N> 参照から抽出docs/spec/ へのリンクを抽出し全文読む前提チェック: 紐づく PR に OPEN / DRAFT があれば、「全 PR マージ後に再実行してください」と報告して終了。過去の Claude Review コメントがあれば、前回監査以降の追加 PR マージ有無を確認して再監査の要否を判断する。
ISSUE 本文・コメントから実装予定の deliverable を全て抽出し、番号付きリスト化する。
列挙の観点:
- [ ] / - [x] 両方)出力形式:
### ISSUE #N 実装計画項目
1. [本文] XYZ 機能を追加
2. [本文] ABC のバグを修正
3. [コメント #2] Z はオプション扱いに変更
4. [完了条件] テストで N 件 pass
...
現在の main ブランチのコードに対して、各項目が実装されているかを file:line で確認する。
判定テーブル:
| # | 実装計画項目 | 実装箇所 | 担当 PR | 判定 |
|---|---|---|---|---|
| 1 | XYZ 機能 | src/foo.ts:45-80 | #123 | ✓ |
| 2 | ABC バグ修正 | src/bar.ts:12 | #124 | ✓ |
| 3 | Z をオプション化 | — | — | ❌ 実装漏れ |
複数 PR で分割実装された場合、PR 間の整合性を確認する:
ISSUE が docs/spec/ の追加・変更を伴う場合:
/review-pr の逐条突合と同じ粒度)ISSUE が画面デザイン / デザイナー / cssFramework / editorKind に関連する場合:
editorKind が ISSUE で約束した設計と一致しているか (screen.design.editorKind の実際の値を確認)editorKind: "puck" 画面と editorKind: "grapesjs" 画面が同一プロジェクトに混在している場合、それぞれが独立に開けるか確認puck-components.json) が存在し、primitive フィールドが BUILTIN_PRIMITIVE_NAMES に含まれるか確認詳細仕様: docs/spec/multi-editor-puck.md § 2.3
cd frontend && npx vitest run を実行して pass 確認docs/spec/ を勝手に書き換えない (不備は指摘のみ)gh issue close / gh issue edit 等の書き込み系はコメント投稿以外禁止--update-snapshots 等は不可)tmp/review-cache/ 配下の一時ファイルのみ可 (tmp/ は .gitignore 済)結果を一時ファイルに書き出してから gh issue comment で投稿する。
事前に mkdir -p tmp/review-cache でディレクトリを確保してから、tmp/review-cache/review-issue-$ARGUMENTS.md に以下の構造で書き出す:
## Claude Review (ISSUE 完了監査) — <YYYY-MM-DD>
**レビュアー**: Claude <モデル名 / ID>
**対象 ISSUE**: #$ARGUMENTS
**紐づく PR**: #<N1> (merged), #<N2> (merged), ...
**レビュー手順**: 実装計画列挙 + コードベース突合 + PR 横断整合 + spec 整合 + テスト充足
---
### 総合判定
**完了 / 部分完了 (追加対応必要) / 未完了** のいずれか。
- 完了: 全項目実装済み、ISSUE クローズ可
- 部分完了: 実装漏れあり、追加 PR 必要
- 未完了: 紐づく PR に未マージあり、再実行待ち
---
### Must-fix (実装漏れ)
- 項目 #<N>: <実装予定だった内容> — 該当コードが見つからない / 要件を満たしていない
- 推奨対応: <追加実装・修正案>
### Should-fix (整合性・品質)
- `<file>:<line>` — <問題点> / 推奨修正: <...>
### Nit / 質問
- ...
---
### 実装計画項目 突合結果
| # | 実装計画項目 | 実装箇所 | 担当 PR | 判定 |
|---|---|---|---|---|
| 1 | ... | `file:line` | #123 | ✓ |
| 2 | ... | — | — | ❌ 漏れ |
---
### PR 横断整合性
- PR 間の不整合: <あれば列挙 / なければ「問題なし」>
---
### spec 整合性
- spec 更新の要否: <該当節と現状>
- spec と実装の差分: <あれば列挙>
---
### 検証方法
- `gh issue view $ARGUMENTS --comments` で本文・コメント確認
- 紐づく PR 一覧: <列挙>
- 主要ファイル読み込み: <リスト>
- `cd frontend && npx vitest run` → <pass 数> 件 pass / 未実行
- AI smoke test (UI 影響あり時): 実施済 / 不要
---
### 完了に向けた次のアクション
判定が「部分完了」の場合、不足分を実装する新 PR の粒度・ブランチ名・commit メッセージ例を提案する:
- 新規 PR: `feat/issue-$ARGUMENTS-followup-<slug>`
- 対応項目: #3 (Z をオプション化)
- 概要: ...
gh issue comment $ARGUMENTS --body-file tmp/review-cache/review-issue-$ARGUMENTS.md
投稿前にユーザーの許可を得るフローになる (権限設定による)。拒否された場合でも tmp/review-cache/review-issue-$ARGUMENTS.md に結果が残っているので、ユーザーが内容を確認してから手動で投稿できる。
投稿完了後、ユーザーに短く報告:
gh issue view $ARGUMENTS --json url --jq .url)