Docs/Update: cross-review の個別PR必須化 + skill を model 起動可能化 (#35)#58
Conversation
issue #35 対応。multi-PR ワークフローで個別 PR が軽量レビューだけで release ブランチへ merge され、重大バグが release 統合後まで残る運用を防ぐ。 - Step 6: 個別 PR は原則 /ndf:cross-review 必須とし、codex + gemini の APPROVE 収束を確認してから merge する方針を明記 - 軽量レビューの位置づけを限定 (/ndf:review-branch=セルフレビュー、 /ndf:review=例外的単発確認)。code-reviewer / 単発を cross-review の代替にしない - Step 8: Ready 前チェックに「全個別 PR が cross-review approved 済み」を追加。 省略時フォールバック (release PR で cross-review 必須だが手戻り増) を明記 - アンチパターンに「cross-review せず単発レビューだけで release へ merge」を追加 - cross-review 側の関連リンクに issue-plan-strategy での必須運用を補足 - runtime 配布物 (claude/codex/kiro) を build-runtime-plugins.sh で同期 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UTuHjDpC8amddmyGKfTKtx
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 1 | codex | REQUEST_CHANGES
Step 8 のフォールバックと runtime 非依存の表現に修正が必要です。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 1 | gemini | REQUEST_CHANGES
今回の Step 6 での「セルフレビュー」の再定義に伴う、既存テキストの用語の整合性について1点修正を提案します。
- [minor / 整合性]
plugins/ndf-shared/skills/issue-plan-strategy/SKILL.md(L128近辺): 「個別 PR はセルフレビュー (/ndf:cross-review等) で merge される」という記述が、今回のStep 6(セルフレビュー=/ndf:review-branch)の定義と矛盾しています。「AIによる/ndf:cross-review等で」のように表現を改め、用語の混乱を避けてください(同ファイルから同期される runtime 別ファイル群も同様に修正してください)。
disable-model-invocation: true を削除し、モデル(メインセッション)から Skill tool 経由で /ndf:cross-review を起動できるようにする。false が既定値の ため行ごと削除。runtime 配布物 (claude/codex/kiro) を build スクリプトで同期。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UTuHjDpC8amddmyGKfTKtx
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 1 | codex | REQUEST_CHANGES
cross-review skill の model 起動可能化に伴う自動発動条件を明確化してください。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 1 | gemini | REQUEST_CHANGES
L240の既存指摘と同様に、他ファイルやアンチパターン表にも runtime 非依存化が漏れている箇所が見つかったため2点修正を提案します。
codex + gemini の指摘に対応: - [major] Step 8 フォールバックを、release PR ではなく未レビューの個別 PR (閉じていれば release 配下の修正 PR) で cross-review を回す手順に修正。 release PR で回すとループ内 /ndf:fix が release PR を直接修正し原則が崩れるため - [major] cross-review skill に when_to_use を追加。disable-model-invocation 削除で 自動発動可能になったが、通常の単発レビューは /ndf:review、本 skill は収束ループ 明示時のみと責務を明確化 - [minor] ndf:code-reviewer は Claude Code 固有のため shared 文書 (codex/kiro にも配布) では「Claude Code の code-reviewer 等」と runtime 非依存な表現に統一 (Step 6 / アンチ パターン表 / cross-review 関連リンク) - runtime 配布物を build スクリプトで同期 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UTuHjDpC8amddmyGKfTKtx
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 2 | codex | REQUEST_CHANGES
issue plan の Task 3 が現行 Step 8 と矛盾しているため、plan 側も同じフォールバック手順に合わせてください。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 2 | gemini | REQUEST_CHANGES
Round 1 の指摘のうち、1 件(L128 の用語修正)が対応漏れとなっているため再指摘します。Step 8 のフォールバック手順や追加された when_to_use の記述は妥当です。
- [minor] Step 3 L128「個別 PR はセルフレビュー (/ndf:cross-review 等)」を 「AI による収束レビュー」に修正。Step 6 の再定義 (セルフレビュー=/ndf:review-branch) との用語矛盾を解消 - [minor] plan file (issue-35) Task 3 を実装済みフォールバックに整合。release PR で 直接回す旧記述を、未 cross-review の個別 PR / release 配下修正 PR で回す手順へ更新 - runtime 配布物を同期 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UTuHjDpC8amddmyGKfTKtx
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 3 | codex | REQUEST_CHANGES
PR の変更範囲に目的外の issue plan が含まれているため、分離または説明の追加が必要です。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 3 | gemini | APPROVE
以前のラウンドで指摘されたランタイム非依存な表現への修正や、Step 8 における release PR への直接の cross-review 回避運用が適切に反映され、文書間の整合性と同期が取れていることを確認しました。
round 2 の `git add issues/` で誤って混入した issue #33 / #37 の新規 plan を git 追跡から外す (ファイルは作業ツリーに残す)。本 PR は issue #35 のみを扱う。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UTuHjDpC8amddmyGKfTKtx
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 4 | codex | APPROVE
追加の修正指摘はありません。既存 round の指摘対応後、Step 6/8 の運用ルール、runtime 配布物同期、アンチパターン記述の整合性を確認しました。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 4 | gemini | REQUEST_CHANGES
cross-review/SKILL.md での disable-model-invocation: true 削除など、Issue の Task に明記されていない仕様変更が含まれています。
意図的な変更であれば Issue 側へ方針を追記してください。
gemini 指摘対応 (round 4)。disable-model-invocation 削除 + when_to_use 追加は 当初 Task に無い追加変更のため、実装中に追加した経緯・方針を plan の Task 7 と 影響範囲に明記し、diff 内で意図を追えるようにする。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UTuHjDpC8amddmyGKfTKtx
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 5 | codex | APPROVE
新規に修正を求める指摘はありません。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 5 | gemini | REQUEST_CHANGES
Step 8 のフォールバック記述において、閉じた PR に対する手順が論理的に破綻しているため修正をお願いします。
gemini [major/論理矛盾] 対応。「閉じた個別 PR に新規修正 PR を作って cross-review」 では元の差分がレビュー対象に乗らない論理矛盾を解消。フォールバックを状態別に整理: - open: 当該個別 PR で cross-review (release PR には回さない) - release へ merge 済み: 差分は release ブランチにあるため release PR で cross-review して追認 (個別 PR 単位は取り返せないため) codex round 1 指摘 (release PR に回すな) と gemini round 5 指摘の両方を満たす形に統合。 runtime 配布物と issue-35 plan Task 3 も同期。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UTuHjDpC8amddmyGKfTKtx
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 6 | codex | REQUEST_CHANGES
Step 7 の指摘先ルールが、Step 8 で追加された状態別フォールバックと矛盾しています。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 6 | gemini | REQUEST_CHANGES
Step 8 のフォールバック手順において、対象となる再レビュー範囲の実態に関する記述の正確性について1点修正を提案します。
- [major] Step 7 (統合レビューで発見したバグ→修正差分を新規 PR でレビュー) と Step 8 フォールバック (未 cross-review の元差分→release PR で追認) が別シナリオで あることを明記し、相互参照を追加。表面的な手順の割れを解消 - [minor] フォールバックの「当該差分をまとめてレビュー」を「release PR 全体を改めて レビューする (個別差分だけの抽出にはならず全体が対象)」に正確化し、手戻りが大きい 理由を明示 - runtime 配布物を同期 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UTuHjDpC8amddmyGKfTKtx
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 7 | codex | REQUEST_CHANGES
追加された issue plan に、実装済み文書と矛盾する旧表現が1件残っています。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 7 | gemini | APPROVE
前ラウンドでの指摘事項(フォールバック時の状態別運用手順、ランタイム非依存の表現への修正)がすべて適切に反映されていることを確認しました。追加の修正アクションはありません。
codex 指摘対応 (round 7)。背景 / Task 2 / Task 4 の `code-reviewer` 表記を、 runtime 配布文書で統一済みの「Claude Code の code-reviewer」に揃え、計画文書と 実装文書の名称ズレを解消。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UTuHjDpC8amddmyGKfTKtx
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 8 | gemini | REQUEST_CHANGES
既存のレビュー指摘(Step 8 のフォールバック手順の変更)と、今回追加された補足説明(未実施ケースの前提)の間で運用ルールの矛盾が生じています。Step 8 の手順修正と歩調を合わせ、該当部分の前提記述を見直してください。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 8 | codex | APPROVE
追加の修正指摘はありません。
gemini round 8 指摘対応。Step 7 の括弧内が Step 8 フォールバックの説明を重複 再説明しており冗長だったため、相互参照のみ残して簡潔化。なお指摘が前提とする 「フォールバックを release 配下修正 PR に置換」は round 5/6 で状態別フォールバックへ 既に改訂済みのため、現行記述に矛盾はない。runtime 配布物も同期。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UTuHjDpC8amddmyGKfTKtx
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 9 | codex | APPROVE
修正必須の追加指摘はありません。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 9 | gemini | APPROVE
指摘事項はすべて適切に解消されています。追加の修正提案はありません。
背景 / 解決したい課題
ndf:issue-plan-strategyの multi-PR ワークフローでは、Step 6 が/ndf:review-branch//ndf:review//ndf:cross-reviewを選択肢として並列に並べていたため、個別 PR をndf:code-reviewerや単発レビューだけで release ブランチへ merge できるように読めていた。その運用では個別 PR 範囲の重大バグを取りこぼし、release PR 側の cross-review がまとめて検出する形になる(本 skill 自身が禁止する「release PR で個別 PR 範囲の指摘を解決する」状態に近づく)。あわせて、
cross-reviewskill がdisable-model-invocation: trueによりモデル(メインセッション)から起動できず、ユーザーが毎回スラッシュコマンドを手入力する必要があった。変更内容
plugins/ndf-sharedを正として編集し、runtime 配布物はscripts/build-runtime-plugins.shで同期。1. 個別 PR の cross-review 必須化 (issue #35)
/ndf:cross-review <PR番号>を必須とし、codex + gemini のAPPROVE収束を確認してから merge する方針を明記/ndf:review-branchは PR 作成前のセルフレビュー、/ndf:reviewは例外的な単発確認に限定。ndf:code-reviewer/ 単発レビューを cross-review の代替にしない旨を明記2. cross-review skill を model 起動可能化
cross-review/SKILL.mdからdisable-model-invocation: trueを削除(falseが既定値のため行ごと削除)。メインセッションから Skill tool 経由で起動できるようになる3. runtime 同期
plugins/ndf-claude/ndf-codex/ndf-kiroを build スクリプトで再生成テスト
bash scripts/build-runtime-plugins.sh --checkbash scripts/validate-runtime-plugins.shplan:
issues/issue-35-issue-plan-cross-review-required.md