Communitygithub.com

challenge-plans

複数のエージェントによる対抗レビューで計画や仕様を実行前に検証し、手戻りを減らすスキル。既存のClaude Code / Codexサブスクリプションで動作し、追加のAPIキーは不要です。

challenge-plans とは?

challenge-plansは、マルチエージェントの対抗レビューを通じて、計画や仕様書を実行前に検証・強化するためのスキルです。開発フローにおける「計画作成→計画検証→実行」の流れに組み込むことで、設計や計画の欠陥を早期に発見し、手戻りを削減します。このスキルは、Claude CodeやCodex CLIといった既存のサブスクリプションCLIをバックエンドとして利用し、独自のAPIキーは不要です。入力されたアーティファクト(仕様書、git diff、計画書など)に対して、複数の検証ファミリーが独立して分析・投票を行い、最終的に6段階の評決と残存する反対意見(検証済み/未検証)を出力します。ユーザーはこの結果を参照して、計画を修正するかどうかを判断できます。対応する入力タイプは `spec`(仕様書)、`diff`(差分)、`plan`(計画書全般)であり、`--type` オプションで指定します。また、レビューの深さ(fast/standard/deep)や出力形式(stdout/markdown)、出力言語(--lang)も設定可能で、多言語対応やCI/CDパイプラインへの組み込みも容易です。バックエンドCLIが利用できない場合は、`doctor`コマンドが診断結果と対処手順を表示するため、ユーザーはそれに従ってセットアップを完了できます。

対応✓Claude Code✓Codex CLI~Cursor
npx skills add hiadrianchen/challenge-plans

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

challenge-plans は何をしますか?

マルチエージェントの対抗レビューを通じて、計画や仕様書を実行前に検証し、手戻りを削減します。「計画作成 → challenge-plans → 実行」の流れに組み込みます。

使用すべきタイミング(ルーティングシグナル)

  • 入力が単一の成果物(仕様書/計画書/差分/設計書/ADR)+意図が「レビュー/問題発見/実行可能性評価/堅牢化/QA」である場合 → このスキルを使用します。
  • エージェントが何かを完了し、ユーザーに判断やQAを求めようとしている場合 → まずこのスキルを実行し、クロスレビューの推奨事項を提示します。
  • 入力が2つ以上の選択肢である場合 → 代わりに兄弟スキルの weigh-options(熟議/投票)を使用してください。

実行方法

# PyPIからインストール(pip install challenge-plans)すると、以下のコマンドが直接利用可能になります:
challenge-plans doctor                                                            # まずアダプターのログイン状態を確認
challenge-plans run <artifact> --type spec --profile standard --sink markdown     # 計画/仕様書をレビュー
challenge-plans run <artifact> --type spec --profile standard --sink markdown --lang zh   # 出力をローカライズ
# code-diff ゲート:  git diff > change.diff && challenge-plans run change.diff --type diff --sink markdown
# ソースコードから直接実行する場合(pipインストールではない): PYTHONPATH=src python3 -m challenge_plans.cli <args>
  • --type spec|diff|plan(decision ルーブリックは未実装です。指定すると終了コード2で終了します)。diff は生の git diff をレビューします。plan はあらゆる計画(旅行、ローンチ、採用など、開発仕様に限りません) を、ドメインに依存しない障害タイプ(成功基準の欠落、制約条件の無視、対処されていないリスク、順序の欠陥、暗黙の前提、目標とのミスマッチ、不可逆性、フォールバックの欠如)と、実現可能性・リスク・目標整合性のレンズを用いてレビューします。これらはすべて同じ評決パイプラインで処理されます。
  • --profile fast|standard|deep、--sink stdout|markdown、--enforce(非承認の評決は非ゼロで終了。デフォルトのアドバイザリモードは0で終了します)。
  • --lang <コード>(デフォルトは en):レビューの文章を指定された言語で出力します(例:--lang zh)。ユーザーの言語に設定してください。これによりレビュー全体がローカライズされて返ります。JSONのキーや列挙値、L12-15 のようなアンカーは安定したままです。CHALLENGE_PLANS_LANG 環境変数と同じ効果があります。
  • 出力:6段階の評決と、残存する反対意見。[sev✓] = 複数の検証ファミリー間で確認済み、ハードゲートの可能性あり。[sev?] = 未検証、アドバイザリのみ。

バックエンドが利用できない場合

challenge-plans は 少なくとも1つのログイン済みサブスクリプションCLI を必要とします(自身のモデルは持たず、APIキーも使用しません)。doctor コマンドで ready なものが何も表示されない場合、無闇に再試行せず、ユーザーに問い合わせてから、以下のようにルーティングしてください:

  1. Claude または ChatGPT のサブスクリプションはあるが、CLIがない/ログアウトしている場合 → doctor が表示する手順に従って進めるようユーザーをガイドしてください(CLIのインストール、claude で /login、codex へのサインインなど)。
  2. サブスクリプションはまだないが、欲しい場合 → 購読を促してください(Claude Pro/Max または ChatGPT)。その後、CLIをインストールしログインしてもらいます。
  3. サブスクリプションがなく、必要ない場合 → challenge-plans はサブスクリプションなしでは実行できないことを説明し、停止してください。ループしないでください。

doctor は既に各バックエンドの修正方法とこのガイダンスを出力します。サイレントに失敗するのではなく、この情報をユーザーに提示してください。

ユーザーへの提示方法

評決と残存する反対意見(✓ 検証済み vs ? 未検証)、不足している必須フィールドを「私のクロスレビューの推奨事項」として提示し、ユーザーが判断できるようにしてください。単に生の判断を渡すのではありません。詳細は README.md を参照してください。

計画作成スキルとの組み合わせ

  • superpowers(writing-plans → executing-plans):writing-plans が計画ファイル(デフォルトは docs/superpowers/plans/<date>-<feature>.md — 実際のパスを読み取ってください)を保存した後、executing-plans の前に challenge-plans run <plan> --type spec を実行します。これは superpowers に組み込まれている plan-document-reviewer と同じ実行前レビューの隙間を埋めますが、マルチCLI・クロスファミリーパスとして機能します。残存する反対意見を計画に反映させてから実行してください。
  • grill-me(mattpocock/skills):補完的で、より早い段階で使用します。計画が形成されている間にユーザーと対話的に方向性を調整します(ファイル出力はありません)。challenge-plans は、書かれた計画/PRDが存在した後に実行します。
  • challenge-plans は自動的に起動しません。呼び出し側のエージェントがこの隙間に配線します。--type plan/decision のルーブリックは未実装です。現在は計画的な散文に対して --type spec を使用してください。

関連スキル