executing-plans について
executing-plans は、既存の実装計画を実行するエージェント向けスキルです。タスク管理、結果の検証、開発ブランチの完了までを扱います。
主な機能
- 01既存計画の読み込みと確認
- 02タスクと依存関係の管理
- 03タスクの受け入れ基準を検証
- 04ブロッカー発生時の停止と報告
- 05開発ブランチの完了を案内
活用シーン
- 01保存済み計画から実装を再開
- 02依存タスクを順番に実行
- 03受け入れ基準に照らして作業を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ pcvelz/ superpowers --skill executing-plansインストール後、Claude Code で/executing-plansを入力して読み込まれたか確認します。
詳細
重大な制約
このスキルの実行中に、EnterPlanMode または ExitPlanMode を絶対に呼び出さないでください。 このスキルは通常モードで動作し、ディスク上にすでに存在する計画を実行します。ここでは計画モードは不要であり、実装に必要な Write/Edit ツールが制限されるため危険です。
計画の実行
概要
計画を読み込み、批判的に確認し、すべてのタスクを実行して、完了時に報告します。
開始時に次のように伝えます: 「計画を実装するため、executing-plans スキルを使用します。」
注: Superpowers はサブエージェントをサポートしている場合に最も効果を発揮します。サブエージェントを利用できる場合は、このスキルではなく superpowers-extended-cc:subagent-driven-development を使用してください。
計画作成者への確認
開始時に一度、ListAgents を実行して、計画作成セッションがまだ有効か確認します(引き継ぎプロンプトには通常、そのセッション名が記載されています)。有効な場合はその名前を控え、実行中に曖昧な点や設計上の疑問が生じるたびに、推測したり人間のパートナーに確認を求めたりする前に、SendMessage でその相手に質問します。有効でない場合は、人間のパートナーに確認します。
手順
ステップ 0:保存済みタスクの読み込み
TaskListを呼び出して、既存のネイティブタスクを確認します- 重大:タスクファイルの場所を確認:
<plan-path>.tasks.jsonを探し、見つからない場合は一致する.tasks.jsonを glob で検索します - タスクファイルが存在し、かつネイティブタスクが空の場合:TaskCreate を使って JSON から再作成します。
.tasks.jsonのdescription全体を含めます(subjectだけではありません)metadataフィールドが存在する場合は含めます(files、verifyCommand、acceptanceCriteria)TaskUpdateでblockedByを復元します
- ネイティブタスクが存在する場合:計画と一致していることを確認し、最初の
pending/in_progressから再開します - どちらも存在しない場合:ステップ 1b に進み、計画からタスクを作成します
タスクの状態を変更するたびに .tasks.json を更新します。
ステップ 0.5:ワークスペースの確認(Worktree の確認)
using-git-worktrees を呼び出す前に、既存の worktree があるか確認します。
git worktree listを実行して、既存の worktree をすべて確認します- 計画のブランチに対応する worktree がすでにある場合:そこに移動します。新しく作成してはいけません
- worktree がなく、main/master にいる場合:必須のサブスキル:
superpowers-extended-cc:using-git-worktreesを使用して作成します
ステップ 1:計画の読み込みと確認
- 計画ファイルを読み込みます
- 計画を批判的に確認し、質問や懸念点がないか洗い出します
- 懸念点がある場合:開始前に人間のパートナーに伝えます
- 懸念点がない場合:タスクの設定に進みます
ステップ 1b:計画からタスクを作成(必要な場合)
TaskList からタスクが返されなかった場合、またはタスクが計画と一致しない場合:
- 計画書から
## Task N:または### Task N:の見出しを解析します - 見つかった各タスクについて、TaskCreate を使い、次の内容を設定します。
- subject:計画に記載されたタスク名
- description:Goal、Files、Acceptance Criteria、Verify、Steps を含む構造化された内容全体と、最後に files、verifyCommand、acceptanceCriteria を含む
json:metadataコードフェンス - activeForm:現在形のアクション(例:「X を実装中」)
- 重大:依存関係: 計画または
.tasks.jsonにblockedByがある各タスクについて、必ず次を行います。taskIdとaddBlockedBy: [list-of-blocking-task-ids]を指定してTaskUpdateを呼び出します- この手順を省略してはいけません。依存関係は正しい順序で実行するために不可欠です
TaskListを呼び出し、blockedByの関係が正しく表示されることを確認します(例:「#1、#2 によってブロック」)
ステップ 2:タスクを実行する
各タスクについて:
- ステータスを in_progress にする
- 各ステップを正確に実行する(計画には細分化されたステップが記載されています)
- メタデータを使って検証する: タスクの説明にある
json:metadataコードフェンスを解析します。verifyCommandを実行し、完了としてマークする前に各acceptanceCriteriaを確認します。 - ユーザー指定のゲートはスキップできません。 タスクのメタデータに
"userGate": trueがある場合、またはtags配列に"user-gate"が含まれる場合、必ず以下を行ってください。- 指定されたとおりにゲートを実行します。インラインでの近道、より簡単な代替手段、「すでに非公式に検証済み」といった対応はできません。
acceptanceCriteriaの各項目について、具体的な出力を取得します(コマンド出力、エンティティの状態、ログ行、サブエージェントの結果)。- いずれかの基準を現時点で証明できない場合は、タスクを
in_progressのままにして、ユーザーにブロッカーを伝えます。完了扱いにしてはいけません。 - 計画で決定済みの検証方法を再検討してはいけません。計画で確定した検証方法をユーザーに再提示できるのは、計画時から重要な条件が変わった場合(別のブランチ/フィクスチャ、新たなブロッカー、または計画の前提が崩れた場合)に限ります。条件に変更がなければ、決定済みの方法どおりに検証を実行します。条件が変わっていないのに決定済みの方法を再確認するのは、ゲートを回避する行為です。
- 同意を求めて一時停止するのは、不可逆な機械的操作(例:force-push/本番環境へのマージ)の直前に限ります。その場合は「この不可逆な操作を実行してよいか確認する」と伝え、「もっと簡単な検証に切り替えるべきか」と尋ねてはいけません。
- 完了としてマークする
.tasks.jsonを同期する: タスクファイルを読み込み、タスクの"status"を"completed"(ステップ 1 では"in_progress")に更新し、"lastUpdated"を現在の ISO タイムスタンプに設定して、書き戻します。これにより、セッションをまたいで再開するときに永続化ファイルとネイティブタスクが一致します。
ステップ 3:開発を完了する
すべてのタスクが完了し、検証された後:
- 次のように伝えます:「この作業を完了するため、finishing-a-development-branch スキルを使用します。」
- 必須のサブスキル: superpowers-extended-cc:finishing-a-development-branch を使用します
- そのスキルに従って、テストを検証し、選択肢を提示して、選択された内容を実行します
作業を停止して支援を求める場合
以下の場合は、直ちに作業を停止してください。
- ブロッカーに直面した場合(依存関係が不足している、テストが失敗する、指示が不明確など)
- 計画に重大な不備があり、着手できない場合
- 指示の意味がわからない場合
- 検証が繰り返し失敗する場合
推測せず、確認を求めてください。
前のステップに戻る場合
以下の場合は、レビュー(ステップ 1)に戻ってください。
- パートナーがフィードバックに基づいて計画を更新した場合
- 根本的なアプローチを再考する必要がある場合
ブロッカーを無理に突破しないでください。停止して確認を求めます。
注意事項
- まず計画を批判的にレビューする
- 計画の手順どおりに進める
- 検証を省略しない
- 計画で指定されている場合はスキルを参照する
- ブロッカーが発生したら推測せず停止する
- ユーザーの明示的な同意なしに、main/master ブランチで実装を開始しない
統合
必須のワークフロースキル:
- superpowers-extended-cc:using-git-worktrees - 分離された作業領域を確保します(作成するか、既存のものを確認します)
- superpowers-extended-cc:writing-plans - このスキルが実行する計画を作成します
- superpowers-extended-cc:finishing-a-development-branch - すべてのタスク完了後に開発を完了します