@onuraslan/sdd 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +184 -0
- package/bin/sdd.js +9 -0
- package/cli/index.js +74 -0
- package/cli/install.js +156 -0
- package/cli/prompts.js +98 -0
- package/cli/skills.js +56 -0
- package/cli/targets.js +69 -0
- package/package.json +23 -0
- package/sdd/plugin.json +10 -0
- package/sdd/skills/chicago-tdd/SKILL.md +26 -0
- package/sdd/skills/deep-spec/SKILL.md +69 -0
- package/sdd/skills/deep-spec/spec-format.md +32 -0
- package/sdd/skills/feature-implementer/SKILL.md +48 -0
- package/sdd/skills/feature-implementer/reference/task-implementer.md +5 -0
- package/sdd/skills/implementer/SKILL.md +11 -0
- package/sdd/skills/prd-test-writer/SKILL.md +86 -0
- package/sdd/skills/prd-test-writer/references/user-story-test-writer-prompt.md +12 -0
- package/sdd/skills/prd-to-task/SKILL.md +51 -0
- package/sdd/skills/prd-to-task/reference/ascii-mock-format.md +67 -0
- package/sdd/skills/prd-to-task/reference/feature-template.md +20 -0
- package/sdd/skills/prd-to-task/reference/task-template.md +63 -0
- package/sdd/skills/spec-to-prd/SKILL.md +76 -0
- package/sdd/skills/spec-to-prd/references/mapping-guide.md +95 -0
- package/sdd/skills/spec-to-prd/references/prd-format.md +122 -0
- package/sdd/skills/workflow-generator/SKILL.md +60 -0
- package/sdd/skills/workflow-generator/reference/workflow-bug-fix-backend.md +35 -0
- package/sdd/skills/workflow-generator/reference/workflow-bug-fix-frontend.md +34 -0
- package/sdd/skills/workflow-generator/reference/workflow-enhancement-backend.md +35 -0
- package/sdd/skills/workflow-generator/reference/workflow-enhancement-frontend.md +34 -0
- package/sdd/skills/workflow-generator/reference/workflow-feature-development-backend.md +105 -0
- package/sdd/skills/workflow-generator/reference/workflow-feature-frontend-development.md +78 -0
- package/sdd-backend/plugin.json +10 -0
- package/sdd-backend/skills/backend-enhancement/SKILL.md +54 -0
- package/sdd-backend/skills/bug-fix-backend/SKILL.md +21 -0
- package/sdd-backend/skills/verify-with-curl/SKILL.md +8 -0
- package/sdd-frontend/.mcp.json +8 -0
- package/sdd-frontend/plugin.json +10 -0
- package/sdd-frontend/skills/bug-fix-frontend/SKILL.md +15 -0
- package/sdd-frontend/skills/feature-e2e-verifier/SKILL.md +64 -0
- package/sdd-frontend/skills/feature-e2e-verifier/reference/e2e-verifier.md +17 -0
- package/sdd-frontend/skills/frontend-enhancement/SKILL.md +44 -0
- package/sdd-frontend/skills/git-cleanup-playwright-artifacts/SKILL.md +7 -0
- package/sdd-frontend/skills/ui-heuristic-click-audit/SKILL.md +168 -0
- package/sdd-frontend/skills/ui-heuristic-click-audit/references/checklist.md +72 -0
- package/sdd-frontend/skills/using-playwright-mcp/SKILL.md +7 -0
- package/sdd-frontend/skills/verify-with-playwright-mcp/SKILL.md +14 -0
- package/sdd-utility/plugin.json +10 -0
- package/sdd-utility/skills/ask-first/SKILL.md +30 -0
- package/sdd-utility/skills/buy-before-build/SKILL.md +11 -0
- package/sdd-utility/skills/code-slop-review/SKILL.md +134 -0
- package/sdd-utility/skills/code-slop-review/references/agent-prompt.md +110 -0
- package/sdd-utility/skills/code-slop-review/references/aggregate-and-report.md +62 -0
- package/sdd-utility/skills/code-slop-review/references/architecture-slop.md +126 -0
- package/sdd-utility/skills/code-slop-review/references/dead-code-slop.md +107 -0
- package/sdd-utility/skills/code-slop-review/references/error-handling-slop.md +101 -0
- package/sdd-utility/skills/code-slop-review/references/final-report-template.md +55 -0
- package/sdd-utility/skills/code-slop-review/references/fix-mode.md +68 -0
- package/sdd-utility/skills/code-slop-review/references/structural-slop.md +150 -0
- package/sdd-utility/skills/code-slop-review/references/test-slop.md +88 -0
- package/sdd-utility/skills/gap-analysis/SKILL.md +7 -0
- package/sdd-utility/skills/glossary-builder/SKILL.md +28 -0
- package/sdd-utility/skills/grounded-mode/SKILL.md +13 -0
- package/sdd-utility/skills/handoff/SKILL.md +67 -0
- package/sdd-utility/skills/handoff-resume/SKILL.md +15 -0
- package/sdd-utility/skills/init-feature/SKILL.md +63 -0
- package/sdd-utility/skills/init-feature/references/explorer-prompt.md +58 -0
- package/sdd-utility/skills/init-feature/references/prd-format.md +122 -0
- package/sdd-utility/skills/init-feature/references/prd-writer-prompt.md +23 -0
- package/sdd-utility/skills/using-glossary/SKILL.md +11 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Spec to PRD Mapping Guide
|
|
2
|
+
|
|
3
|
+
Maps `spec.md` design decisions to PRD sections.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Mapping Table
|
|
8
|
+
|
|
9
|
+
| spec.md Element | → | PRD Section | Notes |
|
|
10
|
+
|-----------------|---|-------------|-------|
|
|
11
|
+
| `# Feature: [Name]` | → | PRD Title | Use as `# PRD: [Feature Name]` |
|
|
12
|
+
| `## Overview` | → | Section 1: Executive Summary | Condense to 2-3 sentences, remove jargon |
|
|
13
|
+
| Design decisions (problem context) | → | Section 2: Problem Statement | Extract pain points and impact |
|
|
14
|
+
| Design decisions (goals) | → | Section 3: Goals & Objectives | Convert to measurable outcomes |
|
|
15
|
+
| Design decisions (functional) | → | Section 6: Functional Requirements | One FR per distinct capability |
|
|
16
|
+
| Design decisions (technical) | → | Section 9: Technical Considerations | Translate to stakeholder-friendly language |
|
|
17
|
+
| Design decision rationales | → | Throughout | Use as context for why requirements exist |
|
|
18
|
+
| `## Visual Mock` | → | Section 8.1: Wireframes / Mockups | Copy or reference |
|
|
19
|
+
| Trade-offs mentioned | → | Section 9.2: Technical Constraints | Document as constraints |
|
|
20
|
+
| Constraints/Assumptions | → | Section 9.2: Technical Constraints | Or Section 3.2: Non-Goals if scope-related |
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Inference Rules
|
|
25
|
+
|
|
26
|
+
When spec.md doesn't explicitly state something, infer from context:
|
|
27
|
+
|
|
28
|
+
### Deriving User Stories
|
|
29
|
+
```
|
|
30
|
+
IF spec mentions "users need to X" or "allows Y"
|
|
31
|
+
THEN create user story: "As a [relevant user], I want to [action], so that [benefit from rationale]"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Extracting Acceptance Criteria
|
|
35
|
+
```
|
|
36
|
+
FOR EACH design decision rationale:
|
|
37
|
+
IF it mentions a condition or behavior
|
|
38
|
+
THEN convert to: "- [System] must [behavior]"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Identifying Success Metrics
|
|
42
|
+
```
|
|
43
|
+
IF spec explicitly mentions a problem like "slow", "error-prone", "manual"
|
|
44
|
+
THEN propose metric for Section 4:
|
|
45
|
+
- Baseline: current state (may need stakeholder input)
|
|
46
|
+
- Target: improved state
|
|
47
|
+
- Method: how to measure
|
|
48
|
+
ELSE
|
|
49
|
+
Leave Section 4 as "TBD - requires stakeholder input"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Prioritization (MoSCoW)
|
|
53
|
+
```
|
|
54
|
+
P0 (Must have): Core feature behavior without which feature doesn't work
|
|
55
|
+
P1 (Should have): Important but feature still delivers value without it
|
|
56
|
+
P2 (Could have): Nice to have, deferable to future iterations
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## spec.md Pattern Recognition
|
|
62
|
+
|
|
63
|
+
### Decision Categories
|
|
64
|
+
|
|
65
|
+
| Category Keywords | Map To |
|
|
66
|
+
|-------------------|--------|
|
|
67
|
+
| "UI", "frontend", "user sees", "display", "wireframe", "mockup" | Section 8.1: Wireframes / Mockups |
|
|
68
|
+
| "content", "messaging", "copy", "tone", "localization" | Section 8.2: Content & Messaging |
|
|
69
|
+
| "goal", "objective", "outcome" | Section 3: Goals |
|
|
70
|
+
| "metric", "measure", "baseline", "target" | Section 4: Success Metrics |
|
|
71
|
+
| "user", "story", "as a" | Section 5: User Stories |
|
|
72
|
+
| "must", "required", "need" | Section 6: Functional Requirements |
|
|
73
|
+
| "performance", "latency", "throughput" | Section 7.1: Performance |
|
|
74
|
+
| "auth", "permission", "access" | Section 7.2: Security |
|
|
75
|
+
| "reliability", "availability", "uptime", "recovery" | Section 7.3: Reliability & Availability |
|
|
76
|
+
| "scale", "load", "concurrent" | Section 7.4: Scalability |
|
|
77
|
+
| "WCAG", "a11y", "screen reader" | Section 7.5: Accessibility |
|
|
78
|
+
| "API", "integration", "external" | Section 9.1: Integration Points |
|
|
79
|
+
| "constraint", "limitation", "trade-off" | Section 9.2: Technical Constraints |
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Gap Detection
|
|
84
|
+
|
|
85
|
+
Report these gaps to the user:
|
|
86
|
+
|
|
87
|
+
| Missing from spec.md | PRD Section Affected | Action |
|
|
88
|
+
|----------------------|---------------------|--------|
|
|
89
|
+
| No problem context | Section 2 | Mark "TBD - add problem statement to spec.md" |
|
|
90
|
+
| No goals/outcomes | Section 3 | Mark "TBD - define success metrics" |
|
|
91
|
+
| No success metrics/KPIs in spec | Section 4 | Mark "TBD - requires stakeholder input" (do NOT fabricate) |
|
|
92
|
+
| Only technical decisions | Section 5, 6 | Infer from capabilities, flag for review |
|
|
93
|
+
| No constraints | Section 9.2 | Leave blank with "None identified" |
|
|
94
|
+
|
|
95
|
+
---
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# PRD Template
|
|
2
|
+
|
|
3
|
+
Generate the following file at `docs/sdd/features/<feature-name>/prd.md`:
|
|
4
|
+
|
|
5
|
+
```markdown
|
|
6
|
+
# PRD: [Feature Name]
|
|
7
|
+
|
|
8
|
+
| Metadata | Value |
|
|
9
|
+
|----------|-------|
|
|
10
|
+
| Status | Draft / In Review / Approved |
|
|
11
|
+
| Version | 1.0 |
|
|
12
|
+
| Created | YYYY-MM-DD |
|
|
13
|
+
| Owner | [Product Owner / Team] |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. Executive Summary
|
|
18
|
+
|
|
19
|
+
[2-3 sentences summarizing what this feature does and why it matters. Written for executives/stakeholders who won't read the full document.]
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 2. Problem Statement
|
|
24
|
+
|
|
25
|
+
[What user problem or business need does this feature address? Include current pain points and impact.]
|
|
26
|
+
|
|
27
|
+
### 2.1 Current State
|
|
28
|
+
[Describe the current situation without this feature]
|
|
29
|
+
|
|
30
|
+
### 2.2 Desired State
|
|
31
|
+
[Describe the desired situation after this feature is delivered]
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 3. Goals & Objectives
|
|
36
|
+
|
|
37
|
+
### 3.1 Primary Goals
|
|
38
|
+
- [Goal 1: Measurable outcome]
|
|
39
|
+
- [Goal 2: Measurable outcome]
|
|
40
|
+
|
|
41
|
+
### 3.2 Non-Goals
|
|
42
|
+
[What this feature explicitly does NOT do - important for scope management]
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 4. Success Metrics
|
|
47
|
+
|
|
48
|
+
[How will you measure if this feature is successful? Include baseline, target, and time horizon.]
|
|
49
|
+
|
|
50
|
+
| Metric | Baseline | Target | Time Horizon | Measurement Method |
|
|
51
|
+
|--------|----------|--------|--------------|-------------------|
|
|
52
|
+
| [Metric name] | [Current value] | [Target value] | [Timeframe] | [How you'll measure] |
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 5. User Stories
|
|
57
|
+
|
|
58
|
+
| ID | User Story | Acceptance Criteria | Priority |
|
|
59
|
+
|----|------------|---------------------|----------|
|
|
60
|
+
| US-01 | As a [user], I want to [action], so that [benefit] | - [Criterion 1]<br>- [Criterion 2] | Must have / Should have / Could have |
|
|
61
|
+
| US-02 | As a [user], I want to [action], so that [benefit] | - [Criterion 1]<br>- [Criterion 2] | Must have / Should have / Could have |
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 6. Functional Requirements
|
|
66
|
+
|
|
67
|
+
| ID | Requirement | Description | Priority | Dependencies |
|
|
68
|
+
|----|-------------|-------------|----------|--------------|
|
|
69
|
+
| FR-01 | [Title] | [What the system must do] | P0 / P1 / P2 | [Related FR IDs or external deps] |
|
|
70
|
+
| FR-02 | [Title] | [What the system must do] | P0 / P1 / P2 | [Related FR IDs or external deps] |
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 7. Non-Functional Requirements
|
|
75
|
+
|
|
76
|
+
### 7.1 Performance
|
|
77
|
+
- [Response time, throughput, latency requirements]
|
|
78
|
+
|
|
79
|
+
### 7.2 Security
|
|
80
|
+
- [Authentication, authorization, data protection requirements]
|
|
81
|
+
|
|
82
|
+
### 7.3 Reliability & Availability
|
|
83
|
+
- [Uptime, error rate, recovery requirements]
|
|
84
|
+
|
|
85
|
+
### 7.4 Scalability
|
|
86
|
+
- [User load, data volume growth expectations]
|
|
87
|
+
|
|
88
|
+
### 7.5 Accessibility
|
|
89
|
+
- [WCAG compliance level, assistive technology support]
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 8. User Experience & Design
|
|
94
|
+
|
|
95
|
+
### 8.1 Wireframes / Mockups
|
|
96
|
+
[Link to or embed visual designs, or describe key UI states]
|
|
97
|
+
|
|
98
|
+
### 8.2 Content & Messaging
|
|
99
|
+
[Key copy, tone, localization requirements]
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## 9. Technical Considerations
|
|
104
|
+
|
|
105
|
+
[High-level technical approach translated from spec.md design decisions - written for technical stakeholders, not implementation detail]
|
|
106
|
+
|
|
107
|
+
### 9.1 Integration Points
|
|
108
|
+
[External APIs, services, or systems this feature touches]
|
|
109
|
+
|
|
110
|
+
### 9.2 Technical Constraints
|
|
111
|
+
[Hard constraints from the spec that affect product decisions]
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 10. Open Questions
|
|
116
|
+
|
|
117
|
+
| ID | Question | Context | Decision Needed By | Owner |
|
|
118
|
+
|----|----------|---------|-------------------|-------|
|
|
119
|
+
| Q-01 | [Unresolved question] | [Why it matters] | [Date/milestone] | [Role] |
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: workflow-generator
|
|
3
|
+
description: Asks the user what they want to do, determines the correct workflow, and writes it to docs/workflow.md. Use as the entry point for all SDD workflows.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are a workflow generator assistant. Your job is to ask the user what they want to do, determine the correct workflow, and write it to `docs/workflow.md`.
|
|
8
|
+
|
|
9
|
+
## Step 1: Determine Workflow Type
|
|
10
|
+
|
|
11
|
+
Ask the user to choose one of the following:
|
|
12
|
+
```
|
|
13
|
+
**A) Feature Development** — Implementing a new feature from scratch or from a spec
|
|
14
|
+
|
|
15
|
+
**B) Bug Fix** — Fixing a confirmed bug in existing code
|
|
16
|
+
|
|
17
|
+
**C) Enhancement** — Improving or refining an existing feature (UI/UX, performance, usability)
|
|
18
|
+
|
|
19
|
+
**D) I'm not sure — help me decide** — Let the assistant analyze and recommend the best fit
|
|
20
|
+
```
|
|
21
|
+
If the user chooses **D**, ask clarifying questions to determine the right workflow:
|
|
22
|
+
- Is this something entirely new that didn't exist before? → Feature Development
|
|
23
|
+
- Is something broken that should work? → Bug Fix
|
|
24
|
+
- Is something working but could be better? → Enhancement
|
|
25
|
+
|
|
26
|
+
## Step 2: Detect Project Scope
|
|
27
|
+
|
|
28
|
+
auto-detect the project type by looking at the codebase.
|
|
29
|
+
|
|
30
|
+
If auto-detection is inconclusive or the project is full-stack, ask the user:
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
Is this **Backend**, **Frontend**, or **Both**?
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Step 3: Write docs/workflow.md
|
|
37
|
+
|
|
38
|
+
Write the selected workflow to `docs/workflow.md`. Copy the appropriate reference template below into `docs/workflow.md`.
|
|
39
|
+
|
|
40
|
+
**Feature Development:**
|
|
41
|
+
- Backend → [reference/workflow-feature-development-backend.md](reference/workflow-feature-development-backend.md)
|
|
42
|
+
- Frontend → [reference/workflow-feature-frontend-development.md](reference/workflow-feature-frontend-development.md)
|
|
43
|
+
|
|
44
|
+
**Bug Fix:**
|
|
45
|
+
- Backend → [reference/workflow-bug-fix-backend.md](reference/workflow-bug-fix-backend.md)
|
|
46
|
+
- Frontend → [reference/workflow-bug-fix-frontend.md](reference/workflow-bug-fix-frontend.md)
|
|
47
|
+
|
|
48
|
+
**Enhancement:**
|
|
49
|
+
- Backend → [reference/workflow-enhancement-backend.md](reference/workflow-enhancement-backend.md)
|
|
50
|
+
- Frontend → [reference/workflow-enhancement-frontend.md](reference/workflow-enhancement-frontend.md)
|
|
51
|
+
|
|
52
|
+
## Step 4: Confirm and Next Steps
|
|
53
|
+
|
|
54
|
+
After writing the file, report to the user:
|
|
55
|
+
- Which workflow was written
|
|
56
|
+
- Where it was saved (`docs/workflow.md`)
|
|
57
|
+
- How many steps/skills are in the workflow
|
|
58
|
+
- Reminder to follow the steps in order, running each skill sequentially
|
|
59
|
+
|
|
60
|
+
Next step: `/docs/workflow.md` — user should follow the steps in the written workflow file.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Workflow: Bug Fix (Backend)
|
|
2
|
+
|
|
3
|
+
> Generated by workflow-gateway
|
|
4
|
+
|
|
5
|
+
## Steps
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/clear
|
|
9
|
+
/sdd:bug-fix-backend `<bug fix definition>`
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
→ **Human review** — Check fix, approve
|
|
13
|
+
|
|
14
|
+
(optional) Verify:
|
|
15
|
+
```
|
|
16
|
+
/sdd:verify-with-curl
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
→ **Human review** — Approve verification
|
|
20
|
+
|
|
21
|
+
## optional (at the end)
|
|
22
|
+
|
|
23
|
+
Gap analysis:
|
|
24
|
+
```
|
|
25
|
+
/sdd-utilty:gap-analysis
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
→ **Human review** — Review gaps, approve fixes
|
|
29
|
+
|
|
30
|
+
Code slop review:
|
|
31
|
+
```
|
|
32
|
+
/sdd-utilty:code-slop-review
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
→ **Human review** — Review findings, decide what to fix
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Workflow: Bug Fix (Frontend)
|
|
2
|
+
|
|
3
|
+
> Generated by workflow-gateway
|
|
4
|
+
|
|
5
|
+
## Steps
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/clear
|
|
9
|
+
/sdd:bug-fix-frontend `<bug fix definition>`
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
→ **Human review** — Check fix, approve
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/sdd:verify-with-playwright-mcp
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
→ **Human review** — Approve verification
|
|
19
|
+
|
|
20
|
+
## optional (at the end)
|
|
21
|
+
|
|
22
|
+
Gap analysis:
|
|
23
|
+
```
|
|
24
|
+
/sdd-utilty:gap-analysis
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
→ **Human review** — Review gaps, approve fixes
|
|
28
|
+
|
|
29
|
+
Code slop review:
|
|
30
|
+
```
|
|
31
|
+
/sdd-utilty:code-slop-review
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
→ **Human review** — Review findings, decide what to fix
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Workflow: Enhancement (Backend)
|
|
2
|
+
|
|
3
|
+
> Generated by workflow-gateway
|
|
4
|
+
|
|
5
|
+
## Steps
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/clear
|
|
9
|
+
/sdd:enhancement-backend `<enhancement definition>`
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
→ **Human review** — Check plan, approve implementation
|
|
13
|
+
|
|
14
|
+
(optional) Verify:
|
|
15
|
+
```
|
|
16
|
+
/sdd:verify-with-curl
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
→ **Human review** — Approve verification
|
|
20
|
+
|
|
21
|
+
## optional (at the end)
|
|
22
|
+
|
|
23
|
+
Gap analysis:
|
|
24
|
+
```
|
|
25
|
+
/sdd-utilty:gap-analysis
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
→ **Human review** — Review gaps, approve fixes
|
|
29
|
+
|
|
30
|
+
Code slop review:
|
|
31
|
+
```
|
|
32
|
+
/sdd-utilty:code-slop-review
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
→ **Human review** — Review findings, decide what to fix
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Workflow: Enhancement (Frontend)
|
|
2
|
+
|
|
3
|
+
> Generated by workflow-gateway
|
|
4
|
+
|
|
5
|
+
## Steps
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/clear
|
|
9
|
+
/sdd:enhancement-frontend `<enhancement definition>`
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
→ **Human review** — Check plan, approve implementation
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/sdd:verify-with-playwright-mcp
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
→ **Human review** — Approve verification
|
|
19
|
+
|
|
20
|
+
## optional (at the end)
|
|
21
|
+
|
|
22
|
+
Gap analysis:
|
|
23
|
+
```
|
|
24
|
+
/sdd-utilty:gap-analysis
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
→ **Human review** — Review gaps, approve fixes
|
|
28
|
+
|
|
29
|
+
Code slop review:
|
|
30
|
+
```
|
|
31
|
+
/sdd-utilty:code-slop-review
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
→ **Human review** — Review findings, decide what to fix
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Workflow: Feature Development (Backend)
|
|
2
|
+
|
|
3
|
+
> Generated by workflow-gateway
|
|
4
|
+
|
|
5
|
+
## Steps
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/clear
|
|
9
|
+
/sdd:deep-spec @<what you want>
|
|
10
|
+
/sdd:spec-to-prd
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
→ **Human review** — Check spec, handle open questions, approve PRD
|
|
14
|
+
|
|
15
|
+
→ Check PRD size: [small PRD](#small-prd) | [large PRD](#large-prd)
|
|
16
|
+
|
|
17
|
+
## small scope
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/clear
|
|
21
|
+
/implementer @<prd-path>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
(optional) Verify:
|
|
25
|
+
```
|
|
26
|
+
/sdd:verify-with-curl
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
→ **Human review** — Approve API verification
|
|
30
|
+
|
|
31
|
+
## large PRD
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
/sdd:prd-to-task @<prd-path>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
→ **Human review** — Check task breakdown in feature.md
|
|
38
|
+
|
|
39
|
+
For each task in `feature.md` (respect dependency order, in sequence):
|
|
40
|
+
|
|
41
|
+
### Task 1
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
/clear
|
|
45
|
+
/sdd:chicago-tdd @<task-path>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
→ **Human review** — Verify task implementation
|
|
49
|
+
|
|
50
|
+
(optional) Verify:
|
|
51
|
+
```
|
|
52
|
+
/sdd:verify-with-curl
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
→ **Human review** — Approve verification
|
|
56
|
+
|
|
57
|
+
### Task 2
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
/clear
|
|
61
|
+
/sdd:chicago-tdd @<task-path>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
→ **Human review** — Verify task implementation
|
|
65
|
+
|
|
66
|
+
(optional) Verify:
|
|
67
|
+
```
|
|
68
|
+
/sdd:verify-with-curl
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
→ **Human review** — Approve verification
|
|
72
|
+
|
|
73
|
+
## verify all (at the end)
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
/clear
|
|
77
|
+
/sdd:feature-e2e-verifier @<prd-path>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
→ **Human review** — Approve E2E verification
|
|
81
|
+
|
|
82
|
+
(optional)
|
|
83
|
+
|
|
84
|
+
## optional (all at the end)
|
|
85
|
+
|
|
86
|
+
PRD test writer (for acceptance tests):
|
|
87
|
+
```
|
|
88
|
+
/sdd:prd-test-writer @<prd-path>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
→ **Human review** — Approve acceptance tests
|
|
92
|
+
|
|
93
|
+
Gap analysis:
|
|
94
|
+
```
|
|
95
|
+
/sdd-utilty:gap-analysis
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
→ **Human review** — Review gaps, approve fixes
|
|
99
|
+
|
|
100
|
+
Code slop review:
|
|
101
|
+
```
|
|
102
|
+
/sdd-utilty:code-slop-review
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
→ **Human review** — Review findings, decide what to fix
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Workflow: Feature Frontend Development
|
|
2
|
+
|
|
3
|
+
> Generated by workflow-gateway
|
|
4
|
+
|
|
5
|
+
## Steps
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/clear
|
|
9
|
+
/sdd:deep-spec @<what you want>
|
|
10
|
+
/sdd:spec-to-prd
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
→ **Human review** — Check spec, handle open questions, approve PRD
|
|
14
|
+
|
|
15
|
+
→ Check PRD size: [small PRD](#small-prd) | [large PRD](#large-prd)
|
|
16
|
+
|
|
17
|
+
## small scope
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/clear
|
|
21
|
+
/implementer @<prd-path>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
(optional) Verify:
|
|
25
|
+
```
|
|
26
|
+
/sdd:verify-with-playwright-mcp
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
→ **Human review** — Verify implementation and verification
|
|
30
|
+
|
|
31
|
+
## large PRD
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
/sdd:prd-to-task @<prd-path>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
→ **Human review** — Check task breakdown in feature.md
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
/clear
|
|
41
|
+
/sdd:feature-implementer @<feature-path>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
→ **Human review** — Verify implementation
|
|
45
|
+
|
|
46
|
+
## verify all (at the end)
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
/clear
|
|
50
|
+
/sdd:feature-e2e-verifier @<prd-path>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
→ **Human review** — Approve E2E verification
|
|
54
|
+
|
|
55
|
+
(optional)
|
|
56
|
+
|
|
57
|
+
## optional (all at the end)
|
|
58
|
+
|
|
59
|
+
PRD test writer (for acceptance tests):
|
|
60
|
+
```
|
|
61
|
+
/sdd:prd-test-writer @<prd-path>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
→ **Human review** — Approve acceptance tests
|
|
65
|
+
|
|
66
|
+
Gap analysis:
|
|
67
|
+
```
|
|
68
|
+
/sdd-utilty:gap-analysis
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
→ **Human review** — Review gaps, approve fixes
|
|
72
|
+
|
|
73
|
+
Code slop review:
|
|
74
|
+
```
|
|
75
|
+
/sdd-utilty:code-slop-review
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
→ **Human review** — Review findings, decide what to fix
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "sdd-backend",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "Backend development skills for API, database, and server-side logic with unit testing.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name":"Onur ASLAN"
|
|
7
|
+
},
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"homepage": "https://github.com/onur-aslan/sdd"
|
|
10
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: backend-enhancement
|
|
3
|
+
description: Guide backend feature enhancement through interview and implementation steps.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Workflow
|
|
8
|
+
|
|
9
|
+
### Step 1. Interview
|
|
10
|
+
|
|
11
|
+
Announce: `Current Step: Step 1 Interview Next Step: Step 2 Enhance`
|
|
12
|
+
|
|
13
|
+
Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. Ask very detailed design questions. Expose hidden assumptions. Ask the questions one at a time. Do not use AskUserQuestion Tool. Provide Ascii Mock for each options of a question and your recommended answer.
|
|
14
|
+
|
|
15
|
+
After interview present a detailed plan in the following format:
|
|
16
|
+
|
|
17
|
+
```markdown
|
|
18
|
+
# Plan Format
|
|
19
|
+
|
|
20
|
+
## ASCII Mock Preview (Before/After)
|
|
21
|
+
|
|
22
|
+
[Visual comparison using ASCII Mock Preview]
|
|
23
|
+
|
|
24
|
+
## Components Affected
|
|
25
|
+
|
|
26
|
+
- [Component/File path 1]
|
|
27
|
+
- [Component/File path 2]
|
|
28
|
+
|
|
29
|
+
## Views Affected
|
|
30
|
+
|
|
31
|
+
- [View/Page path 1]
|
|
32
|
+
- [View/Page path 2]
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Wait for user confirmation** on the plan before proceeding to Step 2.
|
|
37
|
+
|
|
38
|
+
### Step 2. Enhance
|
|
39
|
+
|
|
40
|
+
Announce: `Current Step: Step 2 Enhance Next Step: Done`
|
|
41
|
+
|
|
42
|
+
Follow this process for each enhancement:
|
|
43
|
+
|
|
44
|
+
1. **Write failing test** - Write a **unit test** that exercises the new or changed code path:
|
|
45
|
+
- Test should exercise the real code path being enhanced
|
|
46
|
+
- Mock only external boundaries (database, external APIs, file system)
|
|
47
|
+
- No internal mocks - test through the real service/controller layer
|
|
48
|
+
- Verify the test FAILS before proceeding
|
|
49
|
+
|
|
50
|
+
2. **Fix** - Implement the minimal possible fix to make the test pass
|
|
51
|
+
|
|
52
|
+
Ensure the build passes without errors after completing the changes.
|
|
53
|
+
|
|
54
|
+
After completing the changes, invoke the `verify-with-curl` skill to validate and auto-fix any issues.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bug-fix-backend
|
|
3
|
+
description: Fix backend bugs by reproducing them with a failing test and the smallest fix.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
You are a senior backend engineer. Your only job is to fix bugs — nothing else. When given a bug, write a failing unit test first, then apply the smallest possible fix.
|
|
7
|
+
|
|
8
|
+
**Workflow:**
|
|
9
|
+
1. **Write failing test** - Write a **unit test** that reproduces the bug:
|
|
10
|
+
- Test should exercise the real code path that is buggy
|
|
11
|
+
- Mock only external boundaries (database, external APIs, file system)
|
|
12
|
+
- No internal mocks - test through the real service/controller layer
|
|
13
|
+
- Verify the test FAILS before proceeding
|
|
14
|
+
2. **Analyze and propose solutions** - Analyze the root cause and identify possible fix approaches:
|
|
15
|
+
- Present 2-3 viable solution options to the user
|
|
16
|
+
- For each option, explain: trade-offs, risks, effort, and long-term implications
|
|
17
|
+
- Wait for user to select which solution to implement
|
|
18
|
+
3. **Fix** - Implement the user-selected solution as the smallest possible fix to make the test pass
|
|
19
|
+
|
|
20
|
+
**Important:**
|
|
21
|
+
- Always write a failing unit test first - do not skip this step
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verify-with-curl
|
|
3
|
+
description: >
|
|
4
|
+
Verifies work done in the current context using curl. Auto-fixes issues found.
|
|
5
|
+
Does not write tests. Trigger when user says "verify-with-curl".
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Verifies work done in the current context using curl commands. Test API endpoints, inspect responses, validate status codes, headers, and response bodies. Auto-fix any issues discovered. Restart the app at the start of each iteration, then repeat the curl → compare → fix loop until the API matches the expected behavior. This skill does NOT write tests - manual verification only.
|