@wangjibins/openspec 1.2.2

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 (272) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +203 -0
  3. package/bin/openspec.js +3 -0
  4. package/dist/cli/index.d.ts +2 -0
  5. package/dist/cli/index.js +482 -0
  6. package/dist/commands/change.d.ts +35 -0
  7. package/dist/commands/change.js +277 -0
  8. package/dist/commands/completion.d.ts +72 -0
  9. package/dist/commands/completion.js +257 -0
  10. package/dist/commands/config.d.ts +36 -0
  11. package/dist/commands/config.js +552 -0
  12. package/dist/commands/feedback.d.ts +9 -0
  13. package/dist/commands/feedback.js +183 -0
  14. package/dist/commands/schema.d.ts +6 -0
  15. package/dist/commands/schema.js +869 -0
  16. package/dist/commands/show.d.ts +14 -0
  17. package/dist/commands/show.js +132 -0
  18. package/dist/commands/spec.d.ts +15 -0
  19. package/dist/commands/spec.js +225 -0
  20. package/dist/commands/validate.d.ts +24 -0
  21. package/dist/commands/validate.js +294 -0
  22. package/dist/commands/workflow/index.d.ts +17 -0
  23. package/dist/commands/workflow/index.js +12 -0
  24. package/dist/commands/workflow/instructions.d.ts +29 -0
  25. package/dist/commands/workflow/instructions.js +381 -0
  26. package/dist/commands/workflow/new-change.d.ts +11 -0
  27. package/dist/commands/workflow/new-change.js +44 -0
  28. package/dist/commands/workflow/schemas.d.ts +10 -0
  29. package/dist/commands/workflow/schemas.js +34 -0
  30. package/dist/commands/workflow/shared.d.ts +57 -0
  31. package/dist/commands/workflow/shared.js +116 -0
  32. package/dist/commands/workflow/status.d.ts +14 -0
  33. package/dist/commands/workflow/status.js +75 -0
  34. package/dist/commands/workflow/templates.d.ts +16 -0
  35. package/dist/commands/workflow/templates.js +68 -0
  36. package/dist/core/archive.d.ts +11 -0
  37. package/dist/core/archive.js +318 -0
  38. package/dist/core/artifact-graph/graph.d.ts +56 -0
  39. package/dist/core/artifact-graph/graph.js +141 -0
  40. package/dist/core/artifact-graph/index.d.ts +7 -0
  41. package/dist/core/artifact-graph/index.js +13 -0
  42. package/dist/core/artifact-graph/instruction-loader.d.ts +143 -0
  43. package/dist/core/artifact-graph/instruction-loader.js +214 -0
  44. package/dist/core/artifact-graph/resolver.d.ts +81 -0
  45. package/dist/core/artifact-graph/resolver.js +257 -0
  46. package/dist/core/artifact-graph/schema.d.ts +13 -0
  47. package/dist/core/artifact-graph/schema.js +108 -0
  48. package/dist/core/artifact-graph/state.d.ts +12 -0
  49. package/dist/core/artifact-graph/state.js +54 -0
  50. package/dist/core/artifact-graph/types.d.ts +45 -0
  51. package/dist/core/artifact-graph/types.js +43 -0
  52. package/dist/core/available-tools.d.ts +16 -0
  53. package/dist/core/available-tools.js +30 -0
  54. package/dist/core/command-generation/adapters/amazon-q.d.ts +13 -0
  55. package/dist/core/command-generation/adapters/amazon-q.js +26 -0
  56. package/dist/core/command-generation/adapters/antigravity.d.ts +13 -0
  57. package/dist/core/command-generation/adapters/antigravity.js +26 -0
  58. package/dist/core/command-generation/adapters/auggie.d.ts +13 -0
  59. package/dist/core/command-generation/adapters/auggie.js +27 -0
  60. package/dist/core/command-generation/adapters/claude.d.ts +13 -0
  61. package/dist/core/command-generation/adapters/claude.js +50 -0
  62. package/dist/core/command-generation/adapters/cline.d.ts +14 -0
  63. package/dist/core/command-generation/adapters/cline.js +27 -0
  64. package/dist/core/command-generation/adapters/codebuddy.d.ts +13 -0
  65. package/dist/core/command-generation/adapters/codebuddy.js +28 -0
  66. package/dist/core/command-generation/adapters/codeflicker.d.ts +14 -0
  67. package/dist/core/command-generation/adapters/codeflicker.js +44 -0
  68. package/dist/core/command-generation/adapters/codex.d.ts +16 -0
  69. package/dist/core/command-generation/adapters/codex.js +39 -0
  70. package/dist/core/command-generation/adapters/continue.d.ts +13 -0
  71. package/dist/core/command-generation/adapters/continue.js +28 -0
  72. package/dist/core/command-generation/adapters/costrict.d.ts +13 -0
  73. package/dist/core/command-generation/adapters/costrict.js +27 -0
  74. package/dist/core/command-generation/adapters/crush.d.ts +13 -0
  75. package/dist/core/command-generation/adapters/crush.js +30 -0
  76. package/dist/core/command-generation/adapters/cursor.d.ts +14 -0
  77. package/dist/core/command-generation/adapters/cursor.js +44 -0
  78. package/dist/core/command-generation/adapters/factory.d.ts +13 -0
  79. package/dist/core/command-generation/adapters/factory.js +27 -0
  80. package/dist/core/command-generation/adapters/gemini.d.ts +13 -0
  81. package/dist/core/command-generation/adapters/gemini.js +26 -0
  82. package/dist/core/command-generation/adapters/github-copilot.d.ts +13 -0
  83. package/dist/core/command-generation/adapters/github-copilot.js +26 -0
  84. package/dist/core/command-generation/adapters/iflow.d.ts +13 -0
  85. package/dist/core/command-generation/adapters/iflow.js +29 -0
  86. package/dist/core/command-generation/adapters/index.d.ts +30 -0
  87. package/dist/core/command-generation/adapters/index.js +30 -0
  88. package/dist/core/command-generation/adapters/kilocode.d.ts +14 -0
  89. package/dist/core/command-generation/adapters/kilocode.js +23 -0
  90. package/dist/core/command-generation/adapters/kiro.d.ts +13 -0
  91. package/dist/core/command-generation/adapters/kiro.js +26 -0
  92. package/dist/core/command-generation/adapters/opencode.d.ts +13 -0
  93. package/dist/core/command-generation/adapters/opencode.js +29 -0
  94. package/dist/core/command-generation/adapters/pi.d.ts +14 -0
  95. package/dist/core/command-generation/adapters/pi.js +41 -0
  96. package/dist/core/command-generation/adapters/qoder.d.ts +13 -0
  97. package/dist/core/command-generation/adapters/qoder.js +30 -0
  98. package/dist/core/command-generation/adapters/qwen.d.ts +13 -0
  99. package/dist/core/command-generation/adapters/qwen.js +26 -0
  100. package/dist/core/command-generation/adapters/roocode.d.ts +14 -0
  101. package/dist/core/command-generation/adapters/roocode.js +27 -0
  102. package/dist/core/command-generation/adapters/windsurf.d.ts +14 -0
  103. package/dist/core/command-generation/adapters/windsurf.js +51 -0
  104. package/dist/core/command-generation/generator.d.ts +21 -0
  105. package/dist/core/command-generation/generator.js +27 -0
  106. package/dist/core/command-generation/index.d.ts +22 -0
  107. package/dist/core/command-generation/index.js +24 -0
  108. package/dist/core/command-generation/registry.d.ts +36 -0
  109. package/dist/core/command-generation/registry.js +94 -0
  110. package/dist/core/command-generation/types.d.ts +56 -0
  111. package/dist/core/command-generation/types.js +8 -0
  112. package/dist/core/completions/command-registry.d.ts +7 -0
  113. package/dist/core/completions/command-registry.js +461 -0
  114. package/dist/core/completions/completion-provider.d.ts +60 -0
  115. package/dist/core/completions/completion-provider.js +102 -0
  116. package/dist/core/completions/factory.d.ts +64 -0
  117. package/dist/core/completions/factory.js +75 -0
  118. package/dist/core/completions/generators/bash-generator.d.ts +32 -0
  119. package/dist/core/completions/generators/bash-generator.js +174 -0
  120. package/dist/core/completions/generators/fish-generator.d.ts +32 -0
  121. package/dist/core/completions/generators/fish-generator.js +157 -0
  122. package/dist/core/completions/generators/powershell-generator.d.ts +33 -0
  123. package/dist/core/completions/generators/powershell-generator.js +207 -0
  124. package/dist/core/completions/generators/zsh-generator.d.ts +44 -0
  125. package/dist/core/completions/generators/zsh-generator.js +250 -0
  126. package/dist/core/completions/installers/bash-installer.d.ts +87 -0
  127. package/dist/core/completions/installers/bash-installer.js +318 -0
  128. package/dist/core/completions/installers/fish-installer.d.ts +43 -0
  129. package/dist/core/completions/installers/fish-installer.js +143 -0
  130. package/dist/core/completions/installers/powershell-installer.d.ts +88 -0
  131. package/dist/core/completions/installers/powershell-installer.js +327 -0
  132. package/dist/core/completions/installers/zsh-installer.d.ts +125 -0
  133. package/dist/core/completions/installers/zsh-installer.js +449 -0
  134. package/dist/core/completions/templates/bash-templates.d.ts +6 -0
  135. package/dist/core/completions/templates/bash-templates.js +24 -0
  136. package/dist/core/completions/templates/fish-templates.d.ts +7 -0
  137. package/dist/core/completions/templates/fish-templates.js +39 -0
  138. package/dist/core/completions/templates/powershell-templates.d.ts +6 -0
  139. package/dist/core/completions/templates/powershell-templates.js +25 -0
  140. package/dist/core/completions/templates/zsh-templates.d.ts +6 -0
  141. package/dist/core/completions/templates/zsh-templates.js +36 -0
  142. package/dist/core/completions/types.d.ts +79 -0
  143. package/dist/core/completions/types.js +2 -0
  144. package/dist/core/config-prompts.d.ts +9 -0
  145. package/dist/core/config-prompts.js +34 -0
  146. package/dist/core/config-schema.d.ts +86 -0
  147. package/dist/core/config-schema.js +213 -0
  148. package/dist/core/config.d.ts +17 -0
  149. package/dist/core/config.js +34 -0
  150. package/dist/core/converters/json-converter.d.ts +6 -0
  151. package/dist/core/converters/json-converter.js +51 -0
  152. package/dist/core/global-config.d.ts +44 -0
  153. package/dist/core/global-config.js +125 -0
  154. package/dist/core/index.d.ts +2 -0
  155. package/dist/core/index.js +3 -0
  156. package/dist/core/init.d.ts +37 -0
  157. package/dist/core/init.js +593 -0
  158. package/dist/core/legacy-cleanup.d.ts +162 -0
  159. package/dist/core/legacy-cleanup.js +512 -0
  160. package/dist/core/list.d.ts +9 -0
  161. package/dist/core/list.js +171 -0
  162. package/dist/core/migration.d.ts +23 -0
  163. package/dist/core/migration.js +108 -0
  164. package/dist/core/parsers/change-parser.d.ts +13 -0
  165. package/dist/core/parsers/change-parser.js +193 -0
  166. package/dist/core/parsers/markdown-parser.d.ts +22 -0
  167. package/dist/core/parsers/markdown-parser.js +187 -0
  168. package/dist/core/parsers/requirement-blocks.d.ts +37 -0
  169. package/dist/core/parsers/requirement-blocks.js +201 -0
  170. package/dist/core/profile-sync-drift.d.ts +38 -0
  171. package/dist/core/profile-sync-drift.js +200 -0
  172. package/dist/core/profiles.d.ts +26 -0
  173. package/dist/core/profiles.js +40 -0
  174. package/dist/core/project-config.d.ts +64 -0
  175. package/dist/core/project-config.js +223 -0
  176. package/dist/core/schemas/base.schema.d.ts +13 -0
  177. package/dist/core/schemas/base.schema.js +13 -0
  178. package/dist/core/schemas/change.schema.d.ts +73 -0
  179. package/dist/core/schemas/change.schema.js +31 -0
  180. package/dist/core/schemas/index.d.ts +4 -0
  181. package/dist/core/schemas/index.js +4 -0
  182. package/dist/core/schemas/spec.schema.d.ts +18 -0
  183. package/dist/core/schemas/spec.schema.js +15 -0
  184. package/dist/core/shared/index.d.ts +8 -0
  185. package/dist/core/shared/index.js +8 -0
  186. package/dist/core/shared/skill-generation.d.ts +49 -0
  187. package/dist/core/shared/skill-generation.js +96 -0
  188. package/dist/core/shared/tool-detection.d.ts +71 -0
  189. package/dist/core/shared/tool-detection.js +158 -0
  190. package/dist/core/specs-apply.d.ts +73 -0
  191. package/dist/core/specs-apply.js +384 -0
  192. package/dist/core/styles/palette.d.ts +7 -0
  193. package/dist/core/styles/palette.js +8 -0
  194. package/dist/core/templates/index.d.ts +8 -0
  195. package/dist/core/templates/index.js +9 -0
  196. package/dist/core/templates/skill-templates.d.ts +19 -0
  197. package/dist/core/templates/skill-templates.js +18 -0
  198. package/dist/core/templates/types.d.ts +19 -0
  199. package/dist/core/templates/types.js +5 -0
  200. package/dist/core/templates/workflows/apply-change.d.ts +10 -0
  201. package/dist/core/templates/workflows/apply-change.js +308 -0
  202. package/dist/core/templates/workflows/archive-change.d.ts +10 -0
  203. package/dist/core/templates/workflows/archive-change.js +271 -0
  204. package/dist/core/templates/workflows/bulk-archive-change.d.ts +10 -0
  205. package/dist/core/templates/workflows/bulk-archive-change.js +488 -0
  206. package/dist/core/templates/workflows/continue-change.d.ts +10 -0
  207. package/dist/core/templates/workflows/continue-change.js +232 -0
  208. package/dist/core/templates/workflows/explore.d.ts +10 -0
  209. package/dist/core/templates/workflows/explore.js +461 -0
  210. package/dist/core/templates/workflows/feedback.d.ts +9 -0
  211. package/dist/core/templates/workflows/feedback.js +108 -0
  212. package/dist/core/templates/workflows/ff-change.d.ts +10 -0
  213. package/dist/core/templates/workflows/ff-change.js +198 -0
  214. package/dist/core/templates/workflows/new-change.d.ts +10 -0
  215. package/dist/core/templates/workflows/new-change.js +143 -0
  216. package/dist/core/templates/workflows/onboard.d.ts +10 -0
  217. package/dist/core/templates/workflows/onboard.js +565 -0
  218. package/dist/core/templates/workflows/propose.d.ts +10 -0
  219. package/dist/core/templates/workflows/propose.js +216 -0
  220. package/dist/core/templates/workflows/sync-specs.d.ts +10 -0
  221. package/dist/core/templates/workflows/sync-specs.js +272 -0
  222. package/dist/core/templates/workflows/verify-change.d.ts +10 -0
  223. package/dist/core/templates/workflows/verify-change.js +332 -0
  224. package/dist/core/update.d.ts +77 -0
  225. package/dist/core/update.js +537 -0
  226. package/dist/core/validation/constants.d.ts +34 -0
  227. package/dist/core/validation/constants.js +40 -0
  228. package/dist/core/validation/types.d.ts +18 -0
  229. package/dist/core/validation/types.js +2 -0
  230. package/dist/core/validation/validator.d.ts +33 -0
  231. package/dist/core/validation/validator.js +409 -0
  232. package/dist/core/view.d.ts +8 -0
  233. package/dist/core/view.js +168 -0
  234. package/dist/index.d.ts +3 -0
  235. package/dist/index.js +3 -0
  236. package/dist/prompts/searchable-multi-select.d.ts +28 -0
  237. package/dist/prompts/searchable-multi-select.js +159 -0
  238. package/dist/telemetry/config.d.ts +32 -0
  239. package/dist/telemetry/config.js +68 -0
  240. package/dist/telemetry/index.d.ts +31 -0
  241. package/dist/telemetry/index.js +145 -0
  242. package/dist/ui/ascii-patterns.d.ts +16 -0
  243. package/dist/ui/ascii-patterns.js +133 -0
  244. package/dist/ui/welcome-screen.d.ts +10 -0
  245. package/dist/ui/welcome-screen.js +146 -0
  246. package/dist/utils/change-metadata.d.ts +51 -0
  247. package/dist/utils/change-metadata.js +147 -0
  248. package/dist/utils/change-utils.d.ts +62 -0
  249. package/dist/utils/change-utils.js +121 -0
  250. package/dist/utils/command-references.d.ts +18 -0
  251. package/dist/utils/command-references.js +20 -0
  252. package/dist/utils/file-system.d.ts +36 -0
  253. package/dist/utils/file-system.js +281 -0
  254. package/dist/utils/index.d.ts +6 -0
  255. package/dist/utils/index.js +9 -0
  256. package/dist/utils/interactive.d.ts +18 -0
  257. package/dist/utils/interactive.js +21 -0
  258. package/dist/utils/item-discovery.d.ts +4 -0
  259. package/dist/utils/item-discovery.js +72 -0
  260. package/dist/utils/match.d.ts +3 -0
  261. package/dist/utils/match.js +22 -0
  262. package/dist/utils/shell-detection.d.ts +20 -0
  263. package/dist/utils/shell-detection.js +41 -0
  264. package/dist/utils/task-progress.d.ts +8 -0
  265. package/dist/utils/task-progress.js +36 -0
  266. package/package.json +83 -0
  267. package/schemas/spec-driven/schema.yaml +153 -0
  268. package/schemas/spec-driven/templates/design.md +19 -0
  269. package/schemas/spec-driven/templates/proposal.md +23 -0
  270. package/schemas/spec-driven/templates/spec.md +8 -0
  271. package/schemas/spec-driven/templates/tasks.md +9 -0
  272. package/scripts/postinstall.js +147 -0
@@ -0,0 +1,232 @@
1
+ export function getContinueChangeSkillTemplate() {
2
+ return {
3
+ name: 'openspec-continue-change',
4
+ description: 'Continue working on an OpenSpec change by creating the next artifact. Use when the user wants to progress their change, create the next artifact, or continue their workflow.',
5
+ instructions: `Continue working on a change by creating the next artifact.
6
+
7
+ **Input**: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
8
+
9
+ **Steps**
10
+
11
+ 1. **If no change name provided, prompt for selection**
12
+
13
+ Run \`openspec list --json\` to get available changes sorted by most recently modified. Then use the **AskUserQuestion tool** to let the user select which change to work on.
14
+
15
+ Present the top 3-4 most recently modified changes as options, showing:
16
+ - Change name
17
+ - Schema (from \`schema\` field if present, otherwise "spec-driven")
18
+ - Status (e.g., "0/5 tasks", "complete", "no tasks")
19
+ - How recently it was modified (from \`lastModified\` field)
20
+
21
+ Mark the most recently modified change as "(Recommended)" since it's likely what the user wants to continue.
22
+
23
+ **IMPORTANT**: Do NOT guess or auto-select a change. Always let the user choose.
24
+
25
+ 2. **Check current status**
26
+ \`\`\`bash
27
+ openspec status --change "<name>" --json
28
+ \`\`\`
29
+ Parse the JSON to understand current state. The response includes:
30
+ - \`schemaName\`: The workflow schema being used (e.g., "spec-driven")
31
+ - \`artifacts\`: Array of artifacts with their status ("done", "ready", "blocked")
32
+ - \`isComplete\`: Boolean indicating if all artifacts are complete
33
+
34
+ 3. **Act based on status**:
35
+
36
+ ---
37
+
38
+ **If all artifacts are complete (\`isComplete: true\`)**:
39
+ - Congratulate the user
40
+ - Show final status including the schema used
41
+ - Suggest: "All artifacts created! You can now implement this change or archive it."
42
+ - STOP
43
+
44
+ ---
45
+
46
+ **If artifacts are ready to create** (status shows artifacts with \`status: "ready"\`):
47
+ - Pick the FIRST artifact with \`status: "ready"\` from the status output
48
+ - Get its instructions:
49
+ \`\`\`bash
50
+ openspec instructions <artifact-id> --change "<name>" --json
51
+ \`\`\`
52
+ - Parse the JSON. The key fields are:
53
+ - \`context\`: Project background (constraints for you - do NOT include in output)
54
+ - \`rules\`: Artifact-specific rules (constraints for you - do NOT include in output)
55
+ - \`template\`: The structure to use for your output file
56
+ - \`instruction\`: Schema-specific guidance
57
+ - \`outputPath\`: Where to write the artifact
58
+ - \`dependencies\`: Completed artifacts to read for context
59
+ - **Create the artifact file**:
60
+ - Read any completed dependency files for context
61
+ - Use \`template\` as the structure - fill in its sections
62
+ - Apply \`context\` and \`rules\` as constraints when writing - but do NOT copy them into the file
63
+ - Write to the output path specified in instructions
64
+ - Show what was created and what's now unlocked
65
+ - STOP after creating ONE artifact
66
+
67
+ ---
68
+
69
+ **If no artifacts are ready (all blocked)**:
70
+ - This shouldn't happen with a valid schema
71
+ - Show status and suggest checking for issues
72
+
73
+ 4. **After creating an artifact, show progress**
74
+ \`\`\`bash
75
+ openspec status --change "<name>"
76
+ \`\`\`
77
+
78
+ **Output**
79
+
80
+ After each invocation, show:
81
+ - Which artifact was created
82
+ - Schema workflow being used
83
+ - Current progress (N/M complete)
84
+ - What artifacts are now unlocked
85
+ - Prompt: "Want to continue? Just ask me to continue or tell me what to do next."
86
+
87
+ **Artifact Creation Guidelines**
88
+
89
+ The artifact types and their purpose depend on the schema. Use the \`instruction\` field from the instructions output to understand what to create.
90
+
91
+ Common artifact patterns:
92
+
93
+ **spec-driven schema** (proposal → specs → design → tasks):
94
+ - **proposal.md**: Ask user about the change if not clear. Fill in Why, What Changes, Capabilities, Impact.
95
+ - The Capabilities section is critical - each capability listed will need a spec file.
96
+ - **specs/<capability>/spec.md**: Create one spec per capability listed in the proposal's Capabilities section (use the capability name, not the change name).
97
+ - **design.md**: Document technical decisions, architecture, and implementation approach.
98
+ - **tasks.md**: Break down implementation into checkboxed tasks.
99
+
100
+ For other schemas, follow the \`instruction\` field from the CLI output.
101
+
102
+ **Guardrails**
103
+ - Create ONE artifact per invocation
104
+ - Always read dependency artifacts before creating a new one
105
+ - Never skip artifacts or create out of order
106
+ - If context is unclear, ask the user before creating
107
+ - Verify the artifact file exists after writing before marking progress
108
+ - Use the schema's artifact sequence, don't assume specific artifact names
109
+ - **IMPORTANT**: \`context\` and \`rules\` are constraints for YOU, not content for the file
110
+ - Do NOT copy \`<context>\`, \`<rules>\`, \`<project_context>\` blocks into the artifact
111
+ - These guide what you write, but should never appear in the output`,
112
+ license: 'MIT',
113
+ compatibility: 'Requires openspec CLI.',
114
+ metadata: { author: 'openspec', version: '1.0' },
115
+ };
116
+ }
117
+ export function getOpsxContinueCommandTemplate() {
118
+ return {
119
+ name: 'OPSX: Continue',
120
+ description: 'Continue working on a change - create the next artifact (Experimental)',
121
+ category: 'Workflow',
122
+ tags: ['workflow', 'artifacts', 'experimental'],
123
+ content: `Continue working on a change by creating the next artifact.
124
+
125
+ **Input**: Optionally specify a change name after \`/opsx:continue\` (e.g., \`/opsx:continue add-auth\`). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
126
+
127
+ **Steps**
128
+
129
+ 1. **If no change name provided, prompt for selection**
130
+
131
+ Run \`openspec list --json\` to get available changes sorted by most recently modified. Then use the **AskUserQuestion tool** to let the user select which change to work on.
132
+
133
+ Present the top 3-4 most recently modified changes as options, showing:
134
+ - Change name
135
+ - Schema (from \`schema\` field if present, otherwise "spec-driven")
136
+ - Status (e.g., "0/5 tasks", "complete", "no tasks")
137
+ - How recently it was modified (from \`lastModified\` field)
138
+
139
+ Mark the most recently modified change as "(Recommended)" since it's likely what the user wants to continue.
140
+
141
+ **IMPORTANT**: Do NOT guess or auto-select a change. Always let the user choose.
142
+
143
+ 2. **Check current status**
144
+ \`\`\`bash
145
+ openspec status --change "<name>" --json
146
+ \`\`\`
147
+ Parse the JSON to understand current state. The response includes:
148
+ - \`schemaName\`: The workflow schema being used (e.g., "spec-driven")
149
+ - \`artifacts\`: Array of artifacts with their status ("done", "ready", "blocked")
150
+ - \`isComplete\`: Boolean indicating if all artifacts are complete
151
+
152
+ 3. **Act based on status**:
153
+
154
+ ---
155
+
156
+ **If all artifacts are complete (\`isComplete: true\`)**:
157
+ - Congratulate the user
158
+ - Show final status including the schema used
159
+ - Suggest: "All artifacts created! You can now implement this change with \`/opsx:apply\` or archive it with \`/opsx:archive\`."
160
+ - STOP
161
+
162
+ ---
163
+
164
+ **If artifacts are ready to create** (status shows artifacts with \`status: "ready"\`):
165
+ - Pick the FIRST artifact with \`status: "ready"\` from the status output
166
+ - Get its instructions:
167
+ \`\`\`bash
168
+ openspec instructions <artifact-id> --change "<name>" --json
169
+ \`\`\`
170
+ - Parse the JSON. The key fields are:
171
+ - \`context\`: Project background (constraints for you - do NOT include in output)
172
+ - \`rules\`: Artifact-specific rules (constraints for you - do NOT include in output)
173
+ - \`template\`: The structure to use for your output file
174
+ - \`instruction\`: Schema-specific guidance
175
+ - \`outputPath\`: Where to write the artifact
176
+ - \`dependencies\`: Completed artifacts to read for context
177
+ - **Create the artifact file**:
178
+ - Read any completed dependency files for context
179
+ - Use \`template\` as the structure - fill in its sections
180
+ - Apply \`context\` and \`rules\` as constraints when writing - but do NOT copy them into the file
181
+ - Write to the output path specified in instructions
182
+ - Show what was created and what's now unlocked
183
+ - STOP after creating ONE artifact
184
+
185
+ ---
186
+
187
+ **If no artifacts are ready (all blocked)**:
188
+ - This shouldn't happen with a valid schema
189
+ - Show status and suggest checking for issues
190
+
191
+ 4. **After creating an artifact, show progress**
192
+ \`\`\`bash
193
+ openspec status --change "<name>"
194
+ \`\`\`
195
+
196
+ **Output**
197
+
198
+ After each invocation, show:
199
+ - Which artifact was created
200
+ - Schema workflow being used
201
+ - Current progress (N/M complete)
202
+ - What artifacts are now unlocked
203
+ - Prompt: "Run \`/opsx:continue\` to create the next artifact"
204
+
205
+ **Artifact Creation Guidelines**
206
+
207
+ The artifact types and their purpose depend on the schema. Use the \`instruction\` field from the instructions output to understand what to create.
208
+
209
+ Common artifact patterns:
210
+
211
+ **spec-driven schema** (proposal → specs → design → tasks):
212
+ - **proposal.md**: Ask user about the change if not clear. Fill in Why, What Changes, Capabilities, Impact.
213
+ - The Capabilities section is critical - each capability listed will need a spec file.
214
+ - **specs/<capability>/spec.md**: Create one spec per capability listed in the proposal's Capabilities section (use the capability name, not the change name).
215
+ - **design.md**: Document technical decisions, architecture, and implementation approach.
216
+ - **tasks.md**: Break down implementation into checkboxed tasks.
217
+
218
+ For other schemas, follow the \`instruction\` field from the CLI output.
219
+
220
+ **Guardrails**
221
+ - Create ONE artifact per invocation
222
+ - Always read dependency artifacts before creating a new one
223
+ - Never skip artifacts or create out of order
224
+ - If context is unclear, ask the user before creating
225
+ - Verify the artifact file exists after writing before marking progress
226
+ - Use the schema's artifact sequence, don't assume specific artifact names
227
+ - **IMPORTANT**: \`context\` and \`rules\` are constraints for YOU, not content for the file
228
+ - Do NOT copy \`<context>\`, \`<rules>\`, \`<project_context>\` blocks into the artifact
229
+ - These guide what you write, but should never appear in the output`
230
+ };
231
+ }
232
+ //# sourceMappingURL=continue-change.js.map
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Skill Template Workflow Modules
3
+ *
4
+ * This file is generated by splitting the legacy monolithic
5
+ * templates file into workflow-focused modules.
6
+ */
7
+ import type { SkillTemplate, CommandTemplate } from '../types.js';
8
+ export declare function getExploreSkillTemplate(): SkillTemplate;
9
+ export declare function getOpsxExploreCommandTemplate(): CommandTemplate;
10
+ //# sourceMappingURL=explore.d.ts.map