openspec-bootstrap
Installation
SKILL.md
The config steers every artifact agents write later. Its main job is keeping a change's artifacts at the outcome level. Artifacts that prescribe implementation detail go stale as soon as the implementation drifts, and agents then spend effort resyncing them. The template's context states that principle, with contracts as the one exception.
Workflow
- Create a task per step below, phrased with its completion criterion, then work them to completion.
- If
openspec/is missing, runopenspec init --tools <the agents this repo uses>. Done whenopenspec/config.yamlexists. - Read the README, CLAUDE.md/AGENTS.md, the build entrypoint (Makefile or similar) and any planning or decision docs. Done when you can name what the project is, its hard constraints and where decisions live.
- Copy
assets/schemas/lean/from this skill's directory to the project asopenspec/schemas/lean/. It isspec-driventrimmed to outcome-level sections, with each fact held in one artifact. Done whenopenspec schema validate leanpasses. - Copy
assets/config.yamlfrom this skill's directory to the project asopenspec/config.yaml, then fill it in.
- Keep it short. Include only what agents must take into account when working with OpenSpec in this project.
- Add a repo-specific rule only when the repo's docs show it needs one.
- If a config with real content already exists, merge into it instead: keep its repo-specific facts and replace rules that prescribe internal code.
- Delete any placeholder line you can't fill and note it for step 8.
- Done when
rg -n '<[^>]+>' openspec/config.yamlfinds nothing.
- Check every rule you wrote against the template's
contextand theleanschema's instructions. Remove any rule that tells future agents to prescribe implementation detail, restates a schema instruction, or adds a section to every change. - Confirm the YAML parses:
python3 -c 'import yaml,sys; yaml.safe_load(open(sys.argv[1]))' openspec/config.yaml. - Report the deleted placeholders to the user as questions rather than guessing values.