sd-lean-planning
Generate a lean feature plan with tlc-spec-lean and an independent review, stopping at frozen, proof-backed checks with no task breakdown. Use when user says 'lean plan', 'plan this feature lean', 'pl
SKILL.mdskills/sd-lean-planning/SKILL.md
GitHubSteps
See diagram for a visual flow overview.
Add the following steps as tasks using the TaskCreate, TaskUpdate, TaskGet, and TaskList tools. Update the status as you progress through each step to keep the user informed.
This skill wraps the first two phases of /tlc-spec-lean and changes two things in them, because plan.md and checks.md freeze early and the review has to land first:
- The plan is reviewed before it is presented, since approval is the one default stop for a human.
- It stops after Checks.
references/checks.mdtells the agent to continue into Build without waiting; here Build belongs to/sd-lean-execute.
- Settle open architecture first. Check the definitions in docs-adr. An open bet that meets the criteria (which of two architectures, job or request cycle) is settled in an ADR before the plan, which then records the shape that won. Offer the ADR to the user; skip this step when no such bet exists.
- Plan. Execute the
/tlc-spec-leanskill and follow itsreferences/plan.mdup to and includingvalidate_plan.py <feature>exiting 0. Do not present the plan yet. For a change under roughly three files with no one-way door, write onlychecks.mdwith its## Intent, without runningvalidate_checks.py: step 3 then reads that file, step 4 presents it, and step 5 skips straight to its gate. - Verifier pass (always-on, author ≠ verifier): dispatch a fresh sub-agent — no inherited context from steps 1-2 — to run
/sd-review-specin report-only mode againstplan.md(orchecks.mdon the short path) and any cited ADRs. Give it only: the original feature request (verbatim, as the user stated it), and the feature's spec dir path. It audits every doc claim against the real code and checks the full set covers everything the original request needs — scope, constraints, edge cases and dependencies. It does not edit anything; it returns the severity-classified gap report (same table as/sd-review-specstep 8). If gaps exist: show them to the user and apply fixes per/sd-review-specsteps 4-7, then rerunvalidate_plan.py. Do not skip this step and do not ask the user whether to run it — only ask what to do with findings. - Approval. Present the plan as
references/plan.md"Then confirm" says, and offer/spec-to-requirements-tableas a plain-language review sheet. It is a reading aid, not a gate: run it only if the user accepts, settling the output language first, because it runs isolated and cannot ask. Then stop. Write**Approved**: <YYYY-MM-DD> - user: "<their words>"only from words the user gave. On the short path there is noplan.mdand no approval line: the user's go-ahead onchecks.mdis what lets step 5 run. - Checks. Follow
/tlc-spec-leanreferences/checks.mdto writechecks.mdfrom the approved plan. Beforevalidate_checks.pyfreezes them, dispatch a fresh sub-agent with/sd-review-specin report-only mode, given only the spec dir, to confirm every criterion inplan.mdhas a check and each proof reaches its claim:validate_checks.pyonly checks structure, not that traceability. Apply the fixes, then runvalidate_checks.py <feature>until it exits 0. Stop here: do not continue into Build. - At the end of the session, evaluate whether there is anything worth saving as permanent memory. Save as permanent memory only what the next session will need and cannot rediscover by reading the code, Git, or CLAUDE.md—such as the reason behind a decision, a non-obvious invariant, or a user preference; if it is already in the repo or only matters for this specific conversation, do not save it. Use the
ai-memory-durable-pagesskill to persist it.
Tell the user the next step is /sd-lean-execute <feature>.