Inline Plan Execution
jnMetaCode/superpowers-zh
Executes a written implementation plan task by task in the current session, with a progress ledger, test-first gates and one fresh-context review at the end.
Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.
$ npx skills add obra/superpowers --skill executing-plans -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install obra/superpowers executing-plans --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/obra/superpowers.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/executing-plans .claude/skills/executing-plans && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "executing-plans" agent skill from https://github.com/obra/superpowers/tree/main/skills/executing-plans into .claude/skills/executing-plans/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "executing-plans", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/obra/superpowers/tree/main/skills/executing-plansType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add obra/superpowers --skill executing-plans -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install obra/superpowers executing-plans --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/obra/superpowers.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/executing-plans .agents/skills/executing-plans && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "executing-plans" agent skill from https://github.com/obra/superpowers/tree/main/skills/executing-plans into .agents/skills/executing-plans/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "executing-plans", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add obra/superpowers --skill executing-plans -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install obra/superpowers executing-plans --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/obra/superpowers.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/executing-plans .cursor/skills/executing-plans && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "executing-plans" agent skill from https://github.com/obra/superpowers/tree/main/skills/executing-plans into .cursor/skills/executing-plans/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "executing-plans", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/obra/superpowers.git --path skills/executing-plans--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add obra/superpowers --skill executing-plans -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install obra/superpowers executing-plans --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/obra/superpowers.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/executing-plans .gemini/skills/executing-plans && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "executing-plans" agent skill from https://github.com/obra/superpowers/tree/main/skills/executing-plans into .gemini/skills/executing-plans/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "executing-plans", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install obra/superpowers executing-plansInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add obra/superpowers --skill executing-plans -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/obra/superpowers.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/executing-plans .github/skills/executing-plans && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "executing-plans" agent skill from https://github.com/obra/superpowers/tree/main/skills/executing-plans into .github/skills/executing-plans/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "executing-plans", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add obra/superpowers --skill executing-plans -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install obra/superpowers executing-plans --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/obra/superpowers.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/executing-plans .opencode/skills/executing-plans && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "executing-plans" agent skill from https://github.com/obra/superpowers/tree/main/skills/executing-plans into .opencode/skills/executing-plans/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "executing-plans", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
executing-plansHas the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.
This is the inline alternative to subagent-driven development. The agent executes the plan itself in the current session, with no implementer subagent per task and no reviewer per task, and a single fresh-context review of the whole branch at the end. It gives up a fresh context and a second pair of eyes on every task in exchange for lower cost, and replaces them with the brief as the spec, a ledger as memory, test-driven development as the per-task gate and the final reviewer as the second pair of eyes.
The principle is that the plan already did the thinking: execute it exactly, prove each step with a test watched failing and then passing, and leave a record that survives forgetting. The agent does not pause between tasks to ask whether to continue. Conflicts, ambiguities and plan defects are settled with rulings written in the ledger together with the reason and the cost if wrong, and deviating without one counts as a secret decision. Work stops only for destructive operations, security-sensitive actions, side effects outside the worktree such as a merge or a push to a shared branch, and a plan too broken to follow.
It applies when you have a plan from the writing-plans skill and chose inline execution, or when the harness has no subagent tool, in which case the agent never fabricates a dispatch and runs the plan itself. Tasks should be mostly independent, and task-start and task-done scripts are bundled.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8ca22db. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/, which the agent can run.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Executing Plans Inline loads about 5.1k tokens when it runs. Until then it costs about 47 tokens; SKILL.md has 2,415 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from obra/superpowers at commit 8ca22db, republished under its MIT licence (© obra). 2,415 words, ~5,063 tokens.
.claude/skills/executing-plans/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Execute the plan yourself, task by task, in this session: no implementer subagent per task, no reviewer per task. One fresh-context review of the whole branch at the end.
Why inline: Subagent-driven development pays for a fresh implementer and a fresh reviewer on every task, each re-reading the codebase from zero. Inline execution pays for one context (yours) plus one reviewer at the end. What it gives up is a fresh context per task and a second pair of eyes per task. This skill keeps what those two things bought, by other means: the brief is the spec, the ledger is your memory, TDD is the per-task gate, and the final reviewer is the second pair of eyes.
Core principle: The plan already did the thinking. Execute it exactly, prove each step with a test you watched fail and then pass, and leave a record that survives your own forgetting.
Narration: between tool calls, narrate at most one short line — the ledger and the tool results carry the record.
Continuous execution: Do not pause to check in with your human partner between tasks. They chose inline execution to spend less, not to answer "should I continue?" after every task. Execute all tasks from the plan without stopping.
Rulings, not stalls. Conflicts, ambiguities, plan defects — decide them.
The spec is the binding authority, the plan is its argument, and your
judgment settles what neither answers. Record every decision in the ledger
as Ruling: <what you decided> — <why> — <what it costs if wrong>, and keep
going. Deviating from the plan without a ledgered ruling is a decision made
in secret.
Four things stop you, and only these: an irreversible or destructive operation; a security-sensitive action; a side effect outside this worktree that norms say you ask about first (a merge, a push to a shared branch, a publish); and a plan so broken that every path forward is a guess. For those, stop and ask.
../using-superpowers/references/). Never fabricate a dispatch; run
the plan here.A fully specified plan makes inline execution transcription plus testing: it runs well on a mid-tier session model, and the one place the most capable model earns its cost is the final review, which this skill dispatches separately. Tell your human partner so when they choose inline.
Prefer superpowers:subagent-driven-development when your human partner wants a review gate on every task, or when the plan is long enough that its later tasks would run on a compacted context. Inline execution over a long plan still works — the ledger is what makes it recoverable — but the last tasks get the least of you.
digraph process {
rankdir=TB;
subgraph cluster_per_task {
label="Per Task";
"task-start: brief + BASE; read the brief" [shape=box];
"Work the steps in order: TDD, run every verification, read every output" [shape=box];
"Step output matches plan's Expected?" [shape=diamond];
"Plan wrong? Rule and ledger. Code wrong? systematic-debugging" [shape=box];
"Commit as the plan's commit steps say" [shape=box];
"Completion contract met?" [shape=diamond];
"task-done: run tests, ledger the result; mark todo complete" [shape=box];
}
"Setup: worktree, workspace + ledger, read plan + spec, pre-flight scan" [shape=box];
"More tasks remain?" [shape=diamond];
"Final whole-branch review (fresh reviewer if you have one)" [shape=box];
"Re-grade, then: Critical/Important → ONE fix pass, each fix RED→GREEN + green suite; Minor → ledger" [shape=box];
"Final review clean: delete this plan's workspace" [shape=box];
"Use superpowers:finishing-a-development-branch" [shape=box style=filled fillcolor=lightgreen];
"Setup: worktree, workspace + ledger, read plan + spec, pre-flight scan" -> "task-start: brief + BASE; read the brief";
"task-start: brief + BASE; read the brief" -> "Work the steps in order: TDD, run every verification, read every output";
"Work the steps in order: TDD, run every verification, read every output" -> "Step output matches plan's Expected?";
"Step output matches plan's Expected?" -> "Plan wrong? Rule and ledger. Code wrong? systematic-debugging" [label="no"];
"Plan wrong? Rule and ledger. Code wrong? systematic-debugging" -> "Work the steps in order: TDD, run every verification, read every output";
"Step output matches plan's Expected?" -> "Commit as the plan's commit steps say" [label="yes, last step"];
"Commit as the plan's commit steps say" -> "Completion contract met?";
"Completion contract met?" -> "Work the steps in order: TDD, run every verification, read every output" [label="no - finish the task"];
"Completion contract met?" -> "task-done: run tests, ledger the result; mark todo complete" [label="yes"];
"task-done: run tests, ledger the result; mark todo complete" -> "More tasks remain?";
"More tasks remain?" -> "task-start: brief + BASE; read the brief" [label="yes"];
"More tasks remain?" -> "Final whole-branch review (fresh reviewer if you have one)" [label="no"];
"Final whole-branch review (fresh reviewer if you have one)" -> "Re-grade, then: Critical/Important → ONE fix pass, each fix RED→GREEN + green suite; Minor → ledger";
"Re-grade, then: Critical/Important → ONE fix pass, each fix RED→GREEN + green suite; Minor → ledger" -> "Final review clean: delete this plan's workspace";
"Final review clean: delete this plan's workspace" -> "Use superpowers:finishing-a-development-branch";
}Ensure the work happens in an isolated workspace: use superpowers:using-git-worktrees to create one or verify the existing one. Never start implementation on a main/master branch without your human partner's explicit consent.
Conversation memory does not survive compaction. An inline executor that loses its place re-implements tasks whose commits already exist — the same failure as a controller re-dispatching them, paid for in your own context. Track progress in a ledger file, not only in todos. Harness todos are a live view; the ledger is the record.
The workspace and ledger are shared with superpowers:subagent-driven-development — same directory, same format — so a plan can change executors mid-flight and the new one resumes from the same ledger.
../subagent-driven-development/scripts/sdd-workspace PLAN_FILE — it
prints the plan's git-ignored directory
(<repo-root>/.superpowers/sdd/<plan-basename>/), home to every
artifact for THIS plan: ledger, briefs, review packages. Another plan's
directory is never yours to read or write.<workspace>/progress.md. If its first
line names your plan file, tasks with a Task <N>: complete line are
DONE — do not redo them; resume at the first task without one. Their
commits exist in git even when your context no longer remembers making
them: after compaction, trust the ledger and git log over your own
recollection. A ledger whose first line names a different plan file is
another plan's progress: leave it and start your own, fresh.# SDD ledger — plan: <plan file path>.git clean -fdx will destroy the workspace (it's git-ignored scratch);
if that happens, recover from git log.Read the plan once, note its context and Global Constraints, and create a todo per task. If the plan names a Spec, read that too: the spec is the authority the plan argues from, and conflicts inside the plan resolve against it. A plan with no reachable spec gets a ledger note saying so — rulings made without one are provisional.
REQUIRED SUB-SKILL: load superpowers:test-driven-development now, before Task 1. It governs every step of every task below; a plan whose steps already say "write the failing test first" does not exempt you from reading it.
Before Task 1, scan the plan for conflicts between tasks. The plan's
Interfaces blocks tell you where to look: for every task that consumes
what an earlier task produces, one ledger row — the two tasks, what one
produces against what the other consumes, and what you found. Tasks that
share nothing get no row; a plan whose tasks share nothing gets the single
line Pre-flight: no shared interfaces. Rule on each conflict a row
surfaces with the spec as the binding authority, record the ruling beside
its row, and start Task 1. Each task's own text is checked when you read
its brief, not here.
Everything you print, and every tool result, stays resident in your context for the rest of the session. Redirect long test output to a file in the workspace and read its tail; read a brief, not the whole plan.
scripts/task-start PLAN_FILE N. It prints the brief
path and BASE (the commit the task's range is cut from) in one call.
Read the brief for every task, including ones you remember from setup:
what you remember is a summary, the brief has the exact values,
signatures, and test cases.Every tool call is a turn that re-reads your whole context. Bookkeeping rides along with work — a ledger append in the same call as the commit, never in a call of its own.
The plan's steps are already in RED-GREEN order; follow them in that order under superpowers:test-driven-development, loaded at setup. A test step's code is written first and run first. Watching it fail is a step, not a formality — a test that passes before the implementation exists is a finding about the test.
Every step that runs a command has an Expected: line. Run the command,
read its output, and compare. Three outcomes:
Task <N>: Ruling: <finding> — <what you decided and why>, and
continue. The ruling is carried, not remembered: later tasks that touch
the same interface read it from the ledger.Commit as the plan's commit steps say. A task that spans several commits
is fine; BASE is what the review range is cut from, never HEAD~1.
Before a task's ledger line, all of the following are true, with evidence in this session — not inferred from the diff looking right:
task-done is that run, and
it writes the command and result into the ledger line.Expected: line in the brief was compared against real output.Ruling: line in the ledger.REQUIRED SUB-SKILL: superpowers:verification-before-completion governs the claim. If any item is missing, the task is not complete: finish it.
Run this skill's scripts/task-done PLAN_FILE N BASE -- <test command>
with the test command the brief names for the whole task. It runs the
tests, keeps the full output in the workspace, prints the tail, and — only
if they pass — appends the completion line to the ledger:
Task <N>: complete (commits <base7>..<head7>, tests: <command> → <result>)
A failing run records nothing; the task is not complete. When it records, mark the todo complete and take the next task.
Run ../subagent-driven-development/scripts/review-package PLAN_FILE MERGE_BASE HEAD
(MERGE_BASE = the commit the branch started from, e.g.
git merge-base main HEAD) and review from the file it prints.
With a subagent tool: dispatch the reviewer on the most capable
available model — the whole-branch review is a judgment task — using
superpowers:requesting-code-review's
code-reviewer.md, with the
package path, the plan and spec paths, the plan's Review Focus section
verbatim if it has one (the input classes and failure modes the plan's
tests do not exercise — the reviewer checks each deliberately), and a
pointer to the ledger's Ruling: lines so it can weigh the calls you
made. Specify the model
explicitly; an omitted model inherits the session's, which may not be the
most capable. This is the one fresh context the whole run buys. Do not
skip it, and do not replace it with your own read of the diff.
Without a subagent tool: read code-reviewer.md and perform that review
yourself against the package, as a separate pass after the last task's
ledger line. Write Final review: self-review (no subagent tool) to the
ledger, and say so in your final message: a self-review by the author is
weaker than a fresh reviewer, and your human partner decides whether that
is enough before merge.
Sort the findings before you act on any of them. The reviewer's severity
labels are advice; the gate is yours. Its "Declined to judge" list is
yours too: every line there is a ruling you make and ledger, exactly like
a plan conflict — Final: Ruling: <behavior the reviewer set aside> — <what a reasonable person using this software gets, and why that stands or why it is now a finding> — <cost if wrong>. Re-grade first, by effect: the
spec is a vision document, and a finding's grade is what a reasonable
person using this software gets if it ships, not whether the spec names
the input that triggers it — a reviewer who set a finding at Minor
because the spec was silent has graded the spec, not the effect. Then:
Final: minor (deferred): <one-liner>
and to your final message under "Deferred minors". Minors never enter
the fix pass, and never become rulings — a ruling is a decision about a
conflict, not a note that you declined a polish suggestion.Fix the Critical and Important findings yourself — you are the
implementer here — in ONE pass. Each fix is verified by TDD, not by a
second reviewer: write the test that reproduces the finding, watch it
fail, make it pass, then run the whole suite. Record each in the ledger as
Final: fixed <finding> — <test name> RED→GREEN, suite <N>/<N>. A fix
without a test that failed first is not verified; a suite that is not
green after the pass means the pass is not over. Do not dispatch a
re-review: it would re-read a diff whose covering tests already answer
"addressed" and whose suite run already answers "broke nothing".
A finding you decide not to fix is a ruling — Final: Ruling: <finding> — <why the code stands> — <cost if wrong> — and reaches your human partner
in the rulings list. There is no second fix pass.
Before you delete anything, collect every ledger line containing
Ruling: into your final message under "Rulings I made", in the order you
made them, each with what it costs if wrong, and every minor (deferred)
line under "Deferred minors". Both lists are exhaustive. Your final
message is the only place the decisions you took on your human partner's
behalf — and the findings you chose not to act on — reach them.
When the final review is clean and its fixes are committed, delete this plan's workspace directory — the git history is the record now. Sibling directories belong to other plans; leave them alone.
Use superpowers:finishing-a-development-branch.
| Excuse | Reality |
|---|---|
| "I remember what Task N says" | You remember a summary. The brief has the exact values. Read it. |
| "The plan's code is right, skip watching the test fail" | A test you never saw fail proves nothing. It is one step. Run it. |
| "I'll run the full suite at the end instead of per step" | Per-step runs are how you learn which step broke it. The end-of-task run is the contract, not a substitute. |
| "The plan is wrong here, I'll just do the right thing" | Do the right thing and ledger the ruling. Unledgered deviation is a decision made in secret. |
| "I'll write the ledger lines after a few tasks" | Compaction does not wait for a convenient moment. One line per task, in the same message as the commit. |
| "Let me check in before the next task" | They chose inline to spend less. Progress prompts spend their time instead. Only the four stops stop you. |
| "I read my own diff carefully; the final reviewer is redundant" | Same author, same blind spots. The reviewer is the only fresh context this run buys. |
| "Tests should pass, the change was trivial" | "Should" is not evidence. The contract requires the command and its output. |
| "Subagents are slow and expensive, I'll skip the final review too" | Inline already removed the per-task reviewers. One review of the whole branch is the floor, not the ceiling. |
| "The reviewer said Minor, so it's Minor" | The label graded the spec's silence. Grade what the person gets. Re-grade, then gate. |
| "The fix is obvious, no need for a failing test first" | The failing test is the only proof the finding was real and is now gone. Without it you have a diff and a hope. |
| "I'll fix the minors too while I'm in there" | Every minor you fix is a test, a fix, and a suite run your partner did not ask for. Ledger them; your partner decides. |
You: I'm using the executing-plans skill to implement this plan inline.
[Setup: worktree verified]
[Read plan once: docs/superpowers/plans/feature-plan.md; spec read]
[Resolve workspace: sdd-workspace docs/superpowers/plans/feature-plan.md — no ledger inside, fresh start]
[Pre-flight scan: 2 shared-interface rows, 4 self-consistency rows, clean; written to ledger]
[Create todos for all tasks]
Task 1: Hook installation script
[task-start plan 1 → brief read; BASE a1b2c3d]
[Step 1: write failing test — written]
[Step 2: run it — FAIL: install_hook not defined. Matches Expected.]
[Step 3: implement — written]
[Step 4: run it — PASS 1/1. Matches Expected.]
[Step 5: commit — d4e5f6a]
[Contract: tests ran, output read, no deviations]
[task-done plan 1 a1b2c3d -- npm test -- hooks → ledger: Task 1: complete (commits a1b2c3d..d4e5f6a, tests: npm test -- hooks → 1/1 pass)]
Task 2: Recovery modes
[task-start plan 2 → brief read; BASE d4e5f6a]
[Step 2: run failing test — FAIL, but on an import error: Task 1 exported
installHook, brief consumes install_hook]
[Ruling: brief's consumer name is a typo against Task 1's Produces block;
use installHook — Ledger: Task 2: Ruling: install_hook → installHook — matches Task 1 Produces — cost if wrong: one rename]
[Steps 2-5 as planned; commit b7c8d9e]
[task-done plan 2 d4e5f6a -- npm test -- recovery → ledger: Task 2: complete (commits d4e5f6a..b7c8d9e, tests: npm test -- recovery → 8/8 pass)]
...
[After all tasks: review-package plan MERGE_BASE HEAD; dispatch code-reviewer, most capable model]
Reviewer: One Important finding — progress reporting interval hardcoded. Two Minor.
[Re-grade: Important stands; minors → ledger as deferred]
[Fix pass: test_progress_interval_configurable RED → extract PROGRESS_INTERVAL → GREEN; suite 12/12; commit]
[Ledger: Final: fixed hardcoded interval — test_progress_interval_configurable RED→GREEN, suite 12/12]
Rulings I made:
- Task 2: install_hook → installHook (brief typo; cost if wrong: one rename)
Deferred minors:
- README lacks a usage example
- recovery.js could split verify/repair into two files
[Delete this plan's workspace — the record now lives in git]
Using superpowers:finishing-a-development-branch.© obra, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (scripts) in skills/executing-plans of obra/superpowers.
Open the folder on GitHubat commit 8ca22db
We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in obra/superpowers, which our catalogue first saw on October 7, 2026.
Executing Plans Inline next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Executing Plans Inline this skillobra/superpowers | 296k | 2 repos | ~5.1k | Automated safety check: Pass | MIT | |
| Inline Plan ExecutionjnMetaCode/superpowers-zh | 8.3k | — | ~2.5k | Automated safety check: Pass | MIT | |
| Deep Planpiercelamb/deep-plan | 101 | — | ~4.8k | Automated safety check: Pass | MIT | |
| Plan Py4vaspvasp-dev/py4vasp | 100 | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Test-First Implementation Plangittower/git-flow-next | 458 | — | ~1.3k | Automated safety check: Notes | Custom licence | |
| Vibe ImplementidiotLeoLYJ/Daliu-Awesome-Skills | 139 | — | ~2.7k | Automated safety check: Pass | None |
jnMetaCode/superpowers-zh
Executes a written implementation plan task by task in the current session, with a progress ledger, test-first gates and one fresh-context review at the end.
piercelamb/deep-plan
Creates detailed, sectionized, TDD-oriented implementation plans through research, stakeholder interviews, and multi-LLM review.
vasp-dev/py4vasp
Plan a py4vasp change as an ordered list of test-first chunks — that chunk list is the plan.
gittower/git-flow-next
Builds a two-phase implementation plan from a spec issue, analysis or concept, writing a detailed test plan first and the implementation outline second.
idiotLeoLYJ/Daliu-Awesome-Skills
Vibe Coding 流水线的实现阶段(流水线终点,顺序 idea → interaction → architecture → design → prototype → implement)。当 interaction.md、architecture.md、design.md、prototypes/ 已就绪,用户说"开始实现""写代码""把设计落地""进入开发""implement /…
Peiiii/nextclaw
A skill your agent uses when the user wants a disciplined software development workflow with design-first planning, implementation plans, TDD, systematic debugging, code review, or…
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
obra/superpowers
Investigates a session where Superpowers went wrong, reads the transcripts on disk and produces an evidence-cited report, optionally prepared as a bug report for the maintainers.
Categories
Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review. This is the inline alternative to subagent-driven development. The agent executes the plan itself in the current session, with no implementer subagent per task and no reviewer per task, and a single fresh-context review of the whole branch at the end.
Executing Plans Inline fits situations like: executing a written plan yourself in the current session; running a plan in an environment with no subagent tool; keeping cost down when per-task reviewers are not worth it.
Run `npx skills add obra/superpowers --skill executing-plans -a claude-code`. Or copy the skill folder (skills/executing-plans in obra/superpowers) into .claude/skills/executing-plans in your project. Claude Code loads it when a task matches its description.
Run `npx skills add obra/superpowers --skill executing-plans -a codex`. Or copy the skill folder (skills/executing-plans in obra/superpowers) into .agents/skills/executing-plans in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add obra/superpowers --skill executing-plans -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/executing-plans, .gemini/skills/executing-plans, .github/skills/executing-plans and .opencode/skills/executing-plans in your project.
Going by SKILL.md and its folder, Executing Plans Inline needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Executing Plans Inline is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.1k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Executing Plans Inline: Inline Plan Execution (jnMetaCode/superpowers-zh, 8.3k stars), Deep Plan (piercelamb/deep-plan, 101 stars), Plan Py4vasp (vasp-dev/py4vasp, 100 stars) and Test-First Implementation Plan (gittower/git-flow-next, 458 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
obra (a GitHub user) maintains it in obra/superpowers, which has 296,058 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 6, 2026.
Source: obra/superpowers on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.