mcpField
C
comet-review

comet-review

github.com/rpamisテスト・品質3.2k126 回インストール1 日前に更新
リポジトリ

comet-review について

comet-review は、選択中の Comet の変更をユーザーの依頼に応じて一度だけ読み取り専用でレビューするスキルです。要件、差分、既存の検証証拠を調べ、プロジェクトの状態を変更せず、テスト合格とも判断しません。

主な機能

  1. 01選択した変更の読み取り専用レビュー
  2. 02要件と実装差分の確認
  3. 03既存のテスト・検証証拠の評価
  4. 04重要度順の指摘と範囲の報告

活用シーン

  1. 01作業を進める前の Comet 変更レビュー
  2. 02実装と明示された要件との照合
  3. 03テスト実行や状態変更なしでの証拠評価

インストール

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

$npx skills add https://github.com/rpamis/comet --skill comet-review

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

同梱ファイルagents/openai.yaml

詳細

Comet の手動コードレビュー

現在選択されている Comet の変更に対して、オンデマンドで読み取り専用のコードレビューを 1 回実施します。この項目はワークフローのフェーズではなく、Build または Verify のチェックやレビューに代わるものではありません。

この項目は review_mode から独立しています。このフィールドはワークフロー内の自動レビューを制御しますが、/comet-review はユーザーが明示的に依頼する 1 回限りのレビューです。この実行中に、現在の変更の review_mode を読み取ったり、変更したり、上書きしたりしないでください。

読み取り専用の操作を行う

Skill の実行全体を読み取り専用にしてください。

  • ファイルを変更、作成、削除しないでください。
  • ステージング、コミット、ブランチの切り替えや作成、ワークツリーの作成を行わないでください。
  • comet state select、comet native select、comet state set、comet state transition、フェーズガード、comet native next、アーカイブコマンドを実行しないでください。
  • 指摘事項を修正したり、フェーズを進めたり、タスク、状態、検証レポート、レビュー記録を更新したりしないでください。
  • このレビューを Verify の合格と呼んだり、「指摘なし」をテスト合格の証明として扱ったりしないでください。

ファイルの読み取り、状態の照会、Git 差分の確認に必要なコマンドのみを実行してください。プロジェクトコードを実行したり、依存関係をインストールしたり、ファイルを生成したりする可能性のあるチェックは、この項目の対象外です。

1. プロジェクトと現在の変更を特定する

  1. 読み取り専用の Git クエリを使ってプロジェクトルートを特定します。Git リポジトリの外にいる場合は、現在の Comet プロジェクトルートを使用します。

  2. プロジェクトルートで次を実行します。

    comet status . --json
    
  3. .comet/current-change.json を読み取り、次の順序でレビュー対象を選びます。

    • ファイルに有効な comet.selection.v2 が含まれている場合は、その workflow と change を使用します。
    • 選択情報がなく、ステータスにアーカイブされていない Comet の変更がちょうど 1 つある場合は、そのレビューに限り、その変更を使用します。選択情報を書き込まないでください。
    • 選択情報がなく、変更が複数ある場合は、名前、ワークフロー、フェーズを一覧表示してユーザーに選択を求め、この実行を終了します。
    • 選択先が存在しない変更、アーカイブ済みの変更、または無効な変更を指している場合は、選択情報が古い、または無効であることを報告し、修復せずに停止します。

Comet が管理していない通常の OpenSpec 変更は無視してください。選択されたワークフローがデフォルトのワークフローと異なるという理由だけで、選択されたワークフローをデフォルトのワークフローに置き換えないでください。

2. レビューのコンテキストを収集する

この変更に必要なコンテキストのみを読み取ってください。各事実について、ソースパスまたはコマンドを記録してください。

Classic
  1. comet-classic/reference/classic-layout.md を読み、指示に従ってプロジェクトの Classic 論理ルートを特定します。

  2. 現在の変更の proposal.md、design.md、tasks.md、specs/*/spec.md を読み取ります。リンクされている Design Doc も読み取ってください。

  3. フェーズ、ベースライン、既存のエビデンス参照を確認するには、次の読み取り専用クエリを使用します。

    comet state get <change-name> phase
    comet state get <change-name> base_ref
    comet state get <change-name> plan
    comet state get <change-name> verification_report
    
  4. 既存の計画、検証レポート、および comet status . --json が返すビルド/検証コマンドのチェック結果を読み取ります。エビデンスがない場合は「未提供」と記載し、失敗または成功を推測しないでください。

Native

次の読み取り専用コマンドを実行します。

comet native show <change-name> --json
comet native status <change-name> --details --json

返された参照先に従って、ブリーフ、提案された Spec 全体、受け入れ条件、Builder への引き継ぎ、チェック、検証、リスク、ブロッカー、検証レポートを読み取ります。現在の候補/イテレーションのエビデンスのみを使用してください。過去のイテレーションは残るリスクの説明に利用できますが、現在の状態に優先させないでください。

3. 実装差分を確定する

  1. git status --short --untracked-files=all を実行し、作業ツリー内のステージ済み、未ステージ、および未追跡のファイルをすべて一覧表示します。
  2. 要件、ワークスペースのバインディング、Git 履歴、および作業ツリーの状態を用いて、最も信頼できる関連範囲を確定します。Classic の場合、有効なプランの base-ref があればそれを優先します。存在しないか無効な場合は、state の base_ref にフォールバックします。2 つの値が一致している必要はありません。両方の値が無効な場合に限り、Classic のベースラインが欠落していると判断します。Native の場合、state のワークスペース間の関係と、現在の候補の実装範囲を定める証拠を使用します。
  3. 信頼できるベースラインから現在の作業ツリーまでの完全な差分を確認します。コミット済み、ステージ済み、未ステージの変更をすべて含めます。この変更に属する未追跡ファイルもすべて読みます。ソース、テスト、ドキュメント、設定、および SKILL.md や agents/openai.yaml などのメタデータが対象です。未追跡ファイルは、未追跡であることを明確に示します。
  4. 明らかに他の変更に属するものや、関連性のないユーザー作業は除外します。曖昧さがレビューの結論に重大な影響を与える場合に限り、ユーザーに確認します。それ以外の場合は、利用可能な証拠をもとに続行し、レポートに範囲の前提を明記します。

利用可能な証拠でも信頼でき、検証可能なベースラインを確定できない場合は、確認できる作業ツリーの差分をレビューし、レビュー範囲が不完全であることを目立つように明記します。

4. レビューを実施する

要件、タスク、現在の差分を確認し、次の点にのみ焦点を当てます。

  • 実装の正確性と明確なロジックエラー。
  • セキュリティ、権限、パス境界に関するリスク。
  • エラー処理、互換性、重要なエッジケース。
  • この変更に関する明示的な要件に対する、未対応のタスクや矛盾する実装。
  • テストが変更された動作を網羅しているか、利用可能なテストの証拠が結論を裏付けているか。

スタイル上の好み、無関係なリファクタリング、具体的な影響を伴わない推測は指摘しないでください。指摘事項にはそれぞれ、ファイルと行番号を示し、エラーやリスクを引き起こす入力や状況を説明してください。証拠が不十分な場合は、重要度を下げるか「未解決の質問」に記載してください。

使用できる重要度は次のとおりです。

  • CRITICAL:セキュリティ侵害、データ損失、または中核的なワークフローが利用不能になる問題。
  • IMPORTANT:明確な正確性の問題、中核的な受け入れ要件の欠落、または回帰の可能性が高い問題。
  • WARNING:実在する、ブロッキングではないエッジケースのリスク、またはテスト不足。
  • SUGGESTION:現在の正確性には影響しない、具体的な改善案。

5. 結果を報告する

指摘事項を重要度の高い順に先に列挙します。次の形式を使用してください。

[IMPORTANT] Short title — path/to/file.ts:123
Impact: The input or situation and the resulting error.
Evidence: The specific relationship to the diff, task, spec, or verification record.

続けて、次の項目を記載します。

  • Review scope:ワークフロー、変更、フェーズ、ベースライン、含めた差分、および範囲の制限。
  • Evidence status:確認したテスト、ビルド、検証の記録と、それらが現在の変更にも引き続き適用できるかどうか。テストを再実行しないでください。
  • Open questions:判断を妨げる実際の質問のみ。
  • Conclusion:指摘件数、または「具体的な指摘事項はありません」と明記します。

指摘事項がない場合でも、残るリスクと未実施の確認を明記してください。次の注意書きで終えてください。

これは読み取り専用の手動レビューです。Comet のフェーズは進まず、/comet-verify または Native Verify の代わりにはなりません。

ユーザーが後から修正を依頼した場合は、新しい書き込みタスクとして扱います。この Skill を離れ、リポジトリの現在のワークフロールールに従って開発を再開してください。

コメント