apply
Implement tasks from an OpenSpec change (Experimental)
Propose a new change - create it and generate all artifacts in one step
> /plugin marketplace add heurema/signum > /plugin install signum@signum
How it fires
How this command gets triggered: by you, by Claude, or both.
/proposeContext preview
What this command does when you run it.
Propose a new change - create it and generate all artifacts in one step
name: "OPSX: Propose" description: Propose a new change - create it and generate all artifacts in one step allowed-tools: Bash(openspec:*) category: Workflow tags: [workflow, artifacts, experimental]
Propose a new change - create the change and generate all artifacts in one step.
I'll create a change with artifacts:
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.
**Steps**
1. **If no input provided, ask what they want to build**
Use the **AskUserQuestion tool** (open-ended, no preset options) to ask: > "What change do you want to work on? Describe what you want to build or fix."
From their description, derive a kebab-case name (e.g., "add user authentication" → `add-user-auth`).
**IMPORTANT**: Do NOT proceed without understanding what the user wants to build.
2. **Create the change directory**
openspec new change "<name>"
This creates a scaffolded change in the planning home resolved by the CLI with `.openspec.yaml`.
3. **Get the artifact build order**
openspec status --change "<name>" --json
Parse the JSON to get:
4. **Create artifacts in sequence until apply-ready**
Use the **TodoWrite tool** to track progress through the artifacts.
Loop through artifacts in dependency order (artifacts with no pending dependencies first):
a. **For each artifact that is `ready` (dependencies satisfied)**:
openspec instructions <artifact-id> --change "<name>" --json
b. **Continue until all `applyRequires` artifacts are complete**
c. **If an artifact requires user input** (unclear context):
5. **Show final status**
openspec status --change "<name>"
**Output**
After completing all artifacts, summarize:
**Artifact Creation Guidelines**
**Guardrails**
Signum is a contract-first proof gate for agentic software changes: it turns a task into a reviewed contract, executes against that contract, audits the result, and packages evidence that humans and CI can inspect.
Repo: heurema/signum
Implement tasks from an OpenSpec change (Experimental)
Archive a completed change in the experimental workflow
Enter explore mode - think through ideas, investigate problems, clarify requirements
Update a change - revise existing planning artifacts and keep them coherent (Experimental)