plan
Skill4 starsChanged 47 days agoMITView on GitHub
Use when the user asks to plan or break work into tasks ("plan this", "create the tasks for this", "turn it into cards", "build the plan for X"), and in --problem mode when a human OR an agent in the middle of another task needs to record a bug/unexpected behaviour without stopping what it is doing. Writes task docs — What / Why / Acceptance criteria / Technical notes (task) or Symptom / Origin / How to reproduce / Expected vs. actual (problem) — ready for /dotask to execute and for an optional tracker sync.
184 other projects use a version of this.
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 · 0
None found.
Wrote their own version · 184
- Yeachan-Heo/oh-my-codex★ 34ksame name
- crbnos/carbon★ 2.8ksame name
- graphistry/pygraphistry★ 2.6ksame name
- zereight/gitlab-mcp★ 2.1ksame name
- math-inc/OpenGauss★ 1.3ksame name
- kdlbs/kandev★ 1.1ksame name
- suboss87/FDEOps★ 940same name
- codewithmukesh/dotnet-claude-kit★ 808same name
- witnesstodark/mr-mak-workspace★ 718same name
- loongclaw-ai/loongclaw★ 640same name
174 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 repository16 other files it gives its agents.
- dotaskSkill
- executeSkill
- harvestSkill
- orchestrateSkill
- qaSkill
- resumeSkill
- saveSkill
- seguranca-agentesSkill
- seguranca-apiSkill
- seguranca-bots-webhooksSkill
- seguranca-dados-lgpdSkill
- seguranca-dependenciasSkill
- seguranca-infraSkill
- seguranca-segredosSkill
- seguranca-web-frontSkill
- syncSkill
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 1 is distinctive, and 3 are very specific to this project.
0
Common
Most of the 167 edited versions we read keep these.
1
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 136
Keep card_id — the tracker card stays the same.
- Very specific: line 152
Dedup: before creating, search <vault.cards> for a similar symptom.
- Distinctive: line 208
Create a task for something that already exists (reality filter first, always).
- Very specific: line 210
Write outside <vault.cards> or invent fields outside the template.
“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 — brainstorm → task docs
/plan <description of what to build/change> split into tasks and write the docs
/plan --problem <report of the finding> record a problem WITHOUT stopping whoever found it
/plan --revise <slug> refine an existing taskRead ../orchestrate/CORE.md §1 — the adapter (.claude/orchestrator.md, found walking
up from cwd) provides vault.cards, backlog.*, the size scale and layers. No adapter →
CORE §9 bootstrap; do not invent a docs path.
Companions: /dotask runs one task created here; /orchestrate sequences several. This
skill only PLANS and WRITES.
Step 1 — Real context before any task
- Understand the request against the code as it IS: a code-graph query (if you have one) + reading the entry point. A task planned only from the request's text is born wrong — text describes intent, not what exists.
- Reality filter (CORE §1.4): was the request (or part of it) already done?
git log <base> --grep, the named artifact in the code. Already there → report it with the evidence (sha, file:line) and do NOT create the task. - Ambiguity that reading the code does not resolve → ask before splitting (one question at a time). Preference and validating the obvious do not count (CORE §10).
Step 2 — Split
- Smallest sensible deliverables; each task = one PR that stands on its own.
- Per task: short title, repo/layer (adapter vocabulary),
sizeon the adapter's scale (defaultXS|S|M|L|XL),priority(urgent|high|normal|low — required),depends_on(slugs/ids that must close first). - Two tasks crossing the same files → note the collision in both tasks' Technical notes
(
/orchestrateuses it to keep them out of the same batch).
Step 3 — Confirm BEFORE writing
Show the table (title · size · priority · repo · depends_on · one-line scope) and STOP —
the human confirms, edits or cuts. It is this skill's only human gate.
Exception: --problem mode does not pause — a record is not a decision; write and report.
Step 4 — Write the docs
One file per task: <vault.cards>/<kebab-slug>.md. The slug is the local id — it is
what /dotask receives. Task template (also in examples/task.md):
---
card_id:
title: "<slug> — <short title>"
status: backlog
priority: <urgent|high|normal|low>
size: <XS|S|M|L|XL>
difficulty: <low|medium|high>
model_exec: <alias for --model at dispatch — guide below>
model_review: <alias for the independent pre-PR reviewer — guide below>
repos: <repo(s), comma separated>
branch:
depends_on:
epic:
updated: <YYYY-MM-DD>
type: task
origin: plan
---
# <short title>
## What
<the deliverable in 1–3 sentences — what changes in the system when this closes>
## Why
<motivation tied to a fact: the task/PR/incident it came from, the risk it covers>
## Acceptance criteria
- [ ] <verifiable, with HOW to verify (command, screen, API call …)>
- [ ] <…>
## Technical notes
<file:line, what already exists, constraints, reference PR/commit, collisions>
## Current state
<one self-contained line — a tracker sync can use it as the card description>
## Links
- <repo / integration / related tasks / permanent notes>
## Session log
### <YYYY-MM-DD> — created by /plan
- **Changed:** task created from <request/context>.Template rules:
- An acceptance criterion is verifiable: each one says HOW to verify it. "Works
correctly" is not a criterion;
gh api repos/<owner>/<repo>/rules/branches/mainshowing the check is. - Technical notes carry the context you already paid to gather — file:line, what exists, where it came from. Whoever executes should not rediscover any of it.
- Dates:
date +%F. Never from memory. epic:is optional — fill it when the split came from an epic (status_pushruns once per epic).- Slug collision: a file with that name already exists → do NOT overwrite. Same task →
it is a
--revisecase (append, do not recreate); different task → suffix the slug; in doubt, resolve it at the Step 3 gate.
Difficulty and models — who executes and who reviews
size measures duration; difficulty measures the risk of getting it wrong. A giant rename
is L/low; a concurrency fix is S/high. The pair picks the models (aliases of
claude --model; the doc WINS over the adapter's model_by_size at dispatch):
| difficulty | model_exec | model_review |
| low — mechanical, config, text, rename | sonnet | sonnet |
| medium — ordinary logic, known integration | sonnet | opus |
| high — concurrency, data migration, algorithm, production | opus | opus |
Deviating from the table → justify it in the Technical notes. In doubt between two levels, pick the higher one: a stronger review is cheap next to a wrong PR.
Step 5 — Report
Slugs created + how to continue: /dotask <slug> (run one) · /orchestrate <slugs>
(sequence several) · tracker sync (if you use one — a separate, human call).
--revise mode — refine an existing task
Reopen <vault.cards>/<slug>.md and apply Steps 1–3 to it (real context again — the code
may have moved since it was created). Rules:
- Keep
card_id— the tracker card stays the same. - May change
size/difficulty/model_*/depends_on/criteria — and goes through the Step 3 human gate like any plan. - Log it in
## Session log(### <date> — revised by /plan --revise, saying what changed). - Task at
🔄/⏳in some manifest → do not revise under a running agent: report and stop.
--problem mode — record without stopping anyone
For a bug/unexpected behaviour found in the middle of other work (by you, by the human, or
by a /dotask kitchen session — the "detour rule" there points here). Rules:
- Do not fix. Recording is not executing; fixing here is scope leak.
- Do not stop the caller. Whoever was executing carries on with the original task.
- Real evidence: file:line of the culprits, grep output, origin PR/epic — no "it seems". Without enough evidence, write what remains to be verified.
- Dedup: before creating, search
<vault.cards>for a similar symptom. Already there → add the new evidence to the existing doc instead of duplicating.
Problem template (same front matter as a task, with origin: plan--problem and
found_during):
---
card_id:
title: "<slug> — <symptom in half a line>"
status: backlog
priority: <estimated from the evidence — production broken or data being corrupted → urgent/high; say you estimated>
size: <estimated — say you estimated>
difficulty: <estimated — a bug of unknown cause is never "low">
model_exec: <per the difficulty table>
model_review: <per the difficulty table>
repos: <repo where the bug lives>
branch:
depends_on:
updated: <YYYY-MM-DD>
type: task
origin: plan--problem
found_during: "<slug/id of the task running when the problem showed up>"
---
# <symptom in half a line>
## Symptom
<the wrong behaviour, from the point of view of whoever uses the system>
## Origin
<repo · origin epic/PR · file:line of the culprits — with what grep/reading proved, e.g.
"loadDraft defined in draft-storage.ts:22 but NOT called anywhere (grep: definition +
test only)">
## How to reproduce
1. <concrete step>
2. <concrete step>
3. <concrete step>
## Expected vs. actual
**Expected:** <the promised behaviour, with the reference (design/spec/card) that promises
it> / **Actual:** <what happens>. Side effect: <secondary effect, if any>.
## Current state
Problem recorded via /plan --problem during <found_during> — evidence above; no fix applied.
## Session log
### <YYYY-MM-DD> — recorded by /plan --problem
- **Changed:** record created; no fix applied (detour rule).This skill does NOT
- Execute, open a PR or create a branch — that is
/dotask//execute. - Push to a tracker — that is a separate call.
- Create a task for something that already exists (reality filter first, always).
- Fix the problem it is recording (
--problemmode). - Write outside
<vault.cards>or invent fields outside the template.
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.

