with one click
issue-fix-code
レビュー指摘事項に対し、技術的妥当性を検討した上で修正対応(または反論)を行う
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
レビュー指摘事項に対し、技術的妥当性を検討した上で修正対応(または反論)を行う
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
設計書(draft/design/)に基づき、TDD(テスト駆動開発)アプローチを用いて機能を実装する。
実装完了後の成果物に対し、設計整合性とコード品質の観点から厳格なレビューを実施する
Issue 作成後・workflow 起動前に人間が明示起動する要件 interview。one-way door を含みうる重要な Issue で、未決の decision tree を 1 問ずつ推奨案付きで確認し、決定事項と provenance を Issue に固定するときだけ使用する。軽微な Issue や workflow 実行中には自動起動しない。
第2層のインシデント調査レビュー収束サイクルを 1 コマンドで手動起動する slash command wrapper。kaji run .kaji/wf/official/incident.yaml <incident_issue_id> を Bash 経由で起動し、exit code を verdict に縮約する。
Issue要件に基づき、draft/design/に設計書を作成する。worktree内での作業が前提。
ワークフローを手動実行して検証し、失敗時は継続せず原因を調査して Issue に記録する。成功時も気づきや詰まりどころを Issue に記録する。
| description | レビュー指摘事項に対し、技術的妥当性を検討した上で修正対応(または反論)を行う |
| name | issue-fix-code |
実装に対するレビュー指摘事項に基づき、修正対応を行います。 指摘を盲目的に受け入れるのではなく、技術的な妥当性を検討し、必要な修正と反論を使い分けます。
| タイミング | このスキルを使用 |
|---|---|
/issue-review-code で Changes Requested 後 | ✅ 必須 |
| 人間からのレビューコメントへの対応 | ✅ 使用可 |
ワークフロー内の位置: implement → review-code → (fix → verify) → i-dev-final-check → i-pr → close
常に注入される変数:
| 変数 | 型 | 説明 |
|---|---|---|
issue_id | str | 正規化済み Issue ID(GitHub 数値または local ID) |
issue_ref | str | 人間可読の Issue 参照(GitHub では #<issue_id>、local では bare ID) |
step_id | str | 現在のステップ ID |
条件付きで注入される変数:
| 変数 | 型 | 条件 | 説明 |
|---|---|---|---|
previous_verdict | str | resume または inject_verdict: true 指定ステップ | 前ステップの verdict |
cycle_count | int | サイクル内ステップのみ | 現在のイテレーション番号 |
max_iterations | int | サイクル内ステップのみ | サイクルの上限回数 |
$ARGUMENTS = <issue_id>
コンテキスト変数 issue_id が存在すればそちらを使用。
なければ $ARGUMENTS の第1引数を issue_id として使用。
issue_ref はハーネス経由ではプロンプトに自動注入される(prompt.py 側で provider 別に整形)。手動実行時は issue_id から導出する: GitHub 数値 ID なら #<issue_id>、local-* 形式なら bare ID(# を付けない)。
以下のドキュメントを Read ツールで読み込んでから作業を開始すること。
docs/dev/development_workflow.mddocs/dev/testing-convention.mddocs/reference/python/python-style.md(必要に応じて他の docs/reference/python/*.md も追加読込)_shared/worktree-resolve.md の手順に従い、Worktree の絶対パスを取得。
レビュー結果の取得:
previous_verdict が存在する場合はそれを確認(ハーネス経由)レビュー内容の取得:
kaji issue view [issue_id] --comments
最新の「コードレビュー結果」を取得。
現状把握: 指摘されている該当コード周辺を確認。
各指摘事項について、以下の基準で1つずつ検討してください。
A: 対応する (Agree)
B: 対応しない/反論する (Disagree/Discuss)
コード修正: 採用した指摘事項に基づきコードを修正
品質チェック(コミット前必須):
以下を実行し、すべての基準をクリアするまでコミットしてはならない。失敗した場合は原因を修正して再実行すること。
AGENTS.md の pre-commit 契約(make check)と等価。artifact が known_failures の場合は
pytest を deterministic --compare に置換して分離する。
cd [worktree_dir] && source .venv/bin/activate && ruff check kaji_harness/ tests/ experiments/ && ruff format --check kaji_harness/ tests/ experiments/ && mypy kaji_harness/
ruff format --checkは非破壊 gate(make checkと等価)。整形差分で FAIL した場合はmake fmt(またはruff format kaji_harness/ tests/)で整形し、 生じた差分をコミット対象に含めてから再チェックすること。
cd [worktree_dir] && source .venv/bin/activate && python -m kaji_harness.scripts.baseline_precheck --compare
合否判定は issue-implement Step 7b と同一とし、verdict: ok、regression 0 件を必須とする。
artifact / stale 判定の正本は docs/dev/baseline-check.md。
cd [worktree_dir] && git add . && git commit -m "fix: address review feedback for [issue_ref]"
Issueにコメントします:
kaji issue comment [issue_id] --commit --body "$(cat <<'EOF'
# レビュー指摘への対応報告
レビューありがとうございます。以下の通り検討・対応を行いました。
## 対応済み
- **(指摘内容の要約)**
- 修正内容: (どう修正したか、ファイル名など)
## 見送り・反論
- **(指摘内容の要約)**
- 理由: (なぜ対応しなかったか。根拠となるロジック)
## 品質チェック結果
(ruff check + ruff format --check + mypy + pytest の出力をそのまま貼り付け)
## 次のステップ
`/issue-verify-code [issue_id]` で修正確認をお願いします。
EOF
)"
## コード修正完了
| 項目 | 値 |
|------|-----|
| Issue | [issue_ref] |
| 対応済み | N 件 |
| 見送り | M 件 |
### 次のステップ
`/issue-verify-code [issue_id]` で修正確認を実施してください。
実行完了後、以下の形式で verdict を出力すること:
---VERDICT--- status: PASS reason: | 修正完了 evidence: | 全指摘事項に対応済み suggestion: | ---END_VERDICT---
重要: verdict は stdout にそのまま出力 すること。Issue コメントや Issue 本文更新とは別に、最終的な verdict ブロックは stdout に残す。
| status | 条件 |
|---|---|
| PASS | 修正完了 |
| ABORT | 修正不可能 |