Custom OpenSpec schemas packaged as copyable folders under openspec/schemas/.
Default OpenSpec includes the spec-driven schema, which is a strong general-purpose workflow. This repo adds more focused workflows for specific delivery contexts, and also demonstrates how to customise OpenSpec for different styles of work.
Ask your coding agent to read this file and install the schema you want:
Read this file: https://raw.githubusercontent.com/intent-driven-dev/openspec-schemas/refs/heads/main/README.md and install schema <schema-name>.
Example:
Read this file: https://raw.githubusercontent.com/intent-driven-dev/openspec-schemas/refs/heads/main/README.md and install schema event-driven.
If you prefer to install the schema yourself, clone this repository locally or otherwise download it locally, then copy the relevant schema folder from openspec/schemas/ into one of these locations:
-
Project Local: Create
openspec/schemas/in your project if it does not exist, then copy your schema toopenspec/schemas/<schema-name>/. -
User Level: Copy your schema to
$HOME/.openspec/schemas/<schema-name>/.
Once the schema exists in either location, update openspec/config.yaml to activate it and run openspec schema validate.
config.yaml guidance:
- Set
schema: <schema-name>. - Ensure
ruleskeys correspond to artifact IDs in your schema'sschema.yaml(artifacts[].id). - For example, when using
minimalist, artifacts arespecsandtasks, so userules.specsandrules.tasks.
schema: minimalist
context: |
Tech Stack:
- Pure HTML5, CSS3, vanilla JavaScript
- No build tools, package managers
rules:
specs:
- Note accessibility requirements (WCAG 2.1 AA)
tasks:
- Include responsiveness checks.Artifact alignment source: openspec/schemas/minimalist/schema.yaml (specs, tasks).
Use this flow when installing any schema from this repository into an existing OpenSpec project.
- Run
openspec --versionbefore cloning or copying any schema files. Confirm OpenSpec is installed and the CLI version is at least1.0.0. - If
openspec --versionfails, reports a version below1.0.0, oropenspec/config.yamlis missing in the target project, stop and ask the user to install or upgrade OpenSpec and runopenspec initfirst. Exit with a message that schema installation can only proceed after initialization. - Clone this repository locally, then copy the full schema directory recursively so you keep
schema.yaml, the schemaREADME.md, and all nestedtemplates/files together. - Update
openspec/config.yamlto activate the installed schema. - Run
openspec schema validateto confirm the copied schema loads correctly.
Example install flow using event-driven:
openspec --version
# Stop here if OpenSpec is missing, below 1.0.0, or openspec/config.yaml does not exist yet.
git clone https://github.com/intent-driven-dev/openspec-schemas.git /tmp/openspec-schemas
cp -R /tmp/openspec-schemas/openspec/schemas/event-driven ./your-project/openspec/schemas/event-drivenExample activation in openspec/config.yaml:
schema: event-drivenThis activation snippet is only an example for the event-driven install flow. Replace the schema name when installing a different schema from this repository.
Validate the installed schema:
openspec schema validateExpected success output for this example:
Validation Results:
✓ event-driven
See CONTRIBUTING.md for how to create/customize schemas using openspec schema init / openspec schema fork, and how to validate before opening a PR.
Fast path from spec to execution using user-story requirements and Gherkin acceptance-criteria style.
For more details, see openspec/schemas/minimalist/README.md.
Structured workflow for event-centric systems with Event Storming discovery followed by AsyncAPI specification.
For more details, see openspec/schemas/event-driven/README.md.
