@trench-craft/sds 1.0.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.
Files changed (276) hide show
  1. package/README.en.md +522 -0
  2. package/README.md +566 -0
  3. package/dist/bin/sds.d.ts +3 -0
  4. package/dist/bin/sds.d.ts.map +1 -0
  5. package/dist/bin/sds.js +50 -0
  6. package/dist/bin/sds.js.map +1 -0
  7. package/dist/src/__tests__/cli.test.d.ts +2 -0
  8. package/dist/src/__tests__/cli.test.d.ts.map +1 -0
  9. package/dist/src/__tests__/cli.test.js +37 -0
  10. package/dist/src/__tests__/cli.test.js.map +1 -0
  11. package/dist/src/__tests__/e2e.test.d.ts +5 -0
  12. package/dist/src/__tests__/e2e.test.d.ts.map +1 -0
  13. package/dist/src/__tests__/e2e.test.js +143 -0
  14. package/dist/src/__tests__/e2e.test.js.map +1 -0
  15. package/dist/src/__tests__/graph.test.d.ts +5 -0
  16. package/dist/src/__tests__/graph.test.d.ts.map +1 -0
  17. package/dist/src/__tests__/graph.test.js +423 -0
  18. package/dist/src/__tests__/graph.test.js.map +1 -0
  19. package/dist/src/__tests__/openspec.test.d.ts +5 -0
  20. package/dist/src/__tests__/openspec.test.d.ts.map +1 -0
  21. package/dist/src/__tests__/openspec.test.js +172 -0
  22. package/dist/src/__tests__/openspec.test.js.map +1 -0
  23. package/dist/src/commands/apply.d.ts +4 -0
  24. package/dist/src/commands/apply.d.ts.map +1 -0
  25. package/dist/src/commands/apply.js +14 -0
  26. package/dist/src/commands/apply.js.map +1 -0
  27. package/dist/src/commands/archive.d.ts +4 -0
  28. package/dist/src/commands/archive.d.ts.map +1 -0
  29. package/dist/src/commands/archive.js +20 -0
  30. package/dist/src/commands/archive.js.map +1 -0
  31. package/dist/src/commands/cache.d.ts +4 -0
  32. package/dist/src/commands/cache.d.ts.map +1 -0
  33. package/dist/src/commands/cache.js +31 -0
  34. package/dist/src/commands/cache.js.map +1 -0
  35. package/dist/src/commands/config.d.ts +4 -0
  36. package/dist/src/commands/config.d.ts.map +1 -0
  37. package/dist/src/commands/config.js +29 -0
  38. package/dist/src/commands/config.js.map +1 -0
  39. package/dist/src/commands/e2e.d.ts +4 -0
  40. package/dist/src/commands/e2e.d.ts.map +1 -0
  41. package/dist/src/commands/e2e.js +65 -0
  42. package/dist/src/commands/e2e.js.map +1 -0
  43. package/dist/src/commands/graph.d.ts +4 -0
  44. package/dist/src/commands/graph.d.ts.map +1 -0
  45. package/dist/src/commands/graph.js +783 -0
  46. package/dist/src/commands/graph.js.map +1 -0
  47. package/dist/src/commands/init.d.ts +4 -0
  48. package/dist/src/commands/init.d.ts.map +1 -0
  49. package/dist/src/commands/init.js +15 -0
  50. package/dist/src/commands/init.js.map +1 -0
  51. package/dist/src/commands/project.d.ts +4 -0
  52. package/dist/src/commands/project.d.ts.map +1 -0
  53. package/dist/src/commands/project.js +6 -0
  54. package/dist/src/commands/project.js.map +1 -0
  55. package/dist/src/commands/propose.d.ts +4 -0
  56. package/dist/src/commands/propose.d.ts.map +1 -0
  57. package/dist/src/commands/propose.js +26 -0
  58. package/dist/src/commands/propose.js.map +1 -0
  59. package/dist/src/commands/registry.d.ts +4 -0
  60. package/dist/src/commands/registry.d.ts.map +1 -0
  61. package/dist/src/commands/registry.js +6 -0
  62. package/dist/src/commands/registry.js.map +1 -0
  63. package/dist/src/commands/skills-install.d.ts +4 -0
  64. package/dist/src/commands/skills-install.d.ts.map +1 -0
  65. package/dist/src/commands/skills-install.js +158 -0
  66. package/dist/src/commands/skills-install.js.map +1 -0
  67. package/dist/src/commands/skills.d.ts +4 -0
  68. package/dist/src/commands/skills.d.ts.map +1 -0
  69. package/dist/src/commands/skills.js +19 -0
  70. package/dist/src/commands/skills.js.map +1 -0
  71. package/dist/src/commands/verify.d.ts +4 -0
  72. package/dist/src/commands/verify.d.ts.map +1 -0
  73. package/dist/src/commands/verify.js +31 -0
  74. package/dist/src/commands/verify.js.map +1 -0
  75. package/dist/src/core/engine.d.ts +33 -0
  76. package/dist/src/core/engine.d.ts.map +1 -0
  77. package/dist/src/core/engine.js +87 -0
  78. package/dist/src/core/engine.js.map +1 -0
  79. package/dist/src/core/engine.test.d.ts +2 -0
  80. package/dist/src/core/engine.test.d.ts.map +1 -0
  81. package/dist/src/core/engine.test.js +13 -0
  82. package/dist/src/core/engine.test.js.map +1 -0
  83. package/dist/src/core/session-state.d.ts +18 -0
  84. package/dist/src/core/session-state.d.ts.map +1 -0
  85. package/dist/src/core/session-state.js +55 -0
  86. package/dist/src/core/session-state.js.map +1 -0
  87. package/dist/src/core/session-state.test.d.ts +2 -0
  88. package/dist/src/core/session-state.test.d.ts.map +1 -0
  89. package/dist/src/core/session-state.test.js +90 -0
  90. package/dist/src/core/session-state.test.js.map +1 -0
  91. package/dist/src/core/subagent-timeout.d.ts +18 -0
  92. package/dist/src/core/subagent-timeout.d.ts.map +1 -0
  93. package/dist/src/core/subagent-timeout.js +61 -0
  94. package/dist/src/core/subagent-timeout.js.map +1 -0
  95. package/dist/src/core/subagent-timeout.test.d.ts +2 -0
  96. package/dist/src/core/subagent-timeout.test.d.ts.map +1 -0
  97. package/dist/src/core/subagent-timeout.test.js +57 -0
  98. package/dist/src/core/subagent-timeout.test.js.map +1 -0
  99. package/dist/src/core/task-sync.d.ts +19 -0
  100. package/dist/src/core/task-sync.d.ts.map +1 -0
  101. package/dist/src/core/task-sync.js +62 -0
  102. package/dist/src/core/task-sync.js.map +1 -0
  103. package/dist/src/core/task-sync.test.d.ts +2 -0
  104. package/dist/src/core/task-sync.test.d.ts.map +1 -0
  105. package/dist/src/core/task-sync.test.js +84 -0
  106. package/dist/src/core/task-sync.test.js.map +1 -0
  107. package/dist/src/graph/advanced-performance.d.ts +137 -0
  108. package/dist/src/graph/advanced-performance.d.ts.map +1 -0
  109. package/dist/src/graph/advanced-performance.js +375 -0
  110. package/dist/src/graph/advanced-performance.js.map +1 -0
  111. package/dist/src/graph/database.d.ts +79 -0
  112. package/dist/src/graph/database.d.ts.map +1 -0
  113. package/dist/src/graph/database.js +305 -0
  114. package/dist/src/graph/database.js.map +1 -0
  115. package/dist/src/graph/engine.d.ts +43 -0
  116. package/dist/src/graph/engine.d.ts.map +1 -0
  117. package/dist/src/graph/engine.js +334 -0
  118. package/dist/src/graph/engine.js.map +1 -0
  119. package/dist/src/graph/exporter.d.ts +56 -0
  120. package/dist/src/graph/exporter.d.ts.map +1 -0
  121. package/dist/src/graph/exporter.js +273 -0
  122. package/dist/src/graph/exporter.js.map +1 -0
  123. package/dist/src/graph/index.d.ts +21 -0
  124. package/dist/src/graph/index.d.ts.map +1 -0
  125. package/dist/src/graph/index.js +14 -0
  126. package/dist/src/graph/index.js.map +1 -0
  127. package/dist/src/graph/layouts.d.ts +77 -0
  128. package/dist/src/graph/layouts.d.ts.map +1 -0
  129. package/dist/src/graph/layouts.js +368 -0
  130. package/dist/src/graph/layouts.js.map +1 -0
  131. package/dist/src/graph/parser.d.ts +47 -0
  132. package/dist/src/graph/parser.d.ts.map +1 -0
  133. package/dist/src/graph/parser.js +228 -0
  134. package/dist/src/graph/parser.js.map +1 -0
  135. package/dist/src/graph/performance.d.ts +90 -0
  136. package/dist/src/graph/performance.d.ts.map +1 -0
  137. package/dist/src/graph/performance.js +275 -0
  138. package/dist/src/graph/performance.js.map +1 -0
  139. package/dist/src/graph/semantic.d.ts +151 -0
  140. package/dist/src/graph/semantic.d.ts.map +1 -0
  141. package/dist/src/graph/semantic.js +402 -0
  142. package/dist/src/graph/semantic.js.map +1 -0
  143. package/dist/src/graph/types.d.ts +114 -0
  144. package/dist/src/graph/types.d.ts.map +1 -0
  145. package/dist/src/graph/types.js +5 -0
  146. package/dist/src/graph/types.js.map +1 -0
  147. package/dist/src/graph/visualizer.d.ts +50 -0
  148. package/dist/src/graph/visualizer.d.ts.map +1 -0
  149. package/dist/src/graph/visualizer.js +869 -0
  150. package/dist/src/graph/visualizer.js.map +1 -0
  151. package/dist/src/openspec/apply.d.ts +16 -0
  152. package/dist/src/openspec/apply.d.ts.map +1 -0
  153. package/dist/src/openspec/apply.js +140 -0
  154. package/dist/src/openspec/apply.js.map +1 -0
  155. package/dist/src/openspec/archive.d.ts +3 -0
  156. package/dist/src/openspec/archive.d.ts.map +1 -0
  157. package/dist/src/openspec/archive.js +17 -0
  158. package/dist/src/openspec/archive.js.map +1 -0
  159. package/dist/src/openspec/e2e-generate.d.ts +39 -0
  160. package/dist/src/openspec/e2e-generate.d.ts.map +1 -0
  161. package/dist/src/openspec/e2e-generate.js +315 -0
  162. package/dist/src/openspec/e2e-generate.js.map +1 -0
  163. package/dist/src/openspec/e2e-runner.d.ts +32 -0
  164. package/dist/src/openspec/e2e-runner.d.ts.map +1 -0
  165. package/dist/src/openspec/e2e-runner.js +208 -0
  166. package/dist/src/openspec/e2e-runner.js.map +1 -0
  167. package/dist/src/openspec/explore.d.ts +3 -0
  168. package/dist/src/openspec/explore.d.ts.map +1 -0
  169. package/dist/src/openspec/explore.js +20 -0
  170. package/dist/src/openspec/explore.js.map +1 -0
  171. package/dist/src/openspec/propose.d.ts +8 -0
  172. package/dist/src/openspec/propose.d.ts.map +1 -0
  173. package/dist/src/openspec/propose.js +124 -0
  174. package/dist/src/openspec/propose.js.map +1 -0
  175. package/dist/src/openspec/verify.d.ts +13 -0
  176. package/dist/src/openspec/verify.d.ts.map +1 -0
  177. package/dist/src/openspec/verify.js +156 -0
  178. package/dist/src/openspec/verify.js.map +1 -0
  179. package/dist/src/platform/claudecode.d.ts +2 -0
  180. package/dist/src/platform/claudecode.d.ts.map +1 -0
  181. package/dist/src/platform/claudecode.js +7 -0
  182. package/dist/src/platform/claudecode.js.map +1 -0
  183. package/dist/src/platform/codex.d.ts +2 -0
  184. package/dist/src/platform/codex.d.ts.map +1 -0
  185. package/dist/src/platform/codex.js +7 -0
  186. package/dist/src/platform/codex.js.map +1 -0
  187. package/dist/src/platform/opencode.d.ts +2 -0
  188. package/dist/src/platform/opencode.d.ts.map +1 -0
  189. package/dist/src/platform/opencode.js +7 -0
  190. package/dist/src/platform/opencode.js.map +1 -0
  191. package/dist/src/platform/router.d.ts +13 -0
  192. package/dist/src/platform/router.d.ts.map +1 -0
  193. package/dist/src/platform/router.js +57 -0
  194. package/dist/src/platform/router.js.map +1 -0
  195. package/dist/src/skills/cache.d.ts +16 -0
  196. package/dist/src/skills/cache.d.ts.map +1 -0
  197. package/dist/src/skills/cache.js +53 -0
  198. package/dist/src/skills/cache.js.map +1 -0
  199. package/dist/src/skills/discovery.d.ts +12 -0
  200. package/dist/src/skills/discovery.d.ts.map +1 -0
  201. package/dist/src/skills/discovery.js +61 -0
  202. package/dist/src/skills/discovery.js.map +1 -0
  203. package/dist/src/skills/loader.d.ts +12 -0
  204. package/dist/src/skills/loader.d.ts.map +1 -0
  205. package/dist/src/skills/loader.js +69 -0
  206. package/dist/src/skills/loader.js.map +1 -0
  207. package/dist/src/skills/registry.d.ts +23 -0
  208. package/dist/src/skills/registry.d.ts.map +1 -0
  209. package/dist/src/skills/registry.js +68 -0
  210. package/dist/src/skills/registry.js.map +1 -0
  211. package/dist/src/utils/fs.d.ts +5 -0
  212. package/dist/src/utils/fs.d.ts.map +1 -0
  213. package/dist/src/utils/fs.js +23 -0
  214. package/dist/src/utils/fs.js.map +1 -0
  215. package/dist/src/utils/logger.d.ts +7 -0
  216. package/dist/src/utils/logger.d.ts.map +1 -0
  217. package/dist/src/utils/logger.js +8 -0
  218. package/dist/src/utils/logger.js.map +1 -0
  219. package/dist/src/utils/yaml.d.ts +3 -0
  220. package/dist/src/utils/yaml.d.ts.map +1 -0
  221. package/dist/src/utils/yaml.js +8 -0
  222. package/dist/src/utils/yaml.js.map +1 -0
  223. package/package.json +62 -0
  224. package/registry/skills-registry.yaml +218 -0
  225. package/skills/core/brainstorming/SKILL.md +259 -0
  226. package/skills/core/brainstorming/scripts/frame-template.html +214 -0
  227. package/skills/core/brainstorming/scripts/helper.js +88 -0
  228. package/skills/core/brainstorming/scripts/server.cjs +338 -0
  229. package/skills/core/brainstorming/scripts/start-server.sh +153 -0
  230. package/skills/core/brainstorming/scripts/stop-server.sh +55 -0
  231. package/skills/core/brainstorming/skill.yaml +12 -0
  232. package/skills/core/brainstorming/spec-document-reviewer-prompt.md +48 -0
  233. package/skills/core/brainstorming/visual-companion.md +286 -0
  234. package/skills/core/claude-code-core/SKILL.md +164 -0
  235. package/skills/core/claude-code-core/skill.yaml +14 -0
  236. package/skills/core/claude-code-prompt/SKILL.md +283 -0
  237. package/skills/core/claude-code-prompt/skill.yaml +14 -0
  238. package/skills/core/claude-code-subagent/SKILL.md +168 -0
  239. package/skills/core/claude-code-subagent/skill.yaml +14 -0
  240. package/skills/core/e2e-generate/SKILL.md +147 -0
  241. package/skills/core/e2e-generate/skill.yaml +12 -0
  242. package/skills/core/ecc-agents-md-router/SKILL.md +90 -0
  243. package/skills/core/ecc-agents-md-router/skill.yaml +12 -0
  244. package/skills/core/ecc-context-injector/SKILL.md +69 -0
  245. package/skills/core/ecc-context-injector/skill.yaml +12 -0
  246. package/skills/core/existing-code-caveman/SKILL.md +340 -0
  247. package/skills/core/existing-code-caveman/skill.yaml +12 -0
  248. package/skills/core/opsx-apply/SKILL.md +121 -0
  249. package/skills/core/opsx-apply/skill.yaml +12 -0
  250. package/skills/core/opsx-archive/SKILL.md +83 -0
  251. package/skills/core/opsx-archive/skill.yaml +12 -0
  252. package/skills/core/opsx-explore/SKILL.md +101 -0
  253. package/skills/core/opsx-explore/skill.yaml +12 -0
  254. package/skills/core/opsx-propose/SKILL.md +131 -0
  255. package/skills/core/opsx-propose/skill.yaml +16 -0
  256. package/skills/core/opsx-verify/SKILL.md +109 -0
  257. package/skills/core/opsx-verify/skill.yaml +12 -0
  258. package/skills/core/subagent-driven-development/SKILL.md +157 -0
  259. package/skills/core/subagent-driven-development/code-quality-reviewer-prompt.md +64 -0
  260. package/skills/core/subagent-driven-development/implementer-prompt.md +122 -0
  261. package/skills/core/subagent-driven-development/skill.yaml +12 -0
  262. package/skills/core/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  263. package/skills/core/writing-plans/SKILL.md +268 -0
  264. package/skills/core/writing-plans/plan-document-reviewer-prompt.md +63 -0
  265. package/skills/core/writing-plans/skill.yaml +12 -0
  266. package/skills/locale/chinese-code-review/SKILL.md +17 -0
  267. package/skills/locale/chinese-code-review/skill.yaml +16 -0
  268. package/skills/locale/chinese-commit-conventions/SKILL.md +17 -0
  269. package/skills/locale/chinese-commit-conventions/skill.yaml +16 -0
  270. package/skills/locale/chinese-documentation/SKILL.md +17 -0
  271. package/skills/locale/chinese-documentation/skill.yaml +16 -0
  272. package/skills/locale/chinese-git-workflow/SKILL.md +17 -0
  273. package/skills/locale/chinese-git-workflow/skill.yaml +16 -0
  274. package/templates/agents-md.md +42 -0
  275. package/templates/claude-md.md +44 -0
  276. package/templates/codex-md.md +49 -0
package/README.en.md ADDED
@@ -0,0 +1,522 @@
1
+ # @trench-craft/sds
2
+
3
+ **Spec-Driven Superpowers** — A structured development workflow for AI coding tools.
4
+
5
+ Transform vague requirements into quality code through a 6-phase pipeline: **explore → brainstorm → propose → plan → apply → verify → archive**.
6
+
7
+ Works with **Claude Code**, **OpenCode**, and compatible AI coding assistants.
8
+
9
+ ---
10
+
11
+ ## Table of Contents
12
+
13
+ - [Features](#features)
14
+ - [Prerequisites](#prerequisites)
15
+ - [Quick Start](#quick-start)
16
+ - [Workflow Overview](#workflow-overview)
17
+ - [Phase 0: Context Awareness](#phase-0-context-awareness)
18
+ - [Phase 1: Requirements Analysis](#phase-1-requirements-analysis)
19
+ - [Phase 2: Generate 4 Artifacts](#phase-2-generate-4-artifacts)
20
+ - [Phase 3: Write Plans](#phase-3-write-plans)
21
+ - [Phase 4: Implementation](#phase-4-implementation)
22
+ - [Phase 5: Quality Verification](#phase-5-quality-verification)
23
+ - [Phase 6: Archive & Delivery](#phase-6-archive--delivery)
24
+ - [CLI Reference](#cli-reference)
25
+ - [Platform Support](#platform-support)
26
+ - [Uninstall](#uninstall)
27
+ - [Troubleshooting](#troubleshooting)
28
+ - [FAQ](#faq)
29
+ - [Architecture](#architecture)
30
+ - [Development](#development)
31
+ - [Migrate from V1](#migrate-from-v1)
32
+ - [License](#license)
33
+
34
+ ---
35
+
36
+ ## Features
37
+
38
+ | Feature | Description |
39
+ |---------|-------------|
40
+ | **6-Phase Pipeline** | From context gathering to delivery archive — every change follows a proven path |
41
+ | **4 Standard Artifacts** | `proposal.md` / `design.md` / `specs.md` / `tasks.md` for every change |
42
+ | **HARD-GATE** | No coding before design approval — enforced at the skill level |
43
+ | **TDD Mandatory** | Test-driven development enforced during implementation |
44
+ | **Subagent Review** | Spec compliance + code quality reviews via parallel subagents |
45
+ | **Empty Project Skip** | Phase 0 auto-skipped when project has no code |
46
+ | **Dual Platform** | Works with both Claude Code and OpenCode |
47
+ | **Conversation Guard** | Skills only trigger on development tasks, not casual chat |
48
+
49
+ ---
50
+
51
+ ## Prerequisites
52
+
53
+ - **Node.js** >= 18.0.0
54
+ - **npm** >= 9.0.0
55
+ - One of: **Claude Code** CLI or **OpenCode** (or compatible AI coding tool)
56
+
57
+ ---
58
+
59
+ ## Quick Start
60
+
61
+ > This is a **project-level installation** — run `npx` in your project directory, no `npm install -g` needed.
62
+ > SDS skills are installed to your project's `.opencode/skills/` or `.claude/skills/` directory.
63
+
64
+ ### 1. Install Skills
65
+
66
+ ```bash
67
+ # Navigate to your project
68
+ cd my-project
69
+
70
+ # ─── Option A: Auto-detect tool (recommended) ───
71
+ # Automatically detects if .opencode or .claude exists
72
+ npx @trench-craft/sds@2.0.0 skills install core
73
+
74
+ # ─── Option B: Specify tool manually ───
75
+ # OpenCode:
76
+ npx @trench-craft/sds@2.0.0 skills install core --tool opencode
77
+ # Shorthand: --tool oc
78
+
79
+ # Claude Code:
80
+ npx @trench-craft/sds@2.0.0 skills install core --tool claude
81
+ # Shorthand: --tool cc or --tool claude-code
82
+
83
+ # Install all skills (core + locale plugins)
84
+ npx @trench-craft/sds skills install all --tool opencode
85
+ ```
86
+
87
+ ### 2. Verify Installation
88
+
89
+ ```bash
90
+ # Check installed skills
91
+ # OpenCode:
92
+ ls .opencode/skills/
93
+
94
+ # Claude Code:
95
+ ls .claude/skills/
96
+
97
+ # Check generated config files
98
+ # OpenCode:
99
+ cat AGENTS.md
100
+
101
+ # Claude Code:
102
+ cat CLAUDE.md
103
+ ```
104
+
105
+ ### 3. View Available Commands
106
+
107
+ ```bash
108
+ npx @trench-craft/sds --help
109
+ ```
110
+
111
+ ### 2. Verify Installation
112
+
113
+ ```bash
114
+ # Check installed skills
115
+ # OpenCode:
116
+ ls .opencode/skills/
117
+
118
+ # Claude Code:
119
+ ls .claude/skills/
120
+
121
+ # Check generated config
122
+ # OpenCode:
123
+ cat AGENTS.md
124
+
125
+ # Claude Code:
126
+ cat CLAUDE.md
127
+ ```
128
+
129
+ ### 3. Start Using
130
+
131
+ Open the project in your AI coding tool and type:
132
+
133
+ > "I want to implement a user login feature"
134
+
135
+ The AI will recognize this as a development task and start the workflow automatically.
136
+
137
+ ---
138
+
139
+ ## Workflow Overview
140
+
141
+ ```
142
+ ┌─────────────────────────────────────────────────────────────────────┐
143
+ │ SDS 6-Phase Pipeline │
144
+ ├─────────┬──────────┬──────────┬─────────┬─────────┬────────┬───────┤
145
+ │ Phase 0 │ Phase 1 │ Phase 2 │ Phase 3 │ Phase 4 │ Phase5 │Phase6 │
146
+ │ Context │ Brain- │ Generate │ Write │ Imple- │ Verify │Archive│
147
+ │ Aware- │ storm │ Artifacts│ Plans │ ment │ │ │
148
+ │ ness │ │ │ │ │ │ │
149
+ ├─────────┼──────────┼──────────┼─────────┼─────────┼────────┼───────┤
150
+ │ codebase│ brain- │ generate │ write- │ apply- │ verify-│archive│
151
+ │ -map │ storming │ -artifac-│ plans │ changes │ changes│-chang-│
152
+ │ deep- │ │ ts │ │ subagen-│ │ es │
153
+ │ explore │ │ │ │ t-dev │ │ │
154
+ └─────────┴──────────┴──────────┴─────────┴─────────┴────────┴───────┘
155
+ ```
156
+
157
+ ### Phase 0: Context Awareness
158
+
159
+ **Skills**: `codebase-map`, `deep-explore`
160
+
161
+ Understand the existing codebase before making changes.
162
+
163
+ | Scenario | Action |
164
+ |----------|--------|
165
+ | **Existing project** | Scan structure, detect tech stack, map modules, identify risks |
166
+ | **New / empty project** | **Auto-skipped** — jump directly to Phase 1 |
167
+ | **Specific module inquiry** | Deep investigation of a targeted area |
168
+
169
+ **Output**: `AGENTS.md` / `CLAUDE.md` (project map), or exploration notes.
170
+
171
+ **Example prompt**: "What does this project do?" / "Analyze the auth system"
172
+
173
+ ---
174
+
175
+ ### Phase 1: Requirements Analysis
176
+
177
+ **Skill**: `brainstorming`
178
+
179
+ The most critical phase. The AI explores requirements through structured conversation before any code is written.
180
+
181
+ ```
182
+ ┌─────────────────────────────────────────────────────┐
183
+ │ Brainstorming Flow │
184
+ ├─────────────────────────────────────────────────────┤
185
+ │ │
186
+ │ 1. Explore project context (files, docs, commits) │
187
+ │ 2. Ask clarifying questions (one at a time) │
188
+ │ 3. Propose 2-3 approaches with tradeoffs │
189
+ │ 4. Present design section by section │
190
+ │ 5. Write design document │
191
+ │ 6. Subagent spec review │
192
+ │ 7. User reviews written spec │
193
+ │ 8. Transition to Phase 2 │
194
+ │ │
195
+ └─────────────────────────────────────────────────────┘
196
+ ```
197
+
198
+ **🚫 HARD-GATE**: No implementation code is written during or after this phase until design is approved.
199
+
200
+ **Output**: `openspec/changes/<name>/brainstorming.md`
201
+
202
+ **Example prompt**: "I want to implement a login feature"
203
+
204
+ ---
205
+
206
+ ### Phase 2: Generate 4 Artifacts
207
+
208
+ **Skill**: `generate-artifacts`
209
+
210
+ Transform approved requirements into 4 standard artifacts:
211
+
212
+ | Artifact | Content | Purpose |
213
+ |----------|---------|---------|
214
+ | `proposal.md` | Background, goals, scope (in/out), tech stack | **What** & **Why** |
215
+ | `design.md` | Architecture diagram, API definitions, data models, security | **How** |
216
+ | `specs.md` | Functional specs, non-functional specs, acceptance criteria | **Definition of Done** |
217
+ | `tasks.md` | Task list, dependency graph, time estimates | **Execution Plan** |
218
+
219
+ > ⚠️ **All 4 artifacts are mandatory.** None may be skipped.
220
+
221
+ **Output directory**: `openspec/changes/<name>/`
222
+
223
+ ---
224
+
225
+ ### Phase 3: Write Plans
226
+
227
+ **Skill**: `write-plans`
228
+
229
+ Break specs into detailed, executable implementation plans. Each task follows TDD (Red → Green → Refactor).
230
+
231
+ **Plan structure**:
232
+
233
+ ```
234
+ ### Task N: [Component Name]
235
+
236
+ **Files**:
237
+ - Create: `path/to/file.py`
238
+ - Modify: `path/to/existing.py:123-145`
239
+
240
+ - [ ] Step 1: Write failing test
241
+ - [ ] Step 2: Run test (expect FAIL)
242
+ - [ ] Step 3: Write minimal implementation
243
+ - [ ] Step 4: Run test (expect PASS)
244
+ - [ ] Step 5: Commit
245
+ ```
246
+
247
+ **No placeholders allowed** — every step must contain actual code and expected output.
248
+
249
+ **Output**: `openspec/changes/<name>/plan.md`
250
+
251
+ ---
252
+
253
+ ### Phase 4: Implementation
254
+
255
+ **Skills**: `apply-changes`, `subagent-development`
256
+
257
+ Two execution modes:
258
+
259
+ #### Mode A: Standard (Manual)
260
+
261
+ Execute tasks sequentially from `plan.md`, following TDD.
262
+
263
+ #### Mode B: Subagent Development (Recommended)
264
+
265
+ Each task is executed by a dedicated subagent with isolated context:
266
+
267
+ ```
268
+ ┌─────────────┐ ┌──────────────┐ ┌──────────────────┐
269
+ │ Implementer │───▶│ Spec Reviewer│───▶│ Code Quality │
270
+ │ Subagent │ │ Subagent │ │ Reviewer │
271
+ │ (TDD+code) │ │ (compliance) │ │ Subagent │
272
+ └─────────────┘ └──────────────┘ └──────────────────┘
273
+ │ │
274
+ └────── Retry on failure ──────────────┘
275
+ ```
276
+
277
+ **Benefits**:
278
+ - Isolated context per task (no contamination)
279
+ - 2-phase review catches issues early
280
+ - TDD enforced automatically
281
+ - Parallel-safe execution
282
+
283
+ ---
284
+
285
+ ### Phase 5: Quality Verification
286
+
287
+ **Skill**: `verify-changes`
288
+
289
+ 7 mandatory checks:
290
+
291
+ | # | Check | How |
292
+ |---|-------|-----|
293
+ | 1 | **Compilation** | `tsc --noEmit`, `go build`, etc. |
294
+ | 2 | **Tests** | All tests pass |
295
+ | 3 | **Spec Alignment** | All spec requirements implemented |
296
+ | 4 | **Task Completeness** | No unfinished tasks |
297
+ | 5 | **Code Quality** | LSP clean, no TODOs/FIXMEs, naming consistent |
298
+ | 6 | **Documentation** | README, API docs, env vars synced |
299
+ | 7 | **Breaking Changes** | API backward compatibility, config changes, DB migrations |
300
+
301
+ All 7 checks must pass. If any fails, fix and re-run verification.
302
+
303
+ **Output**: `openspec/changes/<name>/verify.md`
304
+
305
+ ---
306
+
307
+ ### Phase 6: Archive & Delivery
308
+
309
+ **Skill**: `archive-changes`
310
+
311
+ Archive completed changes for historical reference:
312
+
313
+ ```
314
+ openspec/
315
+ ├── changes/<name>/ (active — removed after archive)
316
+ └── archive/<date>-<name>/ (permanent record)
317
+ ```
318
+
319
+ **Prerequisite**: Phase 5 must pass before archiving.
320
+
321
+ ---
322
+
323
+ ## CLI Reference
324
+
325
+ ```bash
326
+ @trench-craft/sds <command> [options]
327
+
328
+ Commands:
329
+ skills install <type> Install skills (core | locale | all) [default: all]
330
+ skills verify [skill] Verify skill installation
331
+ skills list List installed skills
332
+
333
+ Options:
334
+ --tool <tool> Target tool: opencode | oc | claude-code | cc | claude
335
+ [auto-detects from .opencode / .claude directory]
336
+ --verbose Verbose output
337
+ -V, --version Output version
338
+ -h, --help Display help
339
+ ```
340
+
341
+ ### Examples
342
+
343
+ ```bash
344
+ # Auto-detect and install
345
+ npx @trench-craft/sds skills install core
346
+
347
+ # Specify tool with shorthand
348
+ npx @trench-craft/sds skills install all --tool oc
349
+ npx @trench-craft/sds skills install core --tool cc
350
+
351
+ # Install locale plugins only
352
+ npx @trench-craft/sds skills install locale --tool opencode
353
+ ```
354
+
355
+ ---
356
+
357
+ ## Platform Support
358
+
359
+ | Platform | Config File | Skills Directory | Detection |
360
+ |----------|-------------|-----------------|-----------|
361
+ | **OpenCode** | `AGENTS.md` | `.opencode/skills/` | `.opencode/` exists |
362
+ | **Claude Code** | `CLAUDE.md` | `.claude/skills/` | `.claude/` exists |
363
+
364
+ **Claude Code also receives**:
365
+ - `core-engine` — File system, Git, command execution
366
+ - `prompt-manager` — Prompt optimization
367
+ - `subagent-dispatcher` — Subagent lifecycle management
368
+
369
+ ---
370
+
371
+ ## Uninstall
372
+
373
+ ```bash
374
+ # Remove installed skills and config
375
+ rm -rf .opencode/skills AGENTS.md # OpenCode
376
+ rm -rf .claude/skills CLAUDE.md # Claude Code
377
+
378
+ # Remove npm package
379
+ npm uninstall @trench-craft/sds
380
+ ```
381
+
382
+ ---
383
+
384
+ ## Troubleshooting
385
+
386
+ | Problem | Solution |
387
+ |---------|----------|
388
+ | **Skills not recognized** | Restart your AI coding tool after installation |
389
+ | **"No tool detected" error** | Use `--tool opencode` or `--tool claude-code` explicitly |
390
+ | **Skills appear with Chinese names** | Reinstall with latest version: old V1 names cached |
391
+ | **Subagent not triggering** | Ensure `plan.md` is generated first, then call `subagent-development` |
392
+ | **verify fails on spec alignment** | Check `specs.md` acceptance criteria match implemented features |
393
+ | **Windows path issues** | Use forward slashes or escaped backslashes in paths |
394
+
395
+ ---
396
+
397
+ ## FAQ
398
+
399
+ ### What's the difference between V1 and V2?
400
+
401
+ V2 (`@trench-craft/sds`) is a complete rewrite with OpenSpec workflow. See [Migrate from V1](#migrate-from-v1).
402
+
403
+ ### Can I use this with other AI tools?
404
+
405
+ The skills are designed for Claude Code and OpenCode but can be adapted for any AI coding assistant that supports skill/plugin systems.
406
+
407
+ ### Do I need to install this in every project?
408
+
409
+ Yes. Skills are project-local. Each project needs its own installation.
410
+
411
+ ### Will this slow down my AI?
412
+
413
+ No. Skills only activate on matching tasks. Casual conversation, questions, and non-development topics pass through without interference.
414
+
415
+ ### What if I skip a phase?
416
+
417
+ The workflow is designed to catch issues early. Skipping phases increases risk of rework, missed requirements, or quality issues.
418
+
419
+ ---
420
+
421
+ ## Architecture
422
+
423
+ ```
424
+ @trench-craft/sds
425
+ ├── bin/sds.ts ← CLI entry point
426
+ ├── src/
427
+ │ ├── commands/
428
+ │ │ ├── init.ts ← Project init
429
+ │ │ ├── skills-install.ts ← Skill installer (core logic)
430
+ │ │ ├── skills.ts ← Skills command group
431
+ │ │ ├── config.ts ← Configuration
432
+ │ │ ├── project.ts ← Project management
433
+ │ │ └── ... ← Other commands
434
+ │ ├── platform/
435
+ │ │ ├── opencode.ts ← OpenCode adapter
436
+ │ │ └── claude.ts ← Claude Code adapter
437
+ │ ├── core/
438
+ │ │ └── engine.ts ← SDS engine
439
+ │ └── skills/ ← Skill loader
440
+ ├── skills/
441
+ │ ├── core/ ← 14 core skills
442
+ │ │ ├── brainstorming/
443
+ │ │ ├── opsx-propose/
444
+ │ │ ├── writing-plans/
445
+ │ │ ├── opsx-apply/
446
+ │ │ ├── opsx-verify/
447
+ │ │ ├── opsx-archive/
448
+ │ │ ├── existing-code-caveman/
449
+ │ │ ├── opsx-explore/
450
+ │ │ ├── subagent-driven-development/
451
+ │ │ ├── ecc-agents-md-router/
452
+ │ │ ├── ecc-context-injector/
453
+ │ │ ├── claude-code-core/ (Claude Code only)
454
+ │ │ ├── claude-code-prompt/ (Claude Code only)
455
+ │ │ └── claude-code-subagent/ (Claude Code only)
456
+ │ └── locale/ ← 4 locale skills (zh-CN)
457
+ │ ├── chinese-code-review/
458
+ │ ├── chinese-commit-conventions/
459
+ │ ├── chinese-documentation/
460
+ │ └── chinese-git-workflow/
461
+ ├── templates/
462
+ │ ├── agents-md.md ← OpenCode AGENTS.md template
463
+ │ └── claude-md.md ← Claude Code CLAUDE.md template
464
+ └── package.json
465
+ ```
466
+
467
+ ---
468
+
469
+ ## Development
470
+
471
+ ```bash
472
+ # Clone the monorepo
473
+ git clone <repo-url>
474
+ cd packages/sds
475
+
476
+ # Install dependencies
477
+ npm install
478
+
479
+ # Build from source
480
+ npm run build
481
+
482
+ # Test locally
483
+ npm link
484
+ cd /path/to/test-project
485
+ npm link @trench-craft/sds
486
+ npx sds skills install core --tool opencode
487
+ ```
488
+
489
+ ---
490
+
491
+ ## Migrate from V1
492
+
493
+ V2 (`@trench-craft/sds`) is a major upgrade from V1 (`trench-craft-skills`).
494
+
495
+ | Aspect | V1 | V2 |
496
+ |--------|----|----|
497
+ | **Package** | `trench-craft-skills` | **`@trench-craft/sds`** |
498
+ | **Workflow** | Linear process | **6-phase OpenSpec pipeline** |
499
+ | **Artifact Path** | `docs/superpowers/` | **`openspec/changes/<name>/`** |
500
+ | **4 Artifacts** | Not available | **proposal / design / specs / tasks** |
501
+ | **CLI Flag** | `--platform` | **`--tool`** |
502
+ | **Skill Names** | Chinese | **English kebab-case** |
503
+ | **Phase 0** | Not available | **Context awareness (auto-skip empty projects)** |
504
+ | **Plan Review** | Optional | **Mandatory subagent plan review** |
505
+ | **Verify Phase** | Not available | **7 mandatory quality checks** |
506
+ | **Archive Phase** | Not available | **Structured archive with history** |
507
+
508
+ ### Migration Steps
509
+
510
+ 1. Uninstall V1 skills: `rm -rf .opencode/skills .claude/skills AGENTS.md CLAUDE.md`
511
+ 2. Install V2: `npx @trench-craft/sds skills install core --tool opencode`
512
+ 3. Existing `docs/superpowers/` artifacts remain readable but new work uses `openspec/changes/`
513
+
514
+ ---
515
+
516
+ ## License
517
+
518
+ MIT
519
+
520
+ ---
521
+
522
+ *Built with ❤️ for developers who believe AI-assisted coding deserves structure.*