skills/project-mgmt/plan-execute/SKILL.md
Execute an implementation plan with rigorous checklist-driven verification. Every task is pre-flighted, worked, validated with proof, and checked off. Every phase is validated as a whole. If proof is missing, the agent goes back. Honesty is non-negotiable — broken trust means the plan is not done. Triggers: 'implement this plan', 'execute the plan', 'start working on the plan', 'do the plan', 'carry out the phases', 'run the plan', 'work through the plan', 'carry out this plan', 'begin implementation'. Do NOT use for plans that have not been reviewed — use plan-review first.
npx skillsauth add pantheon-org/tekhne plan-executeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Execute an implementation plan through its phases, validating every task with verifiable proof before marking it done. If proof is missing or falsified, the agent goes back and completes the work. No exceptions.
HONESTY IS NON-NEGOTIABLE. A checked item without proof is a lie. A plan with lies is not done. Broken trust means the implementation cannot be trusted and must be redone.
.context/plans/<slug>/CHECKLIST.md with every task.If any step fails: stop, fix, re-run, record proof. No exceptions.
plan-create / implementation-planner → plan-review → plan-execute → commit / merge
(design) → (audit) → (implement) → (ship)
.context/plans/*.md plan file with valid frontmatter, phases, and tasksopencode.json has subAgents configured for large-phase delegation.context/plans/<plan-slug>/README.md.context/plans/<plan-slug>/phases/phase-*/README.md.context/plans/<plan-slug>/phases/phase-*/tasks/*.mdAGENTS.md, package.json, or CI config.context/plans/<plan-slug>/CHECKLIST.mdREADME.mdstatus: DONE (only when fully validated).context/plans/ fileplan-review firstThe checklist is a living contract between the agent and the plan. It lives
at .context/plans/<plan-slug>/CHECKLIST.md alongside the plan.
Every checklist entry must contain:
PENDING, IN_PROGRESS, VALIDATED, or BLOCKEDRULE: An item marked VALIDATED without Actual output is a lie. The agent
must go back, run the verification, and record the output before proceeding.
Read the plan README.md and all phase README.md files. Extract every task
from every phase. Read all task files under tasks/.
Find the project's verification commands from AGENTS.md, package.json, CI
config, or by asking the user. Record them:
Typecheck: <command> (e.g., vue-tsc --noEmit)
Build: <command> (e.g., npm run build)
Test: <command> (e.g., npm test)
Lint: <command> (e.g., npm run lint)
Run all gates against the current branch before touching any code. Record the output verbatim in the checklist under a "Baseline" section.
## Baseline (before any changes)
- [ ] Typecheck
- Command: <typecheck>
- Expected: exit 0
- Actual: <paste full output>
- Status: VALIDATED
- [ ] Build
- Command: <build>
- Expected: exit 0
- Actual: <paste full output>
- Status: VALIDATED
- [ ] Tests
- Command: <test>
- Expected: all pass
- Actual: <paste full output including counts>
- Status: VALIDATED
- [ ] Lint
- Command: <lint>
- Expected: clean
- Actual: <paste full output>
- Status: VALIDATED
CRITICAL: If the baseline has failures, document them. They are your regression reference. Any new failure after your changes is a regression you introduced.
Create .context/plans/<plan-slug>/CHECKLIST.md with all tasks from all
phases, in order. See references/checklist-templates.md for the full
CHECKLIST.md template and a worked example from a real phased run.
For each task, in order:
Implement the task per its instructions. Create/modify/delete files as specified.
After every 1-3 file operations, run the quick gate (typically typecheck):
### P<NN>T<NN> — Quick Validation
- Command: <typecheck>
- Actual: <paste output>
- Status: <VALIDATED if pass, IN_PROGRESS if fail>
If it fails: Stop. Fix the issue. Re-run the command. Record the new output. Do not proceed to the next file operation until this passes.
After all file operations for the task are complete, run the full gate suite:
### P<NN>T<NN> — Task Validation
- Command: <typecheck> && <build> && <test> && <lint>
- Actual: <paste full output>
- Status: <VALIDATED or IN_PROGRESS>
If it fails: Stop. The task is not done. Fix the issue. Re-run. Update the checklist with the new output. Do not proceed to the next task until this passes.
If the task involves mechanical changes (import path changes, file splitting, naming conventions), run the structural audit and record the output:
### P<NN>T<NN> — Structural Audit
- Command: <audit command>
- Expected: <zero / empty / nothing>
- Actual: <paste output>
- Status: <VALIDATED if matches expected, IN_PROGRESS if not>
If it fails: The task is not done. The mechanical standard is not met. Go back and fix the files. Re-run the audit. Record the new output.
After the task passes all validations, update its checklist entry:
### P01T01 — <Task Name>
- [x] Task: <description>
- [x] Files created: <list>
- [x] Files modified: <list>
- [x] Files deleted: <list>
- [x] Quick gate after atomic changes
- Command: <command>
- Actual: <output>
- Status: VALIDATED
- [x] Full gate suite at task end
- Command: <command>
- Actual: <output>
- Status: VALIDATED
- [x] Structural audit
- Command: <command>
- Expected: <expected>
- Actual: <output>
- Status: VALIDATED
- [x] Status: VALIDATED
RULE: You may only mark an item with [x] after recording the Actual output.
An [x] without Actual output is a lie.
After all tasks in a phase are validated, validate the phase as a whole:
Run the full gate suite for the entire phase:
## Phase 01 — Validation
- Command: <typecheck> && <build> && <test> && <lint>
- Actual: <paste full output>
- Status: <VALIDATED or IN_PROGRESS>
If it fails: One or more tasks have an interaction bug. Stop. Diagnose which task caused it. Fix it. Re-validate the affected task(s). Re-run the phase suite.
Run the phase-specific domain invariant check (e.g., byte-identical output, benchmark comparison, integration test):
- Domain invariant: <description>
- Command: <command>
- Expected: <expected result>
- Actual: <output>
- Status: <VALIDATED or IN_PROGRESS>
If it fails: The phase broke something the generic gates cannot detect. Stop. Fix it. Re-run.
Compare the phase result to the baseline:
- Baseline tests: <X pass, Y fail>
- Phase tests: <X pass, Y fail>
- New failures: <count>
- Status: <VALIDATED if no new failures, IN_PROGRESS if any>
If new failures exist: You introduced a regression. Stop. Fix it. Re-run.
Commit with evidence in the message:
git add -A
git commit -m "feat(scope): phase N — <phase-name>
<one-line summary>
Checklist evidence:
- Typecheck: <paste result line>
- Build: <paste result line>
- Tests: <paste result line>
- Lint: <paste result line>
- Domain invariant: <paste result line>
- Regression: no new failures (or: fixed N pre-existing)"
Record the commit hash in the checklist.
## Phase 01 — <Phase Name>
- [x] All tasks validated
- [x] Phase gate suite passes
- Command:
- Actual:
- [x] Domain invariant holds
- Command:
- Actual:
- [x] Regression diff: no new failures
- [x] Committed as: <hash>
- [x] Status: VALIDATED
If reality diverges from the plan during implementation:
## Divergence — Phase 02, Task 03
- Expected: <what the plan said>
- Actual: <what reality required>
- Reason: <why>
plan-create amendment pattern.Never implement something not in the plan (or its amendment) without updating the checklist and plan first.
After all phases are validated and committed:
Run all gates one final time on the complete branch:
## Final Verification
- Command: <typecheck> && <build> && <test> && <lint>
- Actual: <paste full output>
- Status: <VALIDATED>
Run the plan's global success criteria:
- Criterion 1: <description>
- Command: <command>
- Expected: <expected>
- Actual: <output>
- Status: <VALIDATED>
- Criterion 2: <description>
...
Scan the checklist for any item that is:
[x] but has no Actual output → LIE. Go back.[-], [ ], or IN_PROGRESS → INCOMPLETE. Go back.# Example: find unchecked items
grep -n "\[ \|IN_PROGRESS\|BLOCKED" CHECKLIST.md
# Must return nothing
If any item is unchecked or lacks proof: The plan is NOT done. Go back to the offending item. Complete it. Record the proof. Re-run the final verification.
Write a final report in the checklist file:
The final report captures summary, evidence, regressions, divergences, and
checklist integrity. See references/checklist-templates.md for the full
Final Report template.
Append the final report to the plan's README.md under a new ## Execution Report section. Update the plan frontmatter:
---
status: DONE # or ACTIVE if not fully done
date: <original date> # do not change
---
If the plan is NOT done (unchecked items, missing proof, new regressions),
set status: ACTIVE and document why in the Execution Report.
A plan with status: DONE and a lying checklist is worse than a plan with
status: ACTIVE. Honesty is the only path to DONE.
NEVER — Mark a checklist item [x] without recording the Actual output.
SYMPTOM: The checklist looks complete but cannot be verified. Broken trust.
FIX: Every [x] must have a verbatim command output below it.
NEVER — Skip the pre-flight baseline. SYMPTOM: Cannot distinguish your regressions from pre-existing issues. FIX: Baseline is mandatory. No exceptions.
NEVER — Mark a phase VALIDATED when a task inside it is still IN_PROGRESS. SYMPTOM: A task has an unvalidated interaction bug that only shows at phase level. FIX: Every task must be VALIDATED before the phase can be validated.
NEVER — Claim the plan is DONE with unchecked items. SYMPTOM: Residual work, broken trust, plan appears complete but is not. FIX: The final checklist completeness audit must return zero unchecked items.
NEVER — Falsify proof to make a checklist item pass. SYMPTOM: Command output is invented, truncated, or from a different run. FIX: Copy output verbatim. If it does not match Expected, fix the code and re-run. Do not edit the output.
NEVER — Squash phases or skip the per-phase commit. SYMPTOM: Cannot bisect which phase introduced a regression. Cannot roll back a single phase. FIX: Commit after every phase. Record the hash in the checklist.
NEVER — Accept a subagent's output without running your own gate. SYMPTOM: Subagent claims all tests pass, but you never verify. A hidden regression leaks into the branch. FIX: After the subagent returns, run at least one gate yourself. Compare its claimed output to your actual output. If they differ, send the subagent back to fix it before marking the phase VALIDATED.
Before declaring the plan DONE, ask yourself:
[x] marks without proof below them?If any answer is NO, the plan is NOT DONE. Go back and fix it.
references/checklist-templates.md — full CHECKLIST.md template, worked example, and Final Report templateplan-create skill — upstream: creates the plan this skill executesplan-review skill — upstream: audits the plan before executionimplementation-planner skill — upstream: decomposes PRDs into phased plans.context/findings/proof-of-work-methodology.md — the 7-step verification
sequence extracted from a real 6-phase implementation.context/plans/<plan-slug>/CHECKLIST.md — the living checklist for this plantools
A skill that produces warnings but no errors.
testing
A well-formed example skill for testing the validator.
development
A skill with code blocks and imperative instructions for testing content and contamination analysis.
tools