OpenSpec (OPSX) Skill
Use this skill to guide or reason about the OpenSpec artifact-driven workflow system (OPSX), including artifact graphs, schema/template resolution, change lifecycle, and experimental commands/skills.
Quick Navigation
- Artifact graph core concepts: references/artifact-core.md
- OPSX workflow behavior and usage: references/opsx-workflow.md
- Setup + profiles (init, update, config profile): references/setup-profiles.md
- Schema customization workflow and gaps: references/schema-customization.md
- End-to-end schema workflow gaps and proposed solution: references/schema-workflow-gaps.md
- Experimental release plan and rollout checklist: references/experimental-release-plan.md
Release Highlights (1.2.0 → 1.3.0)
- More tool integrations: adds support for Junie, Lingma, ForgeCode, and IBM Bob.
- Safer setup: shell completion installation is now opt-in, and Copilot auto-detection no longer triggers from a bare
.github/ directory alone.
- Adapter fixes: Pi command generation was corrected, and OpenCode now uses the canonical
.opencode/commands/ path.
- Safer status checks:
openspec status now exits cleanly when a project has no changes yet.
OPSX Commands
| Command |
Purpose |
/opsx:explore |
Think through ideas, investigate problems (no structure) |
/opsx:new |
Start a new change |
/opsx:continue |
Create next artifact based on dependencies |
/opsx:ff |
Fast-forward — create all planning artifacts at once |
/opsx:apply |
Implement tasks, updating artifacts as needed |
/opsx:verify |
Validate implementation matches spec |
/opsx:sync |
Sync delta specs to main specs |
/opsx:archive |
Archive single completed change |
/opsx:bulk-archive |
Archive multiple completed changes at once |
Legacy (non-OPSX) command: /openspec:proposal creates all planning artifacts at once. Prefer OPSX, but this can be useful for small/straightforward changes or older setups.
Schema Management
openspec schemas # List available schemas
openspec schema which --all # Show resolution sources
openspec schema init my-workflow # Create new schema interactively
openspec schema fork spec-driven my-workflow # Fork existing schema
openspec schema validate my-workflow # Validate schema structure
Project Configuration
Create openspec/config.yaml for per-project settings:
schema: spec-driven
context: |
Tech stack: TypeScript, React, Node.js
Testing: Vitest, Playwright
rules:
proposal:
- Include rollback plan
specs:
- Use Given/When/Then format
Schema precedence: CLI flag → Change metadata → Project config → Default (spec-driven)
Core Concepts
- Artifact graph, not a workflow engine: Dependencies enable actions; they do not force linear phases.
- Filesystem-as-database: Completion is derived from file existence, not stored state.
- Deterministic CLI: Commands require explicit change context (agent infers, CLI remains strict).
- XDG schema resolution: User overrides take precedence over built-ins.
- Templates are schema-scoped: Templates live next to schema and resolve with a strict 2-level fallback.
Decision Rules
- Prefer update when intent stays the same and you are refining scope or approach.
- Prefer new change when intent or scope fundamentally shifts, or the original can be completed independently.
- Always preserve a clear history of why artifacts changed (proposal/specs/design/tasks).
Recipes
1) Show what is ready to create next
- Determine the active change id.
- Query status and ready artifacts with the change explicitly set.
- Present ready artifacts and their dependencies.
Expected behavior: show ready artifacts, not required steps.
2) Generate instructions for a specific artifact
- Resolve schema and template with XDG fallback.
- Build context: change metadata, dependency status, and target paths.
- Return enriched instructions in plain Markdown.
3) Start a new change
- Validate change name (kebab-case).
- Create change directory and README.
- Show initial status and first ready artifact.
4) Schema customization guidance
- Explain XDG override paths.
- Describe copying built-in schema + templates.
- Provide verification steps or recommended CLI commands for listing and resolving.
5) Explain schema binding for a change
- Prefer change metadata if available.
- Fallback to project default schema if configured.
- Otherwise default to spec-driven.
Prohibitions
- Do not treat the system as a linear workflow engine.
- Do not assume a change is active without explicit selection.
- Do not silently fall back between schemas or templates without reporting.
- Do not copy long vendor docs verbatim; summarize and provide actionable guidance.
Output Expectations
- Give clear artifact readiness and dependency explanations.
- Use explicit change identifiers in examples.
- Provide concise, actionable steps and indicate whether they are informational or required.
Links
1---
2name: openspec
3description: "OpenSpec artifact-driven workflow. Covers OPSX commands, schemas, project config. Use when applying the artifact-driven workflow (OPSX), planning or reviewing changes based on artifact dependencies, or working with OPSX commands and schema/template resolution. Keywords: OPSX, artifact graph, /opsx:."
4metadata:
5 version: "1.3.0"
6 release_date: "2026-04-11"
7---
8
9# OpenSpec (OPSX) Skill
10
11Use this skill to guide or reason about the OpenSpec artifact-driven workflow system (OPSX), including artifact graphs, schema/template resolution, change lifecycle, and experimental commands/skills.
12
13## Quick Navigation
14
15- Artifact graph core concepts: references/artifact-core.md
16- OPSX workflow behavior and usage: references/opsx-workflow.md
17- Setup + profiles (init, update, config profile): references/setup-profiles.md
18- Schema customization workflow and gaps: references/schema-customization.md
19- End-to-end schema workflow gaps and proposed solution: references/schema-workflow-gaps.md
20- Experimental release plan and rollout checklist: references/experimental-release-plan.md
21
22## Release Highlights (1.2.0 → 1.3.0)
23
24- **More tool integrations:** adds support for Junie, Lingma, ForgeCode, and IBM Bob.
25- **Safer setup:** shell completion installation is now opt-in, and Copilot auto-detection no longer triggers from a bare `.github/` directory alone.
26- **Adapter fixes:** Pi command generation was corrected, and OpenCode now uses the canonical `.opencode/commands/` path.
27- **Safer status checks:** `openspec status` now exits cleanly when a project has no changes yet.
28
29## OPSX Commands
30
31| Command | Purpose |
32| -------------------- | -------------------------------------------------------- |
33| `/opsx:explore` | Think through ideas, investigate problems (no structure) |
34| `/opsx:new` | Start a new change |
35| `/opsx:continue` | Create next artifact based on dependencies |
36| `/opsx:ff` | Fast-forward — create all planning artifacts at once |
37| `/opsx:apply` | Implement tasks, updating artifacts as needed |
38| `/opsx:verify` | Validate implementation matches spec |
39| `/opsx:sync` | Sync delta specs to main specs |
40| `/opsx:archive` | Archive single completed change |
41| `/opsx:bulk-archive` | Archive multiple completed changes at once |
42
43**Legacy (non-OPSX) command:** `/openspec:proposal` creates all planning artifacts at once. Prefer OPSX, but this can be useful for small/straightforward changes or older setups.
44
45## Schema Management
46
47```bash
48openspec schemas # List available schemas
49openspec schema which --all # Show resolution sources
50openspec schema init my-workflow # Create new schema interactively
51openspec schema fork spec-driven my-workflow # Fork existing schema
52openspec schema validate my-workflow # Validate schema structure
53```
54
55## Project Configuration
56
57Create `openspec/config.yaml` for per-project settings:
58
59```yaml
60schema: spec-driven
61
62context: |
63 Tech stack: TypeScript, React, Node.js
64 Testing: Vitest, Playwright
65
66rules:
67 proposal:
68 - Include rollback plan
69 specs:
70 - Use Given/When/Then format
71```
72
73**Schema precedence:** CLI flag → Change metadata → Project config → Default (`spec-driven`)
74
75## Core Concepts
76
77- **Artifact graph, not a workflow engine**: Dependencies enable actions; they do not force linear phases.
78- **Filesystem-as-database**: Completion is derived from file existence, not stored state.
79- **Deterministic CLI**: Commands require explicit change context (agent infers, CLI remains strict).
80- **XDG schema resolution**: User overrides take precedence over built-ins.
81- **Templates are schema-scoped**: Templates live next to schema and resolve with a strict 2-level fallback.
82
83## Decision Rules
84
85- Prefer **update** when intent stays the same and you are refining scope or approach.
86- Prefer **new change** when intent or scope fundamentally shifts, or the original can be completed independently.
87- Always preserve a clear history of why artifacts changed (proposal/specs/design/tasks).
88
89## Recipes
90
91### 1) Show what is ready to create next
92
931. Determine the active change id.
942. Query status and ready artifacts with the change explicitly set.
953. Present ready artifacts and their dependencies.
96
97Expected behavior: show ready artifacts, not required steps.
98
99### 2) Generate instructions for a specific artifact
100
1011. Resolve schema and template with XDG fallback.
1022. Build context: change metadata, dependency status, and target paths.
1033. Return enriched instructions in plain Markdown.
104
105### 3) Start a new change
106
1071. Validate change name (kebab-case).
1082. Create change directory and README.
1093. Show initial status and first ready artifact.
110
111### 4) Schema customization guidance
112
1131. Explain XDG override paths.
1142. Describe copying built-in schema + templates.
1153. Provide verification steps or recommended CLI commands for listing and resolving.
116
117### 5) Explain schema binding for a change
118
1191. Prefer change metadata if available.
1202. Fallback to project default schema if configured.
1213. Otherwise default to spec-driven.
122
123## Prohibitions
124
125- Do not treat the system as a linear workflow engine.
126- Do not assume a change is active without explicit selection.
127- Do not silently fall back between schemas or templates without reporting.
128- Do not copy long vendor docs verbatim; summarize and provide actionable guidance.
129
130## Output Expectations
131
132- Give clear artifact readiness and dependency explanations.
133- Use explicit change identifiers in examples.
134- Provide concise, actionable steps and indicate whether they are informational or required.
135
136## Links
137
138- [Documentation](https://github.com/Fission-AI/OpenSpec/tree/main/docs)
139- [Releases](https://github.com/Fission-AI/OpenSpec/releases)
140- [GitHub](https://github.com/Fission-AI/OpenSpec)
141- [npm](https://www.npmjs.com/package/openspec)