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 なものが何も表示されない場合、無闇に再試行せず、ユーザーに問い合わせてから、以下のようにルーティングしてください:
- Claude または ChatGPT のサブスクリプションはあるが、CLIがない/ログアウトしている場合 →
doctorが表示する手順に従って進めるようユーザーをガイドしてください(CLIのインストール、claudeで/login、codexへのサインインなど)。 - サブスクリプションはまだないが、欲しい場合 → 購読を促してください(Claude Pro/Max または ChatGPT)。その後、CLIをインストールしログインしてもらいます。
- サブスクリプションがなく、必要ない場合 → 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を使用してください。