Releases: benstr/openspec-plus
Release list
v0.2.0 — intent-aware backlog & de-biased depth
Intent-aware backlog planning and a de-biased delivery-depth model.
Added
- End-state intent capture in
/opsx:backlog. Capture reads the user's ideal end-state, runs a bounded read-only research pass, and sketches a 0→1 map — minting items at a mix of depths along it instead of a flat pile of Minimal tasks. ## Intended outcomebrief section. Every working brief records its per-item slice of the end-state (no central artifact)./opsx:briefand propose read it to judge depth and whether further items are warranted.- Ephemeral-vs-durable pillar triage. With the pillars module installed, a durable, cross-cutting belief surfaced during capture or deep-brief is recommended for
/opsx:pillarconsideration — behind a deliberately high bar (timeless, cross-cutting, not already covered) so pillars stay rare. Surfaced as a recommendation, never auto-authored.
Changed
- Reconciled the delivery-depth rule. Depth is judged as the smallest truthful depth on the path to the recorded intent, not the item in isolation — so a higher-depth waypoint is justified, not padding. The architecture/trust floor is unchanged at every depth.
/opsx:briefmay raise depth or spawn follow-on waypoints when investigation shows the end-state needs them, surfacing contentious calls.- delivery-depth pillar: additive Bindings clarification (no supersession).
- Restyled the backlog workflows (
backlog,brief,next) to OpenSpec's rules-based bullet form for more predictable agent output — no behavioral changes.
Notes
Installed projects pick up new behavior from the refreshed command/skill files on re-run. The new brief-template section and README notes appear in fresh installs only — existing scaffold files are never overwritten.
Full changelog: https://github.com/benstr/openspec-plus/blob/main/CHANGELOG.md
openspec-plus v0.1.0
First release. openspec-plus adds modular, installable customizations to any OpenSpec project — no fork of the OpenSpec CLI, no plugin API required. Everything installs through OpenSpec's official customization surfaces (config.yaml context/rules, tool command and skill directories) and survives openspec update untouched.
Modules
openspec-backlog — ordered work, durable memory
| Command | What it does |
|---|---|
/opsx:backlog <context> |
Turns messy context into deduplicated, ordered backlog items — a ledger row plus a lite working brief per item. Splits, merges, enriches, and reorders upcoming work; never touches in-flight rows. |
/opsx:brief <item> [deep] |
Deepens one item's brief at pick-up time with codebase-grounded requirements, risks, and pointers. deep / best practices / deep research triggers a web-research pass producing an opinionated Architecture & Ecosystem section. |
/opsx:next |
Processes exactly one backlog item end-to-end — brief → propose → apply → verify → sync → archive — with hard stops for anything ambiguous. Every run ends LOOP CONTINUE or LOOP STOP: <reason>, designed for /loop and /goal. |
Core discipline: the ledger owns order, OpenSpec owns status, and each row's pointer target is its state — nothing is ever hand-marked "done".
The worklog protocol. Long-running agent loops get their context compacted mid-change, wiping the plan, progress inside big tasks, and every subagent's findings — the loop then restarts the same work forever. Each change gets a durable worklog.md: a rewritten State block plus append-only entries, governed by five rules (read first, write ahead, digest every subagent result the instant it returns, trust the log over instinct, record dead ends the moment they fail) and a big-task decomposition rule so progress inside a task survives too. Re-orientation is the default entry path — no compaction detection needed.
openspec-pillars — principles and vocabulary
| Command | What it does |
|---|---|
/opsx:pillar |
Author or evolve a pillar (timeless belief) in the five-section format. Meaning changes are loud and owner-gated — superseded, never silently rewritten. |
/opsx:definition |
Add or update an entry in DEFINITIONS.md, the controlled-vocabulary resolver (canonical name, aliases, one-sentence meaning, owning mechanism). |
Ships with the delivery-depth pillar preinstalled: every change proposal declares exactly one depth — Minimal | Optimized | Production — enforced through per-artifact rules, with a keep/purge/defer review. Works standalone; when both modules are installed, the ledger gains a matching Depth column automatically.
Install
git clone https://github.com/benstr/openspec-plus.git
node openspec-plus/install.mjs all # or: backlog | pillars
# flags: --tools claude,codex,cursor --target <dir> --dry-runNode ≥ 18 · zero dependencies · fully idempotent — re-run any time. Supported harnesses: Claude Code, Codex, Cursor (slash commands + agent skills for each).
Quality
- 32-test zero-dependency smoke suite (
npm test); CI green on Ubuntu + Windows × Node 20/22 - CRLF-tolerant installer — safe against Windows checkouts and CRLF user configs
- docs/ with a getting-started path, module deep-dives, and a generated command reference
- DESIGN.md — the full architecture contract, including exactly why installed files survive
openspec update