sdlc-apply
Installation
SKILL.md
sdlc-apply
Build what the accepted intent says, show that it works, and let the user accept it. Do not push or deploy unless asked.
Need intent/<slug>/intent.md with status: accepted (for tier: critical that acceptance includes its ## Spec). If a choice that changes architecture, safety or acceptance is still open, ask the user one question; otherwise state your assumption and continue.
Working agreements
- Lanes. Default: the current checkout, one intent at a time. Independent intents (disjoint files, no shared contract or migration order) may run in parallel, one worktree each at
$(git rev-parse --show-toplevel)/.worktrees/<slug>, inside the repository and never in the folder that holds your projects (add it to.git/info/excludeif not ignored; anchor the root once, never nest), merged into the main branch by fast-forward or rebase when verified. No integration branches. A worktree is not isolation: concurrent services need their own database, compose project and ports, via the product's existing worktree setup. - Subagents. Use them for read-only research or disjoint parallel work when that saves wall-clock or main-context size, with a bounded objective each. Do not fan out a swarm; coordination has a cost.
- After a restart or interruption, re-read
intent.md,git statusand the ticked steps before continuing. A past dispatch is not proof that work ran. - Ownership. Record
git status --shortbefore writing. Others' dirty files are theirs; never reset, stash or stage them. - YAGNI. Reuse existing code and patterns, then installed dependencies or the platform. Add a dependency or abstraction only for a demonstrated gap. Keep validation, error handling, security and accessibility.
- No unrequested scope. No new screens, required inputs or gates the user did not ask for. If one seems necessary, stop and present the tradeoff.
- Commits. One commit per coherent step, with the step's checkbox ticked in the same commit as its code. Conventional Commits:
type(scope): imperative summary, blank line, one sentence of why. No commits that only record verification.