writing-plans
Skill1 starsChanged 6 months agoMITView on GitHub
Use when you have a spec or requirements for a multi-step task, before touching code
187 other projects use a version of this, 37 of them edited.
Adopted by
Most recently taken up by
- DemonDamon/AgenticXedited, first seen Nov 9, 2026
- roundpilot/superpowers-antigravitytheir own version, first seen Nov 8, 2026
- REPOZY/superpowers-optimizedtheir own version, first seen Nov 8, 2026
- lingyired/status-triotheir own version, first seen Nov 8, 2026
- ashleysbrain/skillstheir own version, first seen Nov 8, 2026
- ryanportfolio/winuse-mcptheir own version, first seen Nov 8, 2026
Used with
Projects with it also use chinese-code-review, chinese-commit-conventions and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
Leodorareluctant259Skillchinese-code-review
中文代码审查规范——在保持专业严谨的同时,用符合国内团队文化的方式给出有效反馈
Also in 8 projects that use this
Leodorareluctant259Skillchinese-commit-conventions
中文 Git 提交规范 — 适配国内团队的 commit message 规范和 changelog 自动化
Also in 8 projects that use this
ryanportfolioSkilladdskill
Create, import, update, or install repo or personal skills: runtime ownership, resources, discovery checks.
Also in 6 projects that use this
ryanportfolioSkillapply-firmware
Bring current folder (plain folder, existing repo, old or partial firmware copy) up to full Harness Firmware in place. Mirror external repo → adopt-repo.
Also in 6 projects that use this
- +2 more from Leodorareluctant259
- +6 more from ryanportfolio
Other versions187 projects use a version of this.
Word for word · 0
None found.
Edited · 37
- revokslab/ShipFree★ 1.7k12% same
- DemonDamon/AgenticX★ 1k12% same
- involvex/youtube-music-cli★ 47712% same
- theexperiencecompany/gaia★ 32512% same
- Asvarox/allkaraoke★ 26911% same
- totvs/engpro-advpl-tlpp-skills★ 16612% same
- haojing8312/WorkClaw★ 14112% same
- aaddrick/claude-pipeline★ 12812% same
- ARounder-183/HiFiShifter★ 9312% same
- cooker/wxHm★ 7012% same
27 more not listed
Wrote their own version · 150
- obra/superpowers★ 314ksame name
- jnMetaCode/superpowers-zh★ 8.4ksame name
- openai/plugins★ 7.8ksame name
- farm-fe/farm★ 5.6ksame name
- microsoft/FluidFramework★ 4.9ksame name
- lingyired/status-trio★ 1.8ksame name
- GanyuanRan/Aegis★ 1.4ksame name
- pcvelz/superpowers★ 1.3ksame name
- math-inc/OpenGauss★ 1.3ksame name
- coco-research/coco★ 797same name
140 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository20 other files it gives its agents.
- finishing-a-development-branchSkill
- receiving-code-reviewSkill
- requesting-code-reviewSkill
- systematic-debuggingSkill
- verification-before-completionSkill
- api-designSkill
- database-migrationsSkill
- fastapi-patternsSkill
- logging-standardsSkill
- python-patternsSkill
- redis-patternsSkill
- springboot-patternsSkill
- security-reviewSkill
- using-superpowersSkill
- java-testingSkill
- python-testingSkill
- test-driven-developmentSkill
- brainstormingSkill
- executing-plansSkill
- subagent-driven-developmentSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
33 rules. 0 are common, 16 are distinctive, and 17 are very specific to this project.
0
Common
Most of the 169 edited versions we read keep these.
16
Distinctive
This author's own choices. Worth a look.
17
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
Write implementation plans that are executable, traceable, and safe for mid-flight requirement changes.
- Distinctive: line 23
Use one of these modes explicitly:
- Distinctive: line 25
Initial mode: - no existing plan artifacts for this feature
- Very specific: line 32
Do NOT start Phase 1 until Design Charter is confirmed.
- Very specific: line 33
Do NOT produce 03-implementation-plan.md until 02-design.md is approved.
- Very specific: line 38
Read 01-requirements.md and load project rules (rules//*.md).
- Distinctive: line 53
Stop when all decisions are answered.
- Distinctive: line 69
Before proposing any design, think across ALL dimensions simultaneously.
- Distinctive: line 89
When in doubt, add to Decisions Manifest and let the user confirm whether it needs explicit design.
- Distinctive: line 93
After scanning per-REQ, do one cross-REQ pass for shared concerns:
- Distinctive: line 99
Add any cross-REQ decisions to the Decisions Manifest.
- Distinctive: line 111
Create or reuse one feature folder:
- Very specific: line 225
After producing 02-design.md, run this gate before presenting to the user.
- Distinctive: line 233
All decisions answered = design is complete.
- Distinctive: line 243
When all items above are ✓, Agent MUST immediately output:
- Very specific: line 255
When re-checking 02-design.md at any point, classify every finding before acting:
- Distinctive: line 311
Before writing tasks, capture standards from:
- Very specific: line 330
Every task in 03-implementation-plan.md must map to one or more REQ-###.
- Very specific: line 335
Every implementation plan (03-implementation-plan.md) starts with:
- Distinctive: line 374
Every task starts with the traceability + files header, then uses the steps template matching its type.
- Very specific: line 434
Update 01-requirements.md effective requirement state.
- Very specific: line 435
Update 03-implementation-plan.md tasks and statuses.
- Very specific: line 436
Keep superseded tasks for audit (Status: superseded), do not silently delete history.
- Very specific: line 437
Update 04-verification.md checklist for impacted REQ/CR.
- Very specific: line 441
Update 02-design.md and set its Status back to Draft.
- Very specific: line 446
Update affected tasks in 03-implementation-plan.md.
- Very specific: line 447
Update 04-verification.md if verification steps are affected.
- Distinctive: line 450
Stop current design work immediately.
- Very specific: line 455
If confirmed in scope: update Design Charter in 02-design.md, answer the new decision, continue.
- Distinctive: line 456
If confirmed out of scope: add to Explicitly Excluded in charter, record as CR candidate, continue without designing it.
- Distinctive: line 460
After saving or revising the plan, offer:
- Very specific: line 462
Subagent-Driven (this session): - use agent-workflow:subagent-driven-development
- Very specific: line 463
Parallel Session (separate): - use agent-workflow:executing-plans
“Common” is measured: kept by at least 6 in 10 of the 169 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Writing Plans
Prerequisites
| From skill | Must already exist | If missing |
brainstorming | docs/plans/YYYY-MM-DD-<feature>/01-requirements.md with Status: Approved | Return to brainstorming — do not start planning without approved requirements |
brainstorming | 05-change-log.md if any CR was raised during brainstorming | Initialize it here if absent |
Overview
Write implementation plans that are executable, traceable, and safe for mid-flight requirement changes.
Announce at start: "I'm using the writing-plans skill to create the implementation plan."
Modes
Use one of these modes explicitly:
- Initial mode - no existing plan artifacts for this feature
- Revision mode - feature already has plan files and requirements or design changed
Three-Phase Flow (Initial Mode)
<HARD-GATE>
Each phase requires explicit user approval before the next begins.
Do NOT start Phase 1 until Design Charter is confirmed.
Do NOT produce `03-implementation-plan.md` until `02-design.md` is approved.
</HARD-GATE>Phase 0 — Holistic Thinking & Design Charter
- Read
01-requirements.mdand load project rules (rules/**/*.md). - Apply the relevant language skill based on tech stack.
- Perform holistic thinking across all dimensions (see Holistic Thinking Framework section).
- Produce Design Charter draft with three lists:
- Decisions Manifest: specific questions requiring explicit design — executing agent cannot correctly decide alone
- Agent-Handled List: what executing agent handles independently per project conventions
- Explicitly Excluded: items considered during holistic thinking but confirmed out of scope
- Present Charter to user and state:
"Phase 0 complete. Here is the Design Charter. Please confirm the decisions boundary before I begin designing."
- Wait for explicit confirmation before continuing.
- Charter is now frozen. Any new decision point discovered in Phases 1–2 requires
DR [charter-amendment]before it can be added.
Phase 1 — Technical Design (within charter)
- Answer each decision in the Design Charter's Decisions Manifest — in
02-design.md. - Stop when all decisions are answered. Do NOT add content beyond the charter.
- Run Design Completeness Gate — verify every charter decision has a clear, unambiguous answer.
- Output proactive completion declaration (see Design Completeness Gate section).
- Present the design to the user and state:
"Phase 1 complete. Please review
02-design.md. Confirm to proceed to implementation planning." - Wait for explicit confirmation before continuing.
Phase 2 — Implementation Planning (after design approved)
- Produce
03-implementation-plan.mdwith tasks derived from approved design. - Initialize
04-verification.mdskeleton using the template below. - Initialize
05-change-log.mdand99-mistake-log.mdif not present. - Offer execution handoff.
Holistic Thinking Framework (Phase 0)
Before proposing any design, think across ALL dimensions simultaneously. This is a single upfront scan — not incremental discovery. Every dimension must be considered before the charter is presented.
Dimensions to Scan
| Dimension | Questions to answer |
| Functional path | What are the core responsibilities? What does success look like end-to-end? |
| Failure modes | What can go wrong at each step? What is the recovery strategy? |
| Data concerns | Consistency requirements? Idempotency? Data integrity constraints? |
| System interactions | Who calls this? What does it call? What are upstream/downstream SLAs? |
| Non-functional concerns | Concurrency? Retry logic? Compensation? Performance targets? |
| Boundary conditions | Edge cases? Extreme inputs? Partial failures? |
Decision Classification Rule
For each concern surfaced by the scan:
- Needs explicit design → multiple valid approaches exist, executing agent cannot correctly choose alone → add to Decisions Manifest
- Executing agent handles → single correct approach per project conventions, no architectural choice involved → add to Agent-Handled List
When in doubt, add to Decisions Manifest and let the user confirm whether it needs explicit design.
Cross-REQ Pass (MANDATORY)
After scanning per-REQ, do one cross-REQ pass for shared concerns:
- Transaction boundaries spanning multiple REQs
- Shared error handling strategy
- Concurrency or idempotency across operations
- Consistent state management across the feature
Add any cross-REQ decisions to the Decisions Manifest.
Red Flags — STOP if you are doing this
| Thought | Reality |
| "I'll add this to the design if it comes up" | Front-load all thinking now. Discovering decisions in Phase 1 means Phase 0 was incomplete. |
| "This is probably obvious" | If multiple valid approaches exist, it is not obvious. Add it to the manifest. |
| "The user didn't mention compensation / retry / etc." | User states WHAT. Holistic thinking surfaces HOW concerns. Surface them, let user decide scope. |
Folder-First Rule (MANDATORY)
Create or reuse one feature folder:
docs/plans/YYYY-MM-DD-<feature-name>/
Required artifacts in that folder:
01-requirements.md(produced by brainstorming — read, do not overwrite)02-design.md(produced here — technical design: HOW)03-implementation-plan.md(produced here — executable tasks)04-verification.md(produced here — checklist skeleton)05-change-log.md99-mistake-log.md
Conditional artifact:
06-research-notes.mdwhen external information affects decisions
02-design.md Template
# [Feature Name] — Technical Design
**Status:** Draft | Approved
**Requirements:** docs/plans/YYYY-MM-DD-<feature-name>/01-requirements.md
## Design Charter
**Chartered:** YYYY-MM-DD
### Decisions Manifest
_(Questions that required explicit design — executing agent cannot decide alone)_
1. [specific design question] (REQ-###)
2. [specific design question] (REQ-###)
### Agent-Handled
_(Executing agent handles per project conventions — no design decision needed)_
- [e.g., Spring Boot annotation syntax, method body implementation consistent with AC]
### Explicitly Excluded
_(Considered during holistic thinking, confirmed out of scope — CR required to add)_
- [e.g., retry mechanism, compensation logic, monitoring setup]
---
## Architecture Decision
[2-3 sentences: what is being built and how it fits into the existing system]
## Key Design Decisions
| Decision | Options Considered | Chosen | Reason |
|----------|--------------------|--------|--------|
| [topic] | [A, B, C] | [A] | [why] |
## Data Model
[DDL-level detail: table names, column names, types, constraints, indexes, FK relationships]
## Component Contracts
### [ClassName] (`com.example.package.ClassName`)
**Responsibility:** [one sentence]
| Method | Signature | Returns | Throws |
|--------|-----------|---------|--------|
| [methodName] | `(ParamType param)` | `ReturnType` | `ExceptionType` |
_(Repeat for each new or modified class)_
## API Contracts
### [HTTP Method] [/path]
**REQ:** REQ-###
**Auth:** [required role / none]
**Request:**
```json
{ "field": "type — required/optional, constraints" }Response (success):
HTTP [status]
{ ... }Response (errors):
| Condition | HTTP | Body |
| [condition] | [4xx] | {"code":"X","message":"Y"} |
Error Taxonomy
| Exception Class | HTTP Status | Error Code | Trigger Condition |
| [ExceptionName] | [4xx/5xx] | [ERROR_CODE] | [when this is thrown] |
Business Rules & Constraints
[Explicit constraints the implementing agent must follow — uniqueness, state machine transitions, calculation rules. Agent must NOT override these.]
- BR-001: [rule]
Tech Stack
[Key technologies and versions used]
Component Interaction
[Numbered sequence: which component calls which, in what order]
REQ Coverage Mapping
| REQ | Covered by |
| REQ-001 | [ClassName.methodName() / /endpoint] |
| REQ-002 | [ClassName.methodName()] |
Rollback Plan
[How to revert if deployment fails — required for DB changes and breaking API changes]
## Design Completeness Gate (MANDATORY — before Phase 1 user confirmation)
After producing `02-design.md`, run this gate before presenting to the user.
### Step 1 — Charter decisions check
For each item in the Design Charter's Decisions Manifest:
- [ ] Decision #N has a clear, unambiguous answer in the design document
- [ ] The answer is specific enough that the executing agent faces no further design choices
All decisions answered = design is complete. Do NOT check for things outside the charter.
### Step 2 — REQ coverage check
For each REQ-### in `01-requirements.md`:
- [ ] REQ-### appears in REQ Coverage Mapping
- [ ] REQ-### error path AC is addressed in Error Taxonomy or Component Contracts
### Step 3 — Proactive completion declaration (MANDATORY)
When all items above are ✓, Agent MUST immediately output:
> "设计章程中所有决策均已回答。
> **已回答的决策:** [list decisions from manifest]
> **Agent 自行处理:** [Agent-Handled list from charter]
> **本次明确不设计:** [Explicitly Excluded list from charter]
> **状态变更为 Draft(待审批)。** 请确认后进入 Phase 2。"
**Do NOT wait to be asked if anything is missing.** The charter defines completeness. If every charter decision is answered, the design is complete.
### Re-check Protocol (three-way branch)
When re-checking `02-design.md` at any point, classify every finding before acting:
发现问题 ├── 章程内,尚未回答 │ → 立即补充,无需用户确认 │ ├── 章程内,但当前答案不够清晰 │ → 澄清现有答案,不扩展范围 │ ├── 章程内,但需调整章程边界 │ → 提出 DR [charter-amendment],等待用户确认后再修改 │ └── 章程外 → 记录为 CR 候选,告知用户,不在当前设计中处理
**"章程外的发现"不是遗漏,是边界决策。** 不得直接加入设计。
## `04-verification.md` Template
```markdown
# [Feature Name] — Verification
**Status:** In Progress | Complete
**Implementation Plan:** docs/plans/YYYY-MM-DD-<feature-name>/03-implementation-plan.md
## Checklist
| REQ / CR / DR | Description | Acceptance Criteria | Evidence | Status |
|---------------|-------------|---------------------|----------|--------|
| REQ-001 | [short title] | [Given/When/Then summary] | [test name / command output] | pending |
| REQ-002 | [short title] | [Given/When/Then summary] | [test name / command output] | pending |
| CR-001 | [change description] | [updated criteria] | [evidence] | pending |
| DR-001 | [design change] | [verification approach] | [evidence] | pending |
> **Status values:** `pending` (not started) | `verified` (test passed, evidence recorded) | `failed` (check did not pass, needs fix)
## Coverage
| Layer | Target | Actual | Status |
|-------|--------|--------|--------|
| Service | 85% | — | pending |
| Controller | 80% | — | pending |
| Overall | 80% | — | pending |
## Closure Gate
- `unmapped_req`: 0
- `open_cr`: 0
- `open_dr`: 0
- `pending_recheck`: 0Project Standards Baseline
Before writing tasks, capture standards from:
rules/**/*.md- Root instructions (
AGENTS.md,CLAUDE.md, project docs) - Nearby implementation patterns
Then identify the active tech stack from 01-requirements.md and 02-design.md, and apply the relevant language skill:
| Tech Stack | Apply Skill |
| Java / Spring Boot | agent-workflow:springboot-patterns |
| Any backend | agent-workflow:api-design (for API tasks) |
| DB migrations | agent-workflow:database-migrations |
Traceability Rules (MANDATORY)
- Requirements use
REQ-###IDs (defined in01-requirements.md). - Requirement changes use
CR-###IDs in05-change-log.md. - Design changes use
DR-###IDs in05-change-log.md. - Every task in
03-implementation-plan.mdmust map to one or moreREQ-###. 04-verification.mdmust verify eachREQ-###and relatedCR-###/DR-###if changed.
Plan Header
Every implementation plan (03-implementation-plan.md) starts with:
# [Feature Name] — Implementation Plan
> **For Claude:** REQUIRED SUB-SKILL: Use agent-workflow:executing-plans to implement this plan task-by-task.
**Requirements:** docs/plans/YYYY-MM-DD-<feature-name>/01-requirements.md
**Design:** docs/plans/YYYY-MM-DD-<feature-name>/02-design.md
**Project Conventions:** [Concrete rule files in `rules/**/*.md`]
**Traceability:** [REQ/CR/DR strategy for this feature]
**Research Notes:** [Path to `06-research-notes.md` if used]
---
## Task Summary
| Task | Type | REQ | Depends on | Status |
|------|------|-----|------------|--------|
| Task 1: [name] | code-task | REQ-001 | — | pending |
| Task 2: [name] | migration-task | REQ-002 | Task 1 | pending |
## Definition of Done
Every task must satisfy all items before being marked `completed`:
- [ ] All tests pass; coverage meets targets (Service ≥ 85%, Controller ≥ 80%, Overall ≥ 80%)
- [ ] No TODO / debug / temporary code left
- [ ] Naming follows project rules (`rules/**/*.md`)
- [ ] Error handling complete (no silent failures)
- [ ] All callers listed in `Impact` have been handled
- [ ] `04-verification.md` evidence updated for related REQ / CR / DR
- [ ] Commit message format: `type(scope): one-line English summary`
> Override: project `rules/**/*.md` may extend or tighten this list.Task Structure
Every task starts with the traceability + files header, then uses the steps template matching its type.
### Task N: [Component Name]
**Type:** `code-task` | `migration-task` | `config-task`
**Traceability:**
- REQ: `REQ-001`, `REQ-002`
- CR: `CR-003` (if applicable)
- Status: `pending` | `in_progress` | `completed` | `superseded` | `cancelled`
**Files:**
- Create: `exact/path/to/file`
- Modify: `exact/path/to/existing:line`
- Test: `tests/exact/path/to/test`
**Depends on:** Task N (optional — list task numbers that must be `completed` before this task starts)
**Impact:** [List existing modules/callers affected, or "none" if new code only]
**Test layer:** `unit` | `slice` | `integration` | `e2e` (choose all that apply)code-task steps (default for feature/bugfix/refactor)
Step 1: Write the failing test (at the layer specified in Test layer)
Step 2: Run test — verify it fails for the expected reason
Step 3: Write minimal implementation following project language skill
Step 4: Run test — verify it passes; run full suite for regression
Step 5: Self-review: no debug code, naming follows rules, error handling complete
Step 6: Commit — format: type(scope): one-line English summarymigration-task steps (DB schema / data migration)
Step 1: Write migration script (forward)
Step 2: Write rollback script (backward)
Step 3: Test forward migration on dev data — verify schema/data correctness
Step 4: Test rollback — verify state restored
Step 5: Confirm zero-downtime compatibility if required
Step 6: Commit — format: type(scope): one-line English summaryconfig-task steps (config / env var / parameter change)
Step 1: Identify all affected environments
Step 2: Apply change with backward-compatible default if needed
Step 3: Verify affected behavior in dev environment
Step 4: Document change and affected services
Step 5: Commit — format: type(scope): one-line English summaryRevision Mode Rules
Requirement change (scope/behavior):
- Append
CR-###to05-change-log.md. - Update
01-requirements.mdeffective requirement state. - Update
03-implementation-plan.mdtasks and statuses. - Keep superseded tasks for audit (
Status: superseded), do not silently delete history. - Update
04-verification.mdchecklist for impactedREQ/CR.
Design change (technical approach, no scope change):
- Append
DR-###to05-change-log.md. - Update
02-design.mdand set its Status back toDraft. - Present updated design to the user and state:
"Design revised (DR-###). Please review
02-design.md. Confirm to resume implementation." - Wait for explicit confirmation before continuing.
- Upon approval, set
02-design.mdstatus toApproved (amended: DR-###). - Update affected tasks in
03-implementation-plan.md. - Update
04-verification.mdif verification steps are affected.
Charter amendment (new decision point discovered after Phase 0):
- Stop current design work immediately.
- Append
DR-### [charter-amendment]to05-change-log.mdwith the new decision point and why it was not identified in Phase 0. - Present to user:
"发现章程外的设计决策点:[description]。建议将其加入 Decisions Manifest。请确认是否纳入本次设计范围,或记为 CR 候选。"
- Wait for explicit confirmation before continuing.
- If confirmed in scope: update Design Charter in
02-design.md, answer the new decision, continue. - If confirmed out of scope: add to Explicitly Excluded in charter, record as CR candidate, continue without designing it.
Execution Handoff
After saving or revising the plan, offer:
- Subagent-Driven (this session) - use
agent-workflow:subagent-driven-development - Parallel Session (separate) - use
agent-workflow:executing-plans
Ask: "Which approach?"
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

