openspec-config
OpenSpec Config Skill
Manage OpenSpec configuration at two levels: project config (openspec/config.yaml) for project-specific context and rules, and global CLI config (openspec config subcommands) for user-level settings.
When to Use
- The user wants to add project context to improve AI artifact quality.
- Setting per-artifact rules (e.g. "specs must use Given/When/Then").
- Changing the default schema for the project.
- Managing global CLI settings (telemetry, editor, etc.).
Prerequisites
- OpenSpec initialized in the project (see openspec-initial).
Project Configuration
openspec/config.yaml
# Default schema for new changes
schema: spec-driven
# Project context injected into all artifact instructions
context: |
Tech stack: TypeScript, React, Node.js
API conventions: RESTful, JSON responses
Testing: Vitest for unit tests, Playwright for e2e
Style: ESLint with Prettier, strict TypeScript
# Per-artifact rules
rules:
proposal:
- Include rollback plan
- Identify affected teams
specs:
- Use Given/When/Then format for scenarios
design:
- Include sequence diagrams for complex flows
Config Fields
| Field | Type | Description |
|---|---|---|
schema |
string | Default schema for new changes (e.g. spec-driven) |
context |
string | Project context injected into all artifact instructions (max 50KB) |
rules |
object | Per-artifact rules, keyed by artifact ID |
How It Works
- Schema precedence (highest to lowest): CLI flag -> change metadata -> project config -> default (
spec-driven). - Context injection: Prepended to every artifact's instructions in
<project-context>tags. - Rules injection: Only for matching artifacts, in
<project-rules>tags, after context.
Artifact IDs (spec-driven schema)
proposal— Change proposalspecs— Specificationsdesign— Technical designtasks— Implementation tasks
Global CLI Configuration
openspec config list # Show all settings
openspec config get <key> # Get a value
openspec config set <key> <value> # Set a value
openspec config unset <key> # Remove a key
openspec config reset --all --yes # Reset to defaults
openspec config edit # Open in $EDITOR
openspec config path # Show config file location
Common Settings
| Setting | Example |
|---|---|
| Disable telemetry | openspec config set telemetry.enabled false |
| Set user name | openspec config set user.name "My Name" --string |
Outputs
openspec/config.yamlwith project context and rules.- Improved AI artifact quality through context injection.
Next Steps
- Start working with openspec-new or openspec-explore.
- Create a custom schema with openspec-schema and set it as default in config.
Troubleshooting
- "Unknown artifact ID in rules": Check artifact IDs match your schema; run
openspec schemas --json. - Config not applied: Ensure file is at
openspec/config.yaml(not.yml); check YAML syntax. - Context too large: Limit is 50KB; summarize or link to external docs.
References
More from partme-ai/openspec-skills
openspec-explore
Think through ideas, investigate problems, and clarify requirements before committing to a change using `/opsx:explore`. Use when the user says "explore an idea", "think through this", "investigate options", or wants to brainstorm before creating a formal change.
50openspec-apply
Implement tasks from the change using `/opsx:apply`, working through the task list and checking off items. Use when the user says "implement", "apply the change", "/opsx:apply", or "start coding from tasks".
40openspec-sync
Sync delta specs from a change into main specs using `/opsx:sync`, without archiving the change. Use when the user says "sync specs", "merge specs to main", "/opsx:sync", or needs to update main specs mid-change.
36openspec-schema
Create and manage custom workflow schemas using `openspec schema init/fork/validate/which`. Use when the user says "create a custom workflow", "custom schema", "fork a schema", or wants to define their own artifact types and dependencies.
35openspec-archive
Archive a completed change with `/opsx:archive`, merging delta specs into main specs and preserving the change for history. Use when the user says "archive the change", "finish up", "/opsx:archive", or "mark this change as done".
35openspec-new
Start a new OpenSpec change with `/opsx:new`, creating a change folder with metadata and scaffolding. Use when the user says "start a new change", "new feature", "/opsx:new", or "create an OpenSpec change".
29