plan
Skill0 starsChanged 4 months agoMITView on GitHub
Use when the user wants a plan instead of execution, or before any non-trivial implementation (multi-file, architectural choice, > 15 min). Writes a concrete actionable markdown plan with bite-sized tasks (2-5 min each), exact file paths, complete code, and verification steps. Adapted from Hermes Agent / obra/superpowers.
184 other projects use a version of this, 11 of them edited.
Adopted by
Most recently taken up by
- phuthuycoding/kanban-flowtheir own version, first seen Nov 8, 2026
- PeanutGT/NutsSkillstheir own version, first seen Nov 8, 2026
- domengabrovsek/agent-configtheir own version, first seen Nov 8, 2026
- domengabrovsek/claudetheir own version, first seen Nov 8, 2026
- codewithmukesh/dotnet-claude-kittheir own version, first seen Nov 8, 2026
- joeldevz/skynex-pitheir own version, first seen Nov 8, 2026
Used with
Projects with it also use heartmula, webhook-subscriptions 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.
math-incSkillheartmula
Set up and run HeartMuLa, the open-source music generation model family (Suno-like). Generates full songs from lyrics + tags with multilingual support.
Also in 9 projects that use this
Tommy-ywSkillwebhook-subscriptions
Create and manage webhook subscriptions for event-driven agent activation, or for direct push notifications (zero LLM cost). Use when the user wants external services to trigger agent runs OR push notifications to chats.
Also in 5 projects that use this
math-incSkillminecraft-modpack-server
Set up a modded Minecraft server from a CurseForge/Modrinth server pack zip. Covers NeoForge/Forge install, Java version, JVM tuning, firewall, LAN config, backups, and launch scripts.
Also in 5 projects that use this
john-data-chenSkilltouchdesigner-mcp
Control a running TouchDesigner instance via twozero MCP — create operators, set parameters, wire connections, execute Python, build real-time visuals. 36 native tools.
Also in 6 projects that use this
gaebalaiSkillcodex-system
PROACTIVELY consult Codex CLI, your highly capable supporter with exceptional reasoning and task completion abilities. Codex is a trusted expert you should ALWAYS consult BEFORE making decisions on: design choices, implementation approaches, debugging strategies, refactoring plans, or any non-trivial problem. When uncertain, consult Codex. Don't hesitate - Codex provides better analysis. Explicit triggers: "think deeper", "analyze", "second opinion", "consult codex".
Also in 3 projects that use this
ibahgatSkillcontext-optimize
Improve context efficiency and cache stability for long or complex sessions.
Also in 3 projects that use this
- +3 more from math-inc
Other versions184 projects use a version of this.
Word for word · 0
None found.
Edited · 11
- math-inc/OpenGauss★ 1.3k50% same
- loongclaw-ai/loongclaw★ 64050% same
- Tommy-yw/RunbookHermes★ 54650% same
- RedWoodOG/Hermes-Desktop★ 17750% same
- delorenj/skills★ 1775% same
- gquthier/CLAWG★ 1651% same
- Samin12/skills★ 876% same
- Martin-Hausleitner/martins-awesome-skills★ 350% same
- abduznik/abduznik-skills★ 276% same
- bmaltais/skills★ 249% same
1 more not listed
Wrote their own version · 173
- Yeachan-Heo/oh-my-codex★ 34ksame name
- crbnos/carbon★ 2.8ksame name
- graphistry/pygraphistry★ 2.6ksame name
- zereight/gitlab-mcp★ 2.1ksame name
- kdlbs/kandev★ 1.1ksame name
- suboss87/FDEOps★ 940same name
- codewithmukesh/dotnet-claude-kit★ 808same name
- witnesstodark/mr-mak-workspace★ 718same name
- boshu2/agentops★ 453same name
- HazAT/pi-config★ 451same name
163 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 repository38 other files it gives its agents.
- .github/copilot-instructions.mdCopilot instructions
- agent-creatorSkill
- agent-reviewSkill
- ai-memory-setupSkill
- alex-banner-generationSkill
- anti-hallucinationSkill
- brain-auditSkill
- browser-toolsSkill
- code-reviewSkill
- creative-writingSkill
- critical-thinkingSkill
- deep-reviewSkill
- doc-hygieneSkill
- docx-to-mdSkill
- git-workflowSkill
- greeting-checkinSkill
- html-to-mdSkill
- humanizerSkill
- instruction-creatorSkill
- instruction-reviewSkill
- lint-clean-markdownSkill
- markdown-mermaidSkill
- markdown-sanitization-chainSkill
- md-to-emlSkill
- md-to-htmlSkill
- md-to-txtSkill
- md-to-wordSkill
- meditationSkill
- problem-framing-auditSkill
- prompt-creatorSkill
- prompt-reviewSkill
- security-and-hardeningSkill
- skill-creatorSkill
- skill-reviewSkill
- spikeSkill
- status-reportingSkill
- systematic-debuggingSkill
- test-driven-developmentSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
26 rules. 0 are common, 23 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 167 edited versions we read keep these.
23
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 9
Use this skill when the user asks for a plan, says "design before building", types /plan, or when the work obviously spans multiple files / …
- Distinctive: line 15
Do not implement code
- Distinctive: line 16
Do not edit project files except the plan markdown file
- Distinctive: line 17
Do not run mutating terminal commands, commit, push, or perform external actions
- Distinctive: line 23
Write a markdown plan that is concrete and actionable.
- Distinctive: line 35
If the task is code-related, include exact file paths, likely test targets, and verification steps.
- Very specific: line 44
If the repo has no docs/ folder, create one.
- Distinctive: line 48
If the request is clear enough, write the plan directly
- Very specific: line 49
If no explicit instruction accompanies /plan, infer the task from the current conversation context
- Distinctive: line 50
If it is genuinely underspecified, ask one brief clarifying question instead of guessing
- Distinctive: line 51
After saving the plan, reply briefly with what you planned and the saved path
- Distinctive: line 61
Write comprehensive implementation plans assuming the implementer has zero context for the codebase and questionable taste.
- Distinctive: line 85
Every step is one action:
- Distinctive: line 117
Every plan MUST start with:
- Distinctive: line 192
Use the workspace's search and read tools to understand the project:
- Distinctive: line 195
Look at similar features — search for related patterns
- Distinctive: line 196
Check existing tests — find the test directory and conventions
- Distinctive: line 197
Read key files — open the main entry points
- Distinctive: line 210
Create tasks in order:
- Distinctive: line 248
Bad: Add "flexibility" for future requirements
- Distinctive: line 269
Every task that produces code should include the full TDD cycle:
- Distinctive: line 272
Run to verify failure
- Distinctive: line 274
Run to verify pass
- Distinctive: line 280
Commit after every task:
- Distinctive: line 311
After saving the plan, offer the execution approach:
- Distinctive: line 340
Counter-evidence: if heir feedback shows plans get written but never executed (write-only artifacts), the Execution Handoff section is …
“Common” is measured: kept by at least 6 in 10 of the 167 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
Plan Mode
Use this skill when the user asks for a plan, says "design before building", types /plan, or when the work obviously spans multiple files / requires architectural choice / will take more than ~15 minutes.
Core behavior
For this turn, you are planning only.
- Do not implement code
- Do not edit project files except the plan markdown file
- Do not run mutating terminal commands, commit, push, or perform external actions
- You may inspect the repo or other context with read-only commands when needed
- Your deliverable is a markdown plan saved under
docs/plans/
Output requirements
Write a markdown plan that is concrete and actionable.
Include, when relevant:
- Goal
- Current context / assumptions
- Proposed approach
- Step-by-step plan
- Files likely to change
- Tests / validation
- Risks, tradeoffs, and open questions
If the task is code-related, include exact file paths, likely test targets, and verification steps.
Save location
Save the plan under the repo's docs/plans/ directory:
docs/plans/YYYY-MM-DD-<slug>.mdfor plans tied to a specific datedocs/plans/PLAN-<feature>.mdfor living plans that get re-edited as the work progresses
If the repo has no docs/ folder, create one. If the user names a different target path, use that exactly.
Interaction style
- If the request is clear enough, write the plan directly
- If no explicit instruction accompanies
/plan, infer the task from the current conversation context - If it is genuinely underspecified, ask one brief clarifying question instead of guessing
- After saving the plan, reply briefly with what you planned and the saved path
Writing the Plan Well
The rest of this skill is the craft of authoring a good implementation plan — the content that goes inside the markdown file above.
Overview
Write comprehensive implementation plans assuming the implementer has zero context for the codebase and questionable taste. Document everything they need: which files to touch, complete code, testing commands, docs to check, how to verify. Give them bite-sized tasks. DRY. YAGNI. TDD. Frequent commits.
Assume the implementer is a skilled developer but knows almost nothing about the toolset or problem domain. Assume they don't know good test design very well.
Core principle: A good plan makes implementation obvious. If someone has to guess, the plan is incomplete.
When a Full Implementation Plan Helps
Always use before:
- Implementing multi-step features
- Breaking down complex requirements
- Delegating work to a worker subagent (see agent-delegation)
Don't skip when:
- Feature seems simple (assumptions cause bugs)
- You plan to implement it yourself (future you needs guidance)
- Working alone (documentation matters)
Bite-Sized Task Granularity
Each task = 2-5 minutes of focused work.
Every step is one action:
- "Write the failing test" — step
- "Run it to make sure it fails" — step
- "Implement the minimal code to make the test pass" — step
- "Run the tests and make sure they pass" — step
- "Commit" — step
Too big:
### Task 1: Build authentication system
[50 lines of code across 5 files]Right size:
### Task 1: Create User model with email field
[10 lines, 1 file]
### Task 2: Add password hash field to User
[8 lines, 1 file]
### Task 3: Create password hashing utility
[15 lines, 1 file]Plan Document Structure
Header (Required)
Every plan MUST start with:
# [Feature Name] Implementation Plan
**Goal:** [One sentence describing what this builds]
**Architecture:** [2-3 sentences about approach]
**Tech Stack:** [Key technologies/libraries]
---Task Structure
Each task follows this format:
### Task N: [Descriptive Name]
**Objective:** What this task accomplishes (one sentence)
**Files:**
- Create: `exact/path/to/new_file.py`
- Modify: `exact/path/to/existing.py:45-67` (line numbers if known)
- Test: `tests/path/to/test_file.py`
**Step 1: Write failing test**
```python
def test_specific_behavior():
result = function(input)
assert result == expected
```
**Step 2: Run test to verify failure**
Run: `pytest tests/path/test.py::test_specific_behavior -v`
Expected: FAIL — "function not defined"
**Step 3: Write minimal implementation**
```python
def function(input):
return expected
```
**Step 4: Run test to verify pass**
Run: `pytest tests/path/test.py::test_specific_behavior -v`
Expected: PASS
**Step 5: Commit**
```bash
git add tests/path/test.py src/path/file.py
git commit -m "feat: add specific feature"
```Writing Process
Step 1: Understand Requirements
Read and understand:
- Feature requirements
- Design documents or user description
- Acceptance criteria
- Constraints
Step 2: Explore the Codebase
Use the workspace's search and read tools to understand the project:
- Understand project structure — list/glob files under relevant directories
- Look at similar features — search for related patterns
- Check existing tests — find the test directory and conventions
- Read key files — open the main entry points
Step 3: Design Approach
Decide:
- Architecture pattern
- File organization
- Dependencies needed
- Testing strategy
Step 4: Write Tasks
Create tasks in order:
- Setup/infrastructure
- Core functionality (TDD for each)
- Edge cases
- Integration
- Cleanup/documentation
Step 5: Add Complete Details
For each task, include:
- Exact file paths (not "the config file" but
src/config/settings.py) - Complete code examples (not "add validation" but the actual code)
- Exact commands with expected output
- Verification steps that prove the task works
Step 6: Review the Plan
Check:
- Tasks are sequential and logical
- Each task is bite-sized (2-5 min)
- File paths are exact
- Code examples are complete (copy-pasteable)
- Commands are exact with expected output
- No missing context
- DRY, YAGNI, TDD principles applied
Principles
DRY (Don't Repeat Yourself)
Bad: Copy-paste validation in 3 places Good: Extract validation function, use everywhere
YAGNI (You Aren't Gonna Need It)
Bad: Add "flexibility" for future requirements Good: Implement only what's needed now
# Bad — YAGNI violation
class User:
def __init__(self, name, email):
self.name = name
self.email = email
self.preferences = {} # Not needed yet!
self.metadata = {} # Not needed yet!
# Good — YAGNI
class User:
def __init__(self, name, email):
self.name = name
self.email = emailTDD (Test-Driven Development)
Every task that produces code should include the full TDD cycle:
- Write failing test
- Run to verify failure
- Write minimal code
- Run to verify pass
See test-driven-development for details.
Frequent Commits
Commit after every task:
git add [files]
git commit -m "type: description"Common Mistakes
Vague Tasks
Bad: "Add authentication" Good: "Create User model with email and password_hash fields"
Incomplete Code
Bad: "Step 1: Add validation function" Good: "Step 1: Add validation function" followed by the complete function code
Missing Verification
Bad: "Step 3: Test it works"
Good: "Step 3: Run pytest tests/test_auth.py -v, expected: 3 passed"
Missing File Paths
Bad: "Create the model file"
Good: "Create: src/models/user.py"
Execution Handoff
After saving the plan, offer the execution approach:
"Plan complete and saved to
docs/plans/<slug>.md. Ready to execute task by task — I'll work each task with TDD, run verification, and commit before moving to the next. Shall I proceed?"
Remember
Bite-sized tasks (2-5 min each)
Exact file paths
Complete code (copy-pasteable)
Exact commands with expected output
Verification steps
DRY, YAGNI, TDD
Frequent commitsA good plan makes implementation obvious.
Related
- test-driven-development — discipline each plan task should follow
- spike — when you don't know enough yet to plan; spike first, then plan
- problem-framing-audit — frame audit BEFORE drafting the plan
- agent-delegation — for plans that fan out across worker subagents
Would Revise If
- Event-based: zero observed invocations across the fleet within 90 days; OR no markdown plan files produced under any heir's
docs/plans/by 2026-09-07. Either signal indicates the skill is decorative — sunset. - Date-based: 2026-09-07 (90 days from adoption). If by then
planis invoked but heirs report that the bite-sized-task granularity (2-5 min) consistently mismatches their work shape, revise the granularity rule. - Counter-evidence: if heir feedback shows plans get written but never executed (write-only artifacts), the Execution Handoff section is failing — tighten the handoff prompt or sunset.
Attribution
Adapted from Hermes Agent (Nous Research, MIT), which itself adapted the writing-craft sections from obra/superpowers. Both upstream sources MIT-licensed.
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.

