
Executing Plans
Run an approved written implementation plan in ordered batches with verification gates, human checkpoints, and rollback when a step fails.
Install
npx skills add https://github.com/itallstartedwithaidea/agent-skills --skill executing-plansWhat is this skill?
- Step-by-step execution with verification commands that must pass before the next step
- Human checkpoints at designated pause points for confirm/retry/skip/modify/abort
- Pre-change state capture per step for automatic or guided rollback on failure
- Completion percentage, elapsed time, and remaining-estimate progress reporting
- Halts forward progress on verification failure until resolved
Adoption & trust: 1 installs on skills.sh; 18 GitHub stars; 2/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
Recommended Skills
Journey fit
Canonical shelf is Build because this skill turns an approved plan into sequenced implementation work—the natural handoff after planning and before broader ship hardening. PM subphase fits plan-driven execution, progress tracking, and operator visibility rather than a single integration or UI task.
Common Questions / FAQ
Is Executing Plans safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Executing Plans
# Executing Plans Part of [Agent Skills™](https://github.com/itallstartedwithaidea/agent-skills) by [googleadsagent.ai™](https://googleadsagent.ai) ## Description Executing Plans takes a written plan and drives it through batch execution with human checkpoints, progress tracking, and rollback capability. The agent follows the plan step by step, verifying each step's success before proceeding, pausing at designated checkpoints for human confirmation, and maintaining the ability to reverse any step that fails. Plans without disciplined execution degrade into wishful thinking. This skill enforces the contract: every step runs in order, every verification command must pass, and any failure halts forward progress until resolved. The agent tracks completion percentage, elapsed time, and remaining estimates, giving the human operator clear visibility into progress. Rollback capability is built into the execution model. Before applying each step, the agent records the pre-change state. If a step fails verification, the agent can revert to the last known-good checkpoint automatically or present the human with options: retry, skip, modify, or abort. ## Use When - A written plan exists and is approved for execution - Multi-file changes must be applied in a specific order - The user wants oversight at key decision points during execution - Changes carry risk and need rollback capability - Execution spans multiple sessions or agents - Progress tracking is needed for transparency ## How It Works ```mermaid 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 ``` The execution engine maintains a state machine for each step: pending, in-progress, verified, failed, rolled-back. Human checkpoints are configurable—the default places them after every 3 steps and before any destructive operation. ## Implementation ```python 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 r