agentleFS
apokamoapokamo/kaji/.claude/skills/issue-fix-code/SKILL.md

issue-fix-code

Skill16 starsChanged 28 days agoApache-2.0View on GitHub

レビュー指摘事項に対し、技術的妥当性を検討した上で修正対応(または反論)を行う

The file

Files
SKILL.md

Issue Fix Code

実装に対するレビュー指摘事項に基づき、修正対応を行います。 指摘を盲目的に受け入れるのではなく、技術的な妥当性を検討し、必要な修正と反論を使い分けます。

いつ使うか

タイミングこのスキルを使用
/issue-review-code で Changes Requested 後✅ 必須
人間からのレビューコメントへの対応✅ 使用可

ワークフロー内の位置: implement → review-code → (fix → verify) → i-dev-final-check → i-pr → close

入力

ハーネス経由(コンテキスト変数)

常に注入される変数:

変数型説明
issue_idstr正規化済み Issue ID(GitHub 数値)
issue_refstr人間可読の Issue 参照(GitHub では #<issue_id>)
step_idstr現在のステップ ID

条件付きで注入される変数:

変数型条件説明
previous_verdictstrresume 指定ステップ前ステップの verdict
cycle_countintサイクル内ステップのみ現在のイテレーション番号
max_iterationsintサイクル内ステップのみサイクルの上限回数

手動実行(スラッシュコマンド)

$ARGUMENTS = <issue_id>

解決ルール

コンテキスト変数 issue_id が存在すればそちらを使用。 なければ $ARGUMENTS の第1引数を issue_id として使用。

issue_ref はハーネス経由ではプロンプトに自動注入される(prompt.py 側で provider 別に整形)。手動実行時は issue_id から #<issue_id> を導出する。

前提知識の読み込み

以下のドキュメントを Read ツールで読み込んでから作業を開始すること。

  1. 開発ワークフロー: docs/dev/development_workflow.md
  2. テスト規約: docs/dev/testing-convention.md
  3. Python スタイル: docs/reference/python/python-style.md(必要に応じて他の docs/reference/python/*.md も追加読込)

共通ルール

  • _shared/report-unrelated-issues.md — 作業中に発見した無関係な問題の報告ルール

実行手順

Step 1: コンテキスト取得

  1. _shared/worktree-resolve.md の手順に従い、Worktree の絶対パスを取得。
  2. レビュー結果の取得:
    1. コンテキスト変数 previous_verdict が存在する場合はそれを確認(ハーネス経由)
    2. 存在しない場合は Issue コメントから最新のレビュー結果を取得(手動実行時)
  3. レビュー内容の取得:
    kaji issue view [issue_id] --comments
    最新の「コードレビュー結果」を取得。
  4. 現状把握: 指摘されている該当コード周辺を確認。

Step 2: 対応方針の検討

各指摘事項について、以下の基準で1つずつ検討してください。

  • A: 対応する (Agree)
    • 指摘が正しく、修正により品質・安全性が向上する場合。
    • 改善提案 (Should Fix) の場合:
      • メリットが明確な場合は積極的に採用
      • 大規模なリファクタリングを伴う場合や高リスクな場合は見送り可
  • B: 対応しない/反論する (Disagree/Discuss)
    • 指摘が誤解に基づいている場合
    • 修正による副作用やコストがメリットを上回る場合
    • AGENTS.md / CLAUDE.md の方針や既存の設計思想と矛盾する場合
    • 必須: 反論する場合は、明確な論理的根拠を用意

Step 3: 修正の実行

  1. コード修正: 採用した指摘事項に基づきコードを修正
  2. 品質チェック(コミット前必須):

    以下を実行し、すべての基準をクリアするまでコミットしてはならない。失敗した場合は原因を修正して再実行すること。 AGENTS.md の pre-commit 契約(make check)と等価。artifact が known_failures の場合は pytest を deterministic --compare に置換して分離する。

    3.1 Lint / Format / 型チェック(exit 0 必須)

    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/)で整形し、 生じた差分をコミット対象に含めてから再チェックすること。

    3.2 テスト実行

    cd [worktree_dir] && source .venv/bin/activate && python -m kaji_harness.scripts.baseline_precheck --worktree [worktree_dir] --compare

    合否判定は issue-implement Step 7b と同一とし、verdict: ok、regression 0 件を必須とする。 artifact / stale 判定の正本は docs/dev/baseline-check.md。

Step 4: コミット

cd [worktree_dir] && git add . && git commit -m "fix: address review feedback for [issue_ref]"

Step 5: 結果報告

Issueにコメントします:

kaji issue comment [issue_id] --commit --body "$(cat <<'EOF'
# レビュー指摘への対応報告

レビューありがとうございます。以下の通り検討・対応を行いました。

## 対応済み

- **(指摘内容の要約)**
  - 修正内容: (どう修正したか、ファイル名など)

## 見送り・反論

- **(指摘内容の要約)**
  - 理由: (なぜ対応しなかったか。根拠となるロジック)

## 品質チェック結果

(ruff check + ruff format --check + mypy + pytest の出力をそのまま貼り付け)


## 次のステップ

`/issue-verify-code [issue_id]` で修正確認をお願いします。
EOF
)"

Step 6: 完了報告

## コード修正完了

| 項目 | 値 |
|------|-----|
| Issue | [issue_ref] |
| 対応済み | N 件 |
| 見送り | M 件 |

### 次のステップ

`/issue-verify-code [issue_id]` で修正確認を実施してください。

Verdict 出力

実行完了後、以下の形式で verdict を出力すること:

---VERDICT--- status: PASS reason: | 修正完了 evidence: | 全指摘事項に対応済み suggestion: | ---END_VERDICT---

重要: verdict は stdout にそのまま出力 すること。Issue コメントや Issue 本文更新とは別に、最終的な verdict ブロックは stdout に残す。

status の選択基準

status条件
PASS修正完了
ABORT修正不可能

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.