create-plan
Skill73 starsChanged 5 days agoApache-2.0View on GitHub
Drafts implementation plans with TDD, documentation updates, and repository verification commands before coding. Use when the user asks for an implementation plan, /create-plan, or structured pre-implementation design for work in encero workspaces (e.g. Incan, IncQL).
39 other projects use a version of this.
Adopted by
Most recently taken up by
- artberri/skillstheir own version, first seen Nov 8, 2026
- Pubx-ai/skillstheir own version, first seen Nov 8, 2026
- mattmireles/gemma-tuner-multimodaltheir own version, first seen Nov 1, 2026
- fnayou/dotfilestheir own version, first seen Oct 25, 2026
- knwoop/clear-plan-skillstheir own version, first seen Oct 14, 2026
- mhylle/claude-skills-collectiontheir own version, first seen Oct 9, 2026
Used with
Projects with it also use codebase-migrate, support-ticket-triage 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.
ComposioHQSkillcodebase-migrate
Run large codebase migrations and multi-file refactors. Uses the Composio CLI to coordinate issue tracking, batched PRs, and CI verification while the agent executes the transforms locally across hundreds of files.
Also in 5 projects that use this
ComposioHQSkillsupport-ticket-triage
Triage customer support tickets/emails/chats into categories, priority, and next action; draft responses and create reproducible steps; use for Zendesk/Intercom/Help Scout exports or pasted threads.
Also in 5 projects that use this
corticalstackSkilliterate-plan
Revise an existing implementation plan in flow/plans/ based on feedback, researching when needed. Explicit-only; run only when invoked via /iterate-plan or explicitly asked.
Also in 4 projects that use this
hebertzhuSkilldevelop-web-game
Use when building or iterating on a web game and you need a tight implement-test-observe loop; prefer the bundled Playwright client, inspect screenshots and text state, and validate every meaningful change before moving on.
Also in 3 projects that use this
petestewartSkilldatadog-logs
Query Datadog logs via the Logs Search API v2. Use when the user asks to "check the logs", "search logs", "find errors in Datadog", "look up logs for", "show me production logs", "check for errors", "search Datadog", or any request involving log search, error investigation, or production debugging that requires Datadog log data.
Also in 3 projects that use this
- +7 more from ComposioHQ
Other versions39 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 39
- ComposioHQ/awesome-codex-skills★ 17ksame name
- composio-community/awesome-codex-skills★ 16ksame name
- netease-youdao/LobsterAI★ 6.2ksame name
- mattmireles/gemma-tuner-multimodal★ 1.5ksame name
- freestylefly/wesight★ 969same name
- gittower/git-flow-next★ 458same name
- JetBrains/youtrackdb★ 443same name
- OpenFn/lightning★ 321same name
- DasDigitaleMomentum/opencode-processing-skills★ 60same name
- maxedapps/agent-skills★ 59same name
29 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 repository30 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- add-learningSkill
- bump-rfcSkill
- closeoutSkill
- create-github-issueSkill
- create-pr-descriptionSkill
- fixSkill
- flag-compiler-bugSkill
- fleet-auditSkill
- hello-worldSkill
- loopSkill
- orchestrate-parallel-workSkill
- ralph-loopSkill
- review-and-fixSkill
- review-architectureSkill
- review-code-smellsSkill
- review-docs-claimsSkill
- review-incan-source-qualitySkill
- review-orchestrateSkill
- review-rfcSkill
- review-rust-proseSkill
- review-scopeSkill
- reviewSkill
- review-test-styleSkill
- start-workSkill
- testSkill
- write-commit-messageSkill
- write-rfcSkill
- yeet-prSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. 0 are common, 9 are distinctive, and 10 are very specific to this project.
0
Common
Most of the 37 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 31
Do not edit the plan file after the user asks to execute the plan unless they explicitly request plan updates.
- Very specific: line 33
If the task is clearly parallelizable after planning, hand off execution to orchestrate-parallel-work rather than embedding full …
- Distinctive: line 37
Before selecting files to edit, identify the local pattern that should govern the work:
- Very specific: line 63
Do not plan around assumptions about what Incan cannot do.
- Very specific: line 67
search local .incn stdlib/examples/tests for the construct you think may be unavailable.
- Very specific: line 68
check parser/typechecker/codegen tests for recently added syntax or lowering support.
- Distinctive: line 69
prefer a small source-level probe or focused fixture over guessing.
- Very specific: line 70
only claim “Incan cannot express this” after recording the checked evidence and the specific failing construct.
- Distinctive: line 71
if a fallback to Rust interop or backend support is needed, state the primitive gap narrowly rather than treating the whole feature as …
- Distinctive: line 77
Red: Add a failing test that encodes the contract before production changes.
- Very specific: line 78
Prefer the narrowest command + filter the repo already uses (cargo test <filter>, make test, incan test, etc.).
- Distinctive: line 79
Use a behavioral assertion when a golden/snapshot alone would not fail first (e.g.
- Very specific: line 81
Refine: Update snapshots/goldens with the repo’s documented env flags or workflows (INSTA_UPDATE, etc.).
- Distinctive: line 91
When users or release notes should see the change:
- Very specific: line 93
Release notes: add a bullet in the repo’s current release notes file (path differs by project.
- Very specific: line 97
If there is no user-visible delta, state docs: none in the plan.
- Distinctive: line 101
When the implementation adds or changes public items, shared interop vocabulary, compiler snapshot helpers, or other subtle cross-stage …
- Very specific: line 105
If nothing public or boundary-shaped changed, state rustdocs: none in the plan.
- Distinctive: line 109
Every plan must end with a Gate table.
“Common” is measured: kept by at least 6 in 10 of the 37 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
Create implementation plan
When to use
Apply when scoping implementation (not RFC-only drafting): bugs, features, compiler/library behavior, tests, or user-facing docs tied to that work.
Identify the repository root from the user’s path or context (incan/, IncQL/, etc.). If unclear, ask. Follow that repo’s AGENTS.md and CONTRIBUTING.md (repository root) for authoritative commands and boundaries.
Plan output shape
Produce a single markdown plan (paste into Plan mode or a .plan.md file):
- Goal or root cause (1–3 sentences).
- Pattern intake: active area, 2-3 local precedent files to read, source-of-truth boundary/registry, and required verification path.
- Capability intake for Incan-language or stdlib work: current language features, local examples/tests proving available constructs, and any claimed limitation with evidence.
- TDD (red → green → refine) when behavior is testable.
- Concrete file paths as markdown links to real paths in that repo.
- Documentation subsection when the change is user-visible (see below).
- Code docs / rustdocs subsection when the change introduces or reshapes public/shared APIs, compiler snapshot bridges, or subtle boundary helpers.
- Acceptance contract subsection for milestone, RFC-wide, release, or compiler-boundary work.
- Gate subsection with exact commands from this skill’s Verification section, adapted to the repo.
- Success criteria checklist.
- Optional mermaid only when a small diagram clarifies a pipeline or data flow.
- Optional Parallelization opportunities subsection only when the user explicitly wants delegation and the work splits into clean, non-overlapping ownership slices. Keep it short: slice, owned scope, verification, blocker.
Do not edit the plan file after the user asks to execute the plan unless they explicitly request plan updates.
If the task is clearly parallelizable after planning, hand off execution to orchestrate-parallel-work rather than embedding full worker-orchestration rules in the plan itself.
Pattern intake
Before selecting files to edit, identify the local pattern that should govern the work:
- Active area: parser, typechecker, lowering, emission, stdlib, CLI/tooling, docs, tests, or a named combination.
- Precedents: 2-3 nearby files that already implement the same behavior shape. Prefer same-stage and same-domain examples.
- Source of truth: the RFC, docs contract, diagnostics catalog, stdlib registry, ownership policy, CLI reference, or other boundary that owns the behavior.
- Verification path: the narrow red test plus any broader proof needed to cover downstream stages or build modes.
Plans should name these items explicitly. If there is no close precedent, say so and explain which boundary document or implementation shape is being used instead.
Acceptance contract
For milestone, RFC-wide, release, or compiler-boundary work, define the acceptance contract before coding. This is not a release-branch checklist; it is the up-front contract that tells implementers which tests, downstream checks, and docs are needed before the work can be called done.
Include:
- the direct/local behavior under test;
- each boundary that can observe the same behavior: import, reexport/facade, package consumer, dependency-owned type, test batch, vocab/desugarer, formatter, generated Rust, or Rust metadata;
- downstream acceptance lanes such as IncQL when the changed surface is exercised there;
- performance/progress expectations when touching prewarm, metadata, test runner, CI, or cache behavior;
- docs, rustdocs, generated references, release notes, and RFC lifecycle work;
- boundaries explicitly not applicable, with the reason.
For small local fixes, state acceptance contract: local only only when the behavior cannot cross any of those boundaries. If a bug crossed a boundary, local-only coverage is not enough.
Capability intake for Incan work
Do not plan around assumptions about what Incan cannot do. Incan is moving fast, and local repo examples/tests are more reliable than memory.
For language, stdlib, examples, or .incn implementation work, inspect current capability before choosing a design:
- search local
.incnstdlib/examples/tests for the construct you think may be unavailable; - check parser/typechecker/codegen tests for recently added syntax or lowering support;
- prefer a small source-level probe or focused fixture over guessing;
- only claim “Incan cannot express this” after recording the checked evidence and the specific failing construct;
- if a fallback to Rust interop or backend support is needed, state the primitive gap narrowly rather than treating the whole feature as impossible.
Plans for Incan work should include the checked capability evidence or explicitly say capability evidence: not yet checked and keep the design provisional.
TDD (default when tests exist)
- Red: Add a failing test that encodes the contract before production changes.
- Prefer the narrowest command + filter the repo already uses (
cargo test <filter>,make test,incan test, etc.). - Use a behavioral assertion when a golden/snapshot alone would not fail first (e.g. substring check on generated output).
- Prefer the narrowest command + filter the repo already uses (
- Green: Minimal change in the correct layer (parser vs typecheck vs lower vs emit vs library
.incn—per repo docs). - Refine: Update snapshots/goldens with the repo’s documented env flags or workflows (
INSTA_UPDATE, etc.).
Pitfall: Typecheck-only green is not enough for codegen pipelines; plan tests that exercise lowering/emission or end-to-end output when relevant.
Rust interop pitfall: rust-metadata is optional in Incan. If the task touches import rust::..., rusttype, or Rust-boundary method/call lowering, the plan should explicitly cover both:
- the metadata-enhanced path (focused unit/integration coverage when that feature matters), and
- a default-build path (for example a real example/program build) so the fix does not only work with metadata enabled.
Documentation
When users or release notes should see the change:
- Release notes: add a bullet in the repo’s current release notes file (path differs by project; find it under
docs/release_notes/orworkspaces/docs-site/docs/release_notes/or as documented inCONTRIBUTING.md). Match existing style (area prefix, one line, link#issue). - Tutorials / reference: smallest update under that repo’s
docs/tree; for MkDocs sites, runmkdocs build --strictfrom the configured docs root when prose or nav changes.
If there is no user-visible delta, state docs: none in the plan.
Code docs / rustdocs
When the implementation adds or changes public items, shared interop vocabulary, compiler snapshot helpers, or other subtle cross-stage boundaries:
- Plan the required rustdoc/doc comment updates alongside the code change instead of treating them as optional cleanup.
- Be explicit about which files need API/boundary docs refreshed.
- If nothing public or boundary-shaped changed, state
rustdocs: nonein the plan.
Verification
Every plan must end with a Gate table. Pick commands from the target repo; do not invent targets.
Incan (incan/)
From the Incan repo root:
| Step | Command | Notes |
| Format | make fmt | Writes sources; make fmt-check for read-only. Nightly rustfmt required (see Makefile). |
| Full gate | make pre-commit | Full local gate: full checks + smoke-test-fast. |
| Smoke | make smoke-test | Runs tests again plus smoke-test-core (release build, canaries, example builds, scripts). |
Typical one-liner after implementation: make fmt && make pre-commit.
Optional: make smoke-test when you explicitly want the full smoke suite after pre-commit.
Project rules: no .unwrap() / .expect() in Incan (see AGENTS.md).
IncQL (IncQL/)
From the IncQL package root:
| Step | Command |
| CI-equivalent gate | make ci (or make fmt-check, make build, make test as listed in AGENTS.md) |
Release notes and RFC alignment follow IncQL/AGENTS.md and CONTRIBUTING.md.
Other repos
Mirror whatever AGENTS.md / CONTRIBUTING.md / Makefile list as the maintainer’s gate; copy command names literally into the plan.
Template
Skeleton: reference.md.
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.

