Use when you have a spec or requirements for a multi-step task, before touching code.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Writing Plans
## Overview
Write comprehensive implementation plans assuming the engineer has zero context for our codebase and questionable taste. Document everything they need to know: which files to touch for each task, code, testing, docs they might need to check, how to test it. Give them the whole plan as bite-sized tasks. DRY. YAGNI. TDD. Frequent commits.
Assume they are a skilled developer, but know almost nothing about our toolset or problem domain. Assume they don't know good test design very well.
**Announce at start:** "I'm using the writing-plans skill to create the implementation plan."
**Context:** If working in an isolated worktree, it should have been created via the `superpowers-uml:using-git-worktrees` skill at execution time.
**Input:** The spec is the UML design model in Astah Pro (`docs/superpowers/specs/YYYY-MM-DD-<topic>-design.asta`). Read it with the Astah Pro MCP tools before writing the plan — the model elements and diagrams are the requirements you are decomposing into tasks.
**Save plans to:** `docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md`
- (User preferences for plan location override this default)
## Scope Check
…
The line at the top of this page pins the label git:20260804.eab20be, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
GET https://markdownregistry.com/api/v1/artifacts/art_bv45a2vlfwekc7sm
GET https://markdownregistry.com/api/v1/resolve?ref=takaakit/superpowers-uml/writing-plans
GET https://markdownregistry.com/api/v1/blob/f487e40ce98ed8d463811408aeff404de8691490f154392ba847030c0e29a6da
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
takaakit/superpowers-uml · plugins/superpowers-uml/skills/brainstorming/SKILL.md · You MUST use this before any creative work - creating features, building components, adding functionality, or modifying…
takaakit/superpowers-uml · plugins/superpowers-uml/skills/dispatching-parallel-agents/SKILL.md · Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
takaakit/superpowers-uml · plugins/superpowers-uml/skills/executing-plans/SKILL.md · Use when you have a written implementation plan to execute in a separate session with review checkpoints
takaakit/superpowers-uml · plugins/superpowers-uml/skills/finishing-a-development-branch/SKILL.md · Use when implementation is complete, all tests pass, and you need to decide how to integrate the work
takaakit/superpowers-uml · plugins/superpowers-uml/skills/receiving-code-review/SKILL.md · Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or…
takaakit/superpowers-uml · plugins/superpowers-uml/skills/requesting-code-review/SKILL.md · Use when completing tasks, implementing major features, or before merging to verify work meets requirements
takaakit/superpowers-uml · plugins/superpowers-uml/skills/subagent-driven-development/SKILL.md · Use when executing implementation plans with independent tasks in the current session
takaakit/superpowers-uml · plugins/superpowers-uml/skills/systematic-debugging/SKILL.md · Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
takaakit/superpowers-uml · plugins/superpowers-uml/skills/test-driven-development/SKILL.md · Use when implementing any feature or bugfix, before writing implementation code
takaakit/superpowers-uml · plugins/superpowers-uml/skills/using-git-worktrees/SKILL.md · Use when starting feature work that needs isolation from current workspace or before executing implementation plans -…
takaakit/superpowers-uml · plugins/superpowers-uml/skills/using-superpowers/SKILL.md · Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY…
takaakit/superpowers-uml · plugins/superpowers-uml/skills/verification-before-completion/SKILL.md · Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running…
a5c-ai/babysitter · library/methodologies/superpowers/skills/writing-plans/SKILL.md · Use when you have a spec or requirements for a multi-step task, before touching code. Creates bite-sized TDD…
ganyuanran/aegis · skills/writing-plans/SKILL.md · Use when you have an approved spec or written requirements for a multi-step task that needs a durable plan document…
optima-cityu/llm4ad_next · docker/knowledge-parser/skills/writing-plans/SKILL.md · Use before a multi-step document restructuring task to map the source, preserve important relationships, and decide…
xu123-bob/baize · agent/skills/superpowers/5.1.0/skills/writing-plans/SKILL.md · Use when you have a spec or requirements for a multi-step task, before touching code