From lite-sdd
Lite-SDD specification authoring. Use when the user wants to write or update a specification — the functional source of truth — before code is written. Also use when the user describes a feature or change that should be captured as a spec in a lite-sdd project.
How this skill is triggered — by the user, by Claude, or both
Slash command
/lite-sdd:lite-sdd-specifyThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Write or update a `spec.md` — the functional source of truth the implementation is
Write or update a spec.md — the functional source of truth the implementation is
planned against and kept in sync with. One spec.md lives in each feature folder
(specs/NNN-feature-name/spec.md); for the folder and numbering rules see
lite-sdd-overview → ## Repository layout.
A spec is functional, concise, and exhaustive — see the global principles in
lite-sdd-overview. It must be short enough that a human validates it quickly and
precise enough that an agent builds from it without guessing.
spec.md# NNN — <Feature title>
## Scope
One short paragraph: what this feature covers and what it explicitly does not
(point to the sibling features that own the rest).
---
## US-NNN-01 — <User story title>
**As a** <role>, **I want** <capability>, **so that** <outcome>.
### Behaviour
The business rules, stated tightly. Use tables for branching rules, diagrams
for flows or layouts. Every rule the implementation must honour appears here.
### Acceptance criteria
- [ ] One checkable statement per rule
- [ ] …
### Edge cases
| Case | Expected behaviour |
|---|---|
| … | … |
---
## US-NNN-02 — …
specs/README.md index in syncspecs/README.md is the project's table of contents (owned by lite-sdd-overview →
### The specs/README.md index). Every time you write or update a spec.md, update
the index in the same pass so navigation never drifts from the specs:
*00 block, in numeric order.US-NNN-NN
line under the feature, and check the heading anchor the link points to still
resolves (## US-NNN-01 — Creation → #us-nnn-01--creation).*00 block → add its level-0 node (and its ## NNN — <App> section).The index is links only — titles and US numbers, never behaviour. The rules
themselves stay in the spec.md files.
A spec evolves over time — a new US, a changed behaviour, a rule pinned down after a
bug. It always describes the state you want now, not how it got there. When a
behaviour changes, rewrite the affected part: do not keep the old version,
changelogs, "previously…" notes, or struck-through rules in the spec. Version
history lives in git, not in spec.md.
A finished spec leaves no functional ambiguity. Whenever you detect an edge case, an unspecified behaviour, or any open question about how the feature should work functionally, ask the user — never guess, never quietly pick a default, never defer the decision to implementation time. Fold every answer back into the spec so the next reader (human or agent) finds the rule already written down. Keep raising questions until there is nothing functional left undecided.
*00 application-level specThe *00 spec of a block (100, 200, …) is not structured in user stories.
The user-story layout above applies to feature specs (N01+); a *00 uses
descriptive sections instead. US may be completely absent — that is expected, not
a gap. For what a *00 is and why it may carry technical vocabulary, see
lite-sdd-overview → ## The *00 application-level spec.
A *00 contains:
NNN → topic routing for the block, with cross-references.A *00 does not contain concrete user stories or detailed screens/flows — those
live in the N01+ feature specs, which refer back to the *00 for shared rules.
# N00 — <App name>
## Scope
## Platform / runtime / data source
## Cross-cutting rules
## <Shared layout: header / footer / navigation / …>
## Feature index
The happy-path only and one US per story anti-patterns below do not apply to a
*00 — it need not have any US.
| Anti-pattern | Correct approach |
|---|---|
| Implementation detail in a feature spec | Keep it functional; technical context belongs in the *00 spec |
| Long prose that hides the rules | Tighten to the essential; use tables and diagrams |
| Happy-path only | Every US states its business rules, acceptance criteria and edge cases |
| Repeating behaviour owned by another feature | Reference the feature number and move on |
| One giant US covering several stories | One US per story, each self-contained |
Over-splitting a *00 into fake user stories | Use descriptive sections; a *00 need not have any US |
| Guessing or defaulting an unspecified behaviour / edge case | Ask the user, then write the answer into the spec |
| Keeping the old behaviour, changelog, or "previously…" notes when a rule changes | Rewrite to the desired state; history lives in git |
Adding or renaming a US without touching specs/README.md | Update the index in the same pass; keep US links and anchors current |
lite-sdd-overviewlite-sdd-initlite-sdd-implementProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub tchinnin/lite-sdd --plugin lite-sdd