@trespies-source/dojo-genesis-plugin 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 (209) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/LICENSE +21 -0
  3. package/README.md +204 -0
  4. package/dist/hooks/after-tool-call/handler.d.ts +4 -0
  5. package/dist/hooks/after-tool-call/handler.d.ts.map +1 -0
  6. package/dist/hooks/after-tool-call/handler.js +37 -0
  7. package/dist/hooks/after-tool-call/handler.js.map +1 -0
  8. package/dist/hooks/agent-end/handler.d.ts +4 -0
  9. package/dist/hooks/agent-end/handler.d.ts.map +1 -0
  10. package/dist/hooks/agent-end/handler.js +16 -0
  11. package/dist/hooks/agent-end/handler.js.map +1 -0
  12. package/dist/hooks/before-agent-start/handler.d.ts +4 -0
  13. package/dist/hooks/before-agent-start/handler.d.ts.map +1 -0
  14. package/dist/hooks/before-agent-start/handler.js +81 -0
  15. package/dist/hooks/before-agent-start/handler.js.map +1 -0
  16. package/dist/index.d.ts +18 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +35 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/src/commands/archive.d.ts +4 -0
  21. package/dist/src/commands/archive.d.ts.map +1 -0
  22. package/dist/src/commands/archive.js +20 -0
  23. package/dist/src/commands/archive.js.map +1 -0
  24. package/dist/src/commands/init.d.ts +4 -0
  25. package/dist/src/commands/init.d.ts.map +1 -0
  26. package/dist/src/commands/init.js +57 -0
  27. package/dist/src/commands/init.js.map +1 -0
  28. package/dist/src/commands/list.d.ts +4 -0
  29. package/dist/src/commands/list.d.ts.map +1 -0
  30. package/dist/src/commands/list.js +9 -0
  31. package/dist/src/commands/list.js.map +1 -0
  32. package/dist/src/commands/router.d.ts +3 -0
  33. package/dist/src/commands/router.d.ts.map +1 -0
  34. package/dist/src/commands/router.js +83 -0
  35. package/dist/src/commands/router.js.map +1 -0
  36. package/dist/src/commands/skill-invoke.d.ts +4 -0
  37. package/dist/src/commands/skill-invoke.d.ts.map +1 -0
  38. package/dist/src/commands/skill-invoke.js +26 -0
  39. package/dist/src/commands/skill-invoke.js.map +1 -0
  40. package/dist/src/commands/status.d.ts +4 -0
  41. package/dist/src/commands/status.d.ts.map +1 -0
  42. package/dist/src/commands/status.js +42 -0
  43. package/dist/src/commands/status.js.map +1 -0
  44. package/dist/src/commands/switch.d.ts +4 -0
  45. package/dist/src/commands/switch.d.ts.map +1 -0
  46. package/dist/src/commands/switch.js +20 -0
  47. package/dist/src/commands/switch.js.map +1 -0
  48. package/dist/src/orchestration/tool-registry.d.ts +18 -0
  49. package/dist/src/orchestration/tool-registry.d.ts.map +1 -0
  50. package/dist/src/orchestration/tool-registry.js +153 -0
  51. package/dist/src/orchestration/tool-registry.js.map +1 -0
  52. package/dist/src/skills/catalog.d.ts +9 -0
  53. package/dist/src/skills/catalog.d.ts.map +1 -0
  54. package/dist/src/skills/catalog.js +251 -0
  55. package/dist/src/skills/catalog.js.map +1 -0
  56. package/dist/src/state/manager.d.ts +19 -0
  57. package/dist/src/state/manager.d.ts.map +1 -0
  58. package/dist/src/state/manager.js +114 -0
  59. package/dist/src/state/manager.js.map +1 -0
  60. package/dist/src/state/migrations.d.ts +3 -0
  61. package/dist/src/state/migrations.d.ts.map +1 -0
  62. package/dist/src/state/migrations.js +8 -0
  63. package/dist/src/state/migrations.js.map +1 -0
  64. package/dist/src/state/types.d.ts +62 -0
  65. package/dist/src/state/types.d.ts.map +1 -0
  66. package/dist/src/state/types.js +2 -0
  67. package/dist/src/state/types.js.map +1 -0
  68. package/dist/src/ui/chat-formatter.d.ts +11 -0
  69. package/dist/src/ui/chat-formatter.d.ts.map +1 -0
  70. package/dist/src/ui/chat-formatter.js +39 -0
  71. package/dist/src/ui/chat-formatter.js.map +1 -0
  72. package/dist/src/utils/file-ops.d.ts +6 -0
  73. package/dist/src/utils/file-ops.d.ts.map +1 -0
  74. package/dist/src/utils/file-ops.js +38 -0
  75. package/dist/src/utils/file-ops.js.map +1 -0
  76. package/dist/src/utils/markdown.d.ts +2 -0
  77. package/dist/src/utils/markdown.d.ts.map +1 -0
  78. package/dist/src/utils/markdown.js +11 -0
  79. package/dist/src/utils/markdown.js.map +1 -0
  80. package/dist/src/utils/validation.d.ts +7 -0
  81. package/dist/src/utils/validation.d.ts.map +1 -0
  82. package/dist/src/utils/validation.js +29 -0
  83. package/dist/src/utils/validation.js.map +1 -0
  84. package/dist/tests/__mocks__/openclaw-types.d.ts +54 -0
  85. package/dist/tests/__mocks__/openclaw-types.d.ts.map +1 -0
  86. package/dist/tests/__mocks__/openclaw-types.js +29 -0
  87. package/dist/tests/__mocks__/openclaw-types.js.map +1 -0
  88. package/hooks/after-tool-call/HOOK.md +7 -0
  89. package/hooks/after-tool-call/handler.ts +41 -0
  90. package/hooks/agent-end/HOOK.md +7 -0
  91. package/hooks/agent-end/handler.ts +18 -0
  92. package/hooks/before-agent-start/HOOK.md +7 -0
  93. package/hooks/before-agent-start/handler.ts +133 -0
  94. package/openclaw.plugin.json +19 -0
  95. package/package.json +61 -0
  96. package/skills/agent-teaching/SKILL.md +583 -0
  97. package/skills/agent-teaching/claw.json +12 -0
  98. package/skills/compression-ritual/SKILL.md +136 -0
  99. package/skills/compression-ritual/claw.json +12 -0
  100. package/skills/context-ingestion/SKILL.md +109 -0
  101. package/skills/context-ingestion/claw.json +12 -0
  102. package/skills/decision-propagation/SKILL.md +130 -0
  103. package/skills/decision-propagation/claw.json +12 -0
  104. package/skills/documentation-audit/SKILL.md +146 -0
  105. package/skills/documentation-audit/claw.json +12 -0
  106. package/skills/era-architecture/SKILL.md +166 -0
  107. package/skills/era-architecture/claw.json +12 -0
  108. package/skills/file-management/SKILL.md +127 -0
  109. package/skills/file-management/claw.json +12 -0
  110. package/skills/frontend-from-backend/SKILL.md +127 -0
  111. package/skills/frontend-from-backend/claw.json +12 -0
  112. package/skills/handoff-protocol/SKILL.md +168 -0
  113. package/skills/handoff-protocol/claw.json +12 -0
  114. package/skills/health-audit/SKILL.md +123 -0
  115. package/skills/health-audit/claw.json +12 -0
  116. package/skills/implementation-prompt/SKILL.md +361 -0
  117. package/skills/implementation-prompt/claw.json +12 -0
  118. package/skills/iterative-scouting/SKILL.md +106 -0
  119. package/skills/iterative-scouting/claw.json +12 -0
  120. package/skills/memory-garden/SKILL.md +470 -0
  121. package/skills/memory-garden/claw.json +12 -0
  122. package/skills/multi-surface-strategy/SKILL.md +288 -0
  123. package/skills/multi-surface-strategy/claw.json +12 -0
  124. package/skills/parallel-tracks/SKILL.md +152 -0
  125. package/skills/parallel-tracks/claw.json +12 -0
  126. package/skills/patient-learning-protocol/SKILL.md +438 -0
  127. package/skills/patient-learning-protocol/claw.json +12 -0
  128. package/skills/planning-with-files/SKILL.md +139 -0
  129. package/skills/planning-with-files/claw.json +12 -0
  130. package/skills/pre-implementation-checklist/SKILL.md +156 -0
  131. package/skills/pre-implementation-checklist/claw.json +12 -0
  132. package/skills/process-extraction/SKILL.md +148 -0
  133. package/skills/process-extraction/claw.json +12 -0
  134. package/skills/process-extraction/references/process_example_template.md +40 -0
  135. package/skills/product-positioning/SKILL.md +293 -0
  136. package/skills/product-positioning/claw.json +12 -0
  137. package/skills/project-exploration/SKILL.md +168 -0
  138. package/skills/project-exploration/claw.json +12 -0
  139. package/skills/release-specification/SKILL.md +645 -0
  140. package/skills/release-specification/claw.json +12 -0
  141. package/skills/repo-context-sync/SKILL.md +362 -0
  142. package/skills/repo-context-sync/claw.json +12 -0
  143. package/skills/repo-context-sync/references/file_hierarchy_patterns.md +186 -0
  144. package/skills/repo-context-sync/references/zenflow_repo_patterns.md +328 -0
  145. package/skills/repo-context-sync/scripts/context_mapper.py +251 -0
  146. package/skills/repo-context-sync/scripts/diff_tracker.py +187 -0
  147. package/skills/repo-context-sync/scripts/smart_clone.sh +52 -0
  148. package/skills/repo-context-sync/templates/context_summary.md +58 -0
  149. package/skills/repo-status/SKILL.md +240 -0
  150. package/skills/repo-status/claw.json +12 -0
  151. package/skills/repo-status/references/semantic-clusters.md +159 -0
  152. package/skills/repo-status/references/status-template.md +214 -0
  153. package/skills/research-modes/SKILL.md +515 -0
  154. package/skills/research-modes/claw.json +12 -0
  155. package/skills/research-synthesis/SKILL.md +110 -0
  156. package/skills/research-synthesis/claw.json +12 -0
  157. package/skills/retrospective/SKILL.md +152 -0
  158. package/skills/retrospective/claw.json +12 -0
  159. package/skills/seed-extraction/SKILL.md +419 -0
  160. package/skills/seed-extraction/claw.json +12 -0
  161. package/skills/seed-library/SKILL.md +424 -0
  162. package/skills/seed-library/claw.json +12 -0
  163. package/skills/seed-library/references/seed_catalog.md +171 -0
  164. package/skills/seed-library/scripts/apply_seed.py +129 -0
  165. package/skills/seed-library/scripts/suggest_seeds.py +183 -0
  166. package/skills/seed-library/seeds/01_three_tiered_governance.md +90 -0
  167. package/skills/seed-library/seeds/02_harness_trace.md +135 -0
  168. package/skills/seed-library/seeds/03_context_iceberg.md +120 -0
  169. package/skills/seed-library/seeds/04_agent_connect.md +106 -0
  170. package/skills/seed-library/seeds/05_go_live_bundles.md +40 -0
  171. package/skills/seed-library/seeds/06_cost_guard.md +40 -0
  172. package/skills/seed-library/seeds/07_safety_switch.md +41 -0
  173. package/skills/seed-library/seeds/08_implicit_perspective_extraction.md +41 -0
  174. package/skills/seed-library/seeds/09_mode_based_complexity_gating.md +46 -0
  175. package/skills/seed-library/seeds/10_shared_infrastructure.md +75 -0
  176. package/skills/seed-library/seeds/11_voice_before_structure.md +74 -0
  177. package/skills/seed-library/seeds/12_pointer_directories.md +81 -0
  178. package/skills/seed-library/seeds/13_granular_visibility.md +82 -0
  179. package/skills/seed-library/seeds/meta_governance_multiplies_velocity.md +43 -0
  180. package/skills/seed-to-skill-converter/SKILL.md +113 -0
  181. package/skills/seed-to-skill-converter/claw.json +12 -0
  182. package/skills/semantic-clusters/SKILL.md +246 -0
  183. package/skills/semantic-clusters/claw.json +12 -0
  184. package/skills/semantic-clusters/references/verb-catalog.md +267 -0
  185. package/skills/skill-audit-upgrade/SKILL.md +427 -0
  186. package/skills/skill-audit-upgrade/claw.json +12 -0
  187. package/skills/skill-creation/LICENSE.txt +202 -0
  188. package/skills/skill-creation/SKILL.md +252 -0
  189. package/skills/skill-creation/claw.json +12 -0
  190. package/skills/skill-creation/references/output-patterns.md +82 -0
  191. package/skills/skill-creation/references/progressive-disclosure-patterns.md +79 -0
  192. package/skills/skill-creation/references/workflows.md +28 -0
  193. package/skills/skill-creation/scripts/init_skill.py +305 -0
  194. package/skills/skill-creation/scripts/quick_validate.py +134 -0
  195. package/skills/skill-maintenance/SKILL.md +413 -0
  196. package/skills/skill-maintenance/claw.json +12 -0
  197. package/skills/spec-constellation-to-prompt-suite/SKILL.md +174 -0
  198. package/skills/spec-constellation-to-prompt-suite/claw.json +12 -0
  199. package/skills/status-template/SKILL.md +211 -0
  200. package/skills/status-template/claw.json +12 -0
  201. package/skills/status-template/references/complete-template.md +191 -0
  202. package/skills/status-writing/SKILL.md +161 -0
  203. package/skills/status-writing/claw.json +12 -0
  204. package/skills/strategic-scout/SKILL.md +163 -0
  205. package/skills/strategic-scout/claw.json +12 -0
  206. package/skills/strategic-to-tactical-workflow/SKILL.md +391 -0
  207. package/skills/strategic-to-tactical-workflow/claw.json +12 -0
  208. package/skills/workspace-navigation/SKILL.md +622 -0
  209. package/skills/workspace-navigation/claw.json +12 -0
@@ -0,0 +1,645 @@
1
+ ---
2
+ name: release-specification
3
+ description: Write production-ready, A+ quality specifications for software releases. Use when planning a release, designing system architecture, or commissioning work to an autonomous agent. Trigger phrases: 'write a release spec', 'spec this feature', 'create a release specification', 'design the architecture', 'ground this in the codebase'.
4
+ ---
5
+
6
+ # Write Release Specification Skill
7
+
8
+ > **OpenClaw Integration:** This skill is invoked by the Dojo Genesis plugin via `/dojo spec` or `/dojo run release-specification`.
9
+ > The agent receives project context automatically via the `before_agent_start` hook.
10
+ > Use `dojo_get_context` for full state, `dojo_save_artifact` to persist outputs,
11
+ > and `dojo_update_state` to record phase transitions and decisions.
12
+
13
+ **Version:** 2.1
14
+ **Created:** 2026-02-02
15
+ **Updated:** 2026-02-07
16
+ **Author:** Manus AI
17
+ **Purpose:** Write production-ready, A+ quality specifications for software releases
18
+
19
+ ---
20
+
21
+ ## I. The Philosophy: Specification as Contract
22
+
23
+ A specification is not documentation—it is a **contract**. It is a formal agreement between the architect and the builder about what will be created, how it will work, and what success looks like. A vague specification invites confusion, rework, and failure. A rigorous specification is an act of respect for the builder's time and an investment in quality.
24
+
25
+ This skill transforms specification writing from a creative exercise into a disciplined engineering practice. By following this structure, we create specifications that are:
26
+
27
+ - **Comprehensive:** Every question the builder might have is answered
28
+ - **Precise:** Technical details are specific, not hand-wavy
29
+ - **Actionable:** The path from specification to implementation is clear
30
+ - **Testable:** Success criteria are binary and measurable
31
+
32
+ **The standard:** 111/100 (A+). Good enough is not good enough.
33
+
34
+ ---
35
+
36
+ ## II. When to Use This Skill
37
+
38
+ Use this skill when:
39
+
40
+ - **Planning a new software version or release** with multiple features or components
41
+ - **Designing a complex system architecture** that requires detailed documentation
42
+ - **Commissioning work to an autonomous agent** (e.g., Claude Code, implementation agents) that needs complete context
43
+ - **Coordinating parallel development tracks** where specifications serve as contracts between teams
44
+ - **You need to communicate technical vision** to stakeholders, developers, or future maintainers
45
+
46
+ **Do not use this skill for:**
47
+ - Small bug fixes or minor tweaks (use a simple task description instead)
48
+ - Exploratory prototypes (use scouting or rapid iteration instead)
49
+ - Features that are still being actively designed (finish scouting first)
50
+
51
+ ---
52
+
53
+ ## III. The Workflow
54
+
55
+ ### Decision Point: Full Template or Lean Format?
56
+
57
+ Before starting, determine the right spec format:
58
+
59
+ **Use the Full Template (Section IV) when:**
60
+ - The system is new or the architecture is unfamiliar
61
+ - The audience includes stakeholders who need context
62
+ - Multiple teams or agents will implement from this spec
63
+ - The risk profile is high (production-critical, user-facing)
64
+
65
+ **Use the Lean Format when:**
66
+ - The architecture is established and the audience is the implementing agent
67
+ - The scope is well-defined (single feature, clear boundaries)
68
+ - The codebase patterns are well-documented
69
+ - The implementing agent is familiar with the codebase
70
+
71
+ **Lean Format structure:** Route layouts, component tables, behavior lists. No preamble. "Sonnet level chunks" — direct, precise, implementable.
72
+
73
+ **Rule:** The receiving agent should not default to the full template. Match format to scope.
74
+
75
+ ---
76
+
77
+ ### Step 1: Gather Context and Inspiration
78
+
79
+ Before writing, immerse yourself in the problem space:
80
+
81
+ 1. **Read previous specifications** - Study 2-3 recent specs to understand the pattern and quality bar
82
+ 2. **Review the codebase** - Use `/repo-context-sync` to understand the current architecture
83
+ 3. **Identify the problem** - What pain point, user need, or strategic goal is this release addressing?
84
+ 4. **Scout alternatives** - Use `/strategic-scout` if you're choosing between multiple approaches
85
+
86
+ **Output:** A clear understanding of the problem, the current state, and the desired future state.
87
+
88
+ ---
89
+
90
+ ### Step 1.5: Run Current State Audit
91
+
92
+ Before writing the spec, measure the codebase. Specs describe the delta from measured reality, not from assumptions.
93
+
94
+ **Run these audits against the target codebase:**
95
+
96
+ #### Testing
97
+ - Test file count: `find . -name "*.test.*" | wc -l`
98
+ - Test framework: [check package.json or equivalent]
99
+ - Coverage tool: [check scripts/config]
100
+
101
+ #### Accessibility
102
+ - Aria/role instances: `grep -r "aria-\|role=" --include="*.tsx" | wc -l`
103
+ - Error boundaries: `grep -r "ErrorBoundary" --include="*.tsx" | wc -l`
104
+
105
+ #### Performance
106
+ - Memoization usage: `grep -r "React.memo\|useMemo\|useCallback" --include="*.tsx" | wc -l`
107
+ - Code splitting: `grep -r "React.lazy" --include="*.tsx" | wc -l`
108
+
109
+ #### Dependencies
110
+ - UI framework: [check package.json]
111
+ - State management: [check package.json]
112
+ - Animation library: [check package.json]
113
+
114
+ #### File Structure
115
+ - Total source files: `find src -name "*.ts" -o -name "*.tsx" | wc -l`
116
+ - Route count: [check router config]
117
+
118
+ **Include the results as a "Current State" section at the top of the spec.** The spec then describes what changes FROM this measured baseline.
119
+
120
+ **Key triggers:** "codebase audit", "audit before spec", "current state", "ground the spec"
121
+
122
+ ---
123
+
124
+ ### Step 2: Draft Vision and Goals
125
+
126
+ Start with the "why" before the "what":
127
+
128
+ 1. **Write a compelling vision statement** - A single sentence that captures the essence of this release
129
+ 2. **Explain the core insight** - 2-3 paragraphs on why this release matters
130
+ 3. **Define specific, measurable goals** - What will be different after this release?
131
+ 4. **List non-goals explicitly** - What is out of scope for this release?
132
+
133
+ **Output:** A clear, inspiring vision that motivates the work and sets boundaries.
134
+
135
+ ---
136
+
137
+ ### Step 3: Design Technical Architecture
138
+
139
+ This is the heart of the specification:
140
+
141
+ 1. **Create a system overview** - How do the major components fit together?
142
+ 2. **Design each component in detail** - For each major feature/component:
143
+ - Purpose and responsibility
144
+ - Backend implementation (Go, Python, etc.) with code examples
145
+ - Frontend implementation (React, etc.) with code examples
146
+ - API endpoints with request/response shapes
147
+ - Database schema (if applicable)
148
+ - Integration points with existing systems
149
+ - Performance considerations
150
+ 3. **Write production-ready code examples** - Not pseudocode, real code that could be committed
151
+
152
+ **Output:** A complete technical design that a skilled developer could implement without asking questions.
153
+
154
+ ---
155
+
156
+ ### Step 4: Plan Implementation Phases
157
+
158
+ Break the work into manageable phases:
159
+
160
+ 1. **Define a phased approach** - 2-4 phases with clear focus areas
161
+ 2. **Create a week-by-week breakdown** - Specific, actionable tasks for each week
162
+ 3. **Identify dependencies** - What must be done before other work can start?
163
+ 4. **Define the testing strategy** - Unit, integration, E2E, performance, and manual QA plans
164
+
165
+ **Output:** A realistic timeline with clear milestones and success criteria for each phase.
166
+
167
+ ---
168
+
169
+ ### Step 5: Assess Risks and Document
170
+
171
+ Anticipate what could go wrong:
172
+
173
+ 1. **Identify major risks** - Technical, timeline, or integration risks
174
+ 2. **Define mitigation strategies** - How will you reduce or eliminate each risk?
175
+ 3. **Plan rollback procedures** - How will you safely undo this release if needed?
176
+ 4. **Define monitoring and alerts** - How will you know if something goes wrong in production?
177
+ 5. **Document user and developer documentation needs** - What needs to be written?
178
+
179
+ **Output:** A comprehensive risk assessment and contingency plan.
180
+
181
+ ---
182
+
183
+ ### Step 6: Review Against Checklist
184
+
185
+ Before finalizing:
186
+
187
+ 1. **Run the quality checklist** (Section VI) - Ensure every item is ✅
188
+ 2. **Get feedback** - Share with a peer or stakeholder
189
+ 3. **Iterate** - Refine based on feedback
190
+ 4. **Commit to repository** - Save in `docs/vX.X.X/` with a clear filename
191
+
192
+ **Output:** A finalized, A+ quality specification ready for implementation.
193
+
194
+ ---
195
+
196
+ ## IV. The A+ Specification Template
197
+
198
+ ```markdown
199
+ # [Project Name] v[X.X.X]: [Memorable Tagline]
200
+
201
+ **Author:** [Your Name]
202
+ **Status:** [Draft | Final | Approved]
203
+ **Created:** [Date]
204
+ **Grounded In:** [What this builds on - previous versions, research, feedback]
205
+
206
+ ---
207
+
208
+ ## 1. Vision
209
+
210
+ > A single, compelling sentence that captures the essence of this release.
211
+
212
+ **The Core Insight:**
213
+
214
+ [2-3 paragraphs explaining WHY this release matters, what problem it solves, and how it advances the overall vision]
215
+
216
+ **What Makes This Different:**
217
+
218
+ [2-3 paragraphs explaining what makes this approach unique, innovative, or better than alternatives]
219
+
220
+ ---
221
+
222
+ ## 1.5 Current State (Audit Results)
223
+
224
+ > Include measured codebase metrics here. This grounds the spec in reality.
225
+
226
+ **Testing:** [X] test files, [framework], [coverage tool]
227
+ **Accessibility:** [X] aria/role instances, [X] error boundaries
228
+ **Performance:** [X] memoization instances, [X] code splitting instances
229
+ **Dependencies:** [list key deps from package.json]
230
+ **File Structure:** [X] source files, [X] routes, [X] shared components
231
+
232
+ ---
233
+
234
+ ## 2. Goals & Success Criteria
235
+
236
+ **Primary Goals:**
237
+ 1. [Specific, measurable goal]
238
+ 2. [Specific, measurable goal]
239
+ 3. [Specific, measurable goal]
240
+
241
+ **Success Criteria:**
242
+ - ✅ [Concrete, testable criterion]
243
+ - ✅ [Concrete, testable criterion]
244
+ - ✅ [Concrete, testable criterion]
245
+
246
+ **Non-Goals (Out of Scope):**
247
+ - ❌ [What this release explicitly does NOT include]
248
+ - ❌ [What is deferred to future versions]
249
+
250
+ ---
251
+
252
+ ## 3. Technical Architecture
253
+
254
+ ### 3.1 System Overview
255
+
256
+ [High-level diagram or description of how components fit together]
257
+
258
+ **Key Components:**
259
+ 1. **[Component Name]** - [Purpose and responsibility]
260
+ 2. **[Component Name]** - [Purpose and responsibility]
261
+ 3. **[Component Name]** - [Purpose and responsibility]
262
+
263
+ ### 3.2 [Feature/Component 1] - Detailed Design
264
+
265
+ **Purpose:** [What this component does and why it's needed]
266
+
267
+ **Architecture:**
268
+
269
+ [Detailed explanation with diagrams if helpful]
270
+
271
+ **Backend Implementation (Go):**
272
+
273
+ ```go
274
+ // Complete, production-ready code example
275
+ package [package_name]
276
+
277
+ type [StructName] struct {
278
+ Field1 string `json:"field1"`
279
+ Field2 int `json:"field2"`
280
+ }
281
+
282
+ func (s *[StructName]) [MethodName]() error {
283
+ // Implementation with error handling
284
+ return nil
285
+ }
286
+ ```
287
+
288
+ **Frontend Implementation (React/TypeScript):**
289
+
290
+ ```typescript
291
+ // Complete, production-ready code example
292
+ interface [InterfaceName] {
293
+ field1: string;
294
+ field2: number;
295
+ }
296
+
297
+ export const [ComponentName]: React.FC<Props> = ({ prop1, prop2 }) => {
298
+ const [state, setState] = useState<StateType>(initialState);
299
+
300
+ // Implementation
301
+
302
+ return (
303
+ <div className="...">
304
+ {/* JSX */}
305
+ </div>
306
+ );
307
+ };
308
+ ```
309
+
310
+ **API Endpoints:**
311
+
312
+ | Method | Endpoint | Request | Response | Purpose |
313
+ |--------|----------|---------|----------|---------|
314
+ | POST | `/api/v1/[resource]` | `{ field: value }` | `{ id: string }` | [Description] |
315
+ | GET | `/api/v1/[resource]/:id` | - | `{ data: object }` | [Description] |
316
+
317
+ **Database Schema (if applicable):**
318
+
319
+ ```sql
320
+ CREATE TABLE [table_name] (
321
+ id TEXT PRIMARY KEY,
322
+ field1 TEXT NOT NULL,
323
+ field2 INTEGER DEFAULT 0,
324
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
325
+ );
326
+
327
+ CREATE INDEX idx_[field] ON [table_name]([field]);
328
+ ```
329
+
330
+ **Integration Points:**
331
+ - Integrates with [existing component] via [method]
332
+ - Depends on [existing service] for [functionality]
333
+ - Extends [existing pattern] from v[X.X.X]
334
+
335
+ **Performance Considerations:**
336
+ - [Specific optimization or constraint]
337
+ - [Caching strategy or database indexing]
338
+ - [Expected latency or throughput]
339
+
340
+ ### 3.3 [Feature/Component 2] - Detailed Design
341
+
342
+ [Repeat structure for each major component]
343
+
344
+ ---
345
+
346
+ ## 4. Implementation Plan
347
+
348
+ ### 4.1 Phased Approach
349
+
350
+ **Timeline:** [X] weeks
351
+
352
+ | Phase | Duration | Focus | Deliverables |
353
+ |-------|----------|-------|--------------|
354
+ | 1 | Week 1-2 | [Focus area] | [Specific deliverables] |
355
+ | 2 | Week 3-4 | [Focus area] | [Specific deliverables] |
356
+ | 3 | Week 5-6 | [Focus area] | [Specific deliverables] |
357
+
358
+ ### 4.2 Week-by-Week Breakdown
359
+
360
+ **Week 1: [Focus]**
361
+ - [ ] Task 1: [Specific, actionable task]
362
+ - [ ] Task 2: [Specific, actionable task]
363
+ - [ ] Task 3: [Specific, actionable task]
364
+
365
+ **Success Criteria:** [What "done" looks like for this week]
366
+
367
+ **Week 2: [Focus]**
368
+ [Repeat structure]
369
+
370
+ [Continue for all weeks]
371
+
372
+ ### 4.3 Dependencies & Prerequisites
373
+
374
+ **Required Before Starting:**
375
+ - ✅ [Prerequisite 1]
376
+ - ✅ [Prerequisite 2]
377
+
378
+ **Parallel Work:**
379
+ - [What can be developed simultaneously]
380
+
381
+ **Blocking Dependencies:**
382
+ - [What must be completed before other work can start]
383
+
384
+ ### 4.4 Testing Strategy
385
+
386
+ **Unit Tests:**
387
+ - [Component/module to test]
388
+ - Target coverage: [X]%
389
+
390
+ **Integration Tests:**
391
+ - [Integration point to test]
392
+ - [Expected behavior]
393
+
394
+ **E2E Tests:**
395
+ - [User flow to test]
396
+ - [Success criteria]
397
+
398
+ **Performance Tests:**
399
+ - [Metric to measure]
400
+ - Target: [Specific number]
401
+
402
+ **Manual QA:**
403
+ - [Scenario to test manually]
404
+ - [Edge cases to verify]
405
+
406
+ ---
407
+
408
+ ## 5. Risk Assessment & Mitigation
409
+
410
+ | Risk | Likelihood | Impact | Mitigation Strategy |
411
+ |------|------------|--------|---------------------|
412
+ | [Risk description] | High/Med/Low | High/Med/Low | [Specific mitigation] |
413
+ | [Risk description] | High/Med/Low | High/Med/Low | [Specific mitigation] |
414
+
415
+ ---
416
+
417
+ ## 6. Rollback & Contingency
418
+
419
+ **Feature Flags:**
420
+ - `[flag_name]`: Controls [feature], default: `false`
421
+
422
+ **Rollback Procedure:**
423
+ 1. [Step 1]
424
+ 2. [Step 2]
425
+ 3. [Step 3]
426
+
427
+ **Monitoring & Alerts:**
428
+ - [Metric to monitor]: Alert if [condition]
429
+ - [Error rate]: Alert if > [threshold]
430
+
431
+ ---
432
+
433
+ ## 7. Documentation & Communication
434
+
435
+ **User-Facing Documentation:**
436
+ - [ ] Update user guide with [new feature]
437
+ - [ ] Create tutorial for [workflow]
438
+
439
+ **Developer Documentation:**
440
+ - [ ] Update API documentation
441
+ - [ ] Document new database schema
442
+ - [ ] Add code examples to README
443
+
444
+ **Release Notes:**
445
+ - [ ] Prepare changelog
446
+ - [ ] Highlight breaking changes (if any)
447
+ - [ ] Include migration guide (if needed)
448
+
449
+ ---
450
+
451
+ ## 8. Appendices
452
+
453
+ ### 8.1 Related Work & Inspiration
454
+
455
+ - [Project/Paper]: [What we learned from it]
456
+ - [Tool/System]: [How it influenced this design]
457
+
458
+ ### 8.2 Future Considerations
459
+
460
+ **v[X+1] Candidates:**
461
+ - [Feature that didn't make this release but is planned]
462
+ - [Enhancement that can build on this foundation]
463
+
464
+ ### 8.3 Open Questions
465
+
466
+ - [ ] [Question that needs resolution before or during implementation]
467
+ - [ ] [Decision that can be made during development]
468
+
469
+ ### 8.4 References
470
+
471
+ 1. [Link to related spec]
472
+ 2. [Link to research paper]
473
+ 3. [Link to GitHub issue or discussion]
474
+ ```
475
+
476
+ ---
477
+
478
+ ## V. Best Practices
479
+
480
+ ### 1. Start with Vision, Not Features
481
+
482
+ **Why:** Features without vision are just a list of tasks. Vision provides meaning and direction.
483
+
484
+ **How:** Write the vision statement first. If you can't articulate why this release matters in one sentence, you're not ready to write the spec.
485
+
486
+ ---
487
+
488
+ ### 2. Write Production-Ready Code Examples
489
+
490
+ **Why:** Pseudocode leaves too much room for interpretation. Real code is a contract.
491
+
492
+ **How:** Write code examples that could be committed to the repository. Include imports, error handling, and types.
493
+
494
+ ---
495
+
496
+ ### 3. Use Realistic Timelines Based on Complexity
497
+
498
+ **Why:** Underestimating timelines leads to rushed work and technical debt.
499
+
500
+ **How:** Use past releases as benchmarks. A 1,000-line feature typically takes 1-2 weeks, not 2 days.
501
+
502
+ ---
503
+
504
+ ### 4. Document Integration Points Explicitly
505
+
506
+ **Why:** Most bugs happen at the boundaries between systems.
507
+
508
+ **How:** For every new component, explicitly document how it connects to existing systems (APIs, props, state, events).
509
+
510
+ ---
511
+
512
+ ### 5. Include Risk Mitigation from the Start
513
+
514
+ **Why:** Identifying risks after implementation is too late.
515
+
516
+ **How:** During the architecture phase, ask "What could go wrong?" and document mitigation strategies.
517
+
518
+ ---
519
+
520
+ ### 6. Make Success Criteria Binary and Testable
521
+
522
+ **Why:** Ambiguous success criteria lead to scope creep and endless iteration.
523
+
524
+ **How:** Every success criterion should be a yes/no question. "The user can create a new project" is testable. "The UI is intuitive" is not.
525
+
526
+ ---
527
+
528
+ ### 7. Reference Existing Patterns
529
+
530
+ **Why:** Consistency reduces cognitive load and makes the codebase easier to maintain.
531
+
532
+ **How:** When designing a new component, reference an existing component that follows the same pattern. "Follow the structure of `ComponentX`."
533
+
534
+ ---
535
+
536
+ ## VI. Quality Checklist
537
+
538
+ Before finalizing a specification, verify:
539
+
540
+ ### Vision & Goals (3 questions)
541
+ - [ ] Is the vision statement a single, compelling sentence?
542
+ - [ ] Are the goals specific, measurable, and achievable?
543
+ - [ ] Are non-goals explicitly stated to prevent scope creep?
544
+
545
+ ### Technical Architecture (4 questions)
546
+ - [ ] Does every major component have a detailed design with code examples?
547
+ - [ ] Are all API endpoints fully specified (method, path, request, response)?
548
+ - [ ] Are integration points with existing systems documented?
549
+ - [ ] Are performance considerations addressed?
550
+
551
+ ### Implementation Plan (3 questions)
552
+ - [ ] Is the timeline realistic based on the complexity of the work?
553
+ - [ ] Does the week-by-week breakdown include specific, actionable tasks?
554
+ - [ ] Is the testing strategy comprehensive (unit, integration, E2E, performance)?
555
+
556
+ ### Risk & Documentation (3 questions)
557
+ - [ ] Have major risks been identified with mitigation strategies?
558
+ - [ ] Is there a rollback procedure in case of failure?
559
+ - [ ] Are user and developer documentation needs documented?
560
+
561
+ **If you cannot answer "yes" to all 13 questions, the specification is not ready.**
562
+
563
+ ---
564
+
565
+ ## VII. Example: Dojo Genesis v0.0.23
566
+
567
+ **The Problem:** Users needed a way to calibrate the agent's behavior and communication style to match their preferences.
568
+
569
+ **The Vision:** "The Collaborative Calibration" - A release that transforms the agent from a fixed personality into an adaptive partner.
570
+
571
+ **What Made It A+:**
572
+
573
+ 1. **Clear Vision:** The tagline "Collaborative Calibration" immediately communicated the essence
574
+ 2. **Comprehensive Architecture:** Detailed design of the calibration UI, backend storage, and agent integration
575
+ 3. **Production-Ready Code:** Complete Go and TypeScript examples that could be implemented directly
576
+ 4. **Realistic Timeline:** 3-week phased approach with weekly milestones
577
+ 5. **Risk Mitigation:** Identified the risk of "calibration drift" and defined a validation mechanism
578
+
579
+ **Key Decisions:**
580
+ - Store calibration preferences in SQLite for local-first architecture
581
+ - Use a multi-dimensional calibration model (tone, verbosity, formality)
582
+ - Implement real-time preview of calibration changes
583
+
584
+ **Outcome:** The specification was commissioned to Claude Code and implemented in 2.5 weeks with minimal rework.
585
+
586
+ ---
587
+
588
+ ## VIII. Common Pitfalls to Avoid
589
+
590
+ ❌ **Vague Goals:** "Improve user experience" → ✅ "Reduce context loading time by 50%"
591
+ ❌ **Missing Code Examples:** High-level description only → ✅ Complete, runnable code
592
+ ❌ **Unrealistic Timelines:** "2 days for full backend" → ✅ "2 weeks with phased approach"
593
+ ❌ **No Risk Assessment:** Assumes everything will work → ✅ Identifies risks and mitigations
594
+ ❌ **Incomplete Testing:** "We'll test it" → ✅ Specific test cases and coverage targets
595
+ ❌ **No Integration Points:** Treats feature as isolated → ✅ Documents how it connects to existing system
596
+
597
+ ---
598
+
599
+ ## IX. Related Skills
600
+
601
+ - **`strategic-to-tactical-workflow`** - The complete workflow from scouting to implementation (this skill is Phase 6)
602
+ - **`frontend-from-backend`** - For frontend specs that need deep backend grounding
603
+ - **`implementation-prompt`** - For converting this spec into implementation prompts
604
+ - **`parallel-tracks`** - For splitting large specs into parallel execution tracks
605
+ - **`repo-context-sync`** - For gathering codebase context before writing specs
606
+ - **`memory-garden`** - For documenting learnings from implementation
607
+ - **`seed-extraction`** - For extracting reusable patterns from specs
608
+
609
+ ---
610
+
611
+ ## X. Skill Metadata
612
+
613
+ **Token Savings:** ~10,000-15,000 tokens per specification (no need to re-read old specs for patterns)
614
+ **Quality Impact:** Ensures consistency across all specifications
615
+ **Maintenance:** Update when new patterns emerge from successful releases
616
+
617
+ **When to Update This Skill:**
618
+ - After completing 3-5 new specifications (to incorporate new patterns)
619
+ - When a specification leads to significant rework (to identify what was missing)
620
+ - When commissioning to a new type of agent (to adapt the template)
621
+
622
+ ---
623
+
624
+ **Last Updated:** 2026-02-07
625
+ **Maintained By:** Manus AI
626
+ **Status:** Active
627
+
628
+ ---
629
+
630
+ ## OpenClaw Tool Integration
631
+
632
+ When running inside the Dojo Genesis plugin:
633
+
634
+ 1. **Start** by calling `dojo_get_context` to retrieve full project state, history, and artifacts
635
+ 2. **During** the skill execution, follow the workflow steps as documented above
636
+ 3. **Save** all outputs using `dojo_save_artifact` with appropriate artifact types:
637
+ - `scout` → type: "scout-report"
638
+ - `spec` → type: "specification"
639
+ - `tracks` → type: "track-decomposition"
640
+ - `commission` → type: "implementation-prompt"
641
+ - `retro` → type: "retrospective"
642
+ 4. **Update state** by calling `dojo_update_state` to:
643
+ - Record the skill execution in activity history
644
+ - Advance the project phase if appropriate
645
+ - Log any decisions made during the skill run
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "dojo-genesis-plugin-release-specification",
3
+ "version": "1.0.0",
4
+ "description": "Write a production-ready release specification",
5
+ "author": "dojo-genesis",
6
+ "license": "MIT",
7
+ "permissions": [],
8
+ "entry": "SKILL.md",
9
+ "tags": ["dojo-genesis", "orchestration", "pipeline", "development"],
10
+ "models": ["claude-*", "gpt-*", "gemini-*"],
11
+ "minOpenClawVersion": "2026.1.0"
12
+ }