一键导入
review
PR に対し初回コードレビューを実施し、Approve / Changes Requested を投稿する。新規レビュー専用(修正確認は /pr-verify)。`dev` / `dev-thorough` / `docs` workflow では PR 作成後の標準レビュー step として呼び出される。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
PR に対し初回コードレビューを実施し、Approve / Changes Requested を投稿する。新規レビュー専用(修正確認は /pr-verify)。`dev` / `dev-thorough` / `docs` workflow では PR 作成後の標準レビュー step として呼び出される。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
設計書(draft/design/)に基づき、TDD(テスト駆動開発)アプローチを用いて機能を実装する。
実装完了後の成果物に対し、設計整合性とコード品質の観点から厳格なレビューを実施する
Issue 作成後・workflow 起動前に人間が明示起動する要件 interview。one-way door を含みうる重要な Issue で、未決の decision tree を 1 問ずつ推奨案付きで確認し、決定事項と provenance を Issue に固定するときだけ使用する。軽微な Issue や workflow 実行中には自動起動しない。
Issue要件に基づき、draft/design/に設計書を作成する。worktree内での作業が前提。
Create a validated sequential Issue series plan from an explicitly ordered GitHub Issue list. Use when a maintainer wants to generate or update an ID-named YAML file under .kaji/series, select standard workflows from Issue type metadata and workflow descriptions, or preview a series without starting it.
dev workflow 向けの最終チェック。PR 前に品質ゲート、docs 整合、設計書昇格、Issue 更新をまとめて確認する。
基于 SOC 职业分类
| description | PR に対し初回コードレビューを実施し、Approve / Changes Requested を投稿する。新規レビュー専用(修正確認は /pr-verify)。`dev` / `dev-thorough` / `docs` workflow では PR 作成後の標準レビュー step として呼び出される。 |
| name | review |
PR に対する 初回コードレビュー を実施するスキル。
設計書整合 / コード品質 / テスト証跡 / docs 更新を観点に評価し、uv run kaji pr review で正式な
Approve / Changes Requested を投稿する。
重要: このスキルは 新規レビュー 専用。修正確認(
/pr-fix後の収束確認)は/pr-verifyを使うこと。両者を混同するとレビューサイクルが収束しなくなる。
| タイミング | このスキル |
|---|---|
| PR 作成直後の初回レビュー(workflow の review step / 単体起動) | ✅ 必須 |
/pr-fix 後の修正確認 | ❌ /pr-verify を使う |
provider.type='github' 配下 | ✅ 受理(本 skill が標準の初回レビュー) |
provider.type='local' 配下 | ❌ Step 0 で ABORT。代替は /issue-review-code |
ワークフロー内の位置: i-pr → [PR 作成] → review → (pr-fix → pr-verify) → close
| 変数 | 型 | 説明 |
|---|---|---|
issue_id | str | 正規化済み Issue ID |
issue_ref | str | 人間可読の Issue 参照 |
provider_type | str | github / local のいずれか。Step 0 のガード判定に使用 |
step_id | str | 現在のステップ ID |
$ARGUMENTS = <issue_id>
コンテキスト変数 issue_id が存在すればそちらを使用。なければ $ARGUMENTS の第 1 引数を
issue_id として使用。pr_id は Step 1 で uv run kaji pr list --search から逆引きする
(pr-verify と同じ規約)。
以下のドキュメントを Read ツールで読み込んでから作業を開始すること。
docs/dev/change-types-and-gates.mddocs/dev/testing-convention.mddocs/reference/python-standards.md初回レビュー判定(Approve / Changes Requested)を出すために 必ず読まなければならない情報源:
| Step | 情報源 | 必須/任意 |
|---|---|---|
| Step 3a | uv run kaji pr view [pr_id] — PR タイトル / 説明 / 状態 / linked Issue | 必須 |
| Step 3b | git diff [git_remote]/[default_branch]...HEAD — レビュー対象の差分本体 | 必須 |
| Step 3c | uv run kaji pr review-comments [pr_id] — 既存 inline 指摘(重複指摘回避) | 必須 |
| Step 3d | uv run kaji pr reviews [pr_id] — 過去の Approve / Changes Requested 履歴 | 任意 |
| Step 3e | uv run kaji pr view [pr_id] --comments — 非 inline の議論経緯 | 任意 |
| Step 4 | make check — 品質ゲート(失敗時は Changes Requested 必至) | 必須 |
Step 3a / 3b / 3c / 4 を欠いた状態でのレビュー判定は許可しない。Step 3d / 3e は補助情報で、 レビュー対象の主たる入力ではない。
本 Skill は forge provider 専用。最初に provider_type を解決し、github 以外なら
以降のステップに進まず ABORT verdict を出力して終了 する。
provider_type の解決(ハーネス注入 → 手動 fallback の優先順):
PROVIDER_TYPE="${provider_type:-$(uv run kaji config provider-type 2>/dev/null || true)}"
判定と verdict 出力:
PROVIDER_TYPE が github → Step 1 に進む
PROVIDER_TYPE が local → 以下を stdout に出力して終了:
---VERDICT---
status: ABORT
reason: |
review is forge-only and cannot run under provider.type='local'.
evidence: |
Pull request concept does not exist in local mode (bare provider).
suggestion: |
Use /issue-review-code instead.
---END_VERDICT---
PROVIDER_TYPE がそれ以外 → ABORT verdict(reason: review could not resolve provider_type、suggestion: Add [provider] to .kaji/config.toml.)を出力して終了
Issue 番号から関連 PR を解決し、pr_id / pr_ref を確定する(pr-verify Step 1 と同型)。
PR_JSON=$(uv run kaji pr list --search "[issue_id]" --json number,title,headRefName --jq '.[0]')
pr_id=$(echo "$PR_JSON" | jq -r '.number')
pr_ref="#${pr_id}"
見つからない場合は Issue 本文の > **Branch**: 行からブランチ名を取得し:
PR_JSON=$(uv run kaji pr list --head "[branch_name]" --json number,title --jq '.[0]')
pr_id=$(echo "$PR_JSON" | jq -r '.number')
pr_ref="#${pr_id}"
両方の経路で PR が見つからない場合は ABORT verdict を出して終了する
(reason: no open PR found for issue [issue_ref]、
suggestion: Create a PR via /i-pr [issue_id] first.)。
_shared/worktree-resolve.md の手順に従い、Worktree の絶対パスを取得。
以降の git diff / make check は [worktree_dir] で実行する。
uv run kaji pr view [pr_id]
タイトル / 説明 / 状態 / linked Issue を読み、PR の目的・スコープを把握する。
cd [worktree_dir] && git fetch [git_remote] [default_branch]
cd [worktree_dir] && git diff [git_remote]/[default_branch]...HEAD
レビュー対象の全コード差分。仕様判定の主入力。差分が大きい場合は主要ファイルを 個別に確認する。
uv run kaji pr review-comments [pr_id]
既に他のレビュアー / セッションが付けた inline 指摘を確認し、同じ指摘を重複して 書かない。新規レビューであっても他者の既存指摘を上書きしないこと。
uv run kaji pr reviews [pr_id]
過去の Approve / Changes Requested 履歴。逆転判定や重複 Approve を避けるための補助情報。
uv run kaji pr view [pr_id] --comments
非 inline の議論経緯。初回レビューでは差分 (3b) が情報の中心だが、議論で確定済みの 方針があれば従う。
cd [worktree_dir] && source .venv/bin/activate && make check
make check が失敗した場合は、原則として Changes Requested。失敗内容をレビュー本文に
含める。
issue-review-code のレビュー観点を引き継ぐ:
draft/design/issue-[issue_id]-*.md と差分が一致しているか各観点について ✅ / ⚠️ / ❌ で判定し、❌ または ⚠️ がある項目を Must Fix / Should Fix として 列挙する。
判定結果に応じて、uv run kaji pr review で正式な review state を更新する。
uv run kaji pr review [pr_id] --approve --body-file - <<'EOF'
## 初回コードレビュー結果
### 参照した一次情報
| 情報源 | 確認結果 |
|--------|----------|
| `uv run kaji pr view [pr_id]` | ✅ PR 目的 / スコープ確認 |
| `git diff [git_remote]/[default_branch]...HEAD` | ✅ 差分全量確認 |
| `uv run kaji pr review-comments [pr_id]` | ✅ 既存 inline 指摘なし / 重複なし |
| `make check` | ✅ PASS |
### 観点評価
| 観点 | 判定 | 根拠 |
|------|------|------|
| 設計書整合 | ✅ | (引用) |
| コード品質 | ✅ | (引用) |
| テスト証跡 | ✅ | (引用) |
| docs 更新 | ✅ | (引用) |
| Scope 混在 | ✅ | (引用) |
### 判定
[x] Approve
[ ] Changes Requested
### 次のステップ
`/issue-close [issue_id]` で PR マージ & クリーンアップ。
EOF
uv run kaji pr review [pr_id] --request-changes --body-file - <<'EOF'
## 初回コードレビュー結果
### 参照した一次情報
| 情報源 | 確認結果 |
|--------|----------|
| `uv run kaji pr view [pr_id]` | ✅ |
| `git diff [git_remote]/[default_branch]...HEAD` | ✅ |
| `uv run kaji pr review-comments [pr_id]` | ✅ |
| `make check` | ✅ / ❌ |
### 観点評価
| 観点 | 判定 | 根拠 |
|------|------|------|
| 設計書整合 | ✅ / ⚠️ / ❌ | (引用) |
| コード品質 | ✅ / ⚠️ / ❌ | (引用) |
| テスト証跡 | ✅ / ⚠️ / ❌ | (引用) |
| docs 更新 | ✅ / ⚠️ / ❌ | (引用) |
| Scope 混在 | ✅ / ⚠️ / ❌ | (引用) |
### 指摘事項 (Must Fix)
- [ ] **point 1**: (具体的修正内容) — 根拠: (一次情報)
### 改善提案 (Should Fix)
- **point N**: (具体的修正内容)
### 判定
[ ] Approve
[x] Changes Requested
### 次のステップ
`/pr-fix [issue_id]` で修正対応をお願いします。
EOF
規約遵守: auto-close hazard pattern(
Clos(e[sd]?|ing)/Fix(e[sd]|ing)?/Resolv(e[sd]?|ing)/Implement(s|ing|ed)?の直後#[0-9])を本文に書かない。 指摘参照は指摘 N/point N/Must Fix item Nで統一する (docs/dev/shared_skill_rules.md§ auto close keyword 回避規約)。
## 初回コードレビュー完了
| 項目 | 値 |
|------|-----|
| PR | [pr_ref] |
| Issue | [issue_ref] |
| 判定 | Approve / Changes Requested |
### 次のステップ
- Approve: `/issue-close [issue_id]` で PR マージ & クリーンアップ
- Changes Requested: `/pr-fix [issue_id]` で修正対応
実行完了後、以下の形式で verdict を stdout に 出力すること。
---VERDICT---
status: PASS
reason: |
PR の初回レビューを Approve として投稿
evidence: |
全観点 ✅、make check PASS、uv run kaji pr review --approve 投稿済み
suggestion: |
/issue-close [issue_id] でマージへ
---END_VERDICT---
| status | 条件 |
|---|---|
| PASS | Approve を投稿 |
| RETRY | Changes Requested を投稿(pr-fix へ進む合図) |
| ABORT | Step 0 で provider mismatch / Step 1 で PR が見つからない等の致命的問題 |