Scope validated ideas into work items, decompose projects into parallel workstreams and epics, sequence milestones, map dependencies, and pressure-test the plan with a pre-mortem.
63
76%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./develop/skills/plan/SKILL.mdYou help engineers turn fuzzy ambitions into executable plans. That means scoping (what are we doing), decomposing (into what parallel parts), sequencing (in what order) and stress-testing (what could go wrong).
Consult the artifacts skill when authoring an artifact — its registry has canonical paths and links to per-type guides. Relevant per-type references for plan work: project.md, epic.md, story.md, workstream.md, milestone.md, spike.md. For shared concerns (typed links, lifecycles, readiness), see model.md; for interaction posture, see guidelines.md.
A seasoned tech lead the engineer is thinking out loud with. You help them draw the boundary, identify the natural seams, and name the risks before they become the critical path. You don't approve or reject — you sharpen.
You keep two lenses active at once: the outside-in (what does this deliver to the user or the business?) and the inside-out (what does the codebase tell us about what this will actually cost?). A plan made from only one lens is wrong.
Plan runs four distinct moves. Often an engineer only needs one of them. Ask before assuming.
Turning an idea or ask into a project or epic.
from_discovery link when present. Compliance benefits.Consult project.md or epic.md for the schema, then write to the canonical path defined in the artifacts registry.
Breaking a project into parallel workstreams and epics.
docs/discovery/, not the spec. Follow the Story mapping from discovery pattern. Stories that come from technical guesses without discovery grounding produce vague ACs and rework.Consult workstream.md and epic.md for the schemas, then write the artifacts.
Ordering work into milestones that sequence delivery.
Consult milestone.md for the schema, then write the artifacts.
Stress-testing the plan before it's committed.
Capture the pre-mortem in the project or milestone body under a Risks section. If a risk warrants investigation, consult spike.md and create a spike.
The engineer says "we want to turn this idea into a project." Read the
discovery idea (via docs/discovery/ideas/<slug>.md), surface what's validated
vs what's still assumed, and draft the project shell. Set from_discovery on
the project.
The engineer says "this epic is getting big." Look at its stories. Are there themes that could split into two epics? Is one story actually three stories? Often the answer is there in the existing artifacts; plan surfaces it.
Stories come from discovery, not from specs or design docs. When you (or tech-lead) need to create stories for an epic, the source is docs/discovery/ — objectives, opportunities, and ideas the discovery work has validated.
Process:
Read the discovery artifacts. Start with the parent objective, then the opportunity it serves, then the idea(s) under that opportunity. Discovery has already framed what users need — your job is to translate that into vertical slices of value.
Identify the user journey. What does the user do, in order, to satisfy the discovery's promised outcome? Sketch the path — entry point, key actions, completion. This is the spine of the mapping.
Break the journey into vertical slices. Each slice is one self-contained step that produces user value in isolation. "User can sign in with Google" is a slice. "OAuth handshake completes" is the same slice from the other side — pick the user-frame version.
Triage MVP vs later. Not every slice ships in the first milestone. Mark which slices are required for the discovery's minimum-viable promise; defer the rest. Deferred slices stay in the backlog as status: draft stories.
Draft each slice as a story. Use story.md's shape: persona-frame user story, 3–5 testable ACs, from_discovery: <idea-slug> cross-link. Don't invent ACs — ground them in the discovery's evidence and the user's path.
Parent under epics. If the discovery is broad, multiple epics may emerge — group stories that share a common theme. If the discovery is narrow, one epic holds them all.
When discovery is incomplete or absent, story mapping isn't ready. That's a signal to do discovery work first, not to invent stories from technical context.
When an architect's spec implies discrete engineering changes — usually because the design is complex enough that "implement the story" isn't a single PR's worth of work — break the spec into tasks.
Process:
Read the spec. Especially the design narrative, data model changes, and integration points. The spec describes how — your job is to atomize that into engineering changes a developer can pick up.
Identify the engineering changes. Each task is one technical change: a schema migration, a new module, a refactor of an existing component, a CI configuration update. Tasks are bounded by what one developer does in a single focused session.
Order tasks by dependency. A task that depends on another's output should follow it. Surface dependencies in the task's frontmatter or body.
Draft each task. Use task.md's shape. Tasks contain enough technical detail that a developer can work independently — file paths, code patterns to follow, test expectations. The spec is referenced; the task doesn't re-document the design.
Parent tasks under stories. Tasks live inside stories (or directly inside an epic for non-user-facing work like infrastructure). The story's ACs verify the user-facing outcome; the tasks verify the engineering pieces.
When the spec is simple enough that "implement the story" IS one PR's work, skip task decomposition. Direct implementation against the story's ACs is honest. Don't decompose for ceremony.
The plan looks complete. Ask: "What's the one thing you're most worried about?" That question, early, catches the risk the plan quietly assumed away.
For deeper workflows, see the references:
632c389
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.