Best for
- Use when you have a spec, requirements, or feature request that needs decomposition into concrete steps before implementation.
johnqtcg/awesome-skills/skills/writing-plans/SKILL.md
Create implementation plans for multi-step tasks. Use when you have a spec, requirements, or feature request that needs decomposition into concrete steps before implementation. Covers feature, bugfix, refactor, migration, API change, and docs-only plans. NOT for single-file edits, trivial fixes, or tasks completable in under 5 minutes.
Decision brief
Write implementation plans that a developer with zero codebase context can follow. Plans must be evidence-backed (paths verified), mode-appropriate (not over-engineered), and executable (every step has a verification command). Before planning, verify that the user's requirements…
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/johnqtcg/awesome-skills --skill "skills/writing-plans"Inspect the Agent Skill "writing-plans" from https://github.com/johnqtcg/awesome-skills/blob/d63cf368c1b106871b56454bd73c293701bef500/skills/writing-plans/SKILL.md at commit d63cf368c1b106871b56454bd73c293701bef500. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Goal: [One sentence] Mode: Lite | Standard | Deep Architecture: [2-3 sentences] Tech Stack: [Key technologies] Repo Discovery: [Verified project conventions, test framework, CI setup]
After finishing the plan document, run these two gates in sequence. Both are required for Standard and Deep mode. They are complementary, not substitutable: the Self-Check catches format violations; the Reviewer Loop catches logic problems that only emerge when you read the plan…
Self-evaluate for structural correctness. Fix any Critical failures before moving to Step 2.
Lite mode: Skip — go directly to Execution Handoff.
Proceed only after both gates pass. Offer the user execution options per the Execution Handoff template in the Output Contract section above.
Permission review
The documentation asks the agent to read local files, directories, or repositories.
Load `references/repo-discovery-protocol.md` for the full discovery checklist.The documentation asks the agent to create, modify, or delete local files.
Update plan file if impact is non-trivialThe documentation asks the agent to create, modify, or delete local files.
*Standard and Deep mode**: The Reviewer Loop is **MANDATORY regardless of Step 1 result**. A plan that passes the Scorecard is well-formatted; it is not necessarily logically sound. The Reviewer catches what the Scorecard cannot: task depenEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 95/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 30 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Write implementation plans that a developer with zero codebase context can follow. Plans must be evidence-backed (paths verified), mode-appropriate (not over-engineered), and executable (every step has a verification command). Before planning, verify that the user's requirements are clear enough to plan against.
Announce at start: "I'm using the writing-plans skill to create the implementation plan."
Before classifying complexity, verify the request is plannable. A vague request produces a plan built on assumptions.
Fast pass-through: If the request names specific files, describes concrete behavior changes, and has clear scope boundaries, proceed directly to Gate 2. Do not ask clarifying questions for obviously clear requests.
STOP and ASK if any of these apply:
| Trigger | What's Missing | Example |
|---|---|---|
| Vague action verb with no measurable outcome | Success criteria | "optimize the auth module" |
| No scope boundary stated | What's in/out of scope | "refactor the codebase" |
| Ambiguous target when multiple exist | Which component | "update the API" (when 5 APIs exist) |
| Change type unclear (behavior vs performance vs structure) | Intent | "improve error handling" |
| Backward compatibility unstated for public interface changes | Constraint | "change the response format" |
Clarification protocol:
[Assumption] in the plan headerExit condition: Requirements are "clear enough" when you can write a one-sentence Goal and a scope boundary (what changes, what does NOT change) without inventing information the user did not provide.
Load references/requirements-clarity-gate.md for the full dimension checklist, mode-appropriate depth rules, and clarification examples.
Before writing any plan, classify the task:
| Complexity Signal | Decision |
|---|---|
| Single file, <30 lines changed, no cross-module deps | SKIP — execute directly, no plan needed |
| Docs/config/README only, no logic changes | SKIP or Lite checklist |
| Single module feature, clear scope, <200 lines | Lite mode |
| Multi-file feature, tests + impl, 200-800 lines | Standard mode |
| Cross-module, migration, architecture change, >800 lines | Deep mode |
If SKIP: tell the user "This task doesn't need a formal plan. Proceeding directly." If unclear: default to Lite, upgrade during execution if complexity emerges.
Load references/applicability-gate.md for edge cases and language-specific signals.
Before writing ANY file path into the plan:
references/repo-discovery-protocol.md):
[Existing] — verified via Glob/Read[New] — will be created, parent dir verified[Inferred] — based on project convention, not directly verified[Speculative] — degraded mode only, no verification possibleLoad references/repo-discovery-protocol.md for the full discovery checklist.
If repo is not accessible: see Degraded Mode below.
| Change Size | Risk | Action |
|---|---|---|
| ≤200 lines | Low | Standard flow |
| 201-800 lines | Medium | Include rollback notes per phase |
| >800 lines | High | Dependency graph required, phased rollout, validation checkpoints |
High-risk areas requiring explicit rollback strategy:
| Mode | What to Include | What NOT to Include |
|---|---|---|
| Lite | Step descriptions + verification commands | Any code blocks |
| Standard | [interface] signatures, [test-assertion] key assertions, [command] CLI commands | Complete function implementations |
| Deep | Same as Standard + data flow sketches, migration SQL, sequence outlines | Complete implementations, hardcoded config values |
[interface] — function signature, struct definition, type contract[test-assertion] — expected behavior check, not implementation[command] — exact CLI command to run[speculative] — best guess, needs verification during execution# [Feature Name] Implementation Plan
**Goal:** [One sentence]
**Mode:** Lite | Standard | Deep
**Architecture:** [2-3 sentences]
**Tech Stack:** [Key technologies]
**Repo Discovery:** [Verified project conventions, test framework, CI setup]
---
Task 2 [depends: 1] [blocks: 4, 5]
Task 3 [depends: 1] [blocks: 5]
Tasks 2, 3 are parallelizable.
Each task has:
[Existing] / [New] / [Inferred] / [Speculative] labels- [ ] checkbox syntaxPlan saved to `<path>`. Execution options:
1. **Subagent-Driven (this session)** — fresh subagent per task, review between tasks
2. **Parallel Session** — open new session, batch execution with checkpoints
Which approach?
If companion skills (subagent-driven-development, executing-plans) are unavailable:
provide inline execution guidance without external skill dependency.
plan_dir setting → use itdocs/plans/ exists in project → use itplan-YYYY-MM-DD-<name>.mdFilename: YYYY-MM-DD-<feature-name>.md
Load references/anti-examples.md for the full list. Key suppressions:
src/auth/handler.go:45-67 without reading the fileDuring execution, when reality diverges from plan:
[Deviation] Task N Step M: planned X → actual Y (reason: Z)Load references/plan-update-protocol.md for the full protocol.
If repo is not accessible or discovery cannot run:
[Speculative][speculative] interface sketches onlyAfter finishing the plan document, run these two gates in sequence. Both are required for Standard and Deep mode. They are complementary, not substitutable: the Self-Check catches format violations; the Reviewer Loop catches logic problems that only emerge when you read the plan as a skeptic who never saw the codebase.
Step 1 → Self-Check (Format Gate) — always run, fixes structural errors
Step 2 → Reviewer Loop (Substance Gate) — mandatory for Standard/Deep, skip for Lite
Step 3 → Execution Handoff
Self-evaluate for structural correctness. Fix any Critical failures before moving to Step 2.
Critical (ALL must pass)
| # | Check |
|---|---|
| C1 | Applicability Gate ran and mode declared |
| C2 | Every file path labeled [Existing]/[New]/[Inferred]/[Speculative] |
| C3 | No complete implementation code in Standard/Deep mode |
| C4 | Every task has ≥1 runnable verification command |
| C5 | Requirements clarity confirmed (or assumptions explicitly marked [Assumption]) |
Standard (≥4/6 must pass)
| # | Check |
|---|---|
| S1 | Repo discovery ran (or Degraded mode declared) |
| S2 | Risk classification assigned; rollback included for Medium/High |
| S3 | Tasks are single-responsibility (one concern per task) |
| S4 | Independent tasks identified and not forced sequential |
| S5 | Test/verification steps precede commit steps |
| S6 | Plan follows Output Contract structure |
Hygiene (≥3/4 must pass)
| # | Check |
|---|---|
| H1 | Plan saved to correct location (project convention or fallback) |
| H2 | Execution handoff offered |
| H3 | No hardcoded environment assumptions without fallback |
| H4 | Mode-appropriate depth (Lite not over-engineered, Deep not too thin) |
Format Gate PASS: All Critical pass AND ≥4/6 Standard AND ≥3/4 Hygiene
Lite mode: Skip — go directly to Execution Handoff.
Standard and Deep mode: The Reviewer Loop is MANDATORY regardless of Step 1 result. A plan that passes the Scorecard is well-formatted; it is not necessarily logically sound. The Reviewer catches what the Scorecard cannot: task dependencies that contradict the stated order, parallel tasks that write to the same file, verification commands that run but don't test the claimed behavior, and scope that silently exceeds the stated goal.
Load references/reviewer-checklist.md and apply every item. Two execution paths:
Rounds:
If blocking issues are found: fix them, re-run Step 1 on the changed sections, then proceed to Step 3.
Proceed only after both gates pass. Offer the user execution options per the Execution Handoff template in the Output Contract section above.
| Scenario | Load |
|---|---|
| Unsure whether requirements are clear enough | references/requirements-clarity-gate.md |
| Unsure whether to write a plan | references/applicability-gate.md |
| Starting a plan (always) | references/repo-discovery-protocol.md |
| Choosing plan shape | references/plan-templates/<scenario>.md |
| Self-checking quality | scorecard in Step 1 above |
| Reviewer evaluating plan | references/reviewer-checklist.md |
| Execution diverges from plan | references/plan-update-protocol.md |
| Need examples of good/bad plans | references/golden-scenarios.md |
| Checking common mistakes | references/anti-examples.md |
This skill does not depend on specific companion skills or worktree setup.
It recommends subagent-driven-development and executing-plans when available,
but provides self-contained guidance when they are not.
Worktree isolation is recommended but not required.
Frequently asked questions
Write implementation plans that a developer with zero codebase context can follow. Plans must be evidence-backed (paths verified), mode-appropriate (not over-engineered), and executable (every step has a verification command). Before planning, verify that the user's requirements…
The source record exposes this install command: npx skills add https://github.com/johnqtcg/awesome-skills --skill "skills/writing-plans". Inspect the command and pinned source before running it.
Static rules flagged read-files, write-files in the source; the page lists the matching lines and excerpts.
Alternatives
GanyuanRan/Aegis
Use when you have an approved spec or written requirements for a multi-step task that needs a durable plan document before touching code. Small, single-owner, or fast-path tasks do not need this skill.
obra/superpowers
Use when you have a spec or requirements for a multi-step task, before touching code
oaustegard/claude-skills
Generate hierarchical _FEATURES.md files that describe what a codebase DOES from a user/consumer perspective, anchored to source symbols via tree-sitting. Supports large complex codebases through feature-driven decomposition into sub-feature files. Uses a multi-pass synthesis: orientation → detail → overview rewrite. Use when someone says "what does this do", "document features", "feature inventory", "_FEATURES.md", or needs to understand a codebase's purpose before modifying it. Complements tre
enuno/unifi-mcp-server
Specialized guide for adding new MCP tools to the UniFi MCP Server following project standards, UniFi API patterns, and test-driven development practices. Use when implementing new UniFi Network Controller features as MCP tools.