plan
Skill2 starsChanged todayApache-2.0View on GitHub
Produce implementation-ready plans from the current conversation and repository context. Use when entering native plan mode, invoking /plan, or when a task needs concrete implementation sequencing before edits begin; do not use for round-based grilling.
We split this skill into the rules it gives an agent
21 rules. 0 are common, 18 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 164 edited versions we read keep these.
18
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
- Distinctive: line 13
Use the existing conversation and already-gathered repository context as the primary source of truth.
- Very specific: line 19
Do not propose parallel workers during planning unless the user asks for them.
- Distinctive: line 23
Before writing the visible plan:
- Distinctive: line 26
Check scope completeness against every subsystem, workflow, tool, and outcome named by the user.
- Distinctive: line 29
Verify proposed changes to shared interfaces, schemas, paths, persisted data, generated contracts, and public APIs against their producers …
- Distinctive: line 30
Keep rejected alternatives, recommendations, decision recaps, research summaries, architecture overviews, and assumptions lists out of the …
- Distinctive: line 50
Prefer a small direct implementation over speculative abstractions, compatibility layers, helpers, migrations, or phases.
- Distinctive: line 52
Do not use jargon when ordinary language or a code symbol is clearer.
- Distinctive: line 53
Do not use verbs such as "update", "wire", "handle", "support", "integrate", or "refactor" instead of saying what the code will do.
- Distinctive: line 55
Do not add top-level Architecture, Decisions, Assumptions, Research, or Risks sections unless the user explicitly requested that separate …
- Distinctive: line 57
Keep detail proportional: one compact step for a small change, several steps for a standard change, and stages only for independently …
- Distinctive: line 62
Before submission, verify that:
- Distinctive: line 64
Every acceptance criterion maps to an implementation step and a targeted or final check.
- Very specific: line 65
Every entry in Files appears in a step, and every generated file names its source of truth.
- Distinctive: line 66
No requested area disappeared from scope and no settled decision is contradicted.
- Distinctive: line 67
No core mechanic remains an unbounded assumption or execution-time decision.
- Distinctive: line 68
Every numbered step describes an edit rather than analysis, and every non-obvious reason follows the edit it justifies.
- Very specific: line 70
Before-and-after code examples use fenced diff blocks.
- Distinctive: line 74
When the user changes a decision after a plan is drafted, perform a contradiction and impact scan.
- Distinctive: line 78
Keep the output planning-focused and make no implementation edits while planning.
- Distinctive: line 80
When the client's plan mode hands the plan to a review on exit, end by leaving plan mode.
“Common” is measured: kept by at least 6 in 10 of the 164 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
Produce a plain, implementation-ready plan that shows what code will change and how it will work. Keep small changes short. Prefer concrete pseudocode and real symbols over architecture language.
Investigate
- Use the existing conversation and already-gathered repository context as the primary source of truth.
- Inspect the relevant implementation and tests before writing the plan. Trace callers, consumers, registrations, schemas, generated artefacts, and adjacent implementations only as far as the requested change needs.
- Resolve facts available in the repository before asking the user. Do not submit a plan while paths, symbols, or behaviour remain generic placeholders.
- Load
staged-implementationonly when repository inspection finds separate, independently reviewable changes. Otherwise write one dependency-ordered implementation sequence. Do not introduce stages, handoffs, checkpoints, or phase artefacts for a small change. - Load
writing-styleas the prose reference for the visible plan. Apply its plain, concise, concrete, human voice, UK English, and no-em-dash rules. Do not apply its commit-message, pull-request, issue, or action-authorisation instructions to plan structure. - Ask only the minimum necessary follow-up questions through the
questiontool when a requirement or trade-off cannot be inferred and would materially alter the implementation. Resolve those decisions before submitting the plan. Leave an open question in the submitted plan only when execution can safely proceed without resolving it. Do not run a grilling session while planning. - Do not propose parallel workers during planning unless the user asks for them. When the user does, follow
session-coordination; planning workers remain read-only, and any agreed implementation split is recorded in the plan and launched only once execution is authorised.
Prepare Privately
Before writing the visible plan:
- Reconcile the plan against every explicit user decision and any grill, research, issue, handoff, or specification decisions already in context. Treat later user feedback as authoritative. Preserve the difference between work deferred from the current turn and work excluded from the implementation.
- Check scope completeness against every subsystem, workflow, tool, and outcome named by the user. Classify each as included, intentionally unchanged, or deferred with a reason. Do not silently narrow the request to the first implementation area found.
- Distinguish observed repository facts, settled decisions, assumptions, and unresolved unknowns. Do not present an assumption as a fact or re-open a settled decision without contradictory evidence.
- Resolve unknowns that affect the core implementation path before submission. Ask before choosing between materially different behaviours, data shapes, adopters, or migration paths. If repository inspection cannot resolve a technical unknown, make a bounded feasibility check the first plan step and state its success criterion, failure criterion, and fallback path. Do not defer core design choices with phrases such as "decide during implementation", "likely", or "possibly".
- Verify proposed changes to shared interfaces, schemas, paths, persisted data, generated contracts, and public APIs against their producers and known consumers. Include compatibility work only when a concrete shipped, persisted, or external consumer requires it.
- Keep rejected alternatives, recommendations, decision recaps, research summaries, architecture overviews, and assumptions lists out of the submitted plan. Put settled reasoning beside the implementation step it explains. If a blocking choice remains, ask the user before submitting the plan.
Write The Plan
Use this order:
- What will happen: Explain the resulting behaviour in one to three plain sentences. Name the first code entry point when useful. Do not include history, alternatives, architecture framing, validation, or repeated scope.
- Implementation: Give numbered, dependency-ordered code changes. For each step:
- Name the repository-relative file and existing function, class, type, route, schema, or other insertion point.
- Explain the actual edit in ordinary language, including the important calls, branches, data shapes, state changes, or rendering conditions. Put the reason for a non-obvious choice immediately beside the edit it explains.
- Show compact pseudocode immediately beneath that explanation for new or materially changed control flow, state transitions, data transformation, API handling, persistence, or rendering. Use symbols confirmed during repository inspection. When contrasting existing and proposed code, use a fenced
diffblock with-and+lines so Plannotator renders removals red and additions green. Use the relevant language fence for wholly new pseudocode. If those symbols are not known, inspect further before submitting. Omit pseudocode for skills, prose-only documentation, generated files, simple configuration changes, and trivial renames. - Mention required consumers, registrations, imports, translations, migrations, and generated outputs beside the code that creates the need.
- Apply
testingbefore planning test edits. Name the meaningful failure or important behaviour each added test protects; an existing test file does not itself justify more coverage. Keep test edits beside the behaviour they verify, with their concrete benefit.
- Validation: Give only the smallest targeted commands or end-to-end observations needed to prove the implementation works. Do not repeat test-file edits already described in the implementation.
- Files: Include every anticipated changed, added, deleted, generated, or migration file as a directory tree, split by repository or workspace root. Mark generated files with their source of truth. Every file in the tree must appear in an implementation step.
Pseudocode earns its place when it exposes changed code flow more clearly than prose. It must trace inspected project symbols rather than inventing a generic example or placeholder API.
Keep It Direct
- Prefer a small direct implementation over speculative abstractions, compatibility layers, helpers, migrations, or phases.
- Follow the loaded
writing-styleskill for the plan's prose. Write in the maintainer's direct, practical voice. Avoid generic AI prose: no formal padding, flattering agreement, marketing language, repeated summaries, or long transitions that delay the implementation. Use short sentences and say exactly what the code will do and why. - Do not use jargon when ordinary language or a code symbol is clearer. Explain an unavoidable technical term once in plain English.
- Do not use verbs such as "update", "wire", "handle", "support", "integrate", or "refactor" instead of saying what the code will do.
- Discuss architecture only where it causes a specific code change. Follow architecture statements immediately with the files, symbols, and pseudocode that implement them.
- Do not add top-level Architecture, Decisions, Assumptions, Research, or Risks sections unless the user explicitly requested that separate analysis. Put any implementation-relevant content from them in the numbered step where it changes the edit.
- Spend most of the plan on implementation. Do not let validation, testing, risks, or coordination artefacts outweigh the code changes.
- Keep detail proportional: one compact step for a small change, several steps for a standard change, and stages only for independently reviewable work.
- For staged work, follow
staged-implementationfor checkpoints and handoffs, but keep those coordination details after the active implementation rather than ahead of it.
Review And Revise
Before submission, verify that:
- Every acceptance criterion maps to an implementation step and a targeted or final check.
- Every entry in
Filesappears in a step, and every generated file names its source of truth. - No requested area disappeared from scope and no settled decision is contradicted.
- No core mechanic remains an unbounded assumption or execution-time decision.
- Every numbered step describes an edit rather than analysis, and every non-obvious reason follows the edit it justifies.
- Pseudocode uses symbols confirmed during repository inspection, and no unresolved choice has been made for the user.
- Before-and-after code examples use fenced
diffblocks; wholly new pseudocode uses its language fence. - Safeguards, compatibility layers, abstractions, and migrations address an observed contract or regression risk rather than speculative hardening. Test edits satisfy
testing; a generic regression risk is not enough. - The visible plan begins with the plain explainer, contains pseudocode where logic changes, and gives implementation more space than validation.
When the user changes a decision after a plan is drafted, perform a contradiction and impact scan. Revise only the affected scope, steps, files, acceptance criteria, risks, and validation unless the change invalidates the plan's foundation.
Finish Planning
Keep the output planning-focused and make no implementation edits while planning. Approval goes through a Plannotator review, which has Approve and Send feedback, never an Inbox question:
- When the client's plan mode hands the plan to a review on exit, end by leaving plan mode.
- Otherwise save the plan to a file and open it with the
plannotatortool'sannotateaction andgate: true(orplannotator annotate <file> --gate --jsonwithout the tool). - When the
plannotator_inboxtool is available, also send an Inbox status update in the same turn with the plan in short and a link to the open review. End it with a:::question-textblock whose prompt sends the user to the review (for example "Approve or send feedback in the plan review" with the review URL linked) and aStopped:line, so the thread shows it is waiting. Treat a text answer there as plan feedback; the review stays the place to approve. - When the review's decision arrives (approved, approved with notes, or feedback), reply in that thread before any edit: put the review question in
supersedes, say in a line that the plan was approved (or what the feedback changes) and that implementation starts now, and move the Board card tobuildingwhen there is one. TheStopped:question must not stand through the implementation.
Other versions182 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 182
- 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
- fuyuxiang/echo-agent★ 1.1ksame name
- kdlbs/kandev★ 1ksame name
- suboss87/FDEOps★ 940same name
- loongclaw-ai/loongclaw★ 640same name
- witnesstodark/mr-mak-workspace★ 609same name
172 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.
Used alongsideProjects with it also use webhook-subscriptions, heartmula 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.
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-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
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
ibahgatSkillcontext-optimize
Improve context efficiency and cache stability for long or complex sessions.
Also in 3 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
- +4 more from math-inc
In this repository56 other files it gives its agents.
- AGENTS.mdAGENTS.md
- agentic-workflowsSkill
- asking-questionsSkill
- broSkill
- browser-accessSkill
- change-review-handoffSkill
- changeset-scopeSkill
- check-skill-updatesSkill
- chillSkill
- ci-loopSkill
- cleanup-unnecessary-variablesSkill
- code-reviewSkill
- decision-modelsSkill
- diagnoseSkill
- effect-principlesSkill
- evidence-firstSkill
- gh-stackSkill
- git-contextSkill
- github-development-rulesetsSkill
- github-repository-setupSkill
- grillingSkill
- handoffSkill
- herdr-workflowsSkill
- home-assistant-frontendSkill
- home-assistant-lit-renderingSkill
- human-step-guideSkill
- import-external-skillSkill
- inbox-reportingSkill
- issue-loopSkill
- lit-renderingSkill
- maintain-docsSkill
- npm-jsr-first-publishSkill
- opencode-effectSkill
- pitchfork-dev-serversSkill
- pkexec-rootSkill
- release-oxlint-rulesSkill
- remote-change-diffSkill
- remove-single-use-functionsSkill
- researchSkill
- retroSkill
- review-stagesSkill
- review-steeringSkill
- safe-process-signalsSkill
- session-coordinationSkill
- shared-workflowsSkill
- show-meSkill
- skill-prefixesSkill
- staged-implementationSkill
- task-focusSkill
- task-runnersSkill
- testingSkill
- to-questionnaireSkill
- types-enforce-tsSkill
- wranglerSkill
- writing-dot-skillsSkill
- writing-styleSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

