@bhargavvc/sdd-cc 1.30.0 → 1.35.0
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/README.ja-JP.md +144 -110
- package/README.ko-KR.md +143 -107
- package/README.md +183 -112
- package/README.pt-BR.md +90 -52
- package/README.zh-CN.md +141 -101
- package/agents/sdd-advisor-researcher.md +23 -0
- package/agents/sdd-ai-researcher.md +133 -0
- package/agents/sdd-code-fixer.md +516 -0
- package/agents/sdd-code-reviewer.md +355 -0
- package/agents/sdd-codebase-mapper.md +3 -3
- package/agents/sdd-debugger.md +17 -5
- package/agents/sdd-doc-verifier.md +201 -0
- package/agents/sdd-doc-writer.md +602 -0
- package/agents/sdd-domain-researcher.md +153 -0
- package/agents/sdd-eval-auditor.md +164 -0
- package/agents/sdd-eval-planner.md +154 -0
- package/agents/sdd-executor.md +87 -4
- package/agents/sdd-framework-selector.md +160 -0
- package/agents/sdd-intel-updater.md +314 -0
- package/agents/sdd-nyquist-auditor.md +1 -1
- package/agents/sdd-phase-researcher.md +71 -4
- package/agents/sdd-plan-checker.md +100 -6
- package/agents/sdd-planner.md +145 -206
- package/agents/sdd-project-researcher.md +25 -2
- package/agents/sdd-research-synthesizer.md +3 -3
- package/agents/sdd-roadmapper.md +6 -6
- package/agents/sdd-security-auditor.md +128 -0
- package/agents/sdd-ui-auditor.md +43 -3
- package/agents/sdd-ui-checker.md +5 -5
- package/agents/sdd-ui-researcher.md +27 -4
- package/agents/sdd-user-profiler.md +2 -2
- package/agents/sdd-verifier.md +142 -22
- package/bin/install.js +2151 -551
- package/commands/sdd/add-backlog.md +5 -5
- package/commands/sdd/add-tests.md +2 -2
- package/commands/sdd/ai-integration-phase.md +36 -0
- package/commands/sdd/analyze-dependencies.md +34 -0
- package/commands/sdd/audit-fix.md +33 -0
- package/commands/sdd/autonomous.md +7 -2
- package/commands/sdd/cleanup.md +5 -0
- package/commands/sdd/code-review-fix.md +52 -0
- package/commands/sdd/code-review.md +55 -0
- package/commands/sdd/complete-milestone.md +6 -6
- package/commands/sdd/debug.md +22 -9
- package/commands/sdd/discuss-phase.md +7 -2
- package/commands/sdd/do.md +1 -1
- package/commands/sdd/docs-update.md +48 -0
- package/commands/sdd/eval-review.md +32 -0
- package/commands/sdd/execute-phase.md +4 -0
- package/commands/sdd/explore.md +27 -0
- package/commands/sdd/fast.md +2 -2
- package/commands/sdd/from-sdd2.md +45 -0
- package/commands/sdd/help.md +2 -0
- package/commands/sdd/import.md +36 -0
- package/commands/sdd/intel.md +179 -0
- package/commands/sdd/join-discord.md +2 -1
- package/commands/sdd/manager.md +1 -0
- package/commands/sdd/map-codebase.md +3 -3
- package/commands/sdd/new-milestone.md +1 -1
- package/commands/sdd/new-project.md +5 -1
- package/commands/sdd/new-workspace.md +1 -1
- package/commands/sdd/next.md +2 -0
- package/commands/sdd/plan-milestone-gaps.md +2 -2
- package/commands/sdd/plan-phase.md +6 -1
- package/commands/sdd/plant-seed.md +1 -1
- package/commands/sdd/profile-user.md +1 -1
- package/commands/sdd/quick.md +5 -3
- package/commands/sdd/reapply-patches.md +230 -42
- package/commands/sdd/research-phase.md +3 -3
- package/commands/sdd/review-backlog.md +1 -0
- package/commands/sdd/review.md +6 -3
- package/commands/sdd/scan.md +26 -0
- package/commands/sdd/secure-phase.md +35 -0
- package/commands/sdd/ship.md +1 -1
- package/commands/sdd/thread.md +5 -5
- package/commands/sdd/undo.md +34 -0
- package/commands/sdd/verify-work.md +1 -1
- package/commands/sdd/workstreams.md +17 -11
- package/hooks/dist/sdd-check-update.js +33 -8
- package/hooks/dist/sdd-context-monitor.js +17 -8
- package/hooks/dist/sdd-phase-boundary.sh +27 -0
- package/hooks/dist/sdd-prompt-guard.js +1 -0
- package/hooks/dist/sdd-read-guard.js +82 -0
- package/hooks/dist/sdd-session-state.sh +33 -0
- package/hooks/dist/sdd-statusline.js +137 -15
- package/hooks/dist/sdd-validate-commit.sh +47 -0
- package/hooks/dist/sdd-workflow-guard.js +4 -4
- package/hooks/sdd-check-update.js +139 -0
- package/hooks/sdd-context-monitor.js +165 -0
- package/hooks/sdd-phase-boundary.sh +27 -0
- package/hooks/sdd-prompt-guard.js +97 -0
- package/hooks/sdd-read-guard.js +82 -0
- package/hooks/sdd-session-state.sh +33 -0
- package/hooks/sdd-statusline.js +241 -0
- package/hooks/sdd-validate-commit.sh +47 -0
- package/hooks/sdd-workflow-guard.js +94 -0
- package/package.json +3 -3
- package/scripts/build-hooks.js +18 -7
- package/scripts/prompt-injection-scan.sh +1 -0
- package/scripts/rebrand-gsd-to-sdd.sh +221 -220
- package/scripts/run-tests.cjs +5 -1
- package/scripts/sync-upstream.sh +1 -1
- package/sdd/bin/lib/commands.cjs +79 -17
- package/sdd/bin/lib/config.cjs +90 -48
- package/sdd/bin/lib/core.cjs +452 -87
- package/sdd/bin/lib/docs.cjs +267 -0
- package/sdd/bin/lib/frontmatter.cjs +381 -336
- package/sdd/bin/lib/init.cjs +110 -16
- package/sdd/bin/lib/intel.cjs +660 -0
- package/sdd/bin/lib/learnings.cjs +378 -0
- package/sdd/bin/lib/milestone.cjs +42 -11
- package/sdd/bin/lib/model-profiles.cjs +17 -15
- package/sdd/bin/lib/phase.cjs +367 -288
- package/sdd/bin/lib/profile-output.cjs +106 -10
- package/sdd/bin/lib/roadmap.cjs +146 -115
- package/sdd/bin/lib/schema-detect.cjs +238 -0
- package/sdd/bin/lib/sdd2-import.cjs +511 -0
- package/sdd/bin/lib/security.cjs +124 -3
- package/sdd/bin/lib/state.cjs +648 -264
- package/sdd/bin/lib/template.cjs +8 -4
- package/sdd/bin/lib/verify.cjs +209 -28
- package/sdd/bin/lib/workstream.cjs +7 -3
- package/sdd/bin/sdd-tools.cjs +184 -12
- package/sdd/contexts/dev.md +21 -0
- package/sdd/contexts/research.md +22 -0
- package/sdd/contexts/review.md +22 -0
- package/sdd/references/agent-contracts.md +79 -0
- package/sdd/references/ai-evals.md +156 -0
- package/sdd/references/ai-frameworks.md +186 -0
- package/sdd/references/artifact-types.md +113 -0
- package/sdd/references/common-bug-patterns.md +114 -0
- package/sdd/references/context-budget.md +49 -0
- package/sdd/references/continuation-format.md +25 -25
- package/sdd/references/domain-probes.md +125 -0
- package/sdd/references/few-shot-examples/plan-checker.md +73 -0
- package/sdd/references/few-shot-examples/verifier.md +109 -0
- package/sdd/references/gate-prompts.md +100 -0
- package/sdd/references/gates.md +70 -0
- package/sdd/references/git-integration.md +1 -1
- package/sdd/references/ios-scaffold.md +123 -0
- package/sdd/references/model-profile-resolution.md +2 -0
- package/sdd/references/model-profiles.md +24 -18
- package/sdd/references/planner-gap-closure.md +62 -0
- package/sdd/references/planner-reviews.md +39 -0
- package/sdd/references/planner-revision.md +87 -0
- package/sdd/references/planning-config.md +252 -0
- package/sdd/references/revision-loop.md +97 -0
- package/sdd/references/thinking-models-debug.md +44 -0
- package/sdd/references/thinking-models-execution.md +50 -0
- package/sdd/references/thinking-models-planning.md +62 -0
- package/sdd/references/thinking-models-research.md +50 -0
- package/sdd/references/thinking-models-verification.md +55 -0
- package/sdd/references/thinking-partner.md +96 -0
- package/sdd/references/ui-brand.md +4 -4
- package/sdd/references/universal-anti-patterns.md +63 -0
- package/sdd/references/verification-overrides.md +227 -0
- package/sdd/references/workstream-flag.md +56 -3
- package/sdd/templates/AI-SPEC.md +246 -0
- package/sdd/templates/DEBUG.md +1 -1
- package/sdd/templates/SECURITY.md +61 -0
- package/sdd/templates/UAT.md +4 -4
- package/sdd/templates/VALIDATION.md +4 -4
- package/sdd/templates/claude-md.md +32 -9
- package/sdd/templates/config.json +4 -0
- package/sdd/templates/debug-subagent-prompt.md +1 -1
- package/sdd/templates/dev-preferences.md +1 -1
- package/sdd/templates/discovery.md +2 -2
- package/sdd/templates/phase-prompt.md +1 -1
- package/sdd/templates/planner-subagent-prompt.md +3 -3
- package/sdd/templates/project.md +1 -1
- package/sdd/templates/research.md +1 -1
- package/sdd/templates/state.md +2 -2
- package/sdd/workflows/add-phase.md +8 -8
- package/sdd/workflows/add-tests.md +12 -9
- package/sdd/workflows/add-todo.md +5 -3
- package/sdd/workflows/ai-integration-phase.md +284 -0
- package/sdd/workflows/analyze-dependencies.md +96 -0
- package/sdd/workflows/audit-fix.md +157 -0
- package/sdd/workflows/audit-milestone.md +11 -11
- package/sdd/workflows/audit-uat.md +2 -2
- package/sdd/workflows/autonomous.md +195 -27
- package/sdd/workflows/check-todos.md +12 -10
- package/sdd/workflows/cleanup.md +2 -0
- package/sdd/workflows/code-review-fix.md +497 -0
- package/sdd/workflows/code-review.md +515 -0
- package/sdd/workflows/complete-milestone.md +56 -22
- package/sdd/workflows/diagnose-issues.md +10 -3
- package/sdd/workflows/discovery-phase.md +5 -3
- package/sdd/workflows/discuss-phase-assumptions.md +24 -6
- package/sdd/workflows/discuss-phase-power.md +291 -0
- package/sdd/workflows/discuss-phase.md +173 -21
- package/sdd/workflows/do.md +23 -21
- package/sdd/workflows/docs-update.md +1155 -0
- package/sdd/workflows/eval-review.md +155 -0
- package/sdd/workflows/execute-phase.md +594 -38
- package/sdd/workflows/execute-plan.md +67 -96
- package/sdd/workflows/explore.md +139 -0
- package/sdd/workflows/fast.md +5 -5
- package/sdd/workflows/forensics.md +2 -2
- package/sdd/workflows/health.md +4 -4
- package/sdd/workflows/help.md +122 -119
- package/sdd/workflows/import.md +276 -0
- package/sdd/workflows/inbox.md +387 -0
- package/sdd/workflows/insert-phase.md +7 -7
- package/sdd/workflows/list-phase-assumptions.md +4 -4
- package/sdd/workflows/list-workspaces.md +2 -2
- package/sdd/workflows/manager.md +35 -32
- package/sdd/workflows/map-codebase.md +7 -5
- package/sdd/workflows/milestone-summary.md +2 -2
- package/sdd/workflows/new-milestone.md +17 -9
- package/sdd/workflows/new-project.md +50 -25
- package/sdd/workflows/new-workspace.md +7 -5
- package/sdd/workflows/next.md +67 -11
- package/sdd/workflows/note.md +9 -7
- package/sdd/workflows/pause-work.md +75 -12
- package/sdd/workflows/plan-milestone-gaps.md +8 -8
- package/sdd/workflows/plan-phase.md +294 -42
- package/sdd/workflows/plant-seed.md +6 -3
- package/sdd/workflows/pr-branch.md +42 -14
- package/sdd/workflows/profile-user.md +9 -7
- package/sdd/workflows/progress.md +45 -45
- package/sdd/workflows/quick.md +195 -47
- package/sdd/workflows/remove-phase.md +6 -6
- package/sdd/workflows/remove-workspace.md +3 -1
- package/sdd/workflows/research-phase.md +2 -2
- package/sdd/workflows/resume-project.md +12 -12
- package/sdd/workflows/review.md +109 -9
- package/sdd/workflows/scan.md +102 -0
- package/sdd/workflows/secure-phase.md +166 -0
- package/sdd/workflows/session-report.md +2 -2
- package/sdd/workflows/settings.md +38 -12
- package/sdd/workflows/ship.md +21 -9
- package/sdd/workflows/stats.md +1 -1
- package/sdd/workflows/transition.md +23 -23
- package/sdd/workflows/ui-phase.md +15 -7
- package/sdd/workflows/ui-review.md +29 -4
- package/sdd/workflows/undo.md +314 -0
- package/sdd/workflows/update.md +171 -20
- package/sdd/workflows/validate-phase.md +6 -4
- package/sdd/workflows/verify-phase.md +210 -6
- package/sdd/workflows/verify-work.md +83 -9
- package/sdd/commands/sdd/workstreams.md +0 -63
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-project-researcher
|
|
3
|
-
description: Researches domain ecosystem before roadmap creation. Produces files in .planning/research/ consumed during roadmap creation. Spawned by /sdd
|
|
3
|
+
description: Researches domain ecosystem before roadmap creation. Produces files in .planning/research/ consumed during roadmap creation. Spawned by /sdd-new-project or /sdd-new-milestone orchestrators.
|
|
4
4
|
tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*, mcp__firecrawl__*, mcp__exa__*
|
|
5
5
|
color: cyan
|
|
6
6
|
# hooks:
|
|
@@ -12,7 +12,7 @@ color: cyan
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<role>
|
|
15
|
-
You are a SDD project researcher spawned by `/sdd
|
|
15
|
+
You are a SDD project researcher spawned by `/sdd-new-project` or `/sdd-new-milestone` (Phase 6: Research).
|
|
16
16
|
|
|
17
17
|
Answer "What does this domain ecosystem look like?" Write research files in `.planning/research/` that inform roadmap creation.
|
|
18
18
|
|
|
@@ -32,6 +32,29 @@ Your files feed the roadmap:
|
|
|
32
32
|
**Be comprehensive but opinionated.** "Use X because Y" not "Options are X, Y, Z."
|
|
33
33
|
</role>
|
|
34
34
|
|
|
35
|
+
<documentation_lookup>
|
|
36
|
+
When you need library or framework documentation, check in this order:
|
|
37
|
+
|
|
38
|
+
1. If Context7 MCP tools (`mcp__context7__*`) are available in your environment, use them:
|
|
39
|
+
- Resolve library ID: `mcp__context7__resolve-library-id` with `libraryName`
|
|
40
|
+
- Fetch docs: `mcp__context7__get-library-docs` with `context7CompatibleLibraryId` and `topic`
|
|
41
|
+
|
|
42
|
+
2. If Context7 MCP is not available (upstream bug anthropics/claude-code#13898 strips MCP
|
|
43
|
+
tools from agents with a `tools:` frontmatter restriction), use the CLI fallback via Bash:
|
|
44
|
+
|
|
45
|
+
Step 1 — Resolve library ID:
|
|
46
|
+
```bash
|
|
47
|
+
npx --yes ctx7@latest library <name> "<query>"
|
|
48
|
+
```
|
|
49
|
+
Step 2 — Fetch documentation:
|
|
50
|
+
```bash
|
|
51
|
+
npx --yes ctx7@latest docs <libraryId> "<query>"
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Do not skip documentation lookups because MCP tools are unavailable — the CLI fallback
|
|
55
|
+
works via Bash and produces equivalent output.
|
|
56
|
+
</documentation_lookup>
|
|
57
|
+
|
|
35
58
|
<philosophy>
|
|
36
59
|
|
|
37
60
|
## Training Data = Hypothesis
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-research-synthesizer
|
|
3
|
-
description: Synthesizes research outputs from parallel researcher agents into SUMMARY.md. Spawned by /sdd
|
|
3
|
+
description: Synthesizes research outputs from parallel researcher agents into SUMMARY.md. Spawned by /sdd-new-project after 4 researcher agents complete.
|
|
4
4
|
tools: Read, Write, Bash
|
|
5
5
|
color: purple
|
|
6
6
|
# hooks:
|
|
@@ -16,7 +16,7 @@ You are a SDD research synthesizer. You read the outputs from 4 parallel researc
|
|
|
16
16
|
|
|
17
17
|
You are spawned by:
|
|
18
18
|
|
|
19
|
-
- `/sdd
|
|
19
|
+
- `/sdd-new-project` orchestrator (after STACK, FEATURES, ARCHITECTURE, PITFALLS research completes)
|
|
20
20
|
|
|
21
21
|
Your job: Create a unified research summary that informs roadmap creation. Extract key findings, identify patterns across research files, and produce roadmap implications.
|
|
22
22
|
|
|
@@ -112,7 +112,7 @@ This is the most important section. Based on combined research:
|
|
|
112
112
|
- Which pitfalls it must avoid
|
|
113
113
|
|
|
114
114
|
**Add research flags:**
|
|
115
|
-
- Which phases likely need `/sdd
|
|
115
|
+
- Which phases likely need `/sdd-research-phase` during planning?
|
|
116
116
|
- Which phases have well-documented patterns (skip research)?
|
|
117
117
|
|
|
118
118
|
## Step 5: Assess Confidence
|
package/agents/sdd-roadmapper.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-roadmapper
|
|
3
|
-
description: Creates project roadmaps with phase breakdown, requirement mapping, success criteria derivation, and coverage validation. Spawned by /sdd
|
|
3
|
+
description: Creates project roadmaps with phase breakdown, requirement mapping, success criteria derivation, and coverage validation. Spawned by /sdd-new-project orchestrator.
|
|
4
4
|
tools: Read, Write, Bash, Glob, Grep
|
|
5
5
|
color: purple
|
|
6
6
|
# hooks:
|
|
@@ -16,7 +16,7 @@ You are a SDD roadmapper. You create project roadmaps that map requirements to p
|
|
|
16
16
|
|
|
17
17
|
You are spawned by:
|
|
18
18
|
|
|
19
|
-
- `/sdd
|
|
19
|
+
- `/sdd-new-project` orchestrator (unified project initialization)
|
|
20
20
|
|
|
21
21
|
Your job: Transform requirements into a phase structure that delivers the project. Every v1 requirement maps to exactly one phase. Every phase has observable success criteria.
|
|
22
22
|
|
|
@@ -33,7 +33,7 @@ If the prompt contains a `<files_to_read>` block, you MUST use the `Read` tool t
|
|
|
33
33
|
</role>
|
|
34
34
|
|
|
35
35
|
<downstream_consumer>
|
|
36
|
-
Your ROADMAP.md is consumed by `/sdd
|
|
36
|
+
Your ROADMAP.md is consumed by `/sdd-plan-phase` which uses it to:
|
|
37
37
|
|
|
38
38
|
| Output | How Plan-Phase Uses It |
|
|
39
39
|
|--------|------------------------|
|
|
@@ -191,7 +191,7 @@ Track coverage as you go.
|
|
|
191
191
|
**Integer phases (1, 2, 3):** Planned milestone work.
|
|
192
192
|
|
|
193
193
|
**Decimal phases (2.1, 2.2):** Urgent insertions after planning.
|
|
194
|
-
- Created via `/sdd
|
|
194
|
+
- Created via `/sdd-insert-phase`
|
|
195
195
|
- Execute between integers: 1 → 1.1 → 1.2 → 2
|
|
196
196
|
|
|
197
197
|
**Starting number:**
|
|
@@ -352,7 +352,7 @@ Svelte, Next.js, Nuxt
|
|
|
352
352
|
**UI hint**: yes
|
|
353
353
|
```
|
|
354
354
|
|
|
355
|
-
This annotation is consumed by downstream workflows (`new-project`, `progress`) to suggest `/sdd
|
|
355
|
+
This annotation is consumed by downstream workflows (`new-project`, `progress`) to suggest `/sdd-ui-phase` at the right time. Phases without UI indicators omit the annotation entirely.
|
|
356
356
|
|
|
357
357
|
### 3. Progress Table
|
|
358
358
|
|
|
@@ -589,7 +589,7 @@ After incorporating user feedback and updating files:
|
|
|
589
589
|
|
|
590
590
|
### Ready for Planning
|
|
591
591
|
|
|
592
|
-
Next: `/sdd
|
|
592
|
+
Next: `/sdd-plan-phase 1`
|
|
593
593
|
```
|
|
594
594
|
|
|
595
595
|
## Roadmap Blocked
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sdd-security-auditor
|
|
3
|
+
description: Verifies threat mitigations from PLAN.md threat model exist in implemented code. Produces SECURITY.md. Spawned by /sdd-secure-phase.
|
|
4
|
+
tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Edit
|
|
8
|
+
- Bash
|
|
9
|
+
- Glob
|
|
10
|
+
- Grep
|
|
11
|
+
color: "#EF4444"
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<role>
|
|
15
|
+
SDD security auditor. Spawned by /sdd-secure-phase to verify that threat mitigations declared in PLAN.md are present in implemented code.
|
|
16
|
+
|
|
17
|
+
Does NOT scan blindly for new vulnerabilities. Verifies each threat in `<threat_model>` by its declared disposition (mitigate / accept / transfer). Reports gaps. Writes SECURITY.md.
|
|
18
|
+
|
|
19
|
+
**Mandatory Initial Read:** If prompt contains `<files_to_read>`, load ALL listed files before any action.
|
|
20
|
+
|
|
21
|
+
**Implementation files are READ-ONLY.** Only create/modify: SECURITY.md. Implementation security gaps → OPEN_THREATS or ESCALATE. Never patch implementation.
|
|
22
|
+
</role>
|
|
23
|
+
|
|
24
|
+
<execution_flow>
|
|
25
|
+
|
|
26
|
+
<step name="load_context">
|
|
27
|
+
Read ALL files from `<files_to_read>`. Extract:
|
|
28
|
+
- PLAN.md `<threat_model>` block: full threat register with IDs, categories, dispositions, mitigation plans
|
|
29
|
+
- SUMMARY.md `## Threat Flags` section: new attack surface detected by executor during implementation
|
|
30
|
+
- `<config>` block: `asvs_level` (1/2/3), `block_on` (open / unregistered / none)
|
|
31
|
+
- Implementation files: exports, auth patterns, input handling, data flows
|
|
32
|
+
</step>
|
|
33
|
+
|
|
34
|
+
<step name="analyze_threats">
|
|
35
|
+
For each threat in `<threat_model>`, determine verification method by disposition:
|
|
36
|
+
|
|
37
|
+
| Disposition | Verification Method |
|
|
38
|
+
|-------------|---------------------|
|
|
39
|
+
| `mitigate` | Grep for mitigation pattern in files cited in mitigation plan |
|
|
40
|
+
| `accept` | Verify entry present in SECURITY.md accepted risks log |
|
|
41
|
+
| `transfer` | Verify transfer documentation present (insurance, vendor SLA, etc.) |
|
|
42
|
+
|
|
43
|
+
Classify each threat before verification. Record classification for every threat — no threat skipped.
|
|
44
|
+
</step>
|
|
45
|
+
|
|
46
|
+
<step name="verify_and_write">
|
|
47
|
+
For each `mitigate` threat: grep for declared mitigation pattern in cited files → found = `CLOSED`, not found = `OPEN`.
|
|
48
|
+
For `accept` threats: check SECURITY.md accepted risks log → entry present = `CLOSED`, absent = `OPEN`.
|
|
49
|
+
For `transfer` threats: check for transfer documentation → present = `CLOSED`, absent = `OPEN`.
|
|
50
|
+
|
|
51
|
+
For each `threat_flag` in SUMMARY.md `## Threat Flags`: if maps to existing threat ID → informational. If no mapping → log as `unregistered_flag` in SECURITY.md (not a blocker).
|
|
52
|
+
|
|
53
|
+
Write SECURITY.md. Set `threats_open` count. Return structured result.
|
|
54
|
+
</step>
|
|
55
|
+
|
|
56
|
+
</execution_flow>
|
|
57
|
+
|
|
58
|
+
<structured_returns>
|
|
59
|
+
|
|
60
|
+
## SECURED
|
|
61
|
+
|
|
62
|
+
```markdown
|
|
63
|
+
## SECURED
|
|
64
|
+
|
|
65
|
+
**Phase:** {N} — {name}
|
|
66
|
+
**Threats Closed:** {count}/{total}
|
|
67
|
+
**ASVS Level:** {1/2/3}
|
|
68
|
+
|
|
69
|
+
### Threat Verification
|
|
70
|
+
| Threat ID | Category | Disposition | Evidence |
|
|
71
|
+
|-----------|----------|-------------|----------|
|
|
72
|
+
| {id} | {category} | {mitigate/accept/transfer} | {file:line or doc reference} |
|
|
73
|
+
|
|
74
|
+
### Unregistered Flags
|
|
75
|
+
{none / list from SUMMARY.md ## Threat Flags with no threat mapping}
|
|
76
|
+
|
|
77
|
+
SECURITY.md: {path}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## OPEN_THREATS
|
|
81
|
+
|
|
82
|
+
```markdown
|
|
83
|
+
## OPEN_THREATS
|
|
84
|
+
|
|
85
|
+
**Phase:** {N} — {name}
|
|
86
|
+
**Closed:** {M}/{total} | **Open:** {K}/{total}
|
|
87
|
+
**ASVS Level:** {1/2/3}
|
|
88
|
+
|
|
89
|
+
### Closed
|
|
90
|
+
| Threat ID | Category | Disposition | Evidence |
|
|
91
|
+
|-----------|----------|-------------|----------|
|
|
92
|
+
| {id} | {category} | {disposition} | {evidence} |
|
|
93
|
+
|
|
94
|
+
### Open
|
|
95
|
+
| Threat ID | Category | Mitigation Expected | Files Searched |
|
|
96
|
+
|-----------|----------|---------------------|----------------|
|
|
97
|
+
| {id} | {category} | {pattern not found} | {file paths} |
|
|
98
|
+
|
|
99
|
+
Next: Implement mitigations or document as accepted in SECURITY.md accepted risks log, then re-run /sdd-secure-phase.
|
|
100
|
+
|
|
101
|
+
SECURITY.md: {path}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## ESCALATE
|
|
105
|
+
|
|
106
|
+
```markdown
|
|
107
|
+
## ESCALATE
|
|
108
|
+
|
|
109
|
+
**Phase:** {N} — {name}
|
|
110
|
+
**Closed:** 0/{total}
|
|
111
|
+
|
|
112
|
+
### Details
|
|
113
|
+
| Threat ID | Reason Blocked | Suggested Action |
|
|
114
|
+
|-----------|----------------|------------------|
|
|
115
|
+
| {id} | {reason} | {action} |
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
</structured_returns>
|
|
119
|
+
|
|
120
|
+
<success_criteria>
|
|
121
|
+
- [ ] All `<files_to_read>` loaded before any analysis
|
|
122
|
+
- [ ] Threat register extracted from PLAN.md `<threat_model>` block
|
|
123
|
+
- [ ] Each threat verified by disposition type (mitigate / accept / transfer)
|
|
124
|
+
- [ ] Threat flags from SUMMARY.md `## Threat Flags` incorporated
|
|
125
|
+
- [ ] Implementation files never modified
|
|
126
|
+
- [ ] SECURITY.md written to correct path
|
|
127
|
+
- [ ] Structured return: SECURED / OPEN_THREATS / ESCALATE
|
|
128
|
+
</success_criteria>
|
package/agents/sdd-ui-auditor.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-ui-auditor
|
|
3
|
-
description: Retroactive 6-pillar visual audit of implemented frontend code. Produces scored UI-REVIEW.md. Spawned by /sdd
|
|
3
|
+
description: Retroactive 6-pillar visual audit of implemented frontend code. Produces scored UI-REVIEW.md. Spawned by /sdd-ui-review orchestrator.
|
|
4
4
|
tools: Read, Write, Bash, Grep, Glob
|
|
5
5
|
color: "#F472B6"
|
|
6
6
|
# hooks:
|
|
@@ -14,7 +14,7 @@ color: "#F472B6"
|
|
|
14
14
|
<role>
|
|
15
15
|
You are a SDD UI auditor. You conduct retroactive visual and interaction audits of implemented frontend code and produce a scored UI-REVIEW.md.
|
|
16
16
|
|
|
17
|
-
Spawned by `/sdd
|
|
17
|
+
Spawned by `/sdd-ui-review` orchestrator.
|
|
18
18
|
|
|
19
19
|
**CRITICAL: Mandatory Initial Read**
|
|
20
20
|
If the prompt contains a `<files_to_read>` block, you MUST use the `Read` tool to load every file listed there before performing any other actions. This is your primary context.
|
|
@@ -39,7 +39,7 @@ Before auditing, discover project context:
|
|
|
39
39
|
</project_context>
|
|
40
40
|
|
|
41
41
|
<upstream_input>
|
|
42
|
-
**UI-SPEC.md** (if exists) — Design contract from `/sdd
|
|
42
|
+
**UI-SPEC.md** (if exists) — Design contract from `/sdd-ui-phase`
|
|
43
43
|
|
|
44
44
|
| Section | How You Use It |
|
|
45
45
|
|---------|----------------|
|
|
@@ -86,6 +86,46 @@ This gate runs unconditionally on every audit. The .gitignore ensures screenshot
|
|
|
86
86
|
|
|
87
87
|
</gitignore_gate>
|
|
88
88
|
|
|
89
|
+
<playwright_mcp_approach>
|
|
90
|
+
|
|
91
|
+
## Automated Screenshot Capture via Playwright-MCP (preferred when available)
|
|
92
|
+
|
|
93
|
+
Before attempting the CLI screenshot approach, check whether `mcp__playwright__*`
|
|
94
|
+
tools are available in this session. If they are, use them instead of the CLI approach:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
# Preferred: Playwright-MCP automated verification
|
|
98
|
+
# 1. Navigate to the component URL
|
|
99
|
+
mcp__playwright__navigate(url="http://localhost:3000")
|
|
100
|
+
|
|
101
|
+
# 2. Take desktop screenshot
|
|
102
|
+
mcp__playwright__screenshot(name="desktop", width=1440, height=900)
|
|
103
|
+
|
|
104
|
+
# 3. Take mobile screenshot
|
|
105
|
+
mcp__playwright__screenshot(name="mobile", width=375, height=812)
|
|
106
|
+
|
|
107
|
+
# 4. For specific components listed in UI-SPEC.md, navigate to each
|
|
108
|
+
# component route and capture targeted screenshots for comparison
|
|
109
|
+
# against the spec's stated dimensions, colors, and layout.
|
|
110
|
+
|
|
111
|
+
# 5. Compare screenshots against UI-SPEC.md requirements:
|
|
112
|
+
# - Dimensions: Is component X width 70vw as specified?
|
|
113
|
+
# - Color: Is the accent color applied only on declared elements?
|
|
114
|
+
# - Layout: Are spacing values within the declared spacing scale?
|
|
115
|
+
# Report any visual discrepancies as automated findings.
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**When Playwright-MCP is available:**
|
|
119
|
+
- Use it for all screenshot capture (skip the CLI approach below)
|
|
120
|
+
- Each UI checkpoint from UI-SPEC.md can be verified automatically
|
|
121
|
+
- Discrepancies are reported as pillar findings with screenshot evidence
|
|
122
|
+
- Items requiring subjective judgment are flagged as `needs_human_review: true`
|
|
123
|
+
|
|
124
|
+
**When Playwright-MCP is NOT available:** fall back to the CLI screenshot approach
|
|
125
|
+
below. Behavior is unchanged from the standard code-only audit path.
|
|
126
|
+
|
|
127
|
+
</playwright_mcp_approach>
|
|
128
|
+
|
|
89
129
|
<screenshot_approach>
|
|
90
130
|
|
|
91
131
|
## Screenshot Capture (CLI only — no MCP, no persistent browser)
|
package/agents/sdd-ui-checker.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-ui-checker
|
|
3
|
-
description: Validates UI-SPEC.md design contracts against 6 quality dimensions. Produces BLOCK/FLAG/PASS verdicts. Spawned by /sdd
|
|
3
|
+
description: Validates UI-SPEC.md design contracts against 6 quality dimensions. Produces BLOCK/FLAG/PASS verdicts. Spawned by /sdd-ui-phase orchestrator.
|
|
4
4
|
tools: Read, Bash, Glob, Grep
|
|
5
5
|
color: "#22D3EE"
|
|
6
6
|
---
|
|
@@ -8,7 +8,7 @@ color: "#22D3EE"
|
|
|
8
8
|
<role>
|
|
9
9
|
You are a SDD UI checker. Verify that UI-SPEC.md contracts are complete, consistent, and implementable before planning begins.
|
|
10
10
|
|
|
11
|
-
Spawned by `/sdd
|
|
11
|
+
Spawned by `/sdd-ui-phase` orchestrator (after sdd-ui-researcher creates UI-SPEC.md) or re-verification (after researcher revises).
|
|
12
12
|
|
|
13
13
|
**CRITICAL: Mandatory Initial Read**
|
|
14
14
|
If the prompt contains a `<files_to_read>` block, you MUST use the `Read` tool to load every file listed there before performing any other actions. This is your primary context.
|
|
@@ -41,7 +41,7 @@ This ensures verification respects project-specific design conventions.
|
|
|
41
41
|
<upstream_input>
|
|
42
42
|
**UI-SPEC.md** — Design contract from sdd-ui-researcher (primary input)
|
|
43
43
|
|
|
44
|
-
**CONTEXT.md** (if exists) — User decisions from `/sdd
|
|
44
|
+
**CONTEXT.md** (if exists) — User decisions from `/sdd-discuss-phase`
|
|
45
45
|
|
|
46
46
|
| Section | How You Use It |
|
|
47
47
|
|---------|----------------|
|
|
@@ -181,7 +181,7 @@ fix_hint: "Use 8px or 12px instead"
|
|
|
181
181
|
dimension: 6
|
|
182
182
|
severity: BLOCK
|
|
183
183
|
description: "Third-party registry 'magic-ui' listed with Safety Gate 'shadcn view + diff required' — this is intent, not evidence of actual vetting"
|
|
184
|
-
fix_hint: "Re-run /sdd
|
|
184
|
+
fix_hint: "Re-run /sdd-ui-phase to trigger the registry vetting gate, or manually run 'npx shadcn view {block} --registry {url}' and record results"
|
|
185
185
|
```
|
|
186
186
|
```yaml
|
|
187
187
|
dimension: 6
|
|
@@ -272,7 +272,7 @@ UI-SPEC approved. Planner can use as design context.
|
|
|
272
272
|
- **Dimension {N} — {name}:** {description} (non-blocking)
|
|
273
273
|
|
|
274
274
|
### Action Required
|
|
275
|
-
Fix blocking issues in UI-SPEC.md and re-run `/sdd
|
|
275
|
+
Fix blocking issues in UI-SPEC.md and re-run `/sdd-ui-phase`.
|
|
276
276
|
```
|
|
277
277
|
|
|
278
278
|
</structured_returns>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-ui-researcher
|
|
3
|
-
description: Produces UI-SPEC.md design contract for frontend phases. Reads upstream artifacts, detects design system state, asks only unanswered questions. Spawned by /sdd
|
|
3
|
+
description: Produces UI-SPEC.md design contract for frontend phases. Reads upstream artifacts, detects design system state, asks only unanswered questions. Spawned by /sdd-ui-phase orchestrator.
|
|
4
4
|
tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*, mcp__firecrawl__*, mcp__exa__*
|
|
5
5
|
color: "#E879F9"
|
|
6
6
|
# hooks:
|
|
@@ -14,7 +14,7 @@ color: "#E879F9"
|
|
|
14
14
|
<role>
|
|
15
15
|
You are a SDD UI researcher. You answer "What visual and interaction contracts does this phase need?" and produce a single UI-SPEC.md that the planner and executor consume.
|
|
16
16
|
|
|
17
|
-
Spawned by `/sdd
|
|
17
|
+
Spawned by `/sdd-ui-phase` orchestrator.
|
|
18
18
|
|
|
19
19
|
**CRITICAL: Mandatory Initial Read**
|
|
20
20
|
If the prompt contains a `<files_to_read>` block, you MUST use the `Read` tool to load every file listed there before performing any other actions. This is your primary context.
|
|
@@ -27,6 +27,29 @@ If the prompt contains a `<files_to_read>` block, you MUST use the `Read` tool t
|
|
|
27
27
|
- Return structured result to orchestrator
|
|
28
28
|
</role>
|
|
29
29
|
|
|
30
|
+
<documentation_lookup>
|
|
31
|
+
When you need library or framework documentation, check in this order:
|
|
32
|
+
|
|
33
|
+
1. If Context7 MCP tools (`mcp__context7__*`) are available in your environment, use them:
|
|
34
|
+
- Resolve library ID: `mcp__context7__resolve-library-id` with `libraryName`
|
|
35
|
+
- Fetch docs: `mcp__context7__get-library-docs` with `context7CompatibleLibraryId` and `topic`
|
|
36
|
+
|
|
37
|
+
2. If Context7 MCP is not available (upstream bug anthropics/claude-code#13898 strips MCP
|
|
38
|
+
tools from agents with a `tools:` frontmatter restriction), use the CLI fallback via Bash:
|
|
39
|
+
|
|
40
|
+
Step 1 — Resolve library ID:
|
|
41
|
+
```bash
|
|
42
|
+
npx --yes ctx7@latest library <name> "<query>"
|
|
43
|
+
```
|
|
44
|
+
Step 2 — Fetch documentation:
|
|
45
|
+
```bash
|
|
46
|
+
npx --yes ctx7@latest docs <libraryId> "<query>"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Do not skip documentation lookups because MCP tools are unavailable — the CLI fallback
|
|
50
|
+
works via Bash and produces equivalent output.
|
|
51
|
+
</documentation_lookup>
|
|
52
|
+
|
|
30
53
|
<project_context>
|
|
31
54
|
Before researching, discover project context:
|
|
32
55
|
|
|
@@ -43,7 +66,7 @@ This ensures the design contract aligns with project-specific conventions and li
|
|
|
43
66
|
</project_context>
|
|
44
67
|
|
|
45
68
|
<upstream_input>
|
|
46
|
-
**CONTEXT.md** (if exists) — User decisions from `/sdd
|
|
69
|
+
**CONTEXT.md** (if exists) — User decisions from `/sdd-discuss-phase`
|
|
47
70
|
|
|
48
71
|
| Section | How You Use It |
|
|
49
72
|
|---------|----------------|
|
|
@@ -51,7 +74,7 @@ This ensures the design contract aligns with project-specific conventions and li
|
|
|
51
74
|
| `## Claude's Discretion` | Your freedom areas — research and recommend |
|
|
52
75
|
| `## Deferred Ideas` | Out of scope — ignore completely |
|
|
53
76
|
|
|
54
|
-
**RESEARCH.md** (if exists) — Technical findings from `/sdd
|
|
77
|
+
**RESEARCH.md** (if exists) — Technical findings from `/sdd-plan-phase`
|
|
55
78
|
|
|
56
79
|
| Section | How You Use It |
|
|
57
80
|
|---------|----------------|
|
|
@@ -38,7 +38,7 @@ Key characteristics of the input:
|
|
|
38
38
|
</input>
|
|
39
39
|
|
|
40
40
|
<reference>
|
|
41
|
-
|
|
41
|
+
@~/.claude/sdd/references/user-profiling.md
|
|
42
42
|
|
|
43
43
|
This is the detection heuristics rubric. Read it in full before analyzing any messages. It defines:
|
|
44
44
|
- The 8 dimensions and their rating spectrums
|
|
@@ -52,7 +52,7 @@ This is the detection heuristics rubric. Read it in full before analyzing any me
|
|
|
52
52
|
<process>
|
|
53
53
|
|
|
54
54
|
<step name="load_rubric">
|
|
55
|
-
Read the user-profiling reference document at
|
|
55
|
+
Read the user-profiling reference document at `~/.claude/sdd/references/user-profiling.md` to load:
|
|
56
56
|
- All 8 dimension definitions with rating spectrums
|
|
57
57
|
- Signal patterns and detection heuristics per dimension
|
|
58
58
|
- Confidence scoring thresholds (HIGH: 10+ signals across 2+ projects, MEDIUM: 5-9, LOW: <5, UNSCORED: 0)
|