openplanr 3.3.0
Minor Changes
The design skills can now save real typefaces with
node scripts/design.mjs fonts fetch --family "Inter:400,600" --dest <design>/source/assets/fonts. It downloads Latinwoff2and license files from Google Fonts for up to two OFL or Apache families, three weights each, and writes a localfonts.css. Other licenses are refused and a failed download leaves nothing behind. Hosts that allowlist domains needraw.githubusercontent.com,fonts.googleapis.comandfonts.gstatic.com.openplanr ship checksnow reports changed files a passing run may not have checked: untracked files that tracked-only checks such as lint-staged cannot see, and new TypeScript files that no tsconfig includes. The JSON result moves to schema1.1.0with a newcoveragefield.Adds
openplanr spec validate <specId>, a read-only check of a spec against the specification contract: frontmatter schema, the 13 headings in order, andAC-NNNids on acceptance criteria. It prints each violation and exits 1 if any are found.--jsongives machine-readable output.openplanr spec promotetakes--dry-runto validate and print the handoff command without writing.spec createandspec shapenow number acceptance criteriaAC-001,AC-002and so on, so new specs pass validation.
Patch Changes
Panning and zooming in the design studio is smoother: wheel and pinch input no longer forces a layout on every event, and the minimap no longer forces one when it redraws during a pinch zoom.
Plugin inspection no longer hangs on a slow
claude --versionorcodex --version. After 5 seconds it reports the runtime as present with an unknown version.Plan and Ship keep small, coherent work in the main session and delegate only bounded work that benefits from isolation or parallel execution. Native role metadata now points at the generated Claude agents, and persistence work goes to the backend role.
openplanr setupremoves legacy Claude project agents it can verify are unchanged, with backup and restore. Edited, unknown and symlinked files are left alone, andopenplanr doctorlists any legacy paths that remain.Claude Code now loads the investigate skill when you ask it to investigate a failure without fixing it yet, and the ship skill when you ask it to plan and implement an accepted change. Codex and Cursor get the same updated skill descriptions.
In headless runs where no one can answer, the spec skill no longer asks. It picks the repository-backed or recommended default and records each choice as an
Assumption:bullet under## Notes for Decomposition. Interactive runs are unchanged.The dashboard List keeps its filters, sort, compact setting, page and selected row when planning files update live.
Design skills can now author theme and state variants with typed props instead of copying source files. Existing designs without props render as before.