agentleFS
FabianoArthurFabianoArthur/claude-code-kitchen/skills/plan/SKILL.md

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

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-incSkill

    heartmula

    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-ywSkill

    webhook-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-incSkill

    minecraft-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-chenSkill

    touchdesigner-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

  • gaebalaiSkill

    codex-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

  • ibahgatSkill

    context-optimize

    Improve context efficiency and cache stability for long or complex sessions.

    Also in 3 projects that use this

  • +3 more from math-inc

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
  1. Very specific:

    Keep card_id — the tracker card stays the same.

    line 136
  2. Very specific:

    Dedup: before creating, search <vault.cards> for a similar symptom.

    line 152
  3. Distinctive:

    Create a task for something that already exists (reality filter first, always).

    line 208
  4. Very specific:

    Write outside <vault.cards> or invent fields outside the template.

    line 210

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

/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 task

Read ../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), size on the adapter's scale (default XS|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 (/orchestrate uses 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/main showing 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_push runs once per epic).
  • Slug collision: a file with that name already exists → do NOT overwrite. Same task → it is a --revise case (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):

difficultymodel_execmodel_review
low — mechanical, config, text, renamesonnetsonnet
medium — ordinary logic, known integrationsonnetopus
high — concurrency, data migration, algorithm, productionopusopus

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:

  1. Do not fix. Recording is not executing; fixing here is scope leak.
  2. Do not stop the caller. Whoever was executing carries on with the original task.
  3. Real evidence: file:line of the culprits, grep output, origin PR/epic — no "it seems". Without enough evidence, write what remains to be verified.
  4. 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 (--problem mode).
  • Write outside <vault.cards> or invent fields outside the template.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.