| name | openspec-propose |
| description | Use when working with OpenSpec in Hermes: create a complete planning set for the default quick path. |
| version | 1.0.0 |
| author | TheSmuks + Hermes Agent |
| license | MIT |
| platforms | ["windows","macos","linux"] |
| metadata | {"hermes":{"category":"software-development","tags":["openspec","sdd","spec-driven-development","hermes"],"homepage":"https://github.com/Fission-AI/openspec"}} |
openspec-propose
Use this for OpenSpec's /opsx:propose workflow: create a change and generate the planning artifacts needed for implementation.
Hermes operating rules for OpenSpec
- Work from the user's project root. If unknown, inspect the current directory first.
- Ensure the OpenSpec CLI exists before using it:
openspec --version. If missing, install with npm install -g @fission-ai/openspec@latest.
- Initialize projects with
openspec init --tools none unless the user also wants other AI-tool integrations. Hermes uses these skills, not OpenSpec-generated slash commands.
- Prefer agent-compatible OpenSpec CLI calls with
--json where available: openspec list --json, openspec status --change <id> --json, openspec instructions <artifact> --change <id> --json, openspec validate --all --json.
- Read generated artifacts before editing or implementing. Do not invent OpenSpec state.
- Run validation after changing OpenSpec artifacts:
openspec validate <change> or openspec validate --all.
- Keep changes focused. If user scope diverges, update the existing change only when intent is the same; otherwise create a new change.
Procedure
- Determine the change name. If the user gave a description, convert it to a clear kebab-case name.
- Ensure project initialized: if
openspec/ does not exist, run openspec init --tools none.
- Create or reuse a change with
openspec new change <name> --description "..." --json.
- Generate all apply-required planning artifacts using CLI instructions as source of truth:
openspec status --change <name> --json
- for each ready/missing artifact:
openspec instructions <artifact> --change <name> --json
- write artifacts under
openspec/changes/<name>/ according to resolved templates and instructions.
- Include proposal, specs, design, and tasks when the active schema requires them. Respect custom schemas, dependency order, project context, and per-artifact rules.
- Run
openspec validate <name>.
- Report files created and next step:
openspec-apply-change.