executing-plans について
承認済みの計画をエージェントが順に実行するスキルです。各ステップの検証、人による確認、進捗追跡、失敗時のロールバックに対応します。
主な機能
- 01計画の順次実行
- 02各ステップの検証
- 03人による確認ポイント
- 04進捗と所要時間の追跡
- 05以前の状態へのロールバック
活用シーン
- 01複数ファイルの変更を順番に適用
- 02リスクの高い操作前の確認
- 03セッションやエージェントをまたぐ作業の追跡
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ itallstartedwithaidea/ agent-skills --skill executing-plansインストール後、Claude Code で/executing-plansを入力して読み込まれたか確認します。
詳細
計画の実行
googleadsagent.ai™ による Agent Skills™ の一部です
説明
計画の実行は、作成済みの計画を受け取り、人間によるチェックポイント、進捗追跡、ロールバック機能を備えたバッチ実行を進めます。エージェントは計画に沿って各ステップを順に実行し、次に進む前に各ステップの成功を検証します。指定されたチェックポイントでは人間の確認を待ち、失敗したステップを元に戻せる状態を維持します。
規律ある実行を伴わない計画は、願望にすぎないものになってしまいます。このスキルは、すべてのステップを順番に実行し、すべての検証コマンドを成功させ、問題が解決するまで失敗時には以降の処理を停止するというルールを徹底します。エージェントは完了率、経過時間、残り時間の見積もりを追跡し、人間のオペレーターが進捗を明確に把握できるようにします。
ロールバック機能は実行モデルに組み込まれています。各ステップを適用する前に、エージェントは変更前の状態を記録します。ステップの検証に失敗した場合、エージェントは最後に正常だったチェックポイントへ自動的に戻すか、「再試行」「スキップ」「変更」「中止」の選択肢を人間に提示できます。
使用する場面
- 作成済みの計画があり、実行が承認されている場合
- 複数ファイルへの変更を特定の順序で適用する必要がある場合
- 実行中の重要な判断ポイントでユーザーが監督したい場合
- 変更にリスクがあり、ロールバック機能が必要な場合
- 実行が複数のセッションやエージェントにまたがる場合
- 透明性を確保するために進捗追跡が必要な場合
仕組み
graph TD
A[Load Plan] --> B[Step N]
B --> C[Record Pre-Change State]
C --> D[Apply Change]
D --> E[Run Verification]
E --> F{Verification Passes?}
F -->|Yes| G{Checkpoint Step?}
G -->|Yes| H[Pause for Human Review]
G -->|No| I[Update Progress]
H --> I
I --> J{More Steps?}
J -->|Yes| B
J -->|No| K[Execution Complete]
F -->|No| L{Rollback?}
L -->|Auto| M[Revert to Last Checkpoint]
L -->|Manual| N[Present Options to Human]
M --> B
実行エンジンは、各ステップについて「保留中」「実行中」「検証済み」「失敗」「ロールバック済み」の状態を管理します。人間によるチェックポイントは設定可能です。デフォルトでは3ステップごと、または破壊的な操作の前に設定されます。
実装
class PlanExecutor:
def __init__(self, plan, checkpoint_interval=3):
self.plan = plan
self.checkpoint_interval = checkpoint_interval
self.snapshots = {}
self.progress = []
def execute(self):
for i, step in enumerate(self.plan.steps):
self.snapshots[i] = self.capture_state(step.affected_files)
self.update_status(step, "in_progress")
try:
self.apply_change(step)
result = self.run_verification(step.verify_command)
if not result.success:
raise VerificationError(step, result.output)
self.update_status(step, "verified")
self.report_progress(i + 1, len(self.plan.steps))
if self.is_checkpoint(i):
self.pause_for_human_review(step)
except (ApplyError, VerificationError) as e:
self.update_status(step, "failed")
self.handle_failure(i, e)
def handle_failure(self, step_index, error):
self.rollback_to(step_index)
options = [
"retry: Re-attempt this step",
"modify: Edit the step and retry",
"skip: Mark as skipped and continue",
"abort: Stop execution entirely",
]
return self.prompt_human(error, options)
def rollback_to(self, step_index):
for path, content in self.snapshots[step_index].items():
self.restore_file(path, content)
def report_progress(self, completed, total):
pct = (completed / total) * 100
print(f"Progress: {completed}/{total} ({pct:.0f}%) | "
f"Elapsed: {self.elapsed()} | "
f"Remaining: ~{self.estimate_remaining(completed, total)}")
ベストプラクティス
- 実行を開始する前に、計画が承認されていることを必ず確認します
- ロールバックに備えて、変更のたびにファイルの状態を記録します
- 破壊的な操作(削除、移行、デプロイ)の前にチェックポイントを設けます
- 最後だけでなく、各ステップの後に進捗を報告します
- ステップが2回失敗した場合、際限なく再試行せず、人間に対応を依頼します
- バージョン管理に復元ポイントを作成するため、検証に成功した各ステップの後にコミットします
プラットフォームとの互換性
| プラットフォーム | サポート | 備考 |
|---|---|---|
| Cursor | 完全 | 進捗管理にShellとTodoWriteを使用 |
| VS Code | 完全 | ターミナルベースの実行 |
| Windsurf | 完全 | Cascadeによるステップ実行 |
| Claude Code | 完全 | Shellとチェックポイントのプロンプトを使用 |
| Cline | 完全 | タスクランナーとの統合 |
| aider | 部分的 | ネイティブのチェックポイント機能には非対応 |
関連スキル
- 計画の作成 - このスキルが実行するステップごとの仕様を作成する計画の作成
- サブエージェント駆動開発 - 計画のステップを分離されたサブエージェントに委任する、並列タスクの割り当て
- Git Worktrees - 各実行ステップを検証するためのクリーンなベースラインを提供する、分離されたワークスペース
キーワード
plan-execution batch-execution human-checkpoints rollback progress-tracking verification state-machine step-by-step-execution
© 2026 googleadsagent.ai™ | Agent Skills™ | MIT License