diff --git a/.opencode/commands/opsx-explore.md b/.opencode/commands/opsx-explore.md index 6409910..ead6571 100644 --- a/.opencode/commands/opsx-explore.md +++ b/.opencode/commands/opsx-explore.md @@ -181,6 +181,8 @@ If the user mentions a change or you detect one is relevant: `` is the spec directory relative to `specs/` (for example, `user-auth` or `identity/user-auth`). Preserve an existing capability's full path and follow the project's established organization for new capabilities. + The files below are the default spec-driven schema's. With another schema, capture each insight in whichever artifact from `artifactPaths` fits it, and name that artifact in your offer; never create an artifact the schema does not define. + | Insight Type | Where to Capture | |----------------------------|-------------------------------------| | New requirement discovered | `specs//spec.md` | @@ -190,7 +192,7 @@ If the user mentions a change or you detect one is relevant: | New work identified | `tasks.md` | | Assumption invalidated | Relevant artifact | - Example offers: + Example offers (default schema): - "That's a design decision. Capture it in design.md?" - "This is a new requirement. Add it to specs?" - "This changes scope. Update the proposal?" @@ -215,7 +217,7 @@ If the user mentions a change or you detect one is relevant: There's no required ending. Discovery might: - **Flow into a proposal**: "Ready to start? Run `/opsx-propose` and this becomes a change." -- **Result in artifact updates**: "Updated design.md with these decisions" +- **Result in artifact updates**: "Updated the design with these decisions" - **Just provide clarity**: User has what they need, moves on - **Continue later**: "We can pick this up anytime" diff --git a/.opencode/commands/opsx-update.md b/.opencode/commands/opsx-update.md index e2dcd73..9a1685f 100644 --- a/.opencode/commands/opsx-update.md +++ b/.opencode/commands/opsx-update.md @@ -52,7 +52,7 @@ This workflow revises artifacts that already exist; it never creates missing one The artifact ids and paths come from the active schema - do NOT assume them, and do NOT branch on hardcoded artifact names. Custom schemas must work unchanged. - The files to edit are `artifactPaths..existingOutputPaths` - the concrete files that exist on disk, already glob-expanded for glob artifacts (e.g. `specs/**/*.md`). Do NOT write to `resolvedOutputPath`: for a glob artifact it is still the glob pattern, not a real file. + The files to edit are `artifactPaths..existingOutputPaths` - the concrete files that exist on disk, already glob-expanded for glob artifacts (e.g. `specs/**/*.md`), plus any confirmed concrete path allowed under a partly populated glob artifact (step 4). Do NOT write to `resolvedOutputPath`: for a glob artifact it is still the glob pattern, not a real file. 3. **Understand the request** - If the user asked for a specific revision ("the design now uses X"), that is the starting edit. @@ -96,7 +96,7 @@ After each invocation, show: **Guardrails** - Planning artifacts only - NEVER edit implementation code. If the revised plan implies code changes, stop and point to `/opsx-apply`. - Use the artifact ids and paths reported by `openspec status`; never branch on hardcoded artifact names. -- Edit only the concrete files in `existingOutputPaths`; never write to a glob `resolvedOutputPath`. +- Edit only the concrete files in `existingOutputPaths`, plus any confirmed concrete path allowed under a partly populated glob artifact (step 4); never write to a glob `resolvedOutputPath`. - Do not advance the build frontier: if an artifact has empty `existingOutputPaths` and status `ready` or `blocked`, creating them is a separate step, outside this workflow. Leave `skipped` artifacts untouched. The only new-file scope is a confirmed concrete path under a glob artifact whose `existingOutputPaths` is non-empty. - Confirm every edit with the user before writing. - If the request changes the change's *intent* rather than refining it, ask for a distinct unused change name and recommend `openspec new change ""` instead (the "Update vs. Start Fresh" heuristic). diff --git a/.opencode/skills/openspec-apply-change/SKILL.md b/.opencode/skills/openspec-apply-change/SKILL.md index ded79ca..3c5e8a2 100644 --- a/.opencode/skills/openspec-apply-change/SKILL.md +++ b/.opencode/skills/openspec-apply-change/SKILL.md @@ -7,7 +7,7 @@ compatibility: Requires openspec CLI. metadata: author: openspec version: "1.0" - generatedBy: "1.14.1" + generatedBy: "1.14.2" --- Implement tasks from an OpenSpec change. diff --git a/.opencode/skills/openspec-archive-change/SKILL.md b/.opencode/skills/openspec-archive-change/SKILL.md index ea3a863..dd48cf5 100644 --- a/.opencode/skills/openspec-archive-change/SKILL.md +++ b/.opencode/skills/openspec-archive-change/SKILL.md @@ -7,7 +7,7 @@ compatibility: Requires openspec CLI. metadata: author: openspec version: "1.0" - generatedBy: "1.14.1" + generatedBy: "1.14.2" --- Archive a completed change in the experimental workflow. diff --git a/.opencode/skills/openspec-explore/SKILL.md b/.opencode/skills/openspec-explore/SKILL.md index f0422c2..52d4978 100644 --- a/.opencode/skills/openspec-explore/SKILL.md +++ b/.opencode/skills/openspec-explore/SKILL.md @@ -7,7 +7,7 @@ compatibility: Requires openspec CLI. metadata: author: openspec version: "1.0" - generatedBy: "1.14.1" + generatedBy: "1.14.2" --- Enter explore mode. Think deeply. Visualize freely. Follow the conversation wherever it goes. @@ -179,6 +179,8 @@ If the user mentions a change or you detect one is relevant: `` is the spec directory relative to `specs/` (for example, `user-auth` or `identity/user-auth`). Preserve an existing capability's full path and follow the project's established organization for new capabilities. + The files below are the default spec-driven schema's. With another schema, capture each insight in whichever artifact from `artifactPaths` fits it, and name that artifact in your offer; never create an artifact the schema does not define. + | Insight Type | Where to Capture | |----------------------------|-------------------------------------| | New requirement discovered | `specs//spec.md` | @@ -188,7 +190,7 @@ If the user mentions a change or you detect one is relevant: | New work identified | `tasks.md` | | Assumption invalidated | Relevant artifact | - Example offers: + Example offers (default schema): - "That's a design decision. Capture it in design.md?" - "This is a new requirement. Add it to specs?" - "This changes scope. Update the proposal?" @@ -317,7 +319,7 @@ You: That changes everything. There's no required ending. Discovery might: - **Flow into a proposal**: "Ready to start? Run `/opsx-propose` and this becomes a change." -- **Result in artifact updates**: "Updated design.md with these decisions" +- **Result in artifact updates**: "Updated the design with these decisions" - **Just provide clarity**: User has what they need, moves on - **Continue later**: "We can pick this up anytime" diff --git a/.opencode/skills/openspec-propose/SKILL.md b/.opencode/skills/openspec-propose/SKILL.md index 29984f8..feac75a 100644 --- a/.opencode/skills/openspec-propose/SKILL.md +++ b/.opencode/skills/openspec-propose/SKILL.md @@ -7,7 +7,7 @@ compatibility: Requires openspec CLI. metadata: author: openspec version: "1.0" - generatedBy: "1.14.1" + generatedBy: "1.14.2" --- Propose a new change - create the change and generate all artifacts in one step. diff --git a/.opencode/skills/openspec-sync-specs/SKILL.md b/.opencode/skills/openspec-sync-specs/SKILL.md index 1d3e4c8..96370db 100644 --- a/.opencode/skills/openspec-sync-specs/SKILL.md +++ b/.opencode/skills/openspec-sync-specs/SKILL.md @@ -7,7 +7,7 @@ compatibility: Requires openspec CLI. metadata: author: openspec version: "1.0" - generatedBy: "1.14.1" + generatedBy: "1.14.2" --- Sync delta specs from a change to main specs. diff --git a/.opencode/skills/openspec-update-change/SKILL.md b/.opencode/skills/openspec-update-change/SKILL.md index 7aeca3a..c1cccb2 100644 --- a/.opencode/skills/openspec-update-change/SKILL.md +++ b/.opencode/skills/openspec-update-change/SKILL.md @@ -7,7 +7,7 @@ compatibility: Requires openspec CLI. metadata: author: openspec version: "1.0" - generatedBy: "1.14.1" + generatedBy: "1.14.2" --- Revise a change's existing planning artifacts and keep them coherent. Never edit code. @@ -59,7 +59,7 @@ This workflow revises artifacts that already exist; it never creates missing one The artifact ids and paths come from the active schema - do NOT assume them, and do NOT branch on hardcoded artifact names. Custom schemas must work unchanged. - The files to edit are `artifactPaths..existingOutputPaths` - the concrete files that exist on disk, already glob-expanded for glob artifacts (e.g. `specs/**/*.md`). Do NOT write to `resolvedOutputPath`: for a glob artifact it is still the glob pattern, not a real file. + The files to edit are `artifactPaths..existingOutputPaths` - the concrete files that exist on disk, already glob-expanded for glob artifacts (e.g. `specs/**/*.md`), plus any confirmed concrete path allowed under a partly populated glob artifact (step 4). Do NOT write to `resolvedOutputPath`: for a glob artifact it is still the glob pattern, not a real file. 3. **Understand the request** - If the user asked for a specific revision ("the design now uses X"), that is the starting edit. @@ -103,7 +103,7 @@ After each invocation, show: **Guardrails** - Planning artifacts only - NEVER edit implementation code. If the revised plan implies code changes, stop and point to `/opsx-apply`. - Use the artifact ids and paths reported by `openspec status`; never branch on hardcoded artifact names. -- Edit only the concrete files in `existingOutputPaths`; never write to a glob `resolvedOutputPath`. +- Edit only the concrete files in `existingOutputPaths`, plus any confirmed concrete path allowed under a partly populated glob artifact (step 4); never write to a glob `resolvedOutputPath`. - Do not advance the build frontier: if an artifact has empty `existingOutputPaths` and status `ready` or `blocked`, creating them is a separate step, outside this workflow. Leave `skipped` artifacts untouched. The only new-file scope is a confirmed concrete path under a glob artifact whose `existingOutputPaths` is non-empty. - Confirm every edit with the user before writing. - If the request changes the change's *intent* rather than refining it, ask for a distinct unused change name and recommend `openspec new change ""` instead (the "Update vs. Start Fresh" heuristic).