mirror of
https://github.com/AmanTahiliani/box-box.git
synced 2026-08-07 11:54:59 -04:00
31 lines
1.6 KiB
Markdown
31 lines
1.6 KiB
Markdown
---
|
||
name: write-spec
|
||
description: 'Render a groomed design into the box-box Ready-spec template and write it into a GitHub issue body, then set Effort and Priority. Called by /groom after a grill session, or run standalone as "/write-spec <issue-number>" to (re)write an issue''s spec from agreed decisions. Does not change Stage.'
|
||
argument-hint: <issue-number>
|
||
---
|
||
|
||
# /write-spec — write the Ready spec into an issue
|
||
|
||
Target issue: **$ARGUMENTS** (box-box, Project #2).
|
||
|
||
## Steps
|
||
1. `source .agents/lib/gh.sh`
|
||
2. Gather the agreed design decisions: from the current grooming conversation if one
|
||
is in progress; otherwise ask the user for the key points, or read the issue and
|
||
explore the code to draft them and confirm.
|
||
3. Read `.agents/prompts/ready-spec.md` and fill every placeholder:
|
||
- Concrete, **behavioural** acceptance criteria (checkboxes).
|
||
- Technical approach grounded in **real files/paths** and the chosen data source.
|
||
- Test plan mapped to the actual suites (`go test` · `vitest` · hermetic Playwright).
|
||
- Explicit out-of-scope.
|
||
- Keep the Definition of Done checklist verbatim.
|
||
- Stamp the footer: date (from the current-date context), Effort (S/M/L),
|
||
Priority (P0–P2).
|
||
4. Write it into the issue body: save the filled template to a temp file under the
|
||
scratchpad and `set_issue_body <n> <file>`. The spec is the single source of truth —
|
||
only preserve prior body text that captures decisions the spec doesn't.
|
||
5. Set fields: `set_effort <n> <S|M|L>` and `set_priority <n> <P0|P1|P2>`.
|
||
6. Print the issue URL and a one-line summary of what was written.
|
||
|
||
Do **not** change Stage — `/groom` owns state transitions.
|