Skip to main content

sdd-spec

Use when a feature request needs turning into a spec. The user pastes a feature request, names a work item such as LEGE-3 or ITEM-2, asks to specify, define or write requirements, rules, examples, scenarios or acceptance criteria, or says 'spec this'. First step of the kit: spec, plan, tasks, implement. Writes the rules and examples to the work item (Plane or .sdd/<ID>/item.md) and to a Gherkin feature file, together.

Jump to install

Source facts

Repository
SmidigStorm/kurs-produktutvikling
Last source activity
September 19, 2026 at 21:11
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
3 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
sdd-spec
description
Use when a feature request needs turning into a spec. The user pastes a feature request, names a work item such as LEGE-3 or ITEM-2, asks to specify, define or write requirements, rules, examples, scenarios or acceptance criteria, or says 'spec this'. First step of the kit: spec, plan, tasks, implement. Writes the rules and examples to the work item (Plane or .sdd/<ID>/item.md) and to a Gherkin feature file, together.
<!-- Copied from skald-sdd/plugins/sdd-lite by scripts/sync-sdd-lite.sh — edit there, not here. --> # Spec Turn one feature request into rules and concrete examples a developer could build without guessing, in the work item and the feature file at once. A short Example Mapping session with the pair: you propose, they decide. It runs in one of two ways, and the pair picks which: an **interview**, one question at a time, or a **workshop dump**, where the pair pastes what a requirements workshop produced and you work from that. Read `references/backlog.md` first for the config, the item template and both backlog modes, and `references/gherkin.md` before writing a scenario. ## 1. Setup Read `.sdd/config.json`; if it is missing, create it as `references/backlog.md` describes. Find the request. It is one of: - **An ID** such as `LEGE-3` or `ITEM-2`. Read the item: in Plane with `workitem` `retrieve_by_identifier`, or `list` with the config's `project_id` if the pair only remembers the title; in markdown mode from `.sdd/<ID>/item.md`. Rules already there means a *revision*: start from what it says. - **Text**, a pasted feature request. The item is created when you write in §5, not before. Read in parallel every file in `features/`, for the phrasing to reuse and what the app already does, plus the item if there is one. Do not read the application code or `e2e/steps/`: code pulls the spec toward whatever the app does today, and `sdd-implement` writes whatever steps the scenarios need. ## 1a. Interview or workshop dump Ask once, before proposing anything: **"Interview, or do you have notes from a requirements workshop to paste?"** Recommend the interview when all you have is a short request, and the dump when the pair says they have talked it through with the product owner already. - **Interview:** §2, then §3, one question per message. - **Workshop dump:** the pair pastes the notes, in whatever shape they are: decisions, examples, a transcript, a photo's worth of sticky notes typed up. Read them the way you read the item. Then §2 as usual, but everything the notes settle is stated as fact and credited to the workshop, and the unclear list holds only what the notes do not settle. Instead of §3, put that whole list in **one message**, each question with your recommended answer, and take the answers in one reply. "Don't know" still becomes an open question, and "make up the rest" still works. Either way the result is the same: the rules and examples, written to both copies in §5. ## 2. Propose In one message, propose: - the story, as "as a …, I want …, so that …" - the rules: the smallest set that makes the request testable, and what you left out - one or two examples per rule, as Gherkin, in the phrasing the existing feature files use - what is unclear State as fact anything you can find out by reading the features, the steps or the item. Only what you cannot find out, and that would change what gets built, is unclear. ## 3. Ask, one question at a time Interview mode only; the workshop dump takes its questions in one message (§1a). Work through the unclear list one question per message. Each question carries your recommended answer and one line of why, so the pair can just say yes. "Don't know" is a good answer: it becomes an open question for the product owner, in the pair's words, specific enough to answer in one sentence ("Do two red arrivals keep their arrival order?", not "clarify the red rule"). Fold each answer into the rules and examples as you go. Stop when the list is empty. ### Make up the rest If the pair says *"make up the rest"*, *"just finish it"*, *"guess"* or anything like it, stop asking. Choose the answer you would recommend for every question still open and record it as an assumption: under `## Assumptions` in the item, and as an `@assumption` tag on every scenario resting on one. Assumptions count as settled, so `sdd-plan` and `sdd-implement` build on them without stopping. The tag lets the pair find them again (`grep -rn @assumption features/`) and check which guesses were wrong. ## 4. Open questions block the feature file While open questions are left, write the item but not the feature file: story, rules, examples so far, and `## Open questions`. Status stays *Backlog*. Tell the pair to take the questions to the product owner and run `sdd-spec <ID>` again with the answers, or to say "make up the rest". ## 5. Write both copies Only once no open questions are left. Both in one step: **The item.** - Plane: a new request is `workitem` `create` with the config's `planeProjectId`, a short title and `description_html`; an existing item is `workitem` `update`. Move it to Todo by reading `state` `list` and passing the state id to `workitem` `update`. - Markdown: `.sdd/ITEM-<next>/item.md` for a new request, an update for an existing one. `Status: Todo`. **The feature file**, at `features/<capability>.feature`, named for the capability in two or three words (`triage-explanation.feature`, not the item's ID or title), following `references/gherkin.md`. Same rules, same examples, same order as the item. If the file exists, show the diff and ask before overwriting. **The branch.** Settle it as `references/backlog.md` describes: stay on whatever branch the pair is on, and only from `main` create `<pair>` and switch. Then commit the feature file and anything under `.sdd/<ID>/` as `spec: <ID> <title>`. Do not push. ## 6. Cold read Dispatch the spec-reviewer agent, `spec-reviewer`, or `sdd-lite:spec-reviewer` as a plugin. Give it the feature file path, the `.sdd/<ID>/` folder path and, in Plane mode, the item's text: read it back with `workitem` `retrieve_by_identifier` and `fields: description_html`, pasted into the brief, because the agent has no Plane tools. Nothing else. It has not seen this conversation, which is the point. Then apply the fixes yourself, before showing anything. For every finding, choose the answer you would recommend and write it into both copies. A finding that only tightens what was already decided (a missing assertion, a word the prose and the scenario disagree on) is just applied. One that settles something the pair never decided is applied *and* recorded as an assumption, as in "Make up the rest". One that would widen the item is not applied; list it as a candidate item. Commit again as `spec: <ID> after review`. Then show the pair one table: each finding, what you changed for it (or "left out, candidate item"), and whether it is an assumption. Anything they change goes into both copies and is committed. If the reviewer finds nothing material, say so. ## 7. Hand off One message: the ID, where the item is (a Plane link or `item.md`), the feature file, any assumptions, and the next step, `sdd-plan <ID>`. ## Rules - **One question per message** in §3, never a list. - **Propose, don't interview.** Every question carries a recommended answer. - **Never answer an open question yourself,** unless the pair said "make up the rest", and then every guess is marked. - **Both copies, every time.** §4 is the only exception, where there is no feature file yet. - **Don't narrate.** No "now I'll read the steps". Do it, then report.
View on GitHub