Feature start
Starts implementation of one decomposed task: isolates a workspace (a feature branch by default; a git worktree only when isolation is critical), loads the relevant PRD, ADR, and frozen contract into context, then enters plan mode and proposes a per-task plan for approval before any code is written. Use at the start of Stage 4 (Implement) once scope is approved, or when the user says "start working on issue #N", "begin this task", or "let's implement {feature}".From its SKILL.md
npx -y skills add enocgit/sdlc-kit --skill feature-startAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.6 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
feature-start
Prepare a clean, well-contextualized starting point for implementing one task, then stop for a plan approval gate.
Steps
- Pick the task. Confirm the task's identifier and slug with the user. The identifier is
the GitHub issue number by default; on another tracker its key (
ENG-123); in local-only mode the#column of the task table indocs/progress.md. Never invent one. One task per run. - Isolate the workspace — default to a feature branch. Create
feat/{id}-{slug}directly. Only reach for an isolated git worktree (delegating tousing-git-worktreesif installed) when isolation is genuinely critical — parallel work on multiple features, or disposable experiments — or when the user asks. Either way, FIRST run these guards (the worktree skill does them for you; the branch path must not skip them):- Clean tree:
git status --porcelainis empty — nothing uncommitted to clobber. If the only change is the local-only tracker (docs/progress.md) that Decompose just wrote, ask to commit it and continue once approved — this is the gate that clears it. If the default branch is PR-protected, a direct commit there can never be pushed: land it via aplan/{NNNN}-{slug}branch → PR → merge first, same as any other planning commit (AGENTS.md→ Where planning commits land), then branchfeat/*from the updated default branch. Anything else: stop. - Fresh base: check out the default branch and bring it up to date before branching — a
stale base is as bad as a dirty tree. With an upstream (
git rev-parse --abbrev-ref '@{upstream}'succeeds),git pull. With a remote but no upstream — before the first push, or after tracking was removed — don't assume local is current. First resolve which remote is authoritative: exactly one → use it; several (originplus a fork or mirror) → ask which owns the default branch, never guess, since fast-forwarding from a fork bases the work on the wrong history. Thengit fetchthat remote and fast-forward onto its{default}, which may have advanced. Only a repo with no remote at all is latest by definition. If the remote is unreachable (offline, expired auth), don't declare local fresh — fast-forward onto its cached remote-tracking ref if that is ahead, and if freshness still can't be verified, say so and let the human choose rather than branching from a maybe-stale base (auth the cause? surface the one-time fix —AGENTS.md→ Guardrails). Never fail the guard over a missing upstream. - Green baseline: install deps and run the test suite once; if it's already red, stop and
report — don't start work on a broken baseline.
Then create
feat/{id}-{slug}using the identifier from step 1. One feature per workspace; don't touch other branches.
- Clean tree:
- Load context. Read into context:
docs/context.md(domain, glossary, hard constraints — incl. retro learnings from prior cycles)- The feature's PRD in
docs/prd/ - Any ADR(s) it depends on in
docs/adr/ - The frozen contract artifact (OpenAPI/tRPC/schema) the task implements against
docs/test-strategy.md(Definition of Done + which layer to test at)
- Plan. Enter plan mode. Produce a granular plan (small steps, exact file paths, the tests
you'll write first). Hand off to
executing-plans/test-driven-developmentfor execution. - GATE. Present the plan. Ask for approval before writing any code.
Rules
- Implement strictly against the frozen contract. If you discover the contract is wrong, STOP and raise it — a contract change is a decision (new/updated ADR), not an inline edit.
- If the task is bigger than ~a day of work, propose splitting it before starting.
- Keep the SDLC status header on every user-facing message, just like the conductor — open with
SDLC ▸ Stage 4/8 Implement · task #N · {next: plan approval / …}. You're inside the pipeline even thoughsdlcisn't the active skill; don't drop the header once implementation starts. - Don't commit or push unless asked.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.