A lean OpenSpec workflow schema —
tinychange — for very small changes.
tinychange is a specs → tasks schema. It drops the proposal and
design phases of the default spec-driven workflow (ceremony for a one-line
edit) but keeps a full spec delta and a tasks checklist:
spec-driven tinychange
─────────── ──────────
proposal.md ┐ specs/**/*.md (delta — still required)
specs/**/*.md ├─ required tasks.md (short checklist)
design.md │
tasks.md ┘
The point: a tiny change is still a change to the system's behavior, so it
should still record its spec impact. tinychange keeps that discipline
while cutting the paperwork that a small edit doesn't need.
Good fits: a config toggle, a new alias, a small flag, a wording fix that
changes behavior, a one-file feature. Reach for the full spec-driven schema
when a change needs real design discussion, multiple capabilities, or a
migration.
Pure refactors, tooling, or docs changes that don't alter behavior should not
invent a requirement just to pass validation. Instead set skip_specs: true in
the change's .openspec.yaml and provide only tasks.md. openspec validate
accepts that.
There is no openspec install <url> command. Follow AGENT_INSTALL.md
— it's written for a coding agent to execute: it copies
openspec/schemas/tinychange/ into your project and validates it. After that:
openspec new change my-tiny-change --schema tinychange
# ... write the spec delta + tasks.md ...
openspec archive my-tiny-change # syncs the delta into openspec/specs/- OpenSpec ≥ 1.10 (custom workflow schemas;
openspec schema …is currently flagged experimental, so theschema.yamlformat may shift across releases).
Extracted from the add-tinychange-commands change in the public
mipnix config, which adds
/mip:tinychange-explore and /mip:tinychange-apply commands that drive this
schema. See that repo under
openspec/changes/archive/<date>-add-tinychange-commands/ for the full
rationale, design, and the spike that validated this schema end-to-end.
Inspired by the minimalist schema in
intent-driven-dev/openspec-schemas.