Skill review

The writing-plans skill, reviewed

From obra/superpowers. Kin scored it 81/100 and says: install it. Number 4 of 30 reviewed skills.

Reviewed on November 7, 2026. The skill may have changed since: read it on GitHub.

Kin, the Briefkin mascotA small dark card with two round eyes, brows, a mouth and an amber dot on its corner.

obra/superpowers · skills/writing-plans/SKILL.md

A
81/100Very good
Install it

writing-plans

“Turns a spec into a tight TDD plan of exact files, signatures and tests. Best with the rest of Superpowers.”

Post on X

What it does

Before any code, it turns a spec into a saved implementation plan of small TDD tasks. Each task gives exact files, interfaces, tests and commands. It self-reviews against the spec, then asks you to review and pick how to run it.

When the agent uses it
When you have a spec or requirements for a multi-step task and haven't touched code yet.
Who it is for
For anyone using Superpowers or plan-then-execute workflows. Skip it if you want quick one-shot edits or don't use its sibling execution skills.
What it costs
139 lines, about 2.8k tokens once the agent loads it.
The description the agent sees

Use when you have a spec or requirements for a multi-step task, before touching code

What it tells the agent to do

  1. Announce the skill and check scope. Suggest one plan per subsystem if the spec spans several.
  2. Map which files will be created or modified and what each is responsible for.
  3. Start the plan with the required header: goal, architecture, stack, spec path, global constraints, review focus.
  4. Write right-sized tasks with exact files and interfaces, each as failing test, run, implement, run, commit.
  5. Self-review for spec coverage, vague or bloated steps, type consistency, review focus and length. Fix inline.
  6. Save to docs/superpowers/plans/, ask the human to review it and to choose subagent-driven or native execution.
  7. Hand off to subagent-driven-development or executing-plans to match their choice.

Lines worth reading

Straight from the file, with why each one matters.

  1. line 3Use when you have a spec or requirements for a multi-step task, before touching code

    Says when to use it, but never says that it writes a plan. The name has to carry that.

  2. line 143That is the whole requirement: unambiguous, not complete.

    The core rule. Pin down the decisions, leave the bodies to the implementer. It keeps plans from becoming code dumps.

  3. line 171A function called `clearLayers()` in Task 3 but `clearFullLayers()` in Task 7 is a bug.

    A concrete example of the naming drift that bites long multi-task plans. Easy to check, often missed.

  4. line 192Runs well with a mid-tier session model, since the plan carries the design.

    Frank about cost: spend the smart model on planning and review, run a cheaper one for the typing.

  5. line 14it should have been created via the `superpowers:using-git-worktrees` skill at execution time.

    An odd line for a planning step. It points to a worktree made at execution time, which comes after planning.

Watch out for

Nothing risky that Kin could see in SKILL.md. Scripts beside it were not read.

The scorecard

  • TriggerSays when to use it
    6/10

    Clear 'when', but the description never says it writes an implementation plan.

  • FocusOne clear job
    9/10

    One job: turn a spec into an executable plan.

  • LeanLight to load
    8/10

    About 200 lines, mostly directive. Some explaining could be trimmed.

  • ConcreteSteps you can follow
    9/10

    Full header and task templates, step rules, a five-point self-review.

  • SafeSafe to run
    9/10

    Writes a doc and waits for human review. Commits are only in the plan for later.

What it does well

  • Interfaces blocks give each isolated implementer the exact names and types neighbouring tasks use.
  • The proportion check catches plans that are really transcripts of the program.
  • The Review Focus section makes the planner name untested failure modes and add a test for each.

How it could be better

  1. Say what it does in the description

    The agent sees only the description. Leading with the output makes it easier to match requests like 'plan this feature'.

    Add
    description: Writes a step-by-step TDD implementation plan (files, interfaces, tests, commits) from a spec or requirements. Use when you have a spec for a multi-step task, before touching code.
  2. Add a fallback when sibling skills are missing

    The header and handoff require superpowers sub-skills that may not be installed alone.

    Add
    If superpowers:subagent-driven-development or superpowers:executing-plans is not available, tell the user and execute the plan task by task in this session, checking off each step.
  3. Make the test commands language-neutral

    The template hardcodes pytest. Plans for other stacks may copy it by mistake.

    Add
    Use the project's own test runner in every Run step (e.g. `<test command> <test file>::<test name>`), not pytest unless the project uses it.
  4. Clarify the worktree line

    It mentions execution time inside a planning skill, which leaves unclear what the planner should do now.

    Add
    **Context:** Planning does not need a worktree. If the user wants isolated execution, note in the plan that it should run in a worktree made with superpowers:using-git-worktrees.

Kin reviews against Anthropic’s Extend Claude with skills and agentskills.io’s the Agent Skills standard. It reads SKILL.md only, so a script beside it can still do things the file does not say.

Thinking of installing another skill?

Link it or paste its SKILL.md and Kin reviews it the same way. Free, no sign-up.

Review a skill

More reviewed skills

Skills run while you look away.

Briefkin shows every Claude Code, Codex and Cursor session on one board: working, waiting on you, done. Answer them from your phone. Free in the open beta.

Make your board