Executing Plans
Overview
Plan in context, execute all tasks sequentially, report when complete. This is the
no-subagents path: it builds the plan itself (no separate planning step) and runs the tasks in
the same session. A persisted plan file is an optional input — used only when a plan was
handed off from a separate session.
Announce at start: "I'm using the executing-plans skill to implement this plan."
Note: Tell your human partner that Quirk works much better with access to subagents. The quality of its work will be significantly higher if run on a platform with subagent support (such as Claude Code or Codex). If subagents are available, use quirk:subagent-driven-development instead of this skill.
The Process
Step 0: Author the tech spec (only when complexity warrants)
Step 0 is the first half of the stage that authors a tech spec when warranted, then plans in context.
- Apply the complexity-tier gate. Author a tech spec if any hold: execution spans more than one
session, crosses a subsystem boundary, touches ≳3 source files, or your human partner asked
for one at logic-spec approval. Otherwise skip — plan from the logic spec instead, and
continue to Step 1.
- Record the ruling. Log which criterion fired, or "skipped — none met," in this run (and in
logic.md Status when a tech spec is authored).
- If the gate is met:
- Idempotency: if a reviewed
tech.md already exists as the sibling of the actual
logic.md (wherever it was saved — by default docs/quirk/specs/YYYY-MM-DD-<topic>/tech.md
next to docs/quirk/specs/YYYY-MM-DD-<topic>/logic.md, handed off from another session),
load it — do not re-author — unless it's absent or your human partner requests a rewrite.
- Otherwise, invoke quirk:writing-specs (its
tech-spec.md rubric) to author tech.md next to the logic spec, in
the same directory the logic spec was actually saved to (the path above is the default
example, not a hard-coded location).
- On this no-subagent path, perform the tech-spec rubric's deep-dive codebase survey in-session,
directly — parallel
Explore subagents aren't required here.
- Dispatch its reviewer and apply fixes inline.
- Offer your human partner an optional skim (not a gate) surfacing the tech spec's most
consequential calls — anchored subsystem/files, major DO-NOT-CHANGE fences, riskiest
contracts.
- If a conflict with a
logic.md Decisions-Locked entry surfaces, STOP and escalate
(feasibility escalation) — record the resolution as a dated logic.md Amendments entry
before continuing.
- If the gate is not met: note "no tech spec — plan from the logic spec" and continue to
Step 1.
Step 1: Build (or load) the plan, then review
- Build the plan in context via quirk:writing-plans — built from
tech.md when Step 0
authored one, else from the logic spec / requirements; the task breakdown goes into this
conversation + a TodoWrite list, no file by default. (If a persisted plan file was handed off
from another session, read it once to seed the in-context plan + TodoWrite instead.)
- Complexity-tier upgrade re-check: once writing-plans' File Structure pass reveals the real
scope, re-check the complexity-tier gate — if a previously-skipped run now clears it, return
to Step 0, author
tech.md, and re-plan the affected tasks.
- Agent review (default): dispatch the plan-document reviewer
(
../writing-plans/plan-document-reviewer-prompt.md) on the in-context plan; apply its fixes
inline. No human approval gate.
- Only stop for your human partner if the reviewer surfaces a genuine ambiguity you cannot
resolve (otherwise proceed straight to execution).
Step 2: Execute Tasks
For each task:
- Mark as in_progress
- Follow each step exactly — steps specify behavior (acceptance criteria + contract), not pasted code; you write the implementation. If a contract is ambiguous, ask before guessing.
- Run verifications as specified
- Mark as completed
Step 3: Complete Development
After all tasks complete and verified:
- Announce: "I'm using the finishing-a-development-branch skill to complete this work."
- REQUIRED SUB-SKILL: Use quirk:finishing-a-development-branch
- Follow that skill to verify tests, present options, execute choice
When to Stop and Ask for Help
STOP executing immediately when:
- Hit a blocker (missing dependency, test fails, instruction unclear)
- Plan has critical gaps preventing starting
- Plan conflicts with a
logic.md Decisions-Locked entry — record the resolution as a dated
entry in the logic spec's Amendments log before continuing, never a silent plan edit
- You don't understand an instruction
- Verification fails repeatedly
Ask for clarification rather than guessing.
When to Revisit Earlier Steps
Return to Review (Step 1) when:
- Partner updates the plan based on your feedback
- Fundamental approach needs rethinking
Don't force through blockers - stop and ask.
Remember
- Review plan critically first
- Follow plan steps exactly — satisfy each step's acceptance criteria and contract; don't treat behavioral steps as literal scripts
- Don't skip verifications
- Reference skills when plan says to
- Stop when blocked, don't guess
- Never start implementation on main/master branch without explicit user consent
Integration
Required workflow skills:
- quirk:using-git-worktrees - REQUIRED: Set up isolated workspace before starting
- quirk:writing-specs (
tech-spec.md) - Optional pre-plan rubric this skill runs in context as Step 0, when the complexity-tier gate is met
- quirk:writing-plans - The planning rubric this skill runs in context as Step 1 (file optional)
- quirk:finishing-a-development-branch - Complete development after all tasks
1---2name: executing-plans3description: Use to implement a multi-step task sequentially in one session when subagents aren't available — plans in context, then executes4---56# Executing Plans78## Overview910Plan in context, execute all tasks sequentially, report when complete. This is the11no-subagents path: it builds the plan itself (no separate planning step) and runs the tasks in12the same session. A persisted plan file is an **optional input** — used only when a plan was13handed off from a *separate session*.1415**Announce at start:** "I'm using the executing-plans skill to implement this plan."1617**Note:** Tell your human partner that Quirk works much better with access to subagents. The quality of its work will be significantly higher if run on a platform with subagent support (such as Claude Code or Codex). If subagents are available, use quirk:subagent-driven-development instead of this skill.1819## The Process2021### Step 0: Author the tech spec (only when complexity warrants)2223Step 0 is the first half of the stage that authors a tech spec when warranted, then plans in context.24251. **Apply the complexity-tier gate.** Author a tech spec if any hold: execution spans more than one26 session, crosses a subsystem boundary, touches ≳3 source files, or your human partner asked27 for one at logic-spec approval. Otherwise skip — plan from the logic spec instead, and28 continue to Step 1.292. **Record the ruling.** Log which criterion fired, or "skipped — none met," in this run (and in30 `logic.md` Status when a tech spec is authored).313. **If the gate is met:**32 - **Idempotency:** if a reviewed `tech.md` already exists as the sibling of the actual33 `logic.md` (wherever it was saved — by default `docs/quirk/specs/YYYY-MM-DD-<topic>/tech.md`34 next to `docs/quirk/specs/YYYY-MM-DD-<topic>/logic.md`, handed off from another session),35 load it — do not re-author — unless it's absent or your human partner requests a rewrite.36 - Otherwise, invoke **quirk:writing-specs** (its `tech-spec.md` rubric) to author `tech.md` next to the logic spec, in37 the same directory the logic spec was actually saved to (the path above is the default38 example, not a hard-coded location).39 - On this no-subagent path, perform the tech-spec rubric's deep-dive codebase survey in-session,40 directly — parallel `Explore` subagents aren't required here.41 - Dispatch its reviewer and apply fixes inline.42 - Offer your human partner an optional skim (not a gate) surfacing the tech spec's most43 consequential calls — anchored subsystem/files, major DO-NOT-CHANGE fences, riskiest44 contracts.45 - If a conflict with a `logic.md` Decisions-Locked entry surfaces, **STOP** and escalate46 (feasibility escalation) — record the resolution as a dated `logic.md` Amendments entry47 before continuing.484. **If the gate is not met:** note "no tech spec — plan from the logic spec" and continue to49 Step 1.5051### Step 1: Build (or load) the plan, then review521. **Build the plan in context** via **quirk:writing-plans** — built from `tech.md` when Step 053 authored one, else from the logic spec / requirements; the task breakdown goes into this54 conversation + a TodoWrite list, no file by default. *(If a persisted plan file was handed off55 from another session, read it once to seed the in-context plan + TodoWrite instead.)*56 - **Complexity-tier upgrade re-check:** once writing-plans' File Structure pass reveals the real57 scope, re-check the complexity-tier gate — if a previously-skipped run now clears it, return58 to Step 0, author `tech.md`, and re-plan the affected tasks.592. **Agent review (default):** dispatch the plan-document reviewer60 (`../writing-plans/plan-document-reviewer-prompt.md`) on the in-context plan; apply its fixes61 inline. No human approval gate.623. Only stop for your human partner if the reviewer surfaces a genuine ambiguity you cannot63 resolve (otherwise proceed straight to execution).6465### Step 2: Execute Tasks6667For each task:681. Mark as in_progress692. Follow each step exactly — steps specify behavior (acceptance criteria + contract), not pasted code; you write the implementation. If a contract is ambiguous, ask before guessing.703. Run verifications as specified714. Mark as completed7273### Step 3: Complete Development7475After all tasks complete and verified:76- Announce: "I'm using the finishing-a-development-branch skill to complete this work."77- **REQUIRED SUB-SKILL:** Use quirk:finishing-a-development-branch78- Follow that skill to verify tests, present options, execute choice7980## When to Stop and Ask for Help8182**STOP executing immediately when:**83- Hit a blocker (missing dependency, test fails, instruction unclear)84- Plan has critical gaps preventing starting85- Plan conflicts with a `logic.md` Decisions-Locked entry — record the resolution as a dated86 entry in the logic spec's Amendments log before continuing, never a silent plan edit87- You don't understand an instruction88- Verification fails repeatedly8990**Ask for clarification rather than guessing.**9192## When to Revisit Earlier Steps9394**Return to Review (Step 1) when:**95- Partner updates the plan based on your feedback96- Fundamental approach needs rethinking9798**Don't force through blockers** - stop and ask.99100## Remember101- Review plan critically first102- Follow plan steps exactly — satisfy each step's acceptance criteria and contract; don't treat behavioral steps as literal scripts103- Don't skip verifications104- Reference skills when plan says to105- Stop when blocked, don't guess106- Never start implementation on main/master branch without explicit user consent107108## Integration109110**Required workflow skills:**111- **quirk:using-git-worktrees** - REQUIRED: Set up isolated workspace before starting112- **quirk:writing-specs** (`tech-spec.md`) - Optional pre-plan rubric this skill runs in context as Step 0, when the complexity-tier gate is met113- **quirk:writing-plans** - The planning rubric this skill runs in context as Step 1 (file optional)114- **quirk:finishing-a-development-branch** - Complete development after all tasks