Тулинг: openspec 1.4.1 → 1.5.0, регенерация инструкций opsx
Обновлён npm-пакет @fission-ai/openspec до 1.5.0; `openspec update` перегенерировал команды opsx:* и скиллы openspec-* под новую версию (добавлены пояснения про --store для multi-repo). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,8 @@ tags: [workflow, artifacts, experimental]
|
|||||||
|
|
||||||
Implement tasks from an OpenSpec change.
|
Implement tasks from an OpenSpec change.
|
||||||
|
|
||||||
|
**Store selection:** If the user names a store (a store is a standalone OpenSpec repo registered on this machine) or the work lives in one, run `openspec store list --json` to discover registered store ids, then pass `--store <id>` on the commands that read or write specs and changes (`new change`, `status`, `instructions`, `list`, `show`, `validate`, `archive`, `doctor`, `context`). Other commands do not take the flag. Hints printed by commands already carry the flag; keep it on follow-ups. Without a store, commands act on the nearest local `openspec/` root.
|
||||||
|
|
||||||
**Input**: Optionally specify a change name (e.g., `/opsx:apply add-auth`). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
|
**Input**: Optionally specify a change name (e.g., `/opsx:apply add-auth`). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
|
||||||
|
|
||||||
**Steps**
|
**Steps**
|
||||||
@@ -46,8 +48,6 @@ Implement tasks from an OpenSpec change.
|
|||||||
- If `state: "all_done"`: congratulate, suggest archive
|
- If `state: "all_done"`: congratulate, suggest archive
|
||||||
- Otherwise: proceed to implementation
|
- Otherwise: proceed to implementation
|
||||||
|
|
||||||
**Workspace guard:** If status JSON reports `actionContext.mode: "workspace-planning"` and `allowedEditRoots` is empty, explain that full workspace apply is not supported in this slice. Treat linked repos and folders as read-only context, ask the user to select an affected area through an explicit implementation workflow, and STOP before editing files.
|
|
||||||
|
|
||||||
4. **Read context files**
|
4. **Read context files**
|
||||||
|
|
||||||
Read every file path listed under `contextFiles` from the apply instructions output.
|
Read every file path listed under `contextFiles` from the apply instructions output.
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ tags: [workflow, archive, experimental]
|
|||||||
|
|
||||||
Archive a completed change in the experimental workflow.
|
Archive a completed change in the experimental workflow.
|
||||||
|
|
||||||
|
**Store selection:** If the user names a store (a store is a standalone OpenSpec repo registered on this machine) or the work lives in one, run `openspec store list --json` to discover registered store ids, then pass `--store <id>` on the commands that read or write specs and changes (`new change`, `status`, `instructions`, `list`, `show`, `validate`, `archive`, `doctor`, `context`). Other commands do not take the flag. Hints printed by commands already carry the flag; keep it on follow-ups. Without a store, commands act on the nearest local `openspec/` root.
|
||||||
|
|
||||||
**Input**: Optionally specify a change name after `/opsx:archive` (e.g., `/opsx:archive add-auth`). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
|
**Input**: Optionally specify a change name after `/opsx:archive` (e.g., `/opsx:archive add-auth`). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
|
||||||
|
|
||||||
**Steps**
|
**Steps**
|
||||||
@@ -29,8 +31,6 @@ Archive a completed change in the experimental workflow.
|
|||||||
- `planningHome`, `changeRoot`, `artifactPaths`, and `actionContext`: path and scope context
|
- `planningHome`, `changeRoot`, `artifactPaths`, and `actionContext`: path and scope context
|
||||||
- `artifacts`: List of artifacts with their status (`done` or other)
|
- `artifacts`: List of artifacts with their status (`done` or other)
|
||||||
|
|
||||||
If status reports `actionContext.mode: "workspace-planning"`, explain that workspace archive is not supported in this slice and STOP. Do not move workspace changes into repo-local archives or edit linked repos.
|
|
||||||
|
|
||||||
**If any artifacts are not `done`:**
|
**If any artifacts are not `done`:**
|
||||||
- Display warning listing incomplete artifacts
|
- Display warning listing incomplete artifacts
|
||||||
- Prompt user for confirmation to continue
|
- Prompt user for confirmation to continue
|
||||||
|
|||||||
@@ -11,6 +11,8 @@ Enter explore mode. Think deeply. Visualize freely. Follow the conversation wher
|
|||||||
|
|
||||||
**This is a stance, not a workflow.** There are no fixed steps, no required sequence, no mandatory outputs. You're a thinking partner helping the user explore.
|
**This is a stance, not a workflow.** There are no fixed steps, no required sequence, no mandatory outputs. You're a thinking partner helping the user explore.
|
||||||
|
|
||||||
|
**Store selection:** If the user names a store (a store is a standalone OpenSpec repo registered on this machine) or the work lives in one, run `openspec store list --json` to discover registered store ids, then pass `--store <id>` on the commands that read or write specs and changes (`new change`, `status`, `instructions`, `list`, `show`, `validate`, `archive`, `doctor`, `context`). Other commands do not take the flag. Hints printed by commands already carry the flag; keep it on follow-ups. Without a store, commands act on the nearest local `openspec/` root.
|
||||||
|
|
||||||
**Input**: The argument after `/opsx:explore` is whatever the user wants to think about. Could be:
|
**Input**: The argument after `/opsx:explore` is whatever the user wants to think about. Could be:
|
||||||
- A vague idea: "real-time collaboration"
|
- A vague idea: "real-time collaboration"
|
||||||
- A specific problem: "the auth system is getting unwieldy"
|
- A specific problem: "the auth system is getting unwieldy"
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ When ready to implement, run /opsx:apply
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
**Store selection:** If the user names a store (a store is a standalone OpenSpec repo registered on this machine) or the work lives in one, run `openspec store list --json` to discover registered store ids, then pass `--store <id>` on the commands that read or write specs and changes (`new change`, `status`, `instructions`, `list`, `show`, `validate`, `archive`, `doctor`, `context`). Other commands do not take the flag. Hints printed by commands already carry the flag; keep it on follow-ups. Without a store, commands act on the nearest local `openspec/` root.
|
||||||
|
|
||||||
**Input**: The argument after `/opsx:propose` is the change name (kebab-case), OR a description of what the user wants to build.
|
**Input**: The argument after `/opsx:propose` is the change name (kebab-case), OR a description of what the user wants to build.
|
||||||
|
|
||||||
**Steps**
|
**Steps**
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ Sync delta specs from a change to main specs.
|
|||||||
|
|
||||||
This is an **agent-driven** operation - you will read delta specs and directly edit main specs to apply the changes. This allows intelligent merging (e.g., adding a scenario without copying the entire requirement).
|
This is an **agent-driven** operation - you will read delta specs and directly edit main specs to apply the changes. This allows intelligent merging (e.g., adding a scenario without copying the entire requirement).
|
||||||
|
|
||||||
|
**Store selection:** If the user names a store (a store is a standalone OpenSpec repo registered on this machine) or the work lives in one, run `openspec store list --json` to discover registered store ids, then pass `--store <id>` on the commands that read or write specs and changes (`new change`, `status`, `instructions`, `list`, `show`, `validate`, `archive`, `doctor`, `context`). Other commands do not take the flag. Hints printed by commands already carry the flag; keep it on follow-ups. Without a store, commands act on the nearest local `openspec/` root.
|
||||||
|
|
||||||
**Input**: Optionally specify a change name after `/opsx:sync` (e.g., `/opsx:sync add-auth`). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
|
**Input**: Optionally specify a change name after `/opsx:sync` (e.g., `/opsx:sync add-auth`). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
|
||||||
|
|
||||||
**Steps**
|
**Steps**
|
||||||
@@ -28,8 +30,6 @@ This is an **agent-driven** operation - you will read delta specs and directly e
|
|||||||
openspec status --change "<name>" --json
|
openspec status --change "<name>" --json
|
||||||
```
|
```
|
||||||
|
|
||||||
If status reports `actionContext.mode: "workspace-planning"`, explain that workspace spec sync is not supported in this slice and STOP. Do not fall back to repo-local paths or edit linked repos.
|
|
||||||
|
|
||||||
3. **Find delta specs**
|
3. **Find delta specs**
|
||||||
|
|
||||||
Use `artifactPaths.specs.existingOutputPaths` from the status JSON as the list of delta spec files.
|
Use `artifactPaths.specs.existingOutputPaths` from the status JSON as the list of delta spec files.
|
||||||
|
|||||||
@@ -6,11 +6,13 @@ compatibility: Requires openspec CLI.
|
|||||||
metadata:
|
metadata:
|
||||||
author: openspec
|
author: openspec
|
||||||
version: "1.0"
|
version: "1.0"
|
||||||
generatedBy: "1.4.1"
|
generatedBy: "1.5.0"
|
||||||
---
|
---
|
||||||
|
|
||||||
Implement tasks from an OpenSpec change.
|
Implement tasks from an OpenSpec change.
|
||||||
|
|
||||||
|
**Store selection:** If the user names a store (a store is a standalone OpenSpec repo registered on this machine) or the work lives in one, run `openspec store list --json` to discover registered store ids, then pass `--store <id>` on the commands that read or write specs and changes (`new change`, `status`, `instructions`, `list`, `show`, `validate`, `archive`, `doctor`, `context`). Other commands do not take the flag. Hints printed by commands already carry the flag; keep it on follow-ups. Without a store, commands act on the nearest local `openspec/` root.
|
||||||
|
|
||||||
**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.
|
**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.
|
||||||
|
|
||||||
**Steps**
|
**Steps**
|
||||||
@@ -50,8 +52,6 @@ Implement tasks from an OpenSpec change.
|
|||||||
- If `state: "all_done"`: congratulate, suggest archive
|
- If `state: "all_done"`: congratulate, suggest archive
|
||||||
- Otherwise: proceed to implementation
|
- Otherwise: proceed to implementation
|
||||||
|
|
||||||
**Workspace guard:** If status JSON reports `actionContext.mode: "workspace-planning"` and `allowedEditRoots` is empty, explain that full workspace apply is not supported in this slice. Treat linked repos and folders as read-only context, ask the user to select an affected area through an explicit implementation workflow, and STOP before editing files.
|
|
||||||
|
|
||||||
4. **Read context files**
|
4. **Read context files**
|
||||||
|
|
||||||
Read every file path listed under `contextFiles` from the apply instructions output.
|
Read every file path listed under `contextFiles` from the apply instructions output.
|
||||||
|
|||||||
@@ -6,11 +6,13 @@ compatibility: Requires openspec CLI.
|
|||||||
metadata:
|
metadata:
|
||||||
author: openspec
|
author: openspec
|
||||||
version: "1.0"
|
version: "1.0"
|
||||||
generatedBy: "1.4.1"
|
generatedBy: "1.5.0"
|
||||||
---
|
---
|
||||||
|
|
||||||
Archive a completed change in the experimental workflow.
|
Archive a completed change in the experimental workflow.
|
||||||
|
|
||||||
|
**Store selection:** If the user names a store (a store is a standalone OpenSpec repo registered on this machine) or the work lives in one, run `openspec store list --json` to discover registered store ids, then pass `--store <id>` on the commands that read or write specs and changes (`new change`, `status`, `instructions`, `list`, `show`, `validate`, `archive`, `doctor`, `context`). Other commands do not take the flag. Hints printed by commands already carry the flag; keep it on follow-ups. Without a store, commands act on the nearest local `openspec/` root.
|
||||||
|
|
||||||
**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.
|
**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.
|
||||||
|
|
||||||
**Steps**
|
**Steps**
|
||||||
@@ -33,8 +35,6 @@ Archive a completed change in the experimental workflow.
|
|||||||
- `planningHome`, `changeRoot`, `artifactPaths`, and `actionContext`: path and scope context
|
- `planningHome`, `changeRoot`, `artifactPaths`, and `actionContext`: path and scope context
|
||||||
- `artifacts`: List of artifacts with their status (`done` or other)
|
- `artifacts`: List of artifacts with their status (`done` or other)
|
||||||
|
|
||||||
If status reports `actionContext.mode: "workspace-planning"`, explain that workspace archive is not supported in this slice and STOP. Do not move workspace changes into repo-local archives or edit linked repos.
|
|
||||||
|
|
||||||
**If any artifacts are not `done`:**
|
**If any artifacts are not `done`:**
|
||||||
- Display warning listing incomplete artifacts
|
- Display warning listing incomplete artifacts
|
||||||
- Use **AskUserQuestion tool** to confirm user wants to proceed
|
- Use **AskUserQuestion tool** to confirm user wants to proceed
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ compatibility: Requires openspec CLI.
|
|||||||
metadata:
|
metadata:
|
||||||
author: openspec
|
author: openspec
|
||||||
version: "1.0"
|
version: "1.0"
|
||||||
generatedBy: "1.4.1"
|
generatedBy: "1.5.0"
|
||||||
---
|
---
|
||||||
|
|
||||||
Enter explore mode. Think deeply. Visualize freely. Follow the conversation wherever it goes.
|
Enter explore mode. Think deeply. Visualize freely. Follow the conversation wherever it goes.
|
||||||
@@ -15,6 +15,8 @@ Enter explore mode. Think deeply. Visualize freely. Follow the conversation wher
|
|||||||
|
|
||||||
**This is a stance, not a workflow.** There are no fixed steps, no required sequence, no mandatory outputs. You're a thinking partner helping the user explore.
|
**This is a stance, not a workflow.** There are no fixed steps, no required sequence, no mandatory outputs. You're a thinking partner helping the user explore.
|
||||||
|
|
||||||
|
**Store selection:** If the user names a store (a store is a standalone OpenSpec repo registered on this machine) or the work lives in one, run `openspec store list --json` to discover registered store ids, then pass `--store <id>` on the commands that read or write specs and changes (`new change`, `status`, `instructions`, `list`, `show`, `validate`, `archive`, `doctor`, `context`). Other commands do not take the flag. Hints printed by commands already carry the flag; keep it on follow-ups. Without a store, commands act on the nearest local `openspec/` root.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## The Stance
|
## The Stance
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ compatibility: Requires openspec CLI.
|
|||||||
metadata:
|
metadata:
|
||||||
author: openspec
|
author: openspec
|
||||||
version: "1.0"
|
version: "1.0"
|
||||||
generatedBy: "1.4.1"
|
generatedBy: "1.5.0"
|
||||||
---
|
---
|
||||||
|
|
||||||
Propose a new change - create the change and generate all artifacts in one step.
|
Propose a new change - create the change and generate all artifacts in one step.
|
||||||
@@ -20,6 +20,8 @@ When ready to implement, run /opsx:apply
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
**Store selection:** If the user names a store (a store is a standalone OpenSpec repo registered on this machine) or the work lives in one, run `openspec store list --json` to discover registered store ids, then pass `--store <id>` on the commands that read or write specs and changes (`new change`, `status`, `instructions`, `list`, `show`, `validate`, `archive`, `doctor`, `context`). Other commands do not take the flag. Hints printed by commands already carry the flag; keep it on follow-ups. Without a store, commands act on the nearest local `openspec/` root.
|
||||||
|
|
||||||
**Input**: The user's request should include a change name (kebab-case) OR a description of what they want to build.
|
**Input**: The user's request should include a change name (kebab-case) OR a description of what they want to build.
|
||||||
|
|
||||||
**Steps**
|
**Steps**
|
||||||
|
|||||||
@@ -6,13 +6,15 @@ compatibility: Requires openspec CLI.
|
|||||||
metadata:
|
metadata:
|
||||||
author: openspec
|
author: openspec
|
||||||
version: "1.0"
|
version: "1.0"
|
||||||
generatedBy: "1.4.1"
|
generatedBy: "1.5.0"
|
||||||
---
|
---
|
||||||
|
|
||||||
Sync delta specs from a change to main specs.
|
Sync delta specs from a change to main specs.
|
||||||
|
|
||||||
This is an **agent-driven** operation - you will read delta specs and directly edit main specs to apply the changes. This allows intelligent merging (e.g., adding a scenario without copying the entire requirement).
|
This is an **agent-driven** operation - you will read delta specs and directly edit main specs to apply the changes. This allows intelligent merging (e.g., adding a scenario without copying the entire requirement).
|
||||||
|
|
||||||
|
**Store selection:** If the user names a store (a store is a standalone OpenSpec repo registered on this machine) or the work lives in one, run `openspec store list --json` to discover registered store ids, then pass `--store <id>` on the commands that read or write specs and changes (`new change`, `status`, `instructions`, `list`, `show`, `validate`, `archive`, `doctor`, `context`). Other commands do not take the flag. Hints printed by commands already carry the flag; keep it on follow-ups. Without a store, commands act on the nearest local `openspec/` root.
|
||||||
|
|
||||||
**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.
|
**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.
|
||||||
|
|
||||||
**Steps**
|
**Steps**
|
||||||
@@ -32,8 +34,6 @@ This is an **agent-driven** operation - you will read delta specs and directly e
|
|||||||
openspec status --change "<name>" --json
|
openspec status --change "<name>" --json
|
||||||
```
|
```
|
||||||
|
|
||||||
If status reports `actionContext.mode: "workspace-planning"`, explain that workspace spec sync is not supported in this slice and STOP. Do not fall back to repo-local paths or edit linked repos.
|
|
||||||
|
|
||||||
3. **Find delta specs**
|
3. **Find delta specs**
|
||||||
|
|
||||||
Use `artifactPaths.specs.existingOutputPaths` from the status JSON as the list of delta spec files.
|
Use `artifactPaths.specs.existingOutputPaths` from the status JSON as the list of delta spec files.
|
||||||
|
|||||||
Reference in New Issue
Block a user