spec-designlisted
Install: claude install-skill komluk/scaffolding
# OpenSpec Design & Tasks Writing
Guide for creating `design.md` (WHAT + HOW) and `tasks.md` (implementation checklist).
## Prerequisite
Read `{specs_path}/proposal.md` first. Reference its capabilities and impact sections.
**Path Enforcement**: The `specs_path` MUST be `.scaffolding/conversations/{UUID}/specs/` where `{UUID}` is a valid UUID (format: `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`). NEVER use descriptive folder names.
## design.md
### Output Path
Write to: `{specs_path}/design.md`
### Required Sections
| Section | Purpose | Format |
|---------|---------|--------|
| **Context** | Background, current state, constraints | Prose |
| **Goals / Non-Goals** | Scope boundaries | Bullet lists |
| **Specifications** | Requirements + scenarios | GIVEN/WHEN/THEN |
| **Decisions** | Technical choices + rationale | Decision: Why X over Y |
| **Risks / Trade-offs** | Known limitations | [Risk] -> Mitigation |
| **Migration Plan** | Deploy + rollback steps | Checklist (if applicable) |
| **Open Questions** | Unresolved items | Numbered list |
### Specification Format
```markdown
### Requirement: user-session-timeout
The system SHALL terminate idle sessions after 30 minutes.
#### Scenario: session expires after inactivity
- **GIVEN** a user has an active session
- **WHEN** no activity occurs for 30 minutes
- **THEN** the session is invalidated and user is redirected to login
```
Rules:
- Use SHALL/MUST for normative requirements (avoid should/may)
- Every requirement M