From sdd
Guides structured requirements gathering via questions to produce complete specification documents through non-blocking conversational interaction.
npx claudepluginhub liorcohen/sdd --plugin sddThis skill uses the workspace's default tool permissions.
Guide users through structured requirements gathering to create comprehensive specifications. This skill is used for **ALL** spec creation - both interactive and external spec paths.
Creates specification documents via adaptive multi-round interviews with proactive recommendations and optional research. Activates on 'create spec', 'new spec', or similar phrases.
Turns vague goals into structured requirements.md via systematic interview across business/user/tech axes, extraction, and cross-check. Outputs for /blueprint in greenfield/feature/refactor/bugfix formats.
Share bugs, ideas, or general feedback.
Guide users through structured requirements gathering to create comprehensive specifications. This skill is used for ALL spec creation - both interactive and external spec paths.
A new session must be able to resume solicitation with ZERO knowledge of prior conversation. All required information is stored in solicitation-workflow.yaml:
CRITICAL: Never lock the user out of reading your output before they can respond.
NEVER:
ALWAYS:
When processing a task from external spec decomposition:
context.md (extracted section from external spec with transformation data)When processing a purely interactive change:
Even if the external spec says nothing about the technical implementation, the solicitation MUST cover all technical aspects. The solicitation adds the technical dimension that product specs lack. However, component discovery already identifies WHICH components are needed - solicitation asks about HOW they should work, not WHICH ones to use.
CRITICAL: Every question asked and every answer received MUST be recorded in the SPEC.md Requirements Discovery section.
This includes:
Schema: schemas/input.schema.json
Accepts change ID, workflow ID, optional context path, and resume flag.
Schema: schemas/output.schema.json
Returns success status, complete SPEC.md content, save path, and review status.
For detailed guidance, read these on-demand:
After spec generation:
workflow_state.save_spec()spec_review via workflow_state.update_status()workflow_state.ready_for_review()During spec review, when user provides feedback:
review_feedback array of solicitation-workflow.yamlUser: /sdd I want to create a new feature
Agent: Starting spec solicitation for: user-auth
Step 1: Context & Goal
What problem does this solve?
User: Users can't log in securely
Agent: Who is the primary user?
User: End users of the application
Agent: What's the expected outcome?
User: Secure login with session management
[... continues through all steps ...]
Agent: Generating SPEC.md from collected requirements...
Agent: Spec created at: changes/2026/02/05/a1b2c3-user-auth/01-user-auth/SPEC.md
Agent: Please review the spec. When satisfied, tell me: /sdd I want to approve the spec
User: /sdd I want to continue
Agent: Resuming workflow a1b2c3 (user-auth)
Agent: Current item: API Contracts (user-auth-1)
Agent: Loading context...
Step 1: Context & Goal
Based on the provided context, this appears to be about:
- Building interfaces for user authentication
- Including login, logout, and session refresh
Is that correct? (yes/no/modify)
User: yes, but also add password reset
Agent: Got it. Adding password reset to the requirements.
[... continues with context-aware questions ...]
User: /sdd I want to continue
Agent: Resuming spec solicitation for: Auth Contracts (user-auth-1)
Previously collected:
- Problem: User authentication needs service interfaces
- Primary user: Interface consumers
- Expected outcome: Auth operations interface
- Requirements: 3 collected (login, logout, refresh)
Continuing from: Step 5 - Acceptance Criteria
For the requirement "Users can login with email and password":
What acceptance criteria should we have? (Given/When/Then format)
User: Given valid credentials, when user submits login form, then they receive a session token
[... continues ...]
This skill uses:
workflow-state skill — delegates for persistent state: reads item context via get_context(change_id), saves generated SPEC.md via save_spec(change_id, content), updates item status via update_status(change_id, status)spec-writing skill — validates output against SPEC.md section requirements (not a runtime dependency)