@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,413 @@
1
+ ---
2
+ name: skill-maintenance
3
+ description: Maintain skills directory health through systematic renaming, refactoring, and cross-reference management. Use when skill names drift or terminology needs updating. Trigger phrases: "update these skill names", "refactor the skills directory", "clean up skill references", "rename this skill", "audit the skills ecosystem".
4
+ ---
5
+
6
+ > **OpenClaw Integration:** This skill is invoked by the Dojo Genesis plugin via `/dojo run skill-maintenance`.
7
+ > The agent receives project context automatically via the `before_agent_start` hook.
8
+ > Use `dojo_get_context` for full state, `dojo_save_artifact` to persist outputs,
9
+ > and `dojo_update_state` to record phase transitions and decisions.
10
+
11
+ # Skill Maintenance Ritual
12
+
13
+ ---
14
+
15
+ ## I. The Philosophy: Maintenance is Not Just Fixing—It's Keeping What Works Working Well
16
+
17
+ A skills directory is a living knowledge base. As the project evolves, skill names may become unclear, terminology may need updating, and cross-references may drift out of sync. Without systematic maintenance, the knowledge base degrades: skills become hard to find, references break, and terminology becomes inconsistent.
18
+
19
+ This skill transforms maintenance from a reactive chore into a proactive ritual. By following a structured process (read, propose, execute, verify, document), we ensure the skills directory remains clear, consistent, and valuable.
20
+
21
+ **Core Insight:** Good maintenance prevents future problems. A well-maintained knowledge base is easier to search, easier to understand, and easier to extend.
22
+
23
+ ---
24
+
25
+ ## II. When to Use This Skill
26
+
27
+ Use this skill when:
28
+
29
+ - **Skill names become unclear or outdated** - Names no longer describe what the skill does
30
+ - **Terminology needs updating** - Tool-specific language should be generalized (e.g., "zenflow" → "implementation")
31
+ - **Adding new skills** - New skills reference existing skills and need validation
32
+ - **Deprecating or merging skills** - Old skills need to be removed or consolidated
33
+ - **Conducting periodic audits** - Regular health checks of the skills directory
34
+ - **Onboarding new contributors** - Ensuring the knowledge base is accessible and consistent
35
+
36
+ ---
37
+
38
+ ## III. The Workflow
39
+
40
+ This is a 9-step workflow for maintaining the skills directory.
41
+
42
+ ---
43
+
44
+ ### **Step 1: Recognize the Need for Maintenance**
45
+
46
+ **Goal:** Identify when skill maintenance is needed.
47
+
48
+ **Triggers:**
49
+ - User requests skill renames or refactors
50
+ - You notice unclear or inconsistent skill names
51
+ - New skills are added that reference outdated names
52
+ - Terminology changes in the broader ecosystem (e.g., tool names, industry standards)
53
+ - Periodic audit schedule (e.g., quarterly)
54
+
55
+ **Actions:**
56
+ 1. Pause and clarify the scope with the user
57
+ 2. Ask: What specifically needs to change?
58
+ 3. Ask: What should stay the same?
59
+ 4. Document the maintenance goal clearly
60
+
61
+ **Output:** Clear understanding of maintenance scope
62
+
63
+ **Key Insight:** Always pause and clarify scope before large refactors. Avoid over-refactoring by understanding what actually needs to change.
64
+
65
+ ---
66
+
67
+ ### **Step 2: Read Before Proposing**
68
+
69
+ **Goal:** Understand what the skills actually do before suggesting changes.
70
+
71
+ **Actions:**
72
+ 1. Read all skills that will be affected by the maintenance
73
+ 2. Understand the actual purpose and workflow of each skill
74
+ 3. Note any cross-references between skills
75
+ 4. Identify patterns in naming or terminology
76
+
77
+ **Tools:**
78
+ - `file` tool (read action) for each skill
79
+ - Take notes on what each skill does
80
+
81
+ **Output:** Deep understanding of affected skills
82
+
83
+ **Key Insight:** Never propose renames or refactors without reading the actual content first. Names should reflect reality, not assumptions.
84
+
85
+ ---
86
+
87
+ ### **Step 3: Propose Clear, Descriptive Changes**
88
+
89
+ **Goal:** Suggest changes that improve clarity and consistency.
90
+
91
+ **Actions:**
92
+ 1. For renames: Propose names following the "verb-object" pattern
93
+ - Examples: `release-specification`, `implementation-prompt`
94
+ 2. For terminology refactors: Identify what should change and what should stay
95
+ 3. Create a table showing old → new with rationale
96
+ 4. Get user confirmation before proceeding
97
+
98
+ **Tools:**
99
+ - `message` tool (ask type) to propose and get feedback
100
+
101
+ **Output:** Agreed-upon changes
102
+
103
+ **Key Insight:** Good naming is good documentation. Descriptive names reduce cognitive load and make skills immediately understandable.
104
+
105
+ ---
106
+
107
+ ### **Step 4: Execute Renames Systematically**
108
+
109
+ **Goal:** Rename skill directories and update internal references.
110
+
111
+ **Actions:**
112
+ 1. Rename skill directories using `mv` command
113
+ 2. Update `name` field in each SKILL.md frontmatter
114
+ 3. Update title (H1 heading) in each SKILL.md
115
+ 4. Verify renames with `ls` command
116
+
117
+ **Tools:**
118
+ - `shell` tool for directory renames
119
+ - `file` tool (edit action) for content updates
120
+
121
+ **Output:** Renamed skills with updated metadata
122
+
123
+ **Key Insight:** Rename both the directory and the internal metadata. Inconsistency between directory name and skill name causes confusion.
124
+
125
+ ---
126
+
127
+ ### **Step 5: Search and Catalog References**
128
+
129
+ **Goal:** Find all instances of terminology or names that need updating.
130
+
131
+ **Actions:**
132
+ 1. Use `grep -r -i "<term>"` to find all references
133
+ 2. Count references by directory: `grep -r -i "<term>" | cut -d: -f1 | sed 's|^\./||' | cut -d/ -f1 | sort | uniq -c | sort -rn`
134
+ 3. Identify which references need updating (skills directory) vs. which should stay (historical docs)
135
+ 4. Confirm scope with user if needed
136
+
137
+ **Tools:**
138
+ - `shell` tool with grep for searching
139
+ - `wc -l` to count references
140
+ - `cut`, `sort`, `uniq -c` to categorize
141
+
142
+ **Output:** Catalog of references to update
143
+
144
+ **Key Insight:** Always catalog before refactoring. Understanding the scope prevents over-refactoring or missing references.
145
+
146
+ ---
147
+
148
+ ### **Step 6: Read Context and Determine Strategy**
149
+
150
+ **Goal:** Understand which references should change and which should stay.
151
+
152
+ **Actions:**
153
+ 1. Use `match` tool (grep action) to view references with context
154
+ 2. Analyze each usage to determine if it should be updated
155
+ 3. Create a refactoring strategy:
156
+ - What should be replaced?
157
+ - What should be preserved?
158
+ - What replacement text should be used?
159
+ 4. Document the strategy
160
+
161
+ **Tools:**
162
+ - `match` tool (grep action) with leading/trailing context
163
+
164
+ **Output:** Refactoring strategy document
165
+
166
+ **Example Strategy:**
167
+ - Replace "Zenflow prompt" → "implementation prompt"
168
+ - Replace "Zenflow" (as executor) → "implementation agent"
169
+ - Preserve "Zenflow" when listing multiple tools: "Zenflow, Claude Code, etc."
170
+ - Preserve "Zenflow" in routing decisions: "Zenflow: Strategic implementation"
171
+
172
+ **Key Insight:** Not all references should be changed. Preserve tool-specific references when contextually appropriate.
173
+
174
+ ---
175
+
176
+ ### **Step 7: Execute Refactor with Batch Edits**
177
+
178
+ **Goal:** Update all references systematically using batch edits.
179
+
180
+ **Actions:**
181
+ 1. For each affected skill file:
182
+ - Create a list of find/replace pairs
183
+ - Use `file` tool (edit action) with multiple edits
184
+ - Set `all: true` to replace all occurrences
185
+ 2. Verify changes with `grep` after each file
186
+ 3. Keep a count of replacements per file
187
+
188
+ **Tools:**
189
+ - `file` tool (edit action) with multiple edits
190
+ - `shell` tool with grep to verify
191
+
192
+ **Output:** Updated skill files
193
+
194
+ **Example Edit:**
195
+ ```json
196
+ {
197
+ "edits": [
198
+ {"all": true, "find": "Zenflow prompt", "replace": "implementation prompt"},
199
+ {"all": true, "find": "Zenflow", "replace": "implementation agent"}
200
+ ]
201
+ }
202
+ ```
203
+
204
+ **Key Insight:** Batch edits are more efficient than one-by-one replacements. Use `all: true` to replace all occurrences in a single operation.
205
+
206
+ ---
207
+
208
+ ### **Step 8: Verify and Commit**
209
+
210
+ **Goal:** Ensure all changes are correct and commit with comprehensive documentation.
211
+
212
+ **Actions:**
213
+ 1. Verify no unintended references remain: `grep -i "<old term>" <directory>`
214
+ 2. Check git status: `git status`
215
+ 3. Stage changes: `git add skills/`
216
+ 4. Write comprehensive commit message:
217
+ - Summary of changes
218
+ - File-by-file breakdown
219
+ - Rationale for changes
220
+ - What was preserved and why
221
+ 5. Commit: `git commit -m "<message>"`
222
+ 6. Push to remote: `git push origin main`
223
+
224
+ **Tools:**
225
+ - `shell` tool with git commands
226
+
227
+ **Output:** Committed and pushed changes
228
+
229
+ **Commit Message Template:**
230
+ ```
231
+ <Action> in skills directory
232
+
233
+ <Summary paragraph>
234
+
235
+ Changes:
236
+ - <file1> (<N> replacements)
237
+ - <change 1>
238
+ - <change 2>
239
+
240
+ - <file2> (<N> replacements)
241
+ - <change 1>
242
+
243
+ Kept <term> only when:
244
+ - <context 1>
245
+ - <context 2>
246
+
247
+ <Rationale paragraph>
248
+ ```
249
+
250
+ **Key Insight:** Comprehensive commit messages are documentation. Future maintainers need to understand *why* changes were made, not just *what* changed.
251
+
252
+ ---
253
+
254
+ ### **Step 9: Document the Process**
255
+
256
+ **Goal:** Create summary documents for future reference.
257
+
258
+ **Actions:**
259
+ 1. Create a summary document with:
260
+ - Overview of changes
261
+ - Refactoring strategy
262
+ - Files modified
263
+ - Benefits of the changes
264
+ - Reflection on the process
265
+ 2. Deliver summary to user with `message` tool
266
+
267
+ **Tools:**
268
+ - `file` tool (write action)
269
+ - `message` tool (result type)
270
+
271
+ **Output:** Documentation for future reference
272
+
273
+ **Key Insight:** Document the process immediately after completing it. Details fade quickly from memory.
274
+
275
+ ---
276
+
277
+ ## IV. Best Practices
278
+
279
+ ### **Pause and Clarify Scope**
280
+
281
+ Before any large refactor, pause and clarify with the user:
282
+ - What exactly needs to change?
283
+ - What should stay the same?
284
+ - What's the scope (skills directory only, or entire repository)?
285
+
286
+ ### **Read Before Proposing**
287
+
288
+ Never suggest changes without reading the actual content. Understanding reality prevents proposing changes that don't make sense.
289
+
290
+ ### **Use Systematic Search**
291
+
292
+ Don't rely on memory to find all references. Use `grep` to systematically search and catalog all instances.
293
+
294
+ ### **Preserve Contextually Appropriate References**
295
+
296
+ Not all references should be changed. Preserve tool-specific mentions when they're contextually appropriate (e.g., when listing multiple tools).
297
+
298
+ ### **Batch Edits for Efficiency**
299
+
300
+ Use the `file` tool's multiple edits feature with `all: true` to replace all occurrences in a single operation.
301
+
302
+ ### **Comprehensive Commit Messages**
303
+
304
+ Write commit messages that explain:
305
+ - **What** changed (file-by-file breakdown)
306
+ - **Why** it changed (rationale)
307
+ - **What** was preserved (and why)
308
+
309
+ ### **Document Immediately**
310
+
311
+ Create summary documents right after completing the maintenance. Details fade quickly, and future maintainers will thank you.
312
+
313
+ ---
314
+
315
+ ## V. Quality Checklist
316
+
317
+ Before considering the maintenance complete, ensure you can answer "yes" to all of the following:
318
+
319
+ - [ ] Have you clarified the scope with the user?
320
+ - [ ] Have you read all affected skills to understand their purpose?
321
+ - [ ] Have you proposed changes and received user confirmation?
322
+ - [ ] Have you renamed directories and updated internal metadata?
323
+ - [ ] Have you cataloged all references that need updating?
324
+ - [ ] Have you determined a refactoring strategy (what changes, what stays)?
325
+ - [ ] Have you executed the refactor with batch edits?
326
+ - [ ] Have you verified no unintended references remain?
327
+ - [ ] Have you committed with a comprehensive commit message?
328
+ - [ ] Have you pushed changes to the remote repository?
329
+ - [ ] Have you created summary documentation?
330
+
331
+ ---
332
+
333
+ ## VI. Common Pitfalls to Avoid
334
+
335
+ ❌ **Over-refactoring:** Changing references that should stay (e.g., historical docs, tool-specific mentions)
336
+ ✅ **Scope appropriately:** Only change what needs changing
337
+
338
+ ❌ **Proposing without reading:** Suggesting changes based on assumptions
339
+ ✅ **Read first:** Understand reality before proposing
340
+
341
+ ❌ **Missing references:** Relying on memory instead of systematic search
342
+ ✅ **Use grep:** Catalog all references systematically
343
+
344
+ ❌ **Vague commit messages:** "Updated skills" without explanation
345
+ ✅ **Be comprehensive:** Explain what, why, and what was preserved
346
+
347
+ ❌ **No documentation:** Completing maintenance without recording the process
348
+ ✅ **Document immediately:** Create summary docs while details are fresh
349
+
350
+ ---
351
+
352
+ ## VII. Example: Skill Rename and Terminology Refactor (Feb 7, 2026)
353
+
354
+ **Context:** After creating 5 new skills, we needed to rename 4 existing skills and refactor "zenflow" to "implementation" across 32 references.
355
+
356
+ **Process:**
357
+ 1. User requested renames: "let's rename our specification and prompt skills to simply describe what they do"
358
+ 2. Read all 4 skills to understand their purpose
359
+ 3. Proposed renames following "verb-object" pattern
360
+ 4. User refined names (e.g., "write-zenflow-prompt" → "write-implementation-prompt")
361
+ 5. Renamed directories and updated metadata
362
+ 6. User requested terminology refactor: "complete this knowledge refactor to rename everything else with zenflow in it to implementation"
363
+ 7. Searched and found 530 total "zenflow" references
364
+ 8. User scoped down: "skills directory only" (32 references)
365
+ 9. Read context and determined strategy (what to change, what to preserve)
366
+ 10. Executed refactor with batch edits (22 + 7 + 2 + 1 replacements)
367
+ 11. Verified and committed with comprehensive message
368
+ 12. Created summary documentation
369
+
370
+ **Outcome:**
371
+ - 4 skills renamed with clear, descriptive names
372
+ - 32 references updated to generic "implementation" terminology
373
+ - 6 tool-specific "Zenflow" references preserved
374
+ - All cross-references updated
375
+ - Comprehensive documentation created
376
+
377
+ **Time:** ~2 hours total
378
+
379
+ ---
380
+
381
+ ## VIII. Related Skills
382
+
383
+ - **`compression-ritual`** - For preserving insights before large refactors
384
+ - **`process-extraction`** - For creating new skills from maintenance processes
385
+ - **`health-audit`** - For comprehensive repository health audits
386
+ - **`documentation-audit`** - For identifying documentation drift
387
+
388
+ ---
389
+
390
+ ## IX. Maintenance Schedule Recommendation
391
+
392
+ **Suggested frequency:**
393
+ - **Quarterly:** Full audit of skills directory
394
+ - **After major additions:** When 5+ new skills are added
395
+ - **On user request:** When terminology or naming issues are identified
396
+ - **Before major releases:** Ensure consistency before public releases
397
+
398
+ ---
399
+
400
+ **Last Updated:** 2026-02-07
401
+ **Maintained By:** Manus AI
402
+ **Status:** Active
403
+ ---
404
+
405
+ ## OpenClaw Tool Integration
406
+
407
+ When running inside the Dojo Genesis plugin:
408
+
409
+ 1. **Start** by calling `dojo_get_context` to retrieve full project state, history, and artifacts
410
+ 2. **During** the skill, follow the workflow steps documented above
411
+ 3. **Save** outputs using `dojo_save_artifact` with the `artifacts` output directory
412
+ 4. **Update** project state by calling `dojo_update_state` to record skill completion and any phase transitions
413
+
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "dojo-genesis-plugin-skill-maintenance",
3
+ "version": "1.0.0",
4
+ "description": "Maintain skill health through systematic review",
5
+ "author": "dojo-genesis",
6
+ "license": "MIT",
7
+ "permissions": [],
8
+ "entry": "SKILL.md",
9
+ "tags": ["dojo-genesis", "orchestration", "forge", "skills"],
10
+ "models": ["claude-*", "gpt-*", "gemini-*"],
11
+ "minOpenClawVersion": "2026.1.0"
12
+ }
@@ -0,0 +1,174 @@
1
+ ---
2
+ name: spec-constellation-to-prompt-suite
3
+ description: Convert multiple specs into coordinated parallel-track implementation prompts with integration contracts. Use when translating specs into execution-ready prompts for multiple tracks. Trigger phrases: 'convert specs to prompts', 'create implementation prompts', 'define integration contracts', 'ready to commission these specs', 'coordinate these parallel tracks'.
4
+ ---
5
+
6
+ > **OpenClaw Integration:** This skill is invoked by the Dojo Genesis plugin via `/dojo run spec-constellation-to-prompt-suite`.
7
+ > The agent receives project context automatically via the `before_agent_start` hook.
8
+ > Use `dojo_get_context` for full state, `dojo_save_artifact` to persist outputs,
9
+ > and `dojo_update_state` to record phase transitions and decisions.
10
+
11
+ ## I. The Philosophy
12
+
13
+ When you move from one specification to one implementation prompt, you're writing a focused brief. But when you move from four interconnected specifications to four parallel implementation prompts, you're solving a **coordination problem**.
14
+
15
+ The danger: each prompt looks coherent in isolation, but the tracks execute independently. Track B (Go backend) produces the API that Track C (frontend) consumes—but if the two prompts define the contract differently, integration fails. Track A (scaffold) defines design tokens that Track D (dock + home) must use—but inconsistent naming breaks everything. Type definitions (DojoEntity, PipelineContent) must be identical across tracks, not compatible or "close enough."
16
+
17
+ This skill exists because:
18
+ - Writing N prompts from N specs is not N repetitions of "write one prompt"
19
+ - The coordination happens at the integration boundaries, not within prompts
20
+ - Shared types and contracts must be defined BEFORE prompts are written
21
+ - Cross-validation is the difference between "tracks that exist" and "tracks that integrate"
22
+
23
+ ## II. When to Use This Skill
24
+
25
+ - You have 2+ interconnected specifications covering different aspects of a release
26
+ - Prompts for different tracks must agree on APIs, types, exports, or design tokens
27
+ - You're moving from "specs documented" to "ready to commission parallel work"
28
+ - One track's output becomes another track's input (explicit handoff required)
29
+ - You need a master plan that ties implementation work together
30
+ - Risk: Tracks ship independently without realizing their contracts don't align
31
+
32
+ ## III. Prerequisites
33
+
34
+ - A master plan or release plan defining the release scope
35
+ - 2+ specifications covering different aspects of the release
36
+ - A parallel tracks decomposition (or the intent to create one)
37
+ - Codebase patterns extracted for grounding (handler patterns, response formats, type definitions)
38
+ - At least one existing codebase to extract patterns from
39
+
40
+ ## IV. The Workflow
41
+
42
+ ### Step 1: Map the Spec Constellation
43
+
44
+ List all specs that contribute to this release. For each spec, identify:
45
+ - Which aspects map to which track(s)
46
+ - Which other specs it depends on or feeds
47
+ - What decisions or scouts inform it
48
+
49
+ Create a matrix:
50
+ | Spec | Contributes To | Dependencies | Key Decision |
51
+ |------|---|---|---|
52
+ | Entity Data Model | Track B, C, D | — | Entity CRUD shape |
53
+ | Tauri Shell | Track A | — | Platform scaffold |
54
+ | Horizon Dock | Track D | Tauri Shell, Entity Model | UI layout |
55
+ | Home State | Track D | Entity Model | State shape |
56
+
57
+ **Key insight:** Specs don't map 1:1 to tracks. One spec feeds multiple tracks; multiple specs feed one track.
58
+
59
+ ### Step 2: Define Integration Interfaces
60
+
61
+ For each pair of tracks that share data, define the contract in this format:
62
+
63
+ **Integration Contract Table:**
64
+ | Interface | Produced By | Consumed By | Shape | Verification |
65
+ |---|---|---|---|---|
66
+ | EntityAPI | Track B | Track C | `listEntities(route): Promise<DojoEntity[]>` | Type check against export |
67
+ | DojoEntity type | Track B | Track C, D | TypeScript interface | Shared in all 3 prompts identically |
68
+ | Route handlers | Track A | Track D | Path format: `/entity/:id` | Navigation code type-checks |
69
+
70
+ Write each contract in the Integration Contract Template below. **This table becomes the spine of the master plan.**
71
+
72
+ ### Step 3: Extract Codebase Patterns
73
+
74
+ For each track that touches existing code:
75
+
76
+ - **Backend tracks:** Extract handler patterns, request/response shapes, middleware hooks
77
+ - **Frontend tracks:** Extract component folder structure, hook patterns, state management shapes
78
+ - **All tracks:** Response formats, error handling, logging conventions
79
+
80
+ Store patterns as reference files in the prompt (or link to them). Ground each prompt in "this is how we actually do it," not assumptions.
81
+
82
+ ### Step 4: Write Prompts in Dependency Order
83
+
84
+ Begin with the track that has **no dependencies** (often scaffold or backend). For each prompt, include:
85
+
86
+ 1. **Context & Grounding:** Which specs to read, which pattern files to reference
87
+ 2. **Detailed Requirements:** Numbered, specific, unambiguous
88
+ 3. **File Manifest:** Create vs. modify; where files go
89
+ 4. **Success Criteria:** Binary, testable (not "looks good")
90
+ 5. **Constraints & Non-Goals:** What NOT to do
91
+ 6. **Integration Contracts:** What this track produces; what it depends on (reference Step 2)
92
+
93
+ **When writing a consuming track's prompt**, cite the producing track's contract explicitly:
94
+ > "Track B produces the DojoEntity type (Integration Contract: DojoEntity type). Use that type exactly in Track C's API client."
95
+
96
+ ### Step 5: Cross-Validate Type Consistency
97
+
98
+ For every shared type (DojoEntity, PipelineContent, etc.):
99
+ - Check that the definition appears identically in every prompt that references it
100
+ - If a type evolves, update it in ALL prompts and the Integration Contract Table
101
+
102
+ For every API contract:
103
+ - Verify producer's response shape matches consumer's expected input shape
104
+ - Check HTTP method, status codes, error responses
105
+
106
+ For shared resources (CSS variables, design tokens, route patterns):
107
+ - Verify naming is consistent across all prompts
108
+
109
+ **Catch-and-fix:** This step prevents integration bugs.
110
+
111
+ ### Step 6: Write the Master Implementation Plan
112
+
113
+ Summarize all tracks, dependencies, and integration points:
114
+
115
+ 1. List all tracks in dependency order
116
+ 2. Include the Integration Contract Table from Step 2
117
+ 3. Define the day-by-day execution sequence
118
+ 4. List aggregate success criteria spanning tracks
119
+ 5. Note risk mitigation (e.g., "Track B ships Friday; Track C unblocked Monday")
120
+
121
+ ## V. Integration Contract Template
122
+
123
+ ```markdown
124
+ ### Integration Contract: [Name]
125
+
126
+ - **Producer:** Track [X] — [brief description of what produces this]
127
+ - **Consumer:** Track [Y] — [brief description of what consumes this]
128
+ - **Interface:** [API endpoint / TypeScript type / CSS variable / Go struct / etc.]
129
+ - **Language:** [TypeScript / Go / CSS / etc.]
130
+ - **Shape:**
131
+ ```typescript
132
+ // or Go, or CSS — whatever the interface language is
133
+ interface EntityAPI {
134
+ listEntities(route: string): Promise<DojoEntity[]>
135
+ getEntity(id: string): Promise<DojoEntity>
136
+ }
137
+ ```
138
+ - **Constraints:** [Any limits on the interface — e.g., "Must serialize to JSON", "Case-sensitive names"]
139
+ - **Verification:** [How to verify the contract is met — e.g., "Track Y's API client type-checks against Track X's response"]
140
+ - **Owner:** Track [X] (responsible for backward compatibility)
141
+ ```
142
+
143
+ ## VI. Best Practices
144
+
145
+ - **Specs don't map 1:1 to tracks.** Build the mapping explicitly in Step 1.
146
+ - **Integration contracts are the most important output.** Prompts without contracts produce tracks that don't integrate.
147
+ - **Write the most-depended-on track's prompt first.** Its contracts shape everything downstream.
148
+ - **Cross-validation catches bugs before execution.** Type mismatches, response shape mismatches, and naming inconsistencies surface now, not during integration.
149
+ - **If a spec needs updating mid-stream,** do it in the prompt, not by rewriting the spec. Prompts are executable; specs are reference.
150
+ - **Each prompt must be self-contained.** An agent should execute it without reading other prompts. Integration contracts embedded in the prompt provide necessary context.
151
+
152
+ ## VII. Quality Checklist
153
+
154
+ - [ ] All specs contributing to this release are mapped to tracks (Step 1)
155
+ - [ ] Every cross-track dependency has an explicit integration contract (Step 2)
156
+ - [ ] Shared types (DojoEntity, etc.) are consistent across all prompts that reference them (Step 5)
157
+ - [ ] Each prompt is self-contained and executable independently
158
+ - [ ] Prompts are ordered by dependency (foundation tracks first) (Step 4)
159
+ - [ ] Integration Contract Table is complete and unambiguous (Step 2)
160
+ - [ ] Codebase patterns extracted and grounded in prompts (Step 3)
161
+ - [ ] Master implementation plan ties all tracks together (Step 6)
162
+ - [ ] Success criteria span tracks, not just per-track (Step 6)
163
+ - [ ] Risk mitigation plan addresses integration dependencies
164
+ ---
165
+
166
+ ## OpenClaw Tool Integration
167
+
168
+ When running inside the Dojo Genesis plugin:
169
+
170
+ 1. **Start** by calling `dojo_get_context` to retrieve full project state, history, and artifacts
171
+ 2. **During** the skill, follow the workflow steps documented above
172
+ 3. **Save** outputs using `dojo_save_artifact` with the `artifacts` output directory
173
+ 4. **Update** project state by calling `dojo_update_state` to record skill completion and any phase transitions
174
+
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "dojo-genesis-plugin-spec-constellation-to-prompt-suite",
3
+ "version": "1.0.0",
4
+ "description": "Convert multiple specs into coordinated prompts",
5
+ "author": "dojo-genesis",
6
+ "license": "MIT",
7
+ "permissions": [],
8
+ "entry": "SKILL.md",
9
+ "tags": ["dojo-genesis", "orchestration", "workflow", "process"],
10
+ "models": ["claude-*", "gpt-*", "gemini-*"],
11
+ "minOpenClawVersion": "2026.1.0"
12
+ }