mcpField
M
multi-cli-review

multi-cli-review

github.com/starforallテスト・品質051 回インストール2 日前に更新
リポジトリ

multi-cli-review について

CLI によるコードレビューで、指定対象を調査し、調整担当者が集約する構造化レポートを1件作成するレビュアー向けスキルです。コード変更、レビュー用ディレクトリの作成、修正判断は行いません。

主な機能

  1. 01指定されたレビュー対象を調査
  2. 02構造化レポートを1件作成
  3. 03task-level と legacy のプロトコルに対応
  4. 04規定のレポートパスを使用
  5. 05不確かな指摘を慎重に扱う

活用シーン

  1. 01別の CLI が指定した対象をレビュー
  2. 02マルチ CLI レビュー用の範囲を絞った報告
  3. 03コードを変更せず根拠のある問題を報告

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/starforall/ai-coding-toolkit --skill multi-cli-review

インストール後、Claude Code で/multi-cli-reviewを入力して読み込まれたか確認します。

詳細

マルチ CLI レビュー

バージョン履歴

  • v2.3: タスクレベルの reviewer-id の扱いを、コーディネーターが割り当てる英字 ID に統一し、実際の CLI ID は source-cli に保持するようにしました
  • v2.2: ペアとなる契約が特定のワークフロー画面に依存しないよう、汎用的なコーディネーターの管理範囲を明確にしました
  • v2.1: レビュアー側のレポート出力を multi-cli-review-action に合わせ、タスクレベルのパスルールを厳格化し、レビュアーのみが担う範囲を明確にしました

目的

multi-cli-review は、multi-cli-review-action と対になるレビュアー側のスキルです。

ワークフロー固有のレビュー形式ではなく、汎用的なペア型プロトコルのレビュアー側です。

このスキルが行うことは 1 つです。

  1. 割り当てられた対象を慎重に調査する
  2. 構造化されたレビューレポートを 1 つ作成する
  3. 集約と判断のために、そのレポートを現在の CLI に返す

コードの編集、レポートの集約、最終的な修正の決定、またはワークフロー状態の遷移は行いません。

使用する場合

次のいずれかに該当する場合は、このスキルを使用します。

  • 別の CLI から、この CLI に対象のレビューとレポート作成を依頼された
  • ユーザーが「这个 skill 的问题を分析して」と依頼した
  • ユーザーが「構造化された問題レポートを出力して」と依頼した
  • ユーザーが「マルチ CLI レビューを実施して」と依頼した
  • 標準化されたレビュアーコマンドパッケージが multi-cli-review を指定している

使用しない場合

  • レポートの集約や修正の適用が必要な場合:multi-cli-review-action を使用します
  • レビュアーへの引き継ぎを伴わない通常の実装タスクを行う場合
  • 要件の確認だけが必要な場合:brainstorm を使用します
  • 現在の差分を簡易的にレビューするだけの場合:requesting-code-review または code-review-router を使用します

基本ルール

  1. レビュアーのみ:このスキルは独立したレポートを作成し、コードを編集することはありません。
  2. レビュアー 1 人につきレポート 1 つ:各実行で作成するレビューレポートは最大 1 つです。
  3. オーケストレーションはコーディネーターが管理:レビュアー数のポリシー、ラウンドの計画、ディレクトリの作成、最終的な修正判断は、現在の CLI または他の上流コーディネーターが担い、レビュアーは担いません。
  4. ディレクトリを作成しない:レビュアーは task-dir または review-round-{N} ディレクトリを作成してはいけません。
  5. 集約しない:重複排除、競合の解決、要約の作成、action.md の作成は行いません。
  6. レポートは根拠であり、実行指示ではない:指摘は具体的で、対象範囲が明確であり、レビューを目的とする必要があります。
  7. 不確実な場合は慎重に扱う:根拠が不十分な場合は、確定した事実として述べるのではなく、指摘に不確実性があることを示します。
  8. プロジェクトルートを基準にパスを解決:相対パスは、システムの /tmp やツールのインストールディレクトリではなく、アクティブなプロジェクトルートを基準に解決します。
  9. タスクレベルのパス契約は厳格:現在のプロトコルのレポートでは、multi-cli-review-action が期待する正規のパスとメタデータ形式を使用する必要があります。

プロトコル

プロトコルステータス使用する場合
task-level現行明示的な --task-dir を指定するレビュアーフロー
legacy互換性のみ過去の単一レポートフロー
プロトコルの選択
  1. --task-dir が指定されている場合は、task-level を使用します。
  2. レポートパスのレガシーパラメーターが明示的に使用されている場合は、legacy を使用します。
  3. 新しい作業では task-level を優先してください。

入力

共通入力
入力必須意味
<issue-description>はいレビュー対象の問題説明、または割り当てられたレビュー目標
[target-path]いいえ調査するファイルまたはディレクトリ
task-level
パラメーター必須意味
--task-dirはいタスクディレクトリ。例:tmp/multi-cli-review/<task-id>
--reviewer-id明示することが望ましいファイル名とメタデータに使用する、コーディネーターが割り当てたレビュアー枠 ID
--round明示することが望ましいレビューラウンド識別子
--review-focusいいえこのレビュアーの重点領域

ルール:

  • 標準化された複数レビュアー向けコマンドパッケージでは、--reviewer-id と --round を明示してください。
  • 新しいタスクレベルの複数レビュアー向けワークフローでは、--reviewer-id に CLI 名ではなく、a、b、c、d などの短い枠文字を使用してください。
  • 実際の CLI の識別情報は、reviewer-id ではなく、レポートのメタデータフィールド source-cli に記載します。
  • コーディネーターから具体的なコマンドがすでに提示されている場合、新しい task-id、新しいラウンド、新しいレビュアー識別情報を独自に作成しないでください。
  • --output は現在の task-level プロトコルの一部ではないため、正規のレビュアーレポート出力先を回避する目的で使用してはいけません。
legacy 互換性
パラメーター必須意味
--md-aいいえ明示的に指定するレガシーレポートのパス
--md-bいいえ以前のワークフローで使用されていた、過去のペア成果物のパス
--outputいいえレガシーの単一レポート用途に限り、互換性のために明示的に指定する出力先パス

互換性ルール:

  • レガシーパラメーターは、以前の単一レポートのワークフローに限り維持されています。
  • 現在の task-level プロトコルの出力先を変更する目的で使用してはいけません。

パスのルール

相対パスは、アクティブなプロジェクトルートを基準に解決してください。

相対パスを次の場所を基準に解釈しないでください。

  • スキルのリポジトリルート
  • ユーザーのホームディレクトリ
  • システムの /tmp
  • CLI のインストールディレクトリ

プロジェクトルートを特定できない場合は、推測せずに停止し、代わりに絶対パスを尋ねてください。

コーディネーターが管理するパラメーター

コーディネーターがワークフロー、コマンドパック、手動の現行 CLI プロセスのいずれであっても、レビュアーは以下をコーディネーター管理の項目として扱う必要があります。

  • tmp/multi-cli-review/<task-id>/ の作成
  • review-round-{N}/ の作成
  • デフォルトのレビュアー数
  • 標準レビュアーコマンドの生成
  • 最終的な集約、確認、修正、検証

このスキルは、その範囲内で割り当てられたレビューの役割のみを果たします。

タスクレベルのレポート出力契約

task-level のレビュアーレポートは、以下のすべてを満たす必要があります。

  1. 出力ファイルのパスが正確に {task-dir}/review-round-{N}/{reviewer-id}.md であること
  2. ファイル名が正確に <reviewer-id>.md であること
  3. --output を使用してレポートを別の場所に出力しないこと
  4. ラウンドディレクトリがすでに存在すること。存在しない場合は停止し、コーディネーターに作成を依頼すること
  5. フロントマターに以下が含まれていること:
    • task-id
    • round
    • reviewer-id
    • source-cli
    • review-time
    • review-focus
    • protocol: task-level
  6. フロントマターの値がディレクトリとファイル名に一致していること
  7. 対象ファイルがすでに存在する場合は停止し、コーディネーターが上書きする意図なのか、別のレビュアー ID を使うのか確認すること

レポート内容の契約

各タスクレベルの指摘には、以下を含める必要があります。

  • 該当箇所
  • 問題の説明
  • 重大度
  • 影響
  • 問題となる理由
  • 修正方針の提案

証拠が不十分な場合は、以下も記載することを推奨します。

  • 証拠に関する注記
  • 不確実性に関する注記

安全性に関するルール:

  • 観察事項と修正方針の提案は分けてください。
  • 修正がすでに承認されているかのように記述しないでください。
  • 証拠がないまま、不確実な事柄を重大度の高い主張にしないでください。
  • 周辺の問題に興味を引かれても、割り当てられたレビューの重点領域を超えて対象を広げないでください。

ワークフロー

ステップ 1:モードと入力を解決する
  1. この実行が task-level か legacy かを判断します。
  2. 相対パスをアクティブなプロジェクトルートを基準に解決します。
  3. 割り当てられたレビュー対象とレビューの重点領域を特定します。
ステップ 2:レビュー担当者のコンテキストを検証する

task-level の場合:

  1. --task-dir を確認します
  2. --reviewer-id を確認します
  3. --round を確認します
  4. {task-dir}/review-round-{N}/ がすでに存在することを確認します
  5. 明示的に上書きが要求されていない限り、出力先ファイルに別のレビュー担当者のレポートがすでに含まれていないことを確認します

次の場合は停止します:

  • task-dir が指定されていない
  • ラウンドディレクトリが存在しない
  • レポートのパスが曖昧になる
  • コマンドが --output を使って正規パスの外に書き込もうとしている
ステップ 3:慎重にレビューする
  1. 割り当てられた対象と、その直接的な証拠のみを確認します。
  2. 指定されている場合は、review-focus に従います。
  3. 指摘は具体的かつ限定的にします。
  4. 入手可能な証拠から主張を裏付けられない場合は、確信度を下げるか、その指摘を省略します。
ステップ 4:レビュー担当者のレポートを 1 件だけ書き込む

task-level の場合:

  1. {task-dir}/review-round-{N}/{reviewer-id}.md にレポートを書き込みます
  2. フロントマターの契約全体を含めます
  3. 構造化された指摘を含めます
  4. summary-round-{N}.md は書き込みません
  5. action.md は書き込みません
  6. .processed.json は更新しません

legacy の場合:

  1. レガシー形式の単一レポート成果物のみを書き込みます
  2. フローを task-level に暗黙的にアップグレードしません
ステップ 5:実際の出力を表示する

実行の最後に、次の情報を表示します:

  • task-dir または legacy 実行ディレクトリ
  • round
  • reviewer-id
  • 実際の出力パス
ステップ 6:停止する

レポートを書き込み、パスを表示したら停止します。

次のことはしないでください:

  • ワークフローがすでに次の段階に進んだと提案する
  • 修正を実施済みとしてマークする
  • 検証がすでに完了したと主張する

出力ファイル

task-level レビュー担当者レポート

正規のファイル名:{reviewer-id}.md

最小構成:

---
task-id: <task-id>
round: <round>
reviewer-id: <reviewer-id>
source-cli: <cli-name>
review-time: <ISO 8601 time>
review-focus: <focus text>
protocol: task-level
---

# Defect Report

## Review Summary

- Reviewer: <reviewer-id>
- Review Time: <review-time>
- Review Focus: <review-focus>
- Target: <target-path>

## Findings

### Finding 1: <title>

- Location: <path and lines>
- Problem: <concrete issue>
- Severity: high | medium | low
- Impact: <why this matters>
- Why It Should Be Addressed: <reason>
- Suggested Fix Direction: <proposal, not an approved action>
- Evidence: <optional>
- Uncertainty: <optional>
legacy 互換レポート

正規のファイル名:cur_defect.md

レガシーモードでは、互換性レポートを 1 件だけ出力できますが、新しい複数レビュー担当者の作業では推奨される方法として扱わないでください。

表示要件

最低限、次の情報を表示します:

フィールド意味
task-dirタスクのルートまたは legacy 実行のルート
round現在のラウンド
reviewer-id実際に使用した、コーディネーターが割り当てたレビュー担当者スロット ID
output-path実際に出力されたレポートのパス

例:

✅ Review report generated

📁 task-dir: <project-root>/tmp/multi-cli-review/my-task
🔄 round: 1
👤 reviewer-id: a
📄 output-path: <project-root>/tmp/multi-cli-review/my-task/review-round-1/a.md

必須の停止条件

次のいずれかに該当する場合は停止し、確認を求めます:

  • タスクディレクトリが存在しない
  • ラウンドディレクトリが存在しない
  • 正規のレポートパスを 1 つに特定するための情報がコマンドに不足している
  • 正規のレポートファイルがすでに存在する
  • コーディネーターがこのレビュー担当者にディレクトリの作成を求めていると思われる
  • コマンドがレビュー担当者にコードの編集やレポートの集約を求めている

エラー処理

ケース必須の動作
task-dir が指定されていない停止し、task-level ディレクトリを求めます
ラウンドディレクトリが存在しない停止し、コーディネーターに作成を求めます
プロジェクトルートが曖昧停止し、絶対パスを求めます
レポートファイルがすでに存在する停止し、上書きするか reviewer id を変更するか確認します
task-level モードで --output による上書きを試みた拒否し、正規パスを使用するか、そのパスを求めます
強い主張を裏付ける証拠が不十分確信度を下げる、不確実性を明記する、または指摘を省略します
コードの変更を求められた拒否します。レビュー担当者はレポートのみを書き込みます

よくある間違い

  • レポートではなくコードを編集する:このスキルで行うのはレビューのみです。
  • ディレクトリを作成する:ディレクトリの作成はコーディネーターが担当します。
  • --output で正規パスを回避する:現在のプロトコルのレポートは、multi-cli-review-action が想定する場所に配置する必要があります。
  • 不完全なフロントマターを出力する:アクション側での取り込みは、一貫したメタデータに依存します。
  • 既存のレビュー担当者レポートを黙って上書きする:停止して確認を求めてください。
  • レビュー担当者レポート内で集約を行う:重複の除去と競合の処理は、multi-cli-review-action が担当します。
  • 推測を事実として扱う:不確かな指摘は明記するか、省略してください。

例

例 1:標準的なレビュー担当者コマンド
用户:/multi-cli-review "分析 skills/multi-cli-review 的问题" skills/multi-cli-review --task-dir tmp/multi-cli-review/skill-review --reviewer-id a --round 1 --review-focus "边界条件与协议漂移"

CLI Reviewer:
1. 解析 task-dir、reviewer-id、round、review-focus
2. 按项目根目录解析 task-dir
3. 确认 <project-root>/tmp/multi-cli-review/skill-review/review-round-1/ 已存在
4. 分析目标并写入报告
5. 回显实际输出路径
例 2:ラウンドディレクトリがない場合
CLI Reviewer:
❌ review-round-2 directory is missing:
<project-root>/tmp/multi-cli-review/skill-review/review-round-2/

Reviewer must not create directories.
Ask the coordinator to create the round directory and resend the command.
例 3:レガシー互換性
用户:/multi-cli-review "分析 ./docs/api.md 的问题" ./docs/api.md --md-a tmp/multi-cli-review/4/cur_defect.md

CLI Reviewer:
1. 进入 legacy compatibility mode
2. 写入 cur_defect.md
3. 回显实际路径
4. 不自动升级为 task-level

関連スキル

  • multi-cli-review-action:現在の CLI の集約と修正の実行
  • brainstorm:レビュー前の要件の明確化
  • requesting-code-review:マルチレビュアープロトコルが不要な場合の軽量なレビューパス

互換性に関する注意事項

  • 新しいマルチレビュアー作業では、明示的な --task-dir、--reviewer-id、--round を指定した task-level を常に優先してください。
  • レガシーの --md-a、--md-b、--output は互換性のためだけに残されており、現在のタスクレベルのレポート契約を再定義してはなりません。
  • コーディネーターが標準化されたレビュアーコマンドをすでに生成している場合は、パス、ファイル名、ラウンド番号を独自に決めず、そのコマンドに正確に従ってください。
  • コーディネーターが管理するタスクレベルのレビューラウンドでは、reviewer-id はスロット(a/b/c/d)を示し、source-cli はそのスロットのレポートを実際に生成した CLI を記録します。

コメント