
executing-plans
Use when you have a written implementation plan to execute in the current session with review checkpoints, and subagents are unavailable or the tasks are too coupled to delegate
- Installs
- 91
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/osmontero/opencode-skills --skill executing-plans- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads executing-plans automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Executing Plans
Overview
Load the plan, review it critically, execute in batches with checkpoints, verify, and hand off.
Announce at start: "I'm using the executing-plans skill to implement this plan."
Prefer subagent-driven-development when you can. Fresh context per task and staged review (spec, quality, and security for security-relevant tasks) produce measurably better results than inline execution. Use this skill when subagents are unavailable, when tasks are too tightly coupled to isolate, or when the plan is small enough that dispatch overhead exceeds the benefit.
The Iron Law
NO EXECUTION WITHOUT A CRITICAL REVIEW OF THE PLAN FIRST
Executing a flawed plan faithfully produces a flawed implementation efficiently. The review is not a formality — it is the only point where a bad plan costs minutes instead of hours.
Started executing without reviewing? Stop and review now. It is cheaper at task 2 than at task 9.
Checklist
Create a todo for each:
- Verify the workspace — isolated branch or worktree, clean baseline
- Load and review the plan critically — raise concerns before starting
- Build the todo list — one entry per task
- Execute in batches — 2-3 tasks, then checkpoint
- Verify at each checkpoint — run the actual commands
- Final verification — full suite, plan coverage check
- Hand off — finishing-a-development-branch
Step 1: Verify the Workspace
REQUIRED SUB-SKILL: Use using-git-worktrees before starting.
Never begin implementation on main/master without explicit consent. Check first:
git branch --show-current
git status --porcelain # must be clean before starting
A dirty tree means you cannot tell your changes from pre-existing ones at review time.
Step 2: Review the Plan Critically
Read the whole plan before writing any code. Check for:
| Check | Red flag |
|---|---|
| Placeholders | "TBD", "add error handling", "write tests for the above", "similar to Task 3" |
| Type consistency | clearLayers() in Task 3, clearFullLayers() in Task 7 |
| Undefined references | A task uses a type or function no task defines |
| File paths | Paths that do not exist and no task creates |
| Verification | Steps with no command, or commands with no expected output |
| Ordering | Task 5 depends on something Task 8 builds |
| Scope | Multiple independent subsystems that should have been separate plans |
If you find issues: raise all of them at once, before starting. Do not fix the plan silently and do not discover them one at a time across the session.
Reviewed the plan. Three issues before I start:
1. Task 4 calls `validateToken()` — no task defines it. Task 2 defines
`verifyToken()`. Same function, or a gap?
2. Task 6 modifies `src/auth/session.ts:40-58`; that file is 22 lines.
The line range is stale.
3. Tasks 8-11 cover the notifications subsystem, independent of auth.
Split into a second plan?
Step 3: Execute in Batches
Work 2-3 tasks at a time, then checkpoint. Batching keeps momentum without letting errors compound across nine tasks.
For each task:
- Mark in_progress
- Follow the steps exactly — the plan's granularity is deliberate
- Run the verification the step specifies and read the output
- Commit as the plan directs
- Mark completed
Follow the plan's steps exactly means writing the failing test first when the plan says to, and running it to watch it fail before implementing. Skipping the "run it and see it fail" step is the most common way plan execution silently degrades — see test-driven-development.
Do not batch commits. Committing per task is what makes a checkpoint reviewable and a mistake revertible.
Step 4: Checkpoint
After each batch, report and pause:
Tasks 1-3 complete.
- Task 1: token verification — 6 tests, all passing
- Task 2: session store — 4 tests, all passing
- Task 3: middleware wiring — 3 tests, all passing
Full suite: 47 passed, 0 failed.
Deviation: Task 2 specified a Map; used a WeakMap so sessions are
garbage-collected with their request objects. Behavior is identical.
Continue with tasks 4-6?
Checkpoints report evidence, not confidence — actual command output, not "should be working." See verifying-before-completion.
Optionally dispatch a reviewer at each checkpoint — see requesting-code-review. If the batch touched security-relevant code, dispatch the security-reviewer and treat Critical or High findings as blocking.
Step 5: Handling Deviations
Plans meet reality. Classify what happens next:
| Situation | Do |
|---|---|
| Step's code has a typo/obvious small error | Fix it, note it at the checkpoint |
| Step's approach works but a better one exists | Follow the plan. Note the alternative. Do not unilaterally improve. |
| Step is impossible as written | Stop. Report why. Propose an alternative. Wait. |
| Step's assumption about the codebase is wrong | Stop. The plan needs updating, not working around. |
| A task turns out unnecessary | Stop and ask — do not silently skip |
| You discover an unrelated bug | Note it. Do not fix it. Scope creep in execution is how plans lose their meaning. |
Never silently deviate. Every deviation is reported at the next checkpoint, however small.
When to Stop and Ask
STOP immediately when:
- A blocker appears — missing dependency, environment problem, failing baseline
- An instruction is genuinely unclear
- The same verification fails twice
- The plan's assumptions about the codebase turn out to be wrong
- Implementing a step would require restructuring code the plan did not anticipate
Ask rather than guess. A wrong guess at task 3 corrupts every task after it.
If verification fails repeatedly: stop and use systematic-debugging. Do not attempt fix after fix — three failed fixes means the problem is not where you think it is.
Step 6: Final Verification
Before handing off, REQUIRED SUB-SKILL: use verifying-before-completion.
- Every task in the plan is checked off
- Full test suite run in this message — output read, 0 failures
- Linter and build run clean
- Re-read the plan's goal: does the implementation deliver it?
- Every deviation reported to the user
-
git statusclean; every change committed
Plan coverage check: walk the plan's requirements and point to the code implementing each. A passing test suite proves the tests pass, not that the plan was fulfilled.
Step 7: Hand Off
REQUIRED SUB-SKILL: Use finishing-a-development-branch to verify tests, present the merge/PR/keep/discard options, and clean up.
Common Mistakes
Executing before reviewing. The plan's flaws get faithfully implemented.
Skipping "watch it fail". The plan says run the test and see it fail. Skipping it means you never learn whether the test tests anything.
Silent deviation. The implementation drifts from the plan and nobody knows until review.
Batching all commits at the end. No revertible checkpoints, and an unreviewable diff.
Forcing through a blocker. Three fixes deep on a step that was wrong to begin with.
"While I'm here" changes. Unrelated refactoring during execution makes the diff unreviewable and the deviation invisible.
Claiming completion from memory. "All tests passed earlier" is not verification. Run them now.
Integration
Required workflow skills:
- using-git-worktrees — REQUIRED: isolated workspace before starting
- writing-plans — creates the plan this skill executes
- test-driven-development — how to execute the test-first steps correctly
- verifying-before-completion — REQUIRED before any completion claim
- finishing-a-development-branch — REQUIRED: complete development after all tasks
When things go wrong:
- systematic-debugging — verification failing repeatedly
- receiving-code-review — acting on checkpoint review feedback
Alternative:
- subagent-driven-development — preferred when subagents are available
FAQ
What does the executing-plans skill do?
Use when you have a written implementation plan to execute in the current session with review checkpoints, and subagents are unavailable or the tasks are too coupled to delegate
How do I install executing-plans?
Run npx skills add https://github.com/osmontero/opencode-skills --skill executing-plans in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/executing-plans/ (personal) or .claude/skills/executing-plans/ (project).
Which AI agents can use executing-plans?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is executing-plans safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains executing-plans?
It is published by osmontero in osmontero/opencode-skills. It has 91 recorded installs.
More from osmontero/opencode-skills
designing-frontend-interfaces
osmontero/opencode-skills
Use when building or restyling any web interface — landing pages, dashboards, marketing sites, web apps, React/Vue components, HTML/CSS layouts, artifacts, posters — or when asked to make a UI look better, more polished, more distinctive, less generic, or less "AI-generated". Also use when a design brief, art direction, visual identity, type scale, or color system is needed before implementation.
designing-user-experience
osmontero/opencode-skills
Open the skill to read its SKILL.md instructions.
reviewing-interface-quality
osmontero/opencode-skills
Open the skill to read its SKILL.md instructions.
building-accessible-interfaces
osmontero/opencode-skills
Use when building or auditing any web UI for accessibility — keyboard navigation, screen readers, focus management, ARIA, color contrast, form labels and error announcements, reduced motion, or touch target size. Triggers include "is this accessible", "WCAG", "a11y", "screen reader", "keyboard navigation", "focus trap", "contrast ratio", "aria-label", or building modals, menus, tabs, comboboxes, toasts, and custom controls that must work without a mouse.
systematic-debugging
osmontero/opencode-skills
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
verifying-before-completion
osmontero/opencode-skills
Open the skill to read its SKILL.md instructions.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.