agentleFS
vzhukovsvzhukovs/podman-desktop-kit/skills/plan/SKILL.md

plan

Skill0 starsChanged 11 days agoApache-2.0View on GitHub

Plan an issue: scout the code, resolve the open choices, and produce a plan with executable done-criteria.

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, 2 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 167 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not read the code broadly yourself.

    line 23
  2. Very specific:

    Write the compressed map to research.md.

    line 27
  3. Distinctive:

    no drive-by renames or moves.

    line 66
  4. Very specific:

    Slice hypothesis is written: Not the final graph, but tasks are ordered so cutting is possible later.

    line 72

“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

The plan is the only artefact that carries intent to the implementer. Three phases, in order.

Phase 1 — reconnaissance

At least three pd-scout agents in parallel, each with a different question: where the logic lives, which existing pattern the fix should follow, how this area is tested.

Their format is fixed: ≤ 40 lines, every claim with file:line, no recommendations. A scout that proposes a solution has exceeded its brief, and its proposal has not been checked against the other two.

Do not read the code broadly yourself. Scouts exist so you read 40 lines instead of 4000; reading both is the failure mode this structure was built against.

Write the compressed map to research.md.

Phase 2 — the choices

Anything a scout flagged as a decision goes to the user through AskUserQuestion, with the options and what each costs.

A question you do not ask becomes [NEEDS DECISION] in the plan, and that blocks approval. This is deliberate: an unasked question does not disappear, it becomes an assumption nobody agreed to and nobody can find later.

Phase 3 — the plan

Fill ${CLAUDE_PLUGIN_ROOT}/templates/plan.md. Every one of these is a requirement, and a plan that misses one gets redone rather than patched:

  1. Every task owns its files exclusively. Two tasks sharing a file is a planning error, not a coordination problem. A task that writes nothing — a whole-suite gate, a measurement — writes Owns: (none — verification only, writes no files), which is read as no files: plan check accepts it as long as its Done when runs, the hook refuses every write it attempts, and every slice inherits the requirements it satisfies.
  2. Done when is a command and its expected output. Prose is refused: "works correctly" cannot be checked by anyone except its author.
  3. Interfaces between tasks are frozen, with real signatures, so two tasks cannot each invent their own version of the same boundary.
  4. One to three files per task.
  5. Every context line cites file:line from phase 1. A context line without a location was not verified.
  6. Every task declares satisfies: [R…]. A requirement with no task and a task with no requirement are both errors.
  7. Upstream compliance is filled in from ${CLAUDE_PLUGIN_ROOT}/knowledge/upstream-rules.md: SPDX on new files, schemas touched, extension-api.d.ts touched, commit scope. The plan must also not contradict section 1 of ${CLAUDE_PLUGIN_ROOT}/knowledge/maintainer-rules.md:

    • existing tests are not changed in the same slice as the implementation they test;
    • prerequisite refactors are planned as their own task, ahead of the change that needs them;
    • no drive-by renames or moves.

    Upstream's review agent rejects all three.

  8. e2e coverage: is decided here — required, optional or no with a reason. Deciding afterwards produces a test for what was built rather than for what was required.
  9. Slice hypothesis is written. Not the final graph, but tasks are ordered so cutting is possible later. Planning without it produces an interleaved diff that cannot be split without redoing the work.

    The slicer is held to it: pdkit slice set refuses more slices than the header's count unless the slicer says why. So the count in the header is a number, and the reasoning under the heading is written for somebody who will see only the diff.

    Every slice leaves main working on its own. A contract change, such as an IPC signature through main, preload and renderer or a type every consumer reads, has no subset that does. It is one slice, with a commit per layer if the reviewer should read the layers apart. If it should be several pull requests, plan expand/contract: add the new path beside the old one, move the callers, remove the old one. Each step then leaves main working, and that split has to be in the tasks, because no slicer can cut it out of a diff that replaced the old path.

Then

pdkit render plan --issue <n> --values <f> --path plan.md, one pdkit render task --issue <n> --values <f> --path tasks/T<k>.md per task, then pdkit task sync --issue <n> so the ownership map the pre-write hook enforces comes from the task files rather than from anyone's memory of them.

pdkit plan check <n> before showing the plan to anybody: everything it finds is something /pd:plan-review would find anyway, and finding it here costs one command instead of a review round.

Then pdkit state <n> --to planned.

Approval is a human action. On approval — and only then — pdkit ids freeze <n> and pdkit state <n> --to plan-approved. The freeze is what makes R-IDs a trace rather than a numbering: after it, they cannot be renumbered under a PR that already cites them.

When the phase runs long

budget.turns.plan is the ceiling here — a rough one, since no part of this can count turns, you included. Well past it, stop at a point the files can hold: research.md once phase 1 is done, open choices as [NEEDS DECISION] in a draft plan. Then ask for a restart. A plan finished in a second session from research.md costs less than one finished at the end of a long first, and nothing in it depends on having watched the scouts work.

Next

/pd:plan-review <issue> — before approval, not after. On approval, and only then, freeze and move to plan-approved; what runs from there is /pd:exec <issue>.

In a new session, and the reason is sharper here than anywhere: the review is meant to be read cold. A session that wrote the plan and then reviews it carries every justification its author gave itself, and pays to re-read them on every turn. plan.md, tasks/ and research.md are what the review works from. pdkit next <issue> prints the line to run.

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.