gsd-pi 2.29.0-dev.77f06e2 → 2.29.0-dev.f08b4fe

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 (251) hide show
  1. package/dist/extension-registry.d.ts +63 -0
  2. package/dist/extension-registry.js +166 -0
  3. package/dist/headless.js +4 -0
  4. package/dist/loader.js +10 -1
  5. package/dist/resource-loader.js +11 -1
  6. package/dist/resources/extensions/async-jobs/extension-manifest.json +13 -0
  7. package/dist/resources/extensions/bg-shell/extension-manifest.json +14 -0
  8. package/dist/resources/extensions/browser-tools/extension-manifest.json +37 -0
  9. package/dist/resources/extensions/context7/extension-manifest.json +12 -0
  10. package/dist/resources/extensions/google-search/extension-manifest.json +12 -0
  11. package/dist/resources/extensions/gsd/auto-dashboard.ts +31 -0
  12. package/dist/resources/extensions/gsd/auto-dispatch.ts +32 -3
  13. package/dist/resources/extensions/gsd/auto-post-unit.ts +39 -10
  14. package/dist/resources/extensions/gsd/auto-prompts.ts +40 -17
  15. package/dist/resources/extensions/gsd/auto-recovery.ts +2 -1
  16. package/dist/resources/extensions/gsd/auto-start.ts +18 -32
  17. package/dist/resources/extensions/gsd/auto-worktree.ts +21 -182
  18. package/dist/resources/extensions/gsd/auto.ts +2 -9
  19. package/dist/resources/extensions/gsd/captures.ts +4 -10
  20. package/dist/resources/extensions/gsd/commands-extensions.ts +328 -0
  21. package/dist/resources/extensions/gsd/commands-handlers.ts +2 -1
  22. package/dist/resources/extensions/gsd/commands.ts +53 -2
  23. package/dist/resources/extensions/gsd/detection.ts +2 -1
  24. package/dist/resources/extensions/gsd/doctor-checks.ts +49 -1
  25. package/dist/resources/extensions/gsd/doctor-types.ts +3 -1
  26. package/dist/resources/extensions/gsd/extension-manifest.json +18 -0
  27. package/dist/resources/extensions/gsd/forensics.ts +2 -2
  28. package/dist/resources/extensions/gsd/git-service.ts +3 -2
  29. package/dist/resources/extensions/gsd/gitignore.ts +9 -63
  30. package/dist/resources/extensions/gsd/gsd-db.ts +1 -165
  31. package/dist/resources/extensions/gsd/guided-flow.ts +8 -5
  32. package/dist/resources/extensions/gsd/index.ts +3 -3
  33. package/dist/resources/extensions/gsd/md-importer.ts +3 -2
  34. package/dist/resources/extensions/gsd/mechanical-completion.ts +430 -0
  35. package/dist/resources/extensions/gsd/migrate/command.ts +3 -2
  36. package/dist/resources/extensions/gsd/migrate/writer.ts +2 -1
  37. package/dist/resources/extensions/gsd/migrate-external.ts +123 -0
  38. package/dist/resources/extensions/gsd/paths.ts +24 -2
  39. package/dist/resources/extensions/gsd/post-unit-hooks.ts +6 -5
  40. package/dist/resources/extensions/gsd/preferences-models.ts +7 -1
  41. package/dist/resources/extensions/gsd/preferences-validation.ts +2 -1
  42. package/dist/resources/extensions/gsd/preferences.ts +10 -5
  43. package/dist/resources/extensions/gsd/prompts/discuss-headless.md +4 -2
  44. package/dist/resources/extensions/gsd/prompts/guided-discuss-milestone.md +1 -1
  45. package/dist/resources/extensions/gsd/prompts/plan-milestone.md +26 -2
  46. package/dist/resources/extensions/gsd/prompts/plan-slice.md +15 -1
  47. package/dist/resources/extensions/gsd/repo-identity.ts +148 -0
  48. package/dist/resources/extensions/gsd/resource-version.ts +99 -0
  49. package/dist/resources/extensions/gsd/session-forensics.ts +4 -3
  50. package/dist/resources/extensions/gsd/tests/activity-log.test.ts +2 -2
  51. package/dist/resources/extensions/gsd/tests/auto-recovery.test.ts +3 -3
  52. package/dist/resources/extensions/gsd/tests/auto-worktree.test.ts +0 -58
  53. package/dist/resources/extensions/gsd/tests/doctor-runtime.test.ts +3 -4
  54. package/dist/resources/extensions/gsd/tests/feature-branch-lifecycle-integration.test.ts +5 -18
  55. package/dist/resources/extensions/gsd/tests/git-service.test.ts +10 -37
  56. package/dist/resources/extensions/gsd/tests/knowledge.test.ts +4 -4
  57. package/dist/resources/extensions/gsd/tests/mechanical-completion.test.ts +356 -0
  58. package/dist/resources/extensions/gsd/tests/plan-slice-prompt.test.ts +1 -0
  59. package/dist/resources/extensions/gsd/tests/token-profile.test.ts +14 -16
  60. package/dist/resources/extensions/gsd/triage-resolution.ts +2 -1
  61. package/dist/resources/extensions/gsd/types.ts +2 -0
  62. package/dist/resources/extensions/gsd/worktree-command.ts +1 -11
  63. package/dist/resources/extensions/gsd/worktree-manager.ts +3 -2
  64. package/dist/resources/extensions/gsd/worktree.ts +42 -5
  65. package/dist/resources/extensions/mac-tools/extension-manifest.json +16 -0
  66. package/dist/resources/extensions/mcporter/extension-manifest.json +12 -0
  67. package/dist/resources/extensions/remote-questions/extension-manifest.json +11 -0
  68. package/dist/resources/extensions/search-the-web/extension-manifest.json +13 -0
  69. package/dist/resources/extensions/slash-commands/extension-manifest.json +11 -0
  70. package/dist/resources/extensions/subagent/extension-manifest.json +13 -0
  71. package/dist/resources/extensions/ttsr/extension-manifest.json +11 -0
  72. package/dist/resources/extensions/universal-config/extension-manifest.json +13 -0
  73. package/dist/resources/extensions/voice/extension-manifest.json +12 -0
  74. package/dist/resources/skills/create-gsd-extension/SKILL.md +87 -0
  75. package/dist/resources/skills/create-gsd-extension/references/compaction-session-control.md +77 -0
  76. package/dist/resources/skills/create-gsd-extension/references/custom-commands.md +139 -0
  77. package/dist/resources/skills/create-gsd-extension/references/custom-rendering.md +108 -0
  78. package/dist/resources/skills/create-gsd-extension/references/custom-tools.md +183 -0
  79. package/dist/resources/skills/create-gsd-extension/references/custom-ui.md +490 -0
  80. package/dist/resources/skills/create-gsd-extension/references/events-reference.md +126 -0
  81. package/dist/resources/skills/create-gsd-extension/references/extension-lifecycle.md +64 -0
  82. package/dist/resources/skills/create-gsd-extension/references/extensionapi-reference.md +75 -0
  83. package/dist/resources/skills/create-gsd-extension/references/extensioncontext-reference.md +53 -0
  84. package/dist/resources/skills/create-gsd-extension/references/key-rules-gotchas.md +36 -0
  85. package/dist/resources/skills/create-gsd-extension/references/mode-behavior.md +32 -0
  86. package/dist/resources/skills/create-gsd-extension/references/model-provider-management.md +89 -0
  87. package/dist/resources/skills/create-gsd-extension/references/packaging-distribution.md +55 -0
  88. package/dist/resources/skills/create-gsd-extension/references/remote-execution-overrides.md +90 -0
  89. package/dist/resources/skills/create-gsd-extension/references/state-management.md +70 -0
  90. package/dist/resources/skills/create-gsd-extension/references/system-prompt-modification.md +52 -0
  91. package/dist/resources/skills/create-gsd-extension/templates/extension-skeleton.ts +51 -0
  92. package/dist/resources/skills/create-gsd-extension/templates/stateful-tool-skeleton.ts +143 -0
  93. package/dist/resources/skills/create-gsd-extension/workflows/add-capability.md +57 -0
  94. package/dist/resources/skills/create-gsd-extension/workflows/create-extension.md +156 -0
  95. package/dist/resources/skills/create-gsd-extension/workflows/debug-extension.md +74 -0
  96. package/dist/resources/skills/create-skill/SKILL.md +184 -0
  97. package/dist/resources/skills/create-skill/references/api-security.md +226 -0
  98. package/dist/resources/skills/create-skill/references/be-clear-and-direct.md +531 -0
  99. package/dist/resources/skills/create-skill/references/common-patterns.md +595 -0
  100. package/dist/resources/skills/create-skill/references/core-principles.md +437 -0
  101. package/dist/resources/skills/create-skill/references/executable-code.md +175 -0
  102. package/dist/resources/skills/create-skill/references/gsd-skill-ecosystem.md +68 -0
  103. package/dist/resources/skills/create-skill/references/iteration-and-testing.md +474 -0
  104. package/dist/resources/skills/create-skill/references/recommended-structure.md +168 -0
  105. package/dist/resources/skills/create-skill/references/skill-structure.md +372 -0
  106. package/dist/resources/skills/create-skill/references/use-xml-tags.md +466 -0
  107. package/dist/resources/skills/create-skill/references/using-scripts.md +113 -0
  108. package/dist/resources/skills/create-skill/references/using-templates.md +112 -0
  109. package/dist/resources/skills/create-skill/references/workflows-and-validation.md +510 -0
  110. package/dist/resources/skills/create-skill/templates/router-skill.md +73 -0
  111. package/dist/resources/skills/create-skill/templates/simple-skill.md +33 -0
  112. package/dist/resources/skills/create-skill/workflows/add-reference.md +96 -0
  113. package/dist/resources/skills/create-skill/workflows/add-script.md +93 -0
  114. package/dist/resources/skills/create-skill/workflows/add-template.md +74 -0
  115. package/dist/resources/skills/create-skill/workflows/add-workflow.md +120 -0
  116. package/dist/resources/skills/create-skill/workflows/audit-skill.md +148 -0
  117. package/dist/resources/skills/create-skill/workflows/create-new-skill.md +196 -0
  118. package/dist/resources/skills/create-skill/workflows/get-guidance.md +121 -0
  119. package/dist/resources/skills/create-skill/workflows/upgrade-to-router.md +161 -0
  120. package/dist/resources/skills/create-skill/workflows/verify-skill.md +204 -0
  121. package/dist/resources/skills/react-best-practices/SKILL.md +1 -1
  122. package/package.json +1 -1
  123. package/packages/native/dist/native.d.ts +2 -0
  124. package/packages/native/dist/native.js +19 -5
  125. package/packages/native/src/native.ts +23 -9
  126. package/packages/pi-coding-agent/dist/core/lsp/client.d.ts.map +1 -1
  127. package/packages/pi-coding-agent/dist/core/lsp/client.js +3 -0
  128. package/packages/pi-coding-agent/dist/core/lsp/client.js.map +1 -1
  129. package/packages/pi-coding-agent/src/core/lsp/client.ts +3 -0
  130. package/src/resources/extensions/async-jobs/extension-manifest.json +13 -0
  131. package/src/resources/extensions/bg-shell/extension-manifest.json +14 -0
  132. package/src/resources/extensions/browser-tools/extension-manifest.json +37 -0
  133. package/src/resources/extensions/context7/extension-manifest.json +12 -0
  134. package/src/resources/extensions/google-search/extension-manifest.json +12 -0
  135. package/src/resources/extensions/gsd/auto-dashboard.ts +31 -0
  136. package/src/resources/extensions/gsd/auto-dispatch.ts +32 -3
  137. package/src/resources/extensions/gsd/auto-post-unit.ts +39 -10
  138. package/src/resources/extensions/gsd/auto-prompts.ts +40 -17
  139. package/src/resources/extensions/gsd/auto-recovery.ts +2 -1
  140. package/src/resources/extensions/gsd/auto-start.ts +18 -32
  141. package/src/resources/extensions/gsd/auto-worktree.ts +21 -182
  142. package/src/resources/extensions/gsd/auto.ts +2 -9
  143. package/src/resources/extensions/gsd/captures.ts +4 -10
  144. package/src/resources/extensions/gsd/commands-extensions.ts +328 -0
  145. package/src/resources/extensions/gsd/commands-handlers.ts +2 -1
  146. package/src/resources/extensions/gsd/commands.ts +53 -2
  147. package/src/resources/extensions/gsd/detection.ts +2 -1
  148. package/src/resources/extensions/gsd/doctor-checks.ts +49 -1
  149. package/src/resources/extensions/gsd/doctor-types.ts +3 -1
  150. package/src/resources/extensions/gsd/extension-manifest.json +18 -0
  151. package/src/resources/extensions/gsd/forensics.ts +2 -2
  152. package/src/resources/extensions/gsd/git-service.ts +3 -2
  153. package/src/resources/extensions/gsd/gitignore.ts +9 -63
  154. package/src/resources/extensions/gsd/gsd-db.ts +1 -165
  155. package/src/resources/extensions/gsd/guided-flow.ts +8 -5
  156. package/src/resources/extensions/gsd/index.ts +3 -3
  157. package/src/resources/extensions/gsd/md-importer.ts +3 -2
  158. package/src/resources/extensions/gsd/mechanical-completion.ts +430 -0
  159. package/src/resources/extensions/gsd/migrate/command.ts +3 -2
  160. package/src/resources/extensions/gsd/migrate/writer.ts +2 -1
  161. package/src/resources/extensions/gsd/migrate-external.ts +123 -0
  162. package/src/resources/extensions/gsd/paths.ts +24 -2
  163. package/src/resources/extensions/gsd/post-unit-hooks.ts +6 -5
  164. package/src/resources/extensions/gsd/preferences-models.ts +7 -1
  165. package/src/resources/extensions/gsd/preferences-validation.ts +2 -1
  166. package/src/resources/extensions/gsd/preferences.ts +10 -5
  167. package/src/resources/extensions/gsd/prompts/discuss-headless.md +4 -2
  168. package/src/resources/extensions/gsd/prompts/guided-discuss-milestone.md +1 -1
  169. package/src/resources/extensions/gsd/prompts/plan-milestone.md +26 -2
  170. package/src/resources/extensions/gsd/prompts/plan-slice.md +15 -1
  171. package/src/resources/extensions/gsd/repo-identity.ts +148 -0
  172. package/src/resources/extensions/gsd/resource-version.ts +99 -0
  173. package/src/resources/extensions/gsd/session-forensics.ts +4 -3
  174. package/src/resources/extensions/gsd/tests/activity-log.test.ts +2 -2
  175. package/src/resources/extensions/gsd/tests/auto-recovery.test.ts +3 -3
  176. package/src/resources/extensions/gsd/tests/auto-worktree.test.ts +0 -58
  177. package/src/resources/extensions/gsd/tests/doctor-runtime.test.ts +3 -4
  178. package/src/resources/extensions/gsd/tests/feature-branch-lifecycle-integration.test.ts +5 -18
  179. package/src/resources/extensions/gsd/tests/git-service.test.ts +10 -37
  180. package/src/resources/extensions/gsd/tests/knowledge.test.ts +4 -4
  181. package/src/resources/extensions/gsd/tests/mechanical-completion.test.ts +356 -0
  182. package/src/resources/extensions/gsd/tests/plan-slice-prompt.test.ts +1 -0
  183. package/src/resources/extensions/gsd/tests/token-profile.test.ts +14 -16
  184. package/src/resources/extensions/gsd/triage-resolution.ts +2 -1
  185. package/src/resources/extensions/gsd/types.ts +2 -0
  186. package/src/resources/extensions/gsd/worktree-command.ts +1 -11
  187. package/src/resources/extensions/gsd/worktree-manager.ts +3 -2
  188. package/src/resources/extensions/gsd/worktree.ts +42 -5
  189. package/src/resources/extensions/mac-tools/extension-manifest.json +16 -0
  190. package/src/resources/extensions/mcporter/extension-manifest.json +12 -0
  191. package/src/resources/extensions/remote-questions/extension-manifest.json +11 -0
  192. package/src/resources/extensions/search-the-web/extension-manifest.json +13 -0
  193. package/src/resources/extensions/slash-commands/extension-manifest.json +11 -0
  194. package/src/resources/extensions/subagent/extension-manifest.json +13 -0
  195. package/src/resources/extensions/ttsr/extension-manifest.json +11 -0
  196. package/src/resources/extensions/universal-config/extension-manifest.json +13 -0
  197. package/src/resources/extensions/voice/extension-manifest.json +12 -0
  198. package/src/resources/skills/create-gsd-extension/SKILL.md +87 -0
  199. package/src/resources/skills/create-gsd-extension/references/compaction-session-control.md +77 -0
  200. package/src/resources/skills/create-gsd-extension/references/custom-commands.md +139 -0
  201. package/src/resources/skills/create-gsd-extension/references/custom-rendering.md +108 -0
  202. package/src/resources/skills/create-gsd-extension/references/custom-tools.md +183 -0
  203. package/src/resources/skills/create-gsd-extension/references/custom-ui.md +490 -0
  204. package/src/resources/skills/create-gsd-extension/references/events-reference.md +126 -0
  205. package/src/resources/skills/create-gsd-extension/references/extension-lifecycle.md +64 -0
  206. package/src/resources/skills/create-gsd-extension/references/extensionapi-reference.md +75 -0
  207. package/src/resources/skills/create-gsd-extension/references/extensioncontext-reference.md +53 -0
  208. package/src/resources/skills/create-gsd-extension/references/key-rules-gotchas.md +36 -0
  209. package/src/resources/skills/create-gsd-extension/references/mode-behavior.md +32 -0
  210. package/src/resources/skills/create-gsd-extension/references/model-provider-management.md +89 -0
  211. package/src/resources/skills/create-gsd-extension/references/packaging-distribution.md +55 -0
  212. package/src/resources/skills/create-gsd-extension/references/remote-execution-overrides.md +90 -0
  213. package/src/resources/skills/create-gsd-extension/references/state-management.md +70 -0
  214. package/src/resources/skills/create-gsd-extension/references/system-prompt-modification.md +52 -0
  215. package/src/resources/skills/create-gsd-extension/templates/extension-skeleton.ts +51 -0
  216. package/src/resources/skills/create-gsd-extension/templates/stateful-tool-skeleton.ts +143 -0
  217. package/src/resources/skills/create-gsd-extension/workflows/add-capability.md +57 -0
  218. package/src/resources/skills/create-gsd-extension/workflows/create-extension.md +156 -0
  219. package/src/resources/skills/create-gsd-extension/workflows/debug-extension.md +74 -0
  220. package/src/resources/skills/create-skill/SKILL.md +184 -0
  221. package/src/resources/skills/create-skill/references/api-security.md +226 -0
  222. package/src/resources/skills/create-skill/references/be-clear-and-direct.md +531 -0
  223. package/src/resources/skills/create-skill/references/common-patterns.md +595 -0
  224. package/src/resources/skills/create-skill/references/core-principles.md +437 -0
  225. package/src/resources/skills/create-skill/references/executable-code.md +175 -0
  226. package/src/resources/skills/create-skill/references/gsd-skill-ecosystem.md +68 -0
  227. package/src/resources/skills/create-skill/references/iteration-and-testing.md +474 -0
  228. package/src/resources/skills/create-skill/references/recommended-structure.md +168 -0
  229. package/src/resources/skills/create-skill/references/skill-structure.md +372 -0
  230. package/src/resources/skills/create-skill/references/use-xml-tags.md +466 -0
  231. package/src/resources/skills/create-skill/references/using-scripts.md +113 -0
  232. package/src/resources/skills/create-skill/references/using-templates.md +112 -0
  233. package/src/resources/skills/create-skill/references/workflows-and-validation.md +510 -0
  234. package/src/resources/skills/create-skill/templates/router-skill.md +73 -0
  235. package/src/resources/skills/create-skill/templates/simple-skill.md +33 -0
  236. package/src/resources/skills/create-skill/workflows/add-reference.md +96 -0
  237. package/src/resources/skills/create-skill/workflows/add-script.md +93 -0
  238. package/src/resources/skills/create-skill/workflows/add-template.md +74 -0
  239. package/src/resources/skills/create-skill/workflows/add-workflow.md +120 -0
  240. package/src/resources/skills/create-skill/workflows/audit-skill.md +148 -0
  241. package/src/resources/skills/create-skill/workflows/create-new-skill.md +196 -0
  242. package/src/resources/skills/create-skill/workflows/get-guidance.md +121 -0
  243. package/src/resources/skills/create-skill/workflows/upgrade-to-router.md +161 -0
  244. package/src/resources/skills/create-skill/workflows/verify-skill.md +204 -0
  245. package/src/resources/skills/react-best-practices/SKILL.md +1 -1
  246. package/dist/resources/extensions/gsd/auto-worktree-sync.ts +0 -199
  247. package/dist/resources/extensions/gsd/tests/worktree-db-integration.test.ts +0 -205
  248. package/dist/resources/extensions/gsd/tests/worktree-db.test.ts +0 -442
  249. package/src/resources/extensions/gsd/auto-worktree-sync.ts +0 -199
  250. package/src/resources/extensions/gsd/tests/worktree-db-integration.test.ts +0 -205
  251. package/src/resources/extensions/gsd/tests/worktree-db.test.ts +0 -442
@@ -0,0 +1,93 @@
1
+ # Workflow: Add a Script to a Skill
2
+
3
+ <required_reading>
4
+ **Read these reference files NOW:**
5
+ 1. references/using-scripts.md
6
+ </required_reading>
7
+
8
+ <process>
9
+ ## Step 1: Identify the Skill
10
+
11
+ Ask (if not already provided):
12
+ - Which skill needs a script?
13
+ - What operation should the script perform?
14
+
15
+ ## Step 2: Analyze Script Need
16
+
17
+ Confirm this is a good script candidate:
18
+ - [ ] Same code runs across multiple invocations
19
+ - [ ] Operation is error-prone when rewritten
20
+ - [ ] Consistency matters more than flexibility
21
+
22
+ If not a good fit, suggest alternatives (inline code in workflow, reference examples).
23
+
24
+ ## Step 3: Create Scripts Directory
25
+
26
+ ```bash
27
+ mkdir -p ~/.claude/skills/{skill-name}/scripts
28
+ ```
29
+
30
+ ## Step 4: Design Script
31
+
32
+ Gather requirements:
33
+ - What inputs does the script need?
34
+ - What should it output or accomplish?
35
+ - What errors might occur?
36
+ - Should it be idempotent?
37
+
38
+ Choose language:
39
+ - **bash** - Shell operations, file manipulation, CLI tools
40
+ - **python** - Data processing, API calls, complex logic
41
+ - **node/ts** - JavaScript ecosystem, async operations
42
+
43
+ ## Step 5: Write Script File
44
+
45
+ Create `scripts/{script-name}.{ext}` with:
46
+ - Purpose comment at top
47
+ - Usage instructions
48
+ - Input validation
49
+ - Error handling
50
+ - Clear output/feedback
51
+
52
+ For bash scripts:
53
+ ```bash
54
+ #!/bin/bash
55
+ set -euo pipefail
56
+ ```
57
+
58
+ ## Step 6: Make Executable (if bash)
59
+
60
+ ```bash
61
+ chmod +x ~/.claude/skills/{skill-name}/scripts/{script-name}.sh
62
+ ```
63
+
64
+ ## Step 7: Update Workflow to Use Script
65
+
66
+ Find the workflow that needs this operation. Add:
67
+ ```xml
68
+ <process>
69
+ ...
70
+ N. Run `scripts/{script-name}.sh [arguments]`
71
+ N+1. Verify operation succeeded
72
+ ...
73
+ </process>
74
+ ```
75
+
76
+ ## Step 8: Test
77
+
78
+ Invoke the skill workflow and verify:
79
+ - Script runs at the right step
80
+ - Inputs are passed correctly
81
+ - Errors are handled gracefully
82
+ - Output matches expectations
83
+ </process>
84
+
85
+ <success_criteria>
86
+ Script is complete when:
87
+ - [ ] scripts/ directory exists
88
+ - [ ] Script file has proper structure (comments, validation, error handling)
89
+ - [ ] Script is executable (if bash)
90
+ - [ ] At least one workflow references the script
91
+ - [ ] No hardcoded secrets or credentials
92
+ - [ ] Tested with real invocation
93
+ </success_criteria>
@@ -0,0 +1,74 @@
1
+ # Workflow: Add a Template to a Skill
2
+
3
+ <required_reading>
4
+ **Read these reference files NOW:**
5
+ 1. references/using-templates.md
6
+ </required_reading>
7
+
8
+ <process>
9
+ ## Step 1: Identify the Skill
10
+
11
+ Ask (if not already provided):
12
+ - Which skill needs a template?
13
+ - What output does this template structure?
14
+
15
+ ## Step 2: Analyze Template Need
16
+
17
+ Confirm this is a good template candidate:
18
+ - [ ] Output has consistent structure across uses
19
+ - [ ] Structure matters more than creative generation
20
+ - [ ] Filling placeholders is more reliable than blank-page generation
21
+
22
+ If not a good fit, suggest alternatives (workflow guidance, reference examples).
23
+
24
+ ## Step 3: Create Templates Directory
25
+
26
+ ```bash
27
+ mkdir -p ~/.claude/skills/{skill-name}/templates
28
+ ```
29
+
30
+ ## Step 4: Design Template Structure
31
+
32
+ Gather requirements:
33
+ - What sections does the output need?
34
+ - What information varies between uses? (→ placeholders)
35
+ - What stays constant? (→ static structure)
36
+
37
+ ## Step 5: Write Template File
38
+
39
+ Create `templates/{template-name}.md` with:
40
+ - Clear section markers
41
+ - `{{PLACEHOLDER}}` syntax for variable content
42
+ - Brief inline guidance where helpful
43
+ - Minimal example content
44
+
45
+ ## Step 6: Update Workflow to Use Template
46
+
47
+ Find the workflow that produces this output. Add:
48
+ ```xml
49
+ <process>
50
+ ...
51
+ N. Read `templates/{template-name}.md`
52
+ N+1. Copy template structure
53
+ N+2. Fill each placeholder based on gathered context
54
+ ...
55
+ </process>
56
+ ```
57
+
58
+ ## Step 7: Test
59
+
60
+ Invoke the skill workflow and verify:
61
+ - Template is read at the right step
62
+ - All placeholders get filled appropriately
63
+ - Output structure matches template
64
+ - No placeholders left unfilled
65
+ </process>
66
+
67
+ <success_criteria>
68
+ Template is complete when:
69
+ - [ ] templates/ directory exists
70
+ - [ ] Template file has clear structure with placeholders
71
+ - [ ] At least one workflow references the template
72
+ - [ ] Workflow instructions explain when/how to use template
73
+ - [ ] Tested with real invocation
74
+ </success_criteria>
@@ -0,0 +1,120 @@
1
+ # Workflow: Add a Workflow to Existing Skill
2
+
3
+ <required_reading>
4
+ **Read these reference files NOW:**
5
+ 1. references/recommended-structure.md
6
+ 2. references/workflows-and-validation.md
7
+ </required_reading>
8
+
9
+ <process>
10
+ ## Step 1: Select the Skill
11
+
12
+ **DO NOT use AskUserQuestion** - there may be many skills.
13
+
14
+ ```bash
15
+ ls ~/.claude/skills/
16
+ ```
17
+
18
+ Present numbered list, ask: "Which skill needs a new workflow?"
19
+
20
+ ## Step 2: Analyze Current Structure
21
+
22
+ Read the skill:
23
+ ```bash
24
+ cat ~/.claude/skills/{skill-name}/SKILL.md
25
+ ls ~/.claude/skills/{skill-name}/workflows/ 2>/dev/null
26
+ ```
27
+
28
+ Determine:
29
+ - **Simple skill?** → May need to upgrade to router pattern first
30
+ - **Already has workflows/?** → Good, can add directly
31
+ - **What workflows exist?** → Avoid duplication
32
+
33
+ Report current structure to user.
34
+
35
+ ## Step 3: Gather Workflow Requirements
36
+
37
+ Ask using AskUserQuestion or direct question:
38
+ - What should this workflow do?
39
+ - When would someone use it vs existing workflows?
40
+ - What references would it need?
41
+
42
+ ## Step 4: Upgrade to Router Pattern (if needed)
43
+
44
+ **If skill is currently simple (no workflows/):**
45
+
46
+ Ask: "This skill needs to be upgraded to the router pattern first. Should I restructure it?"
47
+
48
+ If yes:
49
+ 1. Create workflows/ directory
50
+ 2. Move existing process content to workflows/main.md
51
+ 3. Rewrite SKILL.md as router with intake + routing
52
+ 4. Verify structure works before proceeding
53
+
54
+ ## Step 5: Create the Workflow File
55
+
56
+ Create `workflows/{workflow-name}.md`:
57
+
58
+ ```markdown
59
+ # Workflow: {Workflow Name}
60
+
61
+ <required_reading>
62
+ **Read these reference files NOW:**
63
+ 1. references/{relevant-file}.md
64
+ </required_reading>
65
+
66
+ <process>
67
+ ## Step 1: {First Step}
68
+ [What to do]
69
+
70
+ ## Step 2: {Second Step}
71
+ [What to do]
72
+
73
+ ## Step 3: {Third Step}
74
+ [What to do]
75
+ </process>
76
+
77
+ <success_criteria>
78
+ This workflow is complete when:
79
+ - [ ] Criterion 1
80
+ - [ ] Criterion 2
81
+ - [ ] Criterion 3
82
+ </success_criteria>
83
+ ```
84
+
85
+ ## Step 6: Update SKILL.md
86
+
87
+ Add the new workflow to:
88
+
89
+ 1. **Intake question** - Add new option
90
+ 2. **Routing table** - Map option to workflow file
91
+ 3. **Workflows index** - Add to the list
92
+
93
+ ## Step 7: Create References (if needed)
94
+
95
+ If the workflow needs domain knowledge that doesn't exist:
96
+ 1. Create `references/{reference-name}.md`
97
+ 2. Add to reference_index in SKILL.md
98
+ 3. Reference it in the workflow's required_reading
99
+
100
+ ## Step 8: Test
101
+
102
+ Invoke the skill:
103
+ - Does the new option appear in intake?
104
+ - Does selecting it route to the correct workflow?
105
+ - Does the workflow load the right references?
106
+ - Does the workflow execute correctly?
107
+
108
+ Report results to user.
109
+ </process>
110
+
111
+ <success_criteria>
112
+ Workflow addition is complete when:
113
+ - [ ] Skill upgraded to router pattern (if needed)
114
+ - [ ] Workflow file created with required_reading, process, success_criteria
115
+ - [ ] SKILL.md intake updated with new option
116
+ - [ ] SKILL.md routing updated
117
+ - [ ] SKILL.md workflows_index updated
118
+ - [ ] Any needed references created
119
+ - [ ] Tested and working
120
+ </success_criteria>
@@ -0,0 +1,148 @@
1
+ # Workflow: Audit a Skill
2
+
3
+ <required_reading>
4
+ **Read these reference files NOW:**
5
+ 1. references/recommended-structure.md
6
+ 2. references/skill-structure.md
7
+ 3. references/use-xml-tags.md
8
+ 4. references/gsd-skill-ecosystem.md
9
+ </required_reading>
10
+
11
+ <process>
12
+ ## Step 1: List Available Skills
13
+
14
+ **DO NOT use AskUserQuestion** - there may be many skills.
15
+
16
+ Enumerate skills from both directories:
17
+ ```bash
18
+ echo "=== Global skills ==="
19
+ ls ~/.gsd/agent/skills/ 2>/dev/null || echo "(none)"
20
+
21
+ echo "=== Project-local skills ==="
22
+ ls .pi/agent/skills/ 2>/dev/null || echo "(none)"
23
+ ```
24
+
25
+ Present as:
26
+ ```
27
+ Available skills:
28
+
29
+ Global (~/.gsd/agent/skills/):
30
+ 1. create-skill
31
+ 2. manage-stripe
32
+ ...
33
+
34
+ Project-local (.pi/agent/skills/):
35
+ 3. project-deploy
36
+ ...
37
+ ```
38
+
39
+ Ask: "Which skill would you like to audit? (enter number or name)"
40
+
41
+ ## Step 2: Read the Skill
42
+
43
+ After user selects, read the full skill structure:
44
+ ```bash
45
+ # Read main file
46
+ cat {skill-path}/SKILL.md
47
+
48
+ # Check for workflows and references
49
+ ls {skill-path}/
50
+ ls {skill-path}/workflows/ 2>/dev/null
51
+ ls {skill-path}/references/ 2>/dev/null
52
+ ```
53
+
54
+ ## Step 3: Run Audit Checklist
55
+
56
+ Evaluate against each criterion:
57
+
58
+ ### YAML Frontmatter
59
+ - [ ] Has `name:` field (lowercase-with-hyphens)
60
+ - [ ] Name matches directory name
61
+ - [ ] Has `description:` field
62
+ - [ ] Description says what it does AND when to use it
63
+ - [ ] Description is third person ("Use when...")
64
+
65
+ ### Structure
66
+ - [ ] SKILL.md under 500 lines
67
+ - [ ] Pure XML structure (no markdown headings # in body)
68
+ - [ ] All XML tags properly closed
69
+ - [ ] Has required tags: objective OR essential_principles
70
+ - [ ] Has success_criteria
71
+
72
+ ### Router Pattern (if complex skill)
73
+ - [ ] Essential principles inline in SKILL.md (not in separate file)
74
+ - [ ] Has intake question
75
+ - [ ] Has routing table
76
+ - [ ] All referenced workflow files exist
77
+ - [ ] All referenced reference files exist
78
+
79
+ ### Workflows (if present)
80
+ - [ ] Each has required_reading section
81
+ - [ ] Each has process section
82
+ - [ ] Each has success_criteria section
83
+ - [ ] Required reading references exist
84
+
85
+ ### Content Quality
86
+ - [ ] Principles are actionable (not vague platitudes)
87
+ - [ ] Steps are specific (not "do the thing")
88
+ - [ ] Success criteria are verifiable
89
+ - [ ] No redundant content across files
90
+
91
+ ## Step 4: Generate Report
92
+
93
+ Present findings as:
94
+
95
+ ```
96
+ ## Audit Report: {skill-name}
97
+
98
+ ### Passing
99
+ - [list passing items]
100
+
101
+ ### Issues Found
102
+ 1. **[Issue name]**: [Description]
103
+ → Fix: [Specific action]
104
+
105
+ 2. **[Issue name]**: [Description]
106
+ → Fix: [Specific action]
107
+
108
+ ### Score: X/Y criteria passing
109
+ ```
110
+
111
+ ## Step 5: Offer Fixes
112
+
113
+ If issues found, ask:
114
+ "Would you like me to fix these issues?"
115
+
116
+ Options:
117
+ 1. **Fix all** - Apply all recommended fixes
118
+ 2. **Fix one by one** - Review each fix before applying
119
+ 3. **Just the report** - No changes needed
120
+
121
+ If fixing:
122
+ - Make each change
123
+ - Verify file validity after each change
124
+ - Report what was fixed
125
+ </process>
126
+
127
+ <audit_anti_patterns>
128
+ ## Common Anti-Patterns to Flag
129
+
130
+ **Skippable principles**: Essential principles in separate file instead of inline
131
+ **Monolithic skill**: Single file over 500 lines
132
+ **Mixed concerns**: Procedures and knowledge in same file
133
+ **Vague steps**: "Handle the error appropriately"
134
+ **Untestable criteria**: "User is satisfied"
135
+ **Markdown headings in body**: Using # instead of XML tags
136
+ **Missing routing**: Complex skill without intake/routing
137
+ **Broken references**: Files mentioned but don't exist
138
+ **Redundant content**: Same information in multiple places
139
+ </audit_anti_patterns>
140
+
141
+ <success_criteria>
142
+ Audit is complete when:
143
+ - [ ] Skill fully read and analyzed
144
+ - [ ] All checklist items evaluated
145
+ - [ ] Report presented to user
146
+ - [ ] Fixes applied (if requested)
147
+ - [ ] User has clear picture of skill health
148
+ </success_criteria>
@@ -0,0 +1,196 @@
1
+ # Workflow: Create a New Skill
2
+
3
+ <required_reading>
4
+ **Read these reference files NOW:**
5
+ 1. references/recommended-structure.md
6
+ 2. references/skill-structure.md
7
+ 3. references/core-principles.md
8
+ 4. references/use-xml-tags.md
9
+ 5. references/gsd-skill-ecosystem.md
10
+ </required_reading>
11
+
12
+ <process>
13
+ ## Step 1: Determine Scope
14
+
15
+ **Ask the user:**
16
+ "Should this skill be global or project-local?"
17
+
18
+ 1. **Global** (`~/.gsd/agent/skills/`) — Available in all GSD sessions
19
+ 2. **Project-local** (`.pi/agent/skills/`) — Available only in this project
20
+
21
+ ## Step 2: Adaptive Requirements Gathering
22
+
23
+ **If user provided context** (e.g., "build a skill for X"):
24
+ → Analyze what's stated, what can be inferred, what's unclear
25
+ → Skip to asking about genuine gaps only
26
+
27
+ **If user just invoked skill without context:**
28
+ → Ask what they want to build
29
+
30
+ ### Using AskUserQuestion
31
+
32
+ Ask 2-4 domain-specific questions based on actual gaps. Each question should:
33
+ - Have specific options with descriptions
34
+ - Focus on scope, complexity, outputs, boundaries
35
+ - NOT ask things obvious from context
36
+
37
+ Example questions:
38
+ - "What specific operations should this skill handle?" (with options based on domain)
39
+ - "Should this also handle [related thing] or stay focused on [core thing]?"
40
+ - "What should the user see when successful?"
41
+
42
+ ### Decision Gate
43
+
44
+ After initial questions, ask:
45
+ "Ready to proceed with building, or would you like me to ask more questions?"
46
+
47
+ Options:
48
+ 1. **Proceed to building** - I have enough context
49
+ 2. **Ask more questions** - There are more details to clarify
50
+ 3. **Let me add details** - I want to provide additional context
51
+
52
+ ## Step 3: Research Trigger (If External API)
53
+
54
+ **When external service detected**, ask using AskUserQuestion:
55
+ "This involves [service name] API. Would you like me to research current endpoints and patterns before building?"
56
+
57
+ Options:
58
+ 1. **Yes, research first** - Fetch current documentation for accurate implementation
59
+ 2. **No, proceed with general patterns** - Use common patterns without specific API research
60
+
61
+ If research requested:
62
+ - Use Context7 MCP to fetch current library documentation
63
+ - Or use WebSearch for recent API documentation
64
+ - Focus on 2024-2025 sources
65
+ - Store findings for use in content generation
66
+
67
+ ## Step 4: Decide Structure
68
+
69
+ **Simple skill (single workflow, <200 lines):**
70
+ → Single SKILL.md file with all content
71
+
72
+ **Complex skill (multiple workflows OR domain knowledge):**
73
+ → Router pattern:
74
+ ```
75
+ skill-name/
76
+ ├── SKILL.md (router + principles)
77
+ ├── workflows/ (procedures - FOLLOW)
78
+ ├── references/ (knowledge - READ)
79
+ ├── templates/ (output structures - COPY + FILL)
80
+ └── scripts/ (reusable code - EXECUTE)
81
+ ```
82
+
83
+ Factors favoring router pattern:
84
+ - Multiple distinct user intents (create vs debug vs ship)
85
+ - Shared domain knowledge across workflows
86
+ - Essential principles that must not be skipped
87
+ - Skill likely to grow over time
88
+
89
+ **Consider templates/ when:**
90
+ - Skill produces consistent output structures (plans, specs, reports)
91
+ - Structure matters more than creative generation
92
+
93
+ **Consider scripts/ when:**
94
+ - Same code runs across invocations (deploy, setup, API calls)
95
+ - Operations are error-prone when rewritten each time
96
+
97
+ See references/recommended-structure.md for templates.
98
+
99
+ ## Step 5: Create Directory
100
+
101
+ Use the scope selected in Step 1 to determine the base path:
102
+ - **Global:** `~/.gsd/agent/skills/{skill-name}`
103
+ - **Project-local:** `.pi/agent/skills/{skill-name}`
104
+
105
+ ```bash
106
+ BASE_PATH="{selected-base}/agent/skills/{skill-name}"
107
+ mkdir -p $BASE_PATH
108
+ # If complex:
109
+ mkdir -p $BASE_PATH/workflows
110
+ mkdir -p $BASE_PATH/references
111
+ # If needed:
112
+ mkdir -p $BASE_PATH/templates # for output structures
113
+ mkdir -p $BASE_PATH/scripts # for reusable code
114
+ ```
115
+
116
+ ## Step 6: Write SKILL.md
117
+
118
+ **Simple skill:** Write complete skill file with:
119
+ - YAML frontmatter (name, description)
120
+ - `<objective>`
121
+ - `<quick_start>`
122
+ - Content sections with pure XML
123
+ - `<success_criteria>`
124
+
125
+ **Complex skill:** Write router with:
126
+ - YAML frontmatter
127
+ - `<essential_principles>` (inline, unavoidable)
128
+ - `<intake>` (question to ask user)
129
+ - `<routing>` (maps answers to workflows)
130
+ - `<reference_index>` and `<workflows_index>`
131
+
132
+ ## Step 7: Write Workflows (if complex)
133
+
134
+ For each workflow:
135
+ ```xml
136
+ <required_reading>
137
+ Which references to load for this workflow
138
+ </required_reading>
139
+
140
+ <process>
141
+ Step-by-step procedure
142
+ </process>
143
+
144
+ <success_criteria>
145
+ How to know this workflow is done
146
+ </success_criteria>
147
+ ```
148
+
149
+ ## Step 8: Write References (if needed)
150
+
151
+ Domain knowledge that:
152
+ - Multiple workflows might need
153
+ - Doesn't change based on workflow
154
+ - Contains patterns, examples, technical details
155
+
156
+ ## Step 9: Validate Structure
157
+
158
+ Check:
159
+ - [ ] YAML frontmatter valid
160
+ - [ ] Name matches directory (lowercase-with-hyphens)
161
+ - [ ] Description says what it does AND when to use it (third person)
162
+ - [ ] No markdown headings (#) in body - use XML tags
163
+ - [ ] Required tags present: objective, quick_start, success_criteria
164
+ - [ ] All referenced files exist
165
+ - [ ] SKILL.md under 500 lines
166
+ - [ ] XML tags properly closed
167
+
168
+ ## Step 10: Activate
169
+
170
+ Run `/reload` to make the skill available in the current session. Skills are auto-discovered on next session start.
171
+
172
+ ## Step 11: Test
173
+
174
+ Invoke the skill and observe:
175
+ - Does it ask the right intake question?
176
+ - Does it load the right workflow?
177
+ - Does the workflow load the right references?
178
+ - Does output match expectations?
179
+
180
+ Iterate based on real usage, not assumptions.
181
+ </process>
182
+
183
+ <success_criteria>
184
+ Skill is complete when:
185
+ - [ ] Scope selected (global or project-local)
186
+ - [ ] Requirements gathered with appropriate questions
187
+ - [ ] API research done if external service involved
188
+ - [ ] Directory structure correct
189
+ - [ ] SKILL.md has valid frontmatter
190
+ - [ ] Essential principles inline (if complex skill)
191
+ - [ ] Intake question routes to correct workflow
192
+ - [ ] All workflows have required_reading + process + success_criteria
193
+ - [ ] References contain reusable domain knowledge
194
+ - [ ] /reload run to activate
195
+ - [ ] Tested with real invocation
196
+ </success_criteria>