Changelog
2.1.0 (2026-08-30)
Features
spec & docs & review redux — contract-forward docs, adversarial review, loop skill
feat(skills): rebuild spec and review pipeline with validation gates
Store
- add shared store-init script with unit tests, vendored into nine skills through the keyed vendor-assets manifest
- replace inline bash copies and wire store init into the explore, pr, docs, and qa workflows that touch .codevoyant
Spec
- tabulate enumerable sets with completeness gates: tabulation.md contract, tables/ directory, SCOPE=tabulation validation
- refuse uncalled-out cross-module writes in doc-aware mode via boundary callouts, [BLOCKED] entries, and review audits
- add constrained Requirements block with SCOPE=requirements validation in the plan template and spec review
Review
- add adversarial review dimension: red-team-adversary (Dimension 5) and claim-checker agents
- add security gates, CI/commit/static-floor checks; restrict to file-level comments with a fixed minimal publish fallback
Docs
- contract-forward prose-minimal policy: closed LLM text budget and @human markers across twelve templates
- CLI artifact validation gate with pinned mermaid renderer and semantic caps; refresh pr, docs, and spec pages and add loop page
Requirements
- R1-R7 constrained requirements authoring with gate semantics, enforced in docs review and spec validation
Loop
- new bounded repeat-until-objective loop skill with runner and judge background agents and a max-iterations bound
Housekeeping
- replace CLAUDE.md with AGENTS.md, drop Claude Code config, and move the changelog sanitizer to a mise task
- fix(vendor): respect the files filter so shared tests stay in shared
- vendor-assets treated
filesas a union with the whole source dir; it is an exclusive filter per the documented contract - re-vendor: drop the 10 vendored test_cv_init_store.py copies; the test lives only in skills/shared/store-init/ (still run by mise test)
- update the vendor-assets tests to the new contract (unlisted files stay put; assets without
filesstill walk the whole source)
- refactor(loop): collapse to a single-command run with a tracking doc
- drop the flow-style definition model: no new/go/list/status workflows, no saved loop definitions — loops are not flows
- /loop
<task>--until<objective>[--max N] [--check<cmd>] [--resume<slug>] writes the tracking doc (.codevoyant/loops/{slug}/loop.md) and runs immediately; the procedure lives inline in SKILL.md - merge loop-runner + loop-judge into one loop-agent that performs the task and strictly judges the objective per iteration
- update docs/skills/loop.md to match
2.0.1 (2026-08-27)
Bug Fixes
- spec: generate implementation files as diffs with context, not whole-file dumps
2.0.0 (2026-08-27)
⚠ BREAKING CHANGES
- git: authorization**
- Forbid breaking labels unless the user passes --breaking-change, or explicitly states the change is breaking.
- Also accept opt-in via the "Mark as breaking" option in the Step 2 confirmation when a change looks breaking.
- Never infer a breaking label from the diff; use a plain feat/fix and describe the behavior change in the body instead.
Workflow and docs
- Add the --breaking-change flag to the commit workflow and its help reference.
- Surface a "Mark as breaking" option in the Step 2 confirmation when a change looks breaking but is not yet authorized.
- Mirror the opt-in note in docs/skills/git.md.
Bug Fixes
- git: forbid breaking commit labels without explicit authorization
Why
- Breaking labels (feat!/fix! and BREAKING CHANGE: footers) signal a major version bump; inferring them from the diff caused unintended majors.
Breaking change authorization
- Forbid breaking labels unless the user passes --breaking-change, or explicitly states the change is breaking.
- Also accept opt-in via the "Mark as breaking" option in the Step 2 confirmation when a change looks breaking.
- Never infer a breaking label from the diff; use a plain feat/fix and describe the behavior change in the body instead.
Workflow and docs
- Add the --breaking-change flag to the commit workflow and its help reference.
- Surface a "Mark as breaking" option in the Step 2 confirmation when a change looks breaking but is not yet authorized.
- Mirror the opt-in note in docs/skills/git.md.
1.76.0 (2026-08-22)
Features
- pr,flow: merge --cleanup, squash CI-watch, flow get/update (#61)
(1) /pr merge --cleanup deletes the branch locally + remotely on clean merge.
(2) /pr squash now watches CI after force-push, /pr address routes commits via /git commit, and /pr publish --push watches CI post-push.
(3) /flow get and /flow update for inspecting/editing flow definitions.
1.75.0 (2026-08-22)
Features
spec,docs,git: spec --lite, annotations, git exclude, ML docs, configurable docs dir
feat(git): add exclude workflow for .git/info/exclude
docs(skills): unify @agent/@edit annotation contract across spec and docs
feat(spec): add --lite contract-first planning mode
feat(docs): flat-repo module breakdown in retcon with taxonomy reference
feat(docs): ML model, data-pipeline, and experiment templates
fix(skills): address review — exclude exact-match, @edit/@agent scan, portability, ML diagram
Address PR review comments:
- git exclude: exact whole-line match (-qxF / -vxF)
- spec update: scan named @edit/@agent annotations
- docs retcon: POSIX [[:space:]] and recursive workspace detection
- annotations contract: pin @edit->minor, @agent->guidance mapping
- template-contract: @edit as table row, clarify @agent base form
- experiment template: required mermaid graph
- spec help: document --no-lite override
fix(skills): address review — @user annotation form, lite exploration budget, retcon md-docs fallback
feat(docs,spec,plan,pm): configurable docs directory via .codevoyant/metadata.json
fix(docs,spec,plan): quote $DOCS_DIR and convert remaining docs/ literals
Documentation
skills: drop hardcoded model families, correct opencode model-tier mapping
docs(skills): correct opencode model-tier mapping + use tier names
docs(skills): clarify opencode model tier resolution wording
The opencode bullet overstated that agent.<name>.model maps every tier to a concrete model when it is actually a single model string per agent. Reword to say each tier resolves to a concrete model via that key, and align the Claude Code sibling bullet across all seven model-tiers.md copies.
1.74.2 (2026-08-21)
Bug Fixes
- docs: correct helix icon path in README
1.74.1 (2026-08-21)
Bug Fixes
docs: exclude skills/shared from VitePress build
fix(docs): exclude skills/shared from VitePress srcExclude
docs(pr): fix stale STE ruleset path and shared assets label
Correct the STE ruleset path in docs/skills/pr.md to the shared source-of-truth location (skills/shared/simple-english/ruleset.md) and rename the VitePress srcExclude label from 'vendor assets' to 'shared skill assets' since only simple-english/ is third-party.
1.74.0 (2026-08-21)
Features
skills: accept opencode args via $ARGUMENTS capture points (#55)
feat(skills): accept opencode args via $ARGUMENTS capture points
- Add a $ARGUMENTS capture line to every SKILL.md Step 0 so opencode slash commands substitute the raw invocation inline
- Correct arg-handling contract: opencode substitutes $ARGUMENTS/$N like Claude Code (highest $N is greedy) and appends raw args when no token exists
- Keep read-from-message fallback for the by-name skill tool path
- Update docs/installation.md command-args section to match
- docs(skills): address autoreview comments — example capture line + version caveat
Code Refactoring
- skills: remove duplicated tasks skill alias (#56)
Delete skills/tasks/ and .mise-tasks/gen-task-alias; strip the alias drift-check and skills:sync-task-alias task from mise.toml; update skills/task/SKILL.md and docs/skills/task.md to reference only the single task skill.
1.73.0 (2026-08-20)
Features
skills,docs: cross-agent argument handling and docs grouping hierarchy
feat(skills): cross-agent dispatcher argument handling
Argument contract
- Add skills/shared/arg-handling.md as the canonical cross-agent contract: dispatchers parse the verb and args from the current request, never from a platform magic variable
- Never embed $ARGUMENTS/$N substitution tokens in a SKILL.md body; OpenCode does not substitute them inside skill content, so a literal token reaches the model unexpanded
- Missing verb asks the user (AskUserQuestion, numbered-list fallback on non-Claude-Code platforms) instead of silently running help; an explicit or unknown verb still runs help
- Enforce the contract in the spec and docs dispatchers and in skill-template.md, and drop the $ARGUMENTS token from the explore diff workflow
OpenCode command wrappers
- Add a shared opencode-command wrapper template and vendor it to every dispatcher skill's references/opencode-command/template.md
- Add scripts/install-opencode.sh to optionally write $ARGUMENTS command wrappers under ~/.config/opencode/command, with --list, --uninstall, and named-skill targeting
- Detect verb-dispatching skills only (Step 0: Parse Arguments plus a references/workflows dir), so cheatsheet skills get no wrapper
Vendoring and docs
- Register the opencode-command asset in skills/vendor.json and regenerate skills/vendor.manifest.json
- Document wrapper install options in docs/installation.md and README.md
- feat(docs): grouping hierarchy and mermaid label rules
Grouping hierarchy
- Introduce a kind-bucket taxonomy (apps|services, libs, CI) with an optional platform level for the docs/architecture tree
- Add retcon Step 2.5 to group discovered components into the hierarchy before building the manifest, confirming groupings with the user
- Update structure.md, coverage-and-api.md, and the architecture and generic templates to the group/module/component grain: a group doc owns a kind subtree, a module index owns its module subtree, a leaf child only its own sub-path
- Route new, update, review, and validate through the same taxonomy; the architecture index now navigates by group, not by every component
Mermaid labels
- Add a mermaid-guide rule: multiline node labels use
inside double-quoted labels, never a literal \n, across every diagram type - Update the architecture template's topology example to the new grouped form
1.72.0 (2026-08-17)
Features
skills: v2 vendor.json with selective vendoring
feat(skills): add shared scope-scripts and bug-report sources
Create the canonical skills/shared/ scope-scripts (scope.py + test_scope.py, neutral docstring covering docs diff scoping and spec doc-aware write scoping) and bug-report issue template that the v2 vendor-assets plan will vendor into the spec/docs and gh/glab/linear skills.
- feat(skills): v2 vendor.json and vendor-assets rewrite
Redesign skills/vendor.json to the v2 schema: each asset declares source, optional selective files, optional skills array with a per-skill destination, and/or legacy explicit destinations. Rewrite .mise-tasks/vendor-assets to honor it (selective copying, skills scoping, --validate, strict schema validation that fails before any copy or drift check). Materialize all vendored copies and migrate the simple-english entry to the skills+destination form.
- refactor(skills): drop duplicate ScopeFunction class from docs test_scaffold
The scope tests are now vendored as skills/docs/scripts/test_scope.py from skills/shared/scope-scripts, so the embedded ScopeFunction class in test_scaffold.py would run the same six assertions twice. Remove it; the docs skill keeps its scaffold/template/CLI test classes.
- docs(skills): document v2 vendor.json schema and shared-source scope.py
Rewrite skills/README.md to describe the v2 manifest (source, files, skills, destination, destinations, --validate) and the three managed shared assets, and update doc-aware.md to name skills/shared/scope-scripts as scope.py's canonical source instead of the docs skill.
- fix(skills): harden vendor-assets validation, dedup, and files propagation
- validate_asset: isinstance(..., str) checks for source, files, skills, destination, and destinations entries so malformed configs (e.g. skills: [42]) fail with a clean schema error instead of a TypeError traceback
- resolve_targets: deduplicate the skills + destinations union so an overlapping target is copied/checked once
- files mode: vendor the allowlist plus any other file under the source dir (new shared files propagate automatically); record the vendored set in skills/vendor.manifest.json so --check flags a previously-vendored copy whose file is no longer in the source or allowlist, and vendor cleans it
- chore(skills): commit vendor manifest and vendor-assets regression tests
The manifest records the vendored file set per target so --check can detect stale copies on a clean checkout; the tests cover new-file propagation, stale-copy flagging/cleaning, and non-string schema validation.
1.71.0 (2026-08-16)
Features
spec: doc-aware --persistent flag (#48)
feat(spec): doc-aware --persistent flag (#46)
feat(spec): add doc-aware --persistent mode for new, update, and go
Doc-aware model
- Add references/doc-aware.md as the single source of truth: valid-docs gate, docs-first write, glob-scoped phases, public-interface-only cross-module interaction, graceful missing docs, boundary callouts
- Vendor scripts/scope.py (from the docs skill) plus unit tests (test_scope.py) so doc-aware planning/execution resolve doc globs without depending on the docs skill at runtime
Planning (new)
- Parse --persistent into PERSISTENT_MODE; add Step 2.8 doc-aware preflight: valid-docs gate (stops with graceful message when the repo has no valid docs) and docs-first /docs update write
- Emit Doc Globs: metadata in plan.md and require every phase to carry a
Doc Scope block (write globs, public-interfaces-only, boundary
callouts) with callouts summarized in the Decision Log
Updating (update)
- Parse --persistent; add Step 2.5 doc-aware preflight with the same valid-docs gate and docs-first write
- Reject updates to plans without Doc Globs metadata; glob-scope conversational and annotation edits with boundary callouts surfaced in the preview and report
Execution (go + spec-executor)
- Read plan-wide Doc Globs as the activation signal; extract each phase's own write globs and pass SPEC_SKILL, DOC_GLOBS, and PHASE_GLOBS to spawned executors (kept on their own line, unbroken)
- Add Doc-Aware Enforcement to the executor: writes must land inside the phase's globs (checked via scope.py), cross-module interaction is public-interface-only, and permitted crossings are logged as [DEVIATION] entries
Skill plumbing
- Resolve and export SPEC_SKILL (skill package root) in SKILL.md so workflows and executors share the checker path regardless of checkout vs installed copy
- Update help.md usage, argument-hint, and the workflow checklist with doc-aware mode
- docs(spec): document the --persistent flag on new and update
- Add usage examples for /spec new --persistent and /spec update --persistent in docs/skills/spec.md
- Explain the experimental doc-aware mode: docs written first, phases scoped to doc globs, and cross-module interaction through documented public interfaces
- Note that new/update refuse to plan blind without valid docs and point to references/doc-aware.md for the full model
feat(spec): make planner and updater agents doc-aware
feat(spec): gate doc-aware mode on docs validate; support exclude:true unmanaged docs
chore: improved scripting
fix(spec): pass phase globs unexpanded, skip doc-aware check on empty scope
The scope.py checker ran with --globs $PHASE_GLOBS unquoted, so the shell glob-expanded the write globs (silently narrowing scope, or vanishing to an argparse error when nothing matched). Wrap the call in set -f/set +f to pass the glob strings literally, and skip the check entirely when a phase has no
Doc Scope block (empty PHASE_GLOBS) rather than erroring on zero globs.
- fix(spec): gate doc-aware update before docs-first write
Running --persistent against a plan created without --persistent mutated docs via /docs update and only then stopped. Check the plan's Doc Globs: metadata first and stop before running /docs update when the plan is not doc-aware.
- fix(spec): skip root package.json, resolve --docs against --root
A repo-root package.json registers as component path '.', which no component doc glob can own, emitting a permanent COVERAGE warning on every validate run. Skip it (the root is unclaimable) and point the coverage test at a real libs/api gap. Also resolve a relative --docs against --root instead of the CWD.
- fix(docs): define SKILL resolver and mark legacy docs excluded
Workflows referenced $SKILL/scripts/... without SKILL.md ever exporting it, so docs new/update/retcon/validate broke at their first script step. Add a resolver mirroring the spec skill's, and stamp docs moved to docs/legacy/ with exclude: true so review/validate/validate_docs.py skip them as unmanaged.
- chore: remove unused Bash(rg:*) permission
Nothing in the doc-aware flows this PR introduces calls rg; grep it away to avoid an unneeded permission widening.
1.70.0 (2026-08-15)
Features
- docs: template-driven docs skill, STE, validate
Adopt Simplified Technical English as the house style and make the docs skill's structure fully template-driven.
Language & structure
- Vendor the SimpleEnglish ASD-STE100 ruleset with MIT attribution; the language guide and every template now write to constrained English
- Add template-contract markers ([components]/[public-api]/optional) so review, update, retcon, and validate derive required sections and diagrams from templates instead of hard-coded names
- Merge System Diagram + Key Components into one Components heading; rename public API sections to API; trim project-readme to quick start
Workflows
- Add docs validate: code-reading check that globs are valid and comprehensive and that component boundaries hold
- Add scripts/scope.py for fast diff-to-glob matching; update and review restrict their scope to the branch diff
- Rework review into a verbatim replacement report consumed by update, with minimal-audit and escalate-to-review fallbacks
- Rewrite retcon: move existing docs to docs/legacy/, carry their facts forward, and validate every glob against the real code tree
- Add retcon/update --scaffold structure-only mode
Tooling
- Add scaffold.py and scope.py test suites; wire skill tests into the mise test task and GitHub Actions
1.69.0 (2026-08-14)
Features
- snippets: add Raycast snippets management skill
Add a snippets skill for managing Raycast text snippets as topic-isolated markdown collections.
Skill
- Thin SKILL.md dispatcher exposing add/update/sync/get subcommands, each backed by a workflow reference file.
- Vendored md2snippets.py converts markdown collections into Raycast-importable JSON, resolved via SKILL_DIR so it works regardless of the caller's cwd.
Store
- Resolve the store path from ~/.codevoyant/meta.json
snippetDir, falling back to ~/.codevoyant/snippets when unset. - Gitignore the in-project ~/.codevoyant/snippets fallback so generated snippets are never committed.
Scope
- Snippets live in per-topic .md collections so unrelated sets stay isolated.
- Not added to the docs site by design; this is a personal-use workflow skill.
Code Refactoring
- skills: migrate knowledgebase skills to diffwiki wiki (#42)
Remove 15 knowledgebase skills (aws, compgeo, cpp, docker, gcp, hpc, llm, mle, odin, react, python, typescript, sveltekit, tanstack, terraform) now published as diffwiki collections in skapoor8/wiki. Includes docs site, README, icon, and pr-skill reference cleanup. vim/zellij/hx retained as dev tools.
1.68.1 (2026-08-14)
Bug Fixes
- migrate: resolve version from version.txt and dispatch flat globbed migrations
1.68.0 (2026-08-14)
Features
- context: share .codevoyant across worktrees via ~/.codevoyant store
Move the per-project codevoyant context store out of the repo tree and into a shared, gitignored location so every git worktree of the same project reads and writes one store.
Shared store model
- The canonical store is
~/.codevoyant/<project-slug>/; the in-repo.codevoyantbecomes a gitignored symlink to it, so all worktrees share a single store instead of each carrying its own. <project-slug>derives from the git common dir's parent name via a locale-stable (LC_ALL=C) lowercase/slugify pass, with anunnamedfallback, so the slug is byte-identical wherever it is computed..gitignoreignores.codevoyant(the symlink) and Python bytecode.
First-touch init in skills
- Add an idempotent inline
cv_init_storehelper to every skill that first touches.codevoyant(spec, em, pm, qa, flow, skill, usage) so the shared symlink is created before the firstmkdir; on a fresh clone this prevents.codevoyantfrom being materialized as a real directory. cv_init_storenever migrates an existing real dir — that is the/migrateskill's job — and computes the same<project-slug>as/migrateso the symlink target and copy destination always agree.
migrate skill
- Add a text-based, agent-driven
/migrateskill (stdlib only) that creates the store and symlink, copies existing codevoyant data from user-supplied source location(s) additively (never clobbering, never descending intoworktrees/), and unions the plan registry.codevoyant/README.mdrow-by-row. - Track the store's codevoyant version in
.codevoyant/metadata.jsonand apply, in ascending semver order, any pending migration files underreferences/migrations/; document the convention and template.
Removals and doc reconciliation
- Remove the deprecated
dev-docsskill, superseded by/docs. - Purge the defunct agent-kit and CLI reference docs and reconcile the architecture and user-guide docs with the shared-store model.
1.67.3 (2026-08-04)
Bug Fixes
spec: require code-complete spec artifacts
fix(spec): require code-complete spec artifacts
Code completeness
- Require a passing code-completeness gate before a new plan can advance to permissions analysis or completion.
- Make validation fail closed when code-completeness findings remain after the final repair round.
- Block ready review verdicts until code-completeness findings are resolved.
Documentation
- Explain the required gate and blocking behavior in the spec guide.
- chore(claude): allow skill file reads
Permissions
- Permit reads from installed Claude skills and plugin skills.
1.67.2 (2026-07-24)
Bug Fixes
- docs: use clean flat brand-purple zellij home-page icon
The upstream zellij mascot rendered dark and muddy at icon size due to
its multi-fill palette. Swap in a flat single-stroke #5555ff hexagon badge with a >_ terminal prompt so the tile matches the crisp flat cpp/vim/hx siblings.
1.67.1 (2026-07-24)
Bug Fixes
- docs: recolor helix and zellij home-page logos to brand purple
- replace the two off-brand home-page hero icons with purple renderings of the official upstream logos: the helix ribbon is a monotone
#5555ffwith its back-twirl outlined, and the zellij hexagon badge is rendered in purple monochrome - square both icon viewBoxes so the logos sit on a consistent grid and align with the surrounding hero tiles
1.67.0 (2026-07-19)
Features
- odin: fast per-recipe Odin language lookup skill (#34)
A deterministic lookup skill packaged from the odin-guide exploration: SKILL.md routes a query to ONE small recipe file (exact-slug-first, then whole-word keyword match) and prints it verbatim — no synthesis, no churn. 15 self-contained recipes (procedures, returns, structs, conversions, defer, allocators, errors, unions, data-structures, math, strings, terminal, polymorphism, cli, resources) grounded in the official Odin docs. No-query prints a terse topic index. No public docs page (out of scope).
1.66.1 (2026-07-19)
Performance Improvements
- task: deterministic single-script runner dispatch + /tasks alias (#33)
Model-driven dispatch (SKILL.md -> detect.md -> list.md -> run.md) made /task detect and /task list take ~2 minutes: every verb walked several reference docs and ran ad-hoc bash the model assembled per call. Replace that hot path with one shipped POSIX-sh script so detection, listing, running, and the no-match offer happen in a single deterministic process.
Single shipped dispatcher
- Add scripts/task.sh: one source of truth for runner detection (mise -> just -> Taskfile -> package.json -> none), listing, and running.
- No argument lists tasks; an unrecognised first token is treated as a run query and matched against the runner's task names; a query with no match returns NO_MATCH so the skill can offer to create a runner-native task entry instead of failing.
- SKILL.md maps every verb to a single Bash call; the three workflow docs shrink to thin references pointing at the script, so no executable bash remains on the hot path.
Correct lookup signals
- List names via
mise tasks ls --no-headerso the first task is no longer dropped by a header-skipping awk (mise 2026.3.x emits no header); dropping it made/task <first>wrongly offer to create an existing task. - Capture enumeration stderr: a runner present but unable to enumerate (e.g. untrusted mise on a fresh clone) is reported as ENUM_FAILED, surfacing the trust error rather than offering to create the task.
- Two or more prefix/substring candidates return AMBIGUOUS with the candidate list so the query is disambiguated, not treated as no-match.
- Match literally via
grep -Fand a lowercased case-glob prefix; the query is never interpreted as a regex.
/tasks alias with a drift guard
- Ship skills/tasks/ as a generated mirror of canonical skills/task/ (identical but for the name,
/taskstrigger token, and SKILL.md H1), so both triggers share the same fast script. - Add .mise-tasks/gen-task-alias to regenerate it and a skills:sync-task-alias task; fold a --check drift guard (content and exec-bit modes) into skills:validate so CI fails if the two diverge.
- Update docs/skills/task.md for no-arg list, bare-query run, and the create-offer.
Closes #33
1.66.0 (2026-07-19)
Features
- hx,zellij: fast Helix + Zellij keybinding cheatsheet skills (#32)
Two single-file, deterministic reference skills modeled on vim: parse a natural-language query and print a pre-baked table (no runtime web calls, no subagents, instant output), each with a cheatsheet command for a terse one-screen table. hx covers Helix navigation/selection/change/edit/search/pickers/splits/modes + the space-? palette (selection-first grammar and vim gotchas called out); zellij covers the default preset — modes, panes incl. floating, resize/move, tabs, sessions. Bindings verified against the Helix keymap and Zellij defaults. Adds docs skill pages, index cards after vim, sidebar entries, and icons.
1.65.2 (2026-07-19)
Bug Fixes
- ed: real manim-web scene API + doctor scene-health (#31)
ed generated Manim scene scripts against a fictional Scene API (scene.circle/line/label/moveTo) that diffbook never provided, so every animation crashed at runtime. Add references/manim-scenes.md documenting the real manim-web contract (import from manim-web; export default async (scene: Scene); scene.add/remove/play/wait; new Circle/Line/Text + new Create/Write; .moveTo/.shift/.animate), verified against manim-web@0.3.24, with hard rules and worked examples; wire it into the ed-lesson-author agent, diffbook-components, and the lesson template. Add an ed doctor Manim scene-health pass that flags and best-effort-repairs scenes using the hallucinated API (backing up originals, surfacing non-mechanical cases). Closes PL-30.
1.65.1 (2026-07-19)
Bug Fixes
- ed: repo-root diffbook layout + ed doctor (#30)
ed scaffolded the diffbook project inside book/ with content nested at book/docs/, contradicting diffbook's convention (project at repo root, book/ is the contentPath content dir). Model PROJECT_ROOT (cwd, where /diffbook init runs) separately from BOOK_DIR (contentPath, default book/); drop the docs/ content layer; move Manim scenes to book/_animations/. Add 'ed doctor' to repair already-borked books in place (move project to root, flatten book/docs/ -> book/, de-dupe .diffbook/, rewrite astro.config.mjs docs -> contentPath) — dry-run by default, --fix to apply, idempotent, never re-runs author agents. Closes PL-29.
1.65.0 (2026-07-18)
Features
- ed: rewrite into literature-grounded interactive-textbook suite (#29)
Replace the notes/guide/assist/syllabus/quiz verbs with an 8-verb pipeline (explore, plan-syllabus, plan-module, create-lesson, create-quiz, create-project, autodidact, update) that authors graduate-level diffbook MDX textbooks. Structured brief files, scored quality gates (syllabus/module/lesson), Bloom-tagged objectives, define-before-display scaffolding, and verified/annotated sources across textbooks/OCW/papers/repos/lecture-series. Plan artifacts in .codevoyant/ed/{course}/, MDX authored into a diffbook book. Pedagogy grounded in the dmccreary intelligent-textbook patterns. Public docs updated.
1.64.0 (2026-07-16)
Features
- spec,git,pr: CI-aware validation across spec/git/pr skills
Thread CI-awareness through the spec, git, and pr workflows so validation reacts to real pipeline state instead of assuming green.
spec
- Add an optional --commit-gated per-phase CI-green check so each implementation phase can require a passing pipeline before it proceeds.
- Tighten the CI-green skip conditions in the implementation template.
git
- Default to ask-on-CI-failure so a red pipeline pauses for a decision instead of silently continuing.
- Unify --fix and --autofix into a single auto-loop; --fix drives its own loop (capped at 3 attempts) rather than delegating to /gh ci --autofix.
- Repoint the ask-on-fail cross-reference at the 3a-3c loop.
pr
- Watch post-merge CI on the base branch and notify on failure.
1.63.0 (2026-07-15)
Features
- pr: stronger bugfix PR descriptions with failure snippets and evidence
Make bugfix PR descriptions trustworthy by forcing them to show the failure and prove the cause, instead of paraphrasing. Feature PR descriptions are unaffected.
Template (pr-bug.md)
- Replace the Bug/Fix sections with Summary/Root Cause/Changes.
- Summary must embed a fenced snippet of the real test failure or exception that motivated the fix -- quoted, not paraphrased.
- Every Root Cause claim must carry evidence beneath it (debug output, before/after values, or a captured stack trace); bare claims are disallowed.
- De-nest the Summary REQUIRED instruction: the inner literal marker broke the outer HTML comment (comments don't nest), leaking the rest into the rendered body. Drop the inner angle brackets so the whole instruction stays one non-rendering comment.
Workflow (open.md)
- Add a TEMPLATE=bug-gated Step 3.6 that tells the generator where to find the failing-test snippet and root-cause evidence (captured test output, CI logs, git history, spec plan) before filling Summary and Root Cause. Prefer reading a captured test run; re-running the base state is the caveated fallback.
- The feature path skips Step 3.6 entirely and is unchanged.
Voice (voice.md)
- Add a Bugfix descriptions section codifying the three extra rules: show the failure, prove the cause, and keep Root Cause/Changes terse and junior-dev friendly.
1.62.0 (2026-07-14)
Features
- flow: namespace run-state per plan to fix concurrent-run collision
A flow's mutable run-state (progress.md, run.md, context.md) lived at a single path keyed only by the flow slug, so two concurrent runs of the same flow shared one directory and clobbered each other's state. This namespaces run-state per plan so concurrent runs no longer collide.
Layout
- Run instances now live flat under
.codevoyant/flows/, named{flow-slug}-{plan-slug}(e.g..codevoyant/flows/autospec-my-feature/), as siblings of local flow definitions (.codevoyant/flows/{flow-slug}/, which holdflow.md). Spec plans stay at.codevoyant/plans/{name}/, so a spec plan and a flow run may share a name without colliding. - The instance identifier is the resolved plan slug (falling back to the branch slug if a flow yields no plan).
Bootstrap (plan slug unknown until step 1)
gocreates a provisional{flow-slug}-_pending-{run-id}/instance at start, then atomically adopts it to{flow-slug}-{plan-slug}/on the firstslug=handoff via anmkdirclaim (never clobbering an existing target; a losing racer keeps its provisional dir).run.mdrecordsinstance:/adopted:; a completed -> re-seed done in place keepsinstance: {name}/adopted: true.
Discovery
status/doctorfind instances by name glob{flow-slug}-*filtered to dirs containingprogress.md(definitions holdflow.md), then confirmed byrun.mdslug: {flow-slug}so a hyphen-prefix flow (autovsauto-review) is never mis-attributed.- The original
.codevoyant/runs/{slug}/layout is still recognized as a legacy instance for back-compat.
Docs
docs/skills/flow.mdupdated to the new layout, bootstrap, and concurrency story.
1.61.0 (2026-07-14)
Features
- spec,git: decouple --branch/--worktree, add git worktree workflow
Branch and worktree creation in the spec workflow were coupled: /spec new --branch created both a branch and a worktree, there was no way to request a worktree independently, and worktrees landed in a top-level .worktrees/ dir even though other spec state now lives under .codevoyant/. This decouples the two triggers and centralizes the shell logic in the git skill.
git skill
- Add a reusable
worktreeworkflow: create/switch a branch and/or create a worktree, each independent (request either, both, or neither). Default worktree path is.codevoyant/worktrees/<branch>. - Guard an empty resolved branch name, normalize slug-derived names (collapse/trim hyphens), and surface git's stderr on switch/add failure instead of hiding it.
- Register the
worktreeverb in SKILL.md and help.md.
spec skill
/spec newcreates a branch only on--branch(bare flag derives the name from the plan slug) and a worktree only on--worktree [path]; neither flag implies the other.- Default worktree path moved from
.worktrees/to.codevoyant/worktrees/; the branch/worktree steps now delegate to the shared git worktree routine. - Sync help.md, the SKILL.md argument-hint, and the allow-list.
docs
- Document the decoupled
--branch/--worktreeflags and the new/git worktreecommand in docs/skills/spec.md, docs/skills/git.md, and README.md.
1.60.0 (2026-07-13)
Features
- pr: add merge workflow, fold complete into publish (#24)
- Add a merge workflow (alias land) so a PR/MR can be merged through the skill: provider detection, mergeability and CI pre-flight, and --squash/--rebase/--merge plus --delete-branch. A squash merge onto main must carry a conventional-commit subject so semantic-release still fires.
- Remove the redundant complete verb; publish already submits the pending review and marks the PR ready, so its Step 5 now calls the platform review-submit directly.
- Update skill docs and user guide to match.
1.59.0 (2026-07-13)
Features
- pr,spec: intent-driven review and complete-code planning (#23)
- pr review: four-dimension subagent assessment (intent match, unnecessary changes, code quality, docs freshness)
- pr open: derive a terse, junior-friendly Intent from the diff + executed spec plan
- spec new: code-completeness gate rejects stubs/TODOs so plans carry full code
- chore(spec): drop banned self-attribution from the PR body template
1.58.0 (2026-07-11)
Features
- flow: flow doctor and local run-state materialization (#22)
Add a flow doctor verb and move run-state into local run instances.
- flow doctor [name] [--fix] [--global]: diagnose (default) or repair flows across both scopes; six checks and five heals, with a guard that never deletes a legitimately-interrupted resume context.
- flow go materializes mutable run-state into a local .codevoyant/runs/
<slug>/ instance (run.md + progress.md + context.md); flow definitions become read-only templates, so global and concurrent runs no longer clobber each other. A completed run re-runs cleanly (archive + re-seed); a partial run resumes. status/list read the run instance.
1.57.1 (2026-07-11)
Bug Fixes
- soft-wrap generated markdown and forward extra flow flags (#21)
Soft-wrap authoring rule across 8 markdown-generating skills (docs, ed, spec, dev, pm, em, ux, qa); flow arg parsing preserves argv and forwards extra flags like --branch, baked into stored steps by new and appended at go time, with run-time flags overriding baked ones.
1.57.0 (2026-07-09)
Features
- spec: add opt-in AI usage tracking to spec new (#20)
Gate AI usage tracking behind a new --usage flag on /spec new. When set, a background subagent monitors the executing agent's session files and writes token/tool telemetry to ai-usage.md inside the plan directory. Behaviour is byte-for-byte unchanged when the flag is absent.
Wiring
- Add USAGE_MODE parsing plus monitor and finalize steps to the new workflow.
- Add ai-usage-template.md and usage-monitor.md references.
- Document --usage in SKILL.md.
Session detection and aggregation
- Select the cwd-matching session file (skip the subagent's own transcript) so a background monitor measures the parent planning session, not itself.
- Bound token and tool aggregation to USAGE_START_EPOCH via each line's timestamp, matching the advertised planning window.
- Guard the best-effort other-agent probe with nullglob/globstar so placeholder globs expand instead of staying literal.
- Support Claude Code as a first-class source and other agents on a best-effort basis with graceful degradation.
Reporting
- Relabel the usage Total row "Total (all classes)" and clarify it is a tokens-processed record, not a cost figure.
1.56.0 (2026-07-09)
Features
- flow: global storage, list command, and dynamic parameters
- --global stores flows under ~/.codevoyant/flows, reusable across projects; list enumerates local + global flows (fixes the old list->status alias)
- dynamic {{parameters}}: bare text binds to {{input}}, --set for named params, prompt for anything unset; step outputs thread forward as flow context, persisted so an interrupted flow resumes with it
- chain interactive skills safely: steps run non-interactively and, when a step can't resolve a decision, escalate one NEEDS_INPUT question to the user and re-run; authoring guidance for per-step inputs and producer -> consumer artifact handoff
- pr: review evaluates changes against stated intent
Reviews judge whether a change delivers its stated purpose, not just whether the code is clean. Add an INTENT ALIGNMENT dimension, checked first: read the PR/MR title and description as the intent, trace the headline use case end-to-end, and flag anything that undercuts it as BLOCKING even when the code is well-formed. The summary leads with an intent verdict.
1.55.0 (2026-07-08)
Features
- skills: sharpen spec, git, ed, vim, and pr workflows
Cross-skill quality pass. Highlights by skill:
spec:
- code-first gate — every implementation task carries the complete, literal code before it's written; no prose-only tasks
- /spec go runs independent phases in parallel on a fast model, escalating only on genuine trouble
- /spec new accepts an inline objective OR a bare name; a bare name scaffolds .codevoyant/plans/{name}/intent.md to fill in (opened in the editor when possible), then plans on re-run
git:
- commits never carry agent self-attribution; a commit-msg hook strips it from any commit, installable via /git hooks
- new commit --fix loops until CI is green (bounded retries)
ed:
- shared pedagogy guide (Feynman, progressive disclosure, ASCII/mermaid diagrams, links); resources mined for examples
- syllabi organized by self-paced modules, not weeks; guides fan out one per module
1.54.0 (2026-06-28)
Features
- skills: improve spec/vim/ed, add skill-read perms, drop helix
- spec: delta-free plans (research at plan time only) + always show code
- spec: drop closing /spec new review question
- vim: motions & fundamentals section + compact navigation hints
- ed: artifacts under .codevoyant + --dir, plan to syllabus, per-entry fan-out
- ed assist: haiku/sonnet/opus tiering + hint/show-answer/verify/next
- perms: skill-reference Read globs in allow flows + spec new analysis
- remove helix skill, docs page, icon, sidebar/index entries
1.53.0 (2026-06-13)
Features
- ed: add ed educational skill with new/update/quiz/assist + site wiring
1.52.0 (2026-06-09)
Features
- docs: add docs skill with new/update/review/retcon + site wiring
- add skills/dev-docs/ (template library) and skills/docs/ (operational skill with new/update/review/retcon commands extracted from dev-docs)
- add monochrome docs icon, VitePress tile and sidebar entry in correct order (spec → dev → docs → flow → pr); update README workflow table
- parallelize docs new/retcon/review and usage report with background agents
- parallelize diff.md steps 3–4 (repo structure scan + category diffs)
- fix spec new: replace dead-end "Needs changes" button with Other free-text
- add xargs, sed, sort, pnpm run docs:build to allowed commands
1.51.0 (2026-06-09)
Features
- usage: add usage skill for responsible-AI attribution reports
- SKILL.md dispatcher with report/generate/run/help verbs
- references/methodology.md, report-template.md, attribution-rules.md
- references/workflows/report.md — 7-step analysis + generation workflow
- references/workflows/help.md — command reference
- docs/skills/usage.md + usage.svg icon
- sidebar entry and index tile; aws hidden from nav
- spec go/guide/update/new patched with --usage gated integrations
- pr open patched with passive attribution footer (Step 3.5)
Documentation
- spec: add --usage flag examples, split command, and clean --usage docs
- Document --usage flag for new/go/guide/update with example sessions
- Add split workflow section (was missing)
- Fix clean description (no longer archives to docs/plan/)
- Add --usage export-and-clear behaviour for spec clean
- Add Usage tracking section with feature branch and mainline examples
1.50.5 (2026-06-09)
Bug Fixes
- docs: alphabetise tools sidebar and index tiles; replace vim icon
- Move helix after glab in config.mjs sidebar and index.md features
- Add missing tools to README (changelog, cz, helix, release, vim)
- Replace vim.svg with downloaded icon, recoloured to brand purple
1.50.4 (2026-06-09)
Bug Fixes
- icons: restore VIM letter cutouts in monochrome vim icon
- switch to mask-on-
<g>approach: all diamond paths inside masked group - mask includes V, I, and M letter paths as black cutouts
- previous fix used separate
<path>elements with fill-rule="evenodd" which only creates holes within a single path, not across elements
1.50.3 (2026-06-09)
Bug Fixes
- icons: remove broken rdf/cc metadata from vim.svg (undeclared namespaces)
1.50.2 (2026-06-09)
Bug Fixes
- icons: square helix viewBox, remove explicit w/h from both SVGs
1.50.1 (2026-06-09)
Bug Fixes
- vim-helix: use official SVGs monochrome, free-text queries, richer docs
icons:
- vim: official vimlogo.svg from vim.org; green/black → #5555ff, white/silver/grey paths removed; clean monochrome diamond
- helix: official logo from helix-editor.com; all colours → #5555ff
skills:
- /vim and /helix now accept a free-text query instead of fixed context flags (files|search|splits|buffers|all); keyword matching returns the relevant table
docs:
- Both pages add source links (vim.org, helix-editor.com/keymap.html)
- Concrete before/after examples showing how the skill responds
- Guide integration section explains hint-type inference
1.50.0 (2026-06-09)
Features
- spec: add polish command to strip AI verbosity from execution outputs
- Add spec polish workflow: reads execution-log.md to find modified files, runs parallel cleanup agents per file applying a strict ruleset (remove comments restating code, rhetorical flair, preamble, hedge phrases) — never touches logic, config, or plan artifacts
- Add 'p' alias to spec dispatcher
- Document polish in docs/skills/spec.md
- Verify docs/skills/changelog.md, cz.md, release.md — all already clean
- add vim and helix skills, guide editor hints
- /vim and /helix reference skills: 8-key spec workflow quick-ref plus 5 contexts each (files, search, splits, buffers, all); helix includes selection-first framing and full % → s → c search-replace chain
- spec guide --vim / --helix flags: injects 3-4 editor key bindings at each task step, keyed to detected task type (files/search/splits/buffers); both flags can be combined for side-by-side hints
- Monochrome SVG icons: vim diamond+V, helix hx letterform
- VitePress: index tiles, sidebar entries, docs pages for both skills, guide section updated with flag docs
Bug Fixes
release: convert sanitize-changelog.js to ESM (package.json type=module)
release: sanitize bare HTML tags in CHANGELOG.md after each release
scripts/sanitize-changelog.js wraps <word> patterns in backticks so the Vue template compiler doesn't choke on them in the docs build. Runs in prepareCmd after @semantic-release/changelog writes CHANGELOG.md and before @semantic-release/git commits it.
1.49.1 (2026-06-05)
Bug Fixes
- docs: escape bare tags in 1.49.0 changelog entry
1.49.0 (2026-06-05)
Features
- add changelog/cz/release skills, spec perf improvements, decision log
spec skill:
- spec new skips validation loop by default; opt in with --validate
- spec-executor tracks [DEVIATION] entries in execution-log.md and appends ## Deviations to implementation/phase-N.md
- spec go prints Notable deviations summary after all phases
- spec-executor encouraged to use parallel Bash/Edit for independent tasks
- plan-template gains ## Decision Log (User Decisions / Agent Decisions)
- new.md populates Decision Log during planning; executor logs decisions during execution (step 3b in progress tracking)
changelog skill (new):
- retcon: propose and apply conventional commit message edits on open PR/MR via git rebase -i + git push --force-with-lease
- preview: inline changelog and next-version prediction, no files
- help: command reference
cz skill (new): commitizen version introspection (current + next version) release skill (new): semantic-release/release-it version introspection
gh/glab extensions:
- retcon subcommand added to both (rc alias, platform-specific PR/MR detection)
docs:
- changelog, cz, release tiles in index.md with single-tone SVG icons
- docs/skills/ pages for all three new skills
- sidebar entries and user-guide section
- retcon documented in gh.md and glab.md
1.48.1 (2026-06-03)
Bug Fixes
- docs: escape bare HTML tags in changelog, shorten index tile descriptions
- Escape
<domain>and<tag>in CHANGELOG.md 1.47.0 entry that were breaking the Vue template compiler in the docs build - Shorten all home page tile descriptions to punchy single-clause lines
- Add wire-formats recipe and NanoVDB/Arrow/3D Tiles refs to compgeo docs page
1.48.0 (2026-06-03)
Features
- compgeo: add NanoVDB GPU voxels, large-scale storage, and wire formats
- Add NanoVDB sections to voxels-and-point-clouds.md and voxel-operations.md covering OpenVDB→NanoVDB→CUDA pipeline, GPU-side SDF raymarching and containment queries, and pynanovdb Python bindings
- Expand storage-and-compression.md with Zarr chunked voxels, OME-Zarr multiscale pyramids, NanoVDB page-streaming, 3D Tiles for massive meshes, Apache Arrow/Feather for point cloud attributes, and a format decision table
- Add wire-formats-realtime.md recipe covering FlatBuffers zero-copy vertex streaming, binary delta encoding, WebSocket binary framing with backpressure, compact 48-byte transform protocol, and gRPC geometry pipelines
- Update SKILL.md with new recipe link and references
- Shorten home page tile subtitles to single sentences
Documentation
readme: add Domains section with compgeo, hpc, mle, llm
readme: reorganize skills to match sidebar — Workflows, Domains, Tools, Frameworks, Languages
1.47.0 (2026-06-03)
Features
- domains: finalize llm skill — eval recipe, icon, SKILL.md
Phase 6 completion: llm-eval, rag-oss final content, llm.svg icon
Bug Fixes
- docs: escape
<domain>in changelog, wrap include in v-pre
CHANGELOG.md had a bare <domain> tag in prose that Vue's template compiler treated as an unclosed component, breaking the docs build.
- escape the specific instance in CHANGELOG.md
- wrap the @include in v-pre so future auto-generated entries with
<tag>patterns don't break the build
1.46.0 (2026-06-03)
Features
- domains: add compgeo, hpc, mle, and llm experimental skills
- compgeo: 13 recipes — 3D formats, bbox, voxels, feature extraction (CGAL Jet_fitting_3 + Shape_detection), ray tracing, GLTF, SDFs, rotations/quaternions, OpenVDB boolean/CSG ops
- hpc: 13 recipes — C++ threading, OpenMP, TBB, SIMD, CUDA, SYCL, MPI, Python parallelism, Ray, Thrust, Kokkos, Warp GPU
- mle: 12 recipes — data pipelines, training, MLflow, TensorBoard, model publishing, data curation, Label Studio, DVC, data loaders
- llm: scaffold + agent/doc/serving/RAG recipes (eval phase in progress)
- rename "Skills & Workflows" → "Workflows" in sidebar
- fix home page tile order to match sidebar; refresh AWS icon
- remove disable-model-invocation from spec, em, pm, ux, skill, dev
1.45.0 (2026-06-03)
Features
- nav: sidebar restructure — Skills & Workflows + Domains section
- Rename Workflows → Skills & Workflows; merge pr/qa/skill in
- Add Domains section: em, pm, ux, compgeo, hpc, mle (all experimental)
- Move task to Tools section
- Add Domains description to user-guide.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Documentation
- sveltekit: add monorepo apps/libs overview to feature-architecture page
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- align apps/libs dir structure and DAG feature rules across React, SvelteKit, TanStack
Consistent architecture across all three framework skills:
- Primary monorepo layout: apps/ + libs/feature-* packages
- Within-app: thin routes, hooks, validators, mappers, db, generated/
- Feature libs: components, hooks, view-models, validators, types, server/
- Co-location discouraged except for private types/mappers within a route
- Cross-cutting concerns (logger, etc.) are own libs, not shared utils
- Feature import rule updated from hard isolation to DAG: pervasive features (auth, user-profile) importable from other features (public API only), all other cross-feature imports blocked
- Three cross-feature coordination mechanisms: shared stores, cache key sync, route/widget composition
- Namespacing note: start flat libs/feature-, namespace under libs/<domain>/feature- when needed
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- move TanStack Project Conventions to second position in sidebar
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- split cpp code-standards and ts pnpm recipes; reorder sidebars
C++:
- Split code-standards.md into code-standards.md (naming, modern C++, forbidden patterns) and formatting-and-analysis.md (clang-format, clang-tidy, CMake targets, pre-commit, CI gate)
- Reorder: code-standards + formatting-and-analysis now precede conan dependency management in sidebar and index
Python:
- Move Project Conventions and Architecture to second position (after uv project setup) in sidebar and index
TypeScript:
- Split pnpm-workspace.md into pnpm-workspace.md (workspace setup, internal libs, workspace:*) and pnpm-catalog.md (catalogs, named catalogs, onlyBuiltDependencies, minimumReleaseAge, catalogMode)
- Add pnpm-catalog entry to sidebar and index
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- update sidebar with descriptive recipe titles and tutorial ordering
- Replace all terse sidebar labels (e.g. "Zustand", "Project setup") with full descriptive titles matching new junior-dev recipe rewrites
- Reorder recipe groups to follow progressive tutorial flow (foundation → building blocks → data → forms → auth → advanced → conventions)
- Add new conventions recipe entries for react, tanstack, and typescript
- Reorder C++ recipes: cmake → conan-packages → conan-profiles → conan-publishing → monorepo → grpc → ci-caching → code-standards
- Include all accumulated skill, recipe, and docs changes from this session
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.44.0 (2026-06-02)
Features
- skills: add gh, glab, pr skills; extract ci and pr workflows from git and dev
- add gh skill: GitHub CI monitoring and PR review primitives
- add glab skill: GitLab CI monitoring and MR review primitives
- add pr skill: AI-powered code review (new, address, complete)
- add skill learn and consolidate workflows
- remove git ci, dev pr, dev pr-fix (superseded by above)
- update docs: gh, glab, pr pages; sidebar, index tiles, user guide
- replace skill/pr/gh/glab icons with official SVGs
- update README: correct icons, add missing skills, fix quick start
Documentation
- monochrome icons, lowercase page titles, remove doc page icons
- Restyle workflow icons (spec, dev, em, pm, ux, utils) to monochrome
- Rebuild spec and em icons from reference designs with mask cutouts
- Lowercase all doc page h1 titles to match sidebar
- Remove icon img tags and script setup blocks from skill doc pages
title case headings, restructure user guide by skill category
update user-guide section headings and table formatting
1.43.0 (2026-06-01)
Features
- docs: skill overhaul — new tool skills, docs, icons, and user guide rewrite
- Add docker, gcp, mise, terraform, sveltekit, typescript, tasks skills with full recipe sets
- Add brand SVG icons for all tool/framework/language skills
- Rewrite user guide: remove Mem, add all new skills, move context skills last, fix HRs
- Expand sidebar with Tools / Frameworks / Languages sections; alphabetize tools
- Add /skill feedback verb with GitHub/GitLab issue creation and --save fallback
- Update index page: add all 13 skills, match sidebar order, swap hero button to User Guide
- Separate terraform skill from gcp; move mise task wrappers into mise skill
- Remove shared/references/research-standards.md; per-skill copies in place
Bug Fixes
ci: allow esbuild build scripts via pnpm.onlyBuiltDependencies
ci: move onlyBuiltDependencies to pnpm-workspace.yaml
ci: pin pnpm to v10 and set onlyBuiltDependencies for esbuild
ci: restore test:agent-kit task in mise.toml
ci: strip agent-kit and npm publish from semantic-release config
- Remove @semantic-release/npm plugin
- Remove @semantic-release/exec prepareCmd that referenced deleted packages
- Simplify prepareCmd to just write version.txt
- Remove packages/agent-kit/package.json from git assets
Documentation
- readme: update for skill overhaul — new skills, tools, and command syntax
1.42.1 (2026-04-13)
Bug Fixes
- docs: remove dead link to deleted skill plugin page
Code Refactoring
- move workflows into references/, overhaul dev explore, clean up docs and e2e
- Move workflows/ → references/workflows/ for all 7 skills; update all SKILL.md dispatchers
- Rewrite dev:explore: parallel topic-specific research agents, proposal gate before research, auto-generate all proposals, comparison summary doc
- Simplify spec:new Step 3: present past explorations as options instead of yes/no + free-text
- Remove skill lookup (agentskill.sh) from dev:explore and researcher.md
- Remove skill plugin from docs home page and sidebar; update tagline; git skill last
- Delete stale e2e test suite and remove from workspace, mise.toml, package.json
1.42.0 (2026-03-27)
Features
- spec: add guide workflow, enforce plan-only in new
1.41.0 (2026-03-27)
Features
- spec: consolidate workflows into clean and go
- Add clean workflow: combines stop/done/delete into session wrap-up (stop agents, archive to docs, triage active plans)
- Replace bg + interactive go with single background-only go workflow
- Remove list, rename, doctor, done, stop, delete, bg workflows
- Alias all removed verbs to their replacements in dispatcher
- Update help, SKILL.md frontmatter, and public docs accordingly
1.40.0 (2026-03-25)
Features
- dev: add mr workflow and update docs for unified skill syntax
- add /dev mr workflow (create PR/MR on GitHub or GitLab)
- update all docs to space-separated command syntax (/em plan vs /em:plan)
- add git skill page, remove mem from sidebar, update architecture.md
Bug Fixes
- agent-kit: remove unused readWorktrees import
Code Refactoring
skills: consolidate per-skill dirs into unified category packages
dev: rename mr workflow to pr
1.39.0 (2026-03-24)
Features
- skill: add unified skill dispatcher package
- consolidate skill-explore, skill-new, skill-update, skill-critique into a single skills/skill/ dispatcher
- dispatcher parses verb, normalises aliases (create->new, improve->update, review->critique), falls back to help on unknown verb
- heavy planning work delegated to Opus subagents (skill-planner, skill-updater); coordination steps run on lighter model
- skill-researcher (Sonnet) shared across new and update workflows
- context: fork on explore replaced by dispatcher's disable-model-invocation: true isolation
1.38.0 (2026-03-24)
Features
- spec: add unified spec skill dispatcher
- consolidates 14 spec-* skills into a single skills/spec/ package
- top-level SKILL.md parses subcommand verb and dispatches to workflows/{verb}.md
- workflow files contain execution logic only — no frontmatter or arg parsing
- agents (spec-executor, spec-updater, spec-planner) each include a printed workflow checklist tracked in real-time during execution
- all reference templates consolidated under references/
- all CLI ops use npx @codevoyant/agent-kit — no scripts/ dependencies
1.37.0 (2026-03-23)
Features
- pm-approve: add dual-source research artifact copy
- Copy from both .codevoyant/explore/{SLUG}/ and .codevoyant/plans/{SLUG}/research/
- Mirrors em-approve's existing dual-source pattern
- Ensure COMMIT_DIR exists before copying roadmap file
- em-plan: add Scope Decisions and Risks sections to plan template
Bug Fixes
- pm-explore: correct agent output paths from research/ to explore/{SLUG}/research/
All five researcher agents were writing to .codevoyant/research/{SLUG}/ instead of .codevoyant/explore/{SLUG}/research/ as declared in SKILL.md, causing pm:plan to fail to find the artifacts.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- pm-plan: replace hardcoded roadmap-backfill with {SLUG} in research paths
Step 1.5 agent prompts were writing research artifacts to a hardcoded .codevoyant/explore/roadmap-backfill/ directory instead of the dynamic per-plan slug path. Replace all three occurrences with {SLUG} so each plan's backfill research lands in the correct explore directory.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- docs: replace stale .codevoyant/research links in half-year roadmap
All 9 links pointing to .codevoyant/research/ paths now point to the actual research files that live alongside the roadmap in docs/product/roadmaps/260322-half/.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Documentation
claude: expand CLAUDE.md with project structure and key conventions
pm: fix pm:explore artifact path in skill reference
Replace stale .codevoyant/research/{slug}.md with correct path .codevoyant/explore/{slug}/summary.md
- em: fix stale approve --push description in public skill doc
The approve section incorrectly stated that --push creates issues directly under the project with no milestones. Corrected to reflect actual behavior: creates milestones from plan headings, copies research artifacts, and defers issue creation to dev:plan.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.36.0 (2026-03-23)
Features
- em-approve: add milestone sync, explore artifact copy, initiative mode
- copy .codevoyant/explore/{slug}/ and plans/{slug}/research/ flat into docs/engineering/plans/{slug}/research/
- linear-push-agent: create milestones from plan.md headings (M1/Phase/Milestone patterns)
- linear-push-agent: detect initiative vs single-project plan; route to Initiative Flow for multi-project plans
- linear-push-agent: remove issue creation (issues are dev-plan's responsibility)
- Initiative Flow: create/update each sub-project + milestones in parallel, link to Linear initiative
- em-plan: explicit dates, scope reconciliation, parallel estimation
- Step 2.6: replace size buckets with freeform start/end date + constraints; derive available engineer-days immediately
- Step 3.6 (new): mandatory scope coverage reconciliation when source is roadmap/initiative; every OUT item requires a reason (capacity/dependency/technical/timeline/deferred)
- Step 5.5 (new): parallel milestone estimation agents before Gantt; estimates grounded dates; surfaces over-capacity at >80% utilisation
- Research output moved to .codevoyant/explore/{slug}/architecture-research.md (flat); project-breakdown-proposal.md also written to explore dir
Documentation
- add committed engineering plan and roadmap research artifacts
- docs/engineering/plans/ai-native-org/: plan.md, tasks/projects.md, research/architecture.md
- docs/product/roadmaps/260322-half/: roadmap + 15 pm:explore research/proposals files (plugin-consolidation, portable-agent-plugins, skill-quality)
- remove old flat PRD files and superseded roadmap path
- remove docs/prd/260321-*.md (11 files) — superseded by new .codevoyant/prds/ draft structure
- remove docs/product/roadmaps/260322-half-roadmap.md — moved to docs/product/roadmaps/260322-half/
1.35.3 (2026-03-23)
Bug Fixes
- pm-approve: dated folder, research copy, browser-first Linear sync, PRD routing
- Promote to docs/product/{date}-{timescale}/ (was docs/product/roadmaps/)
- Copy research artifacts from .codevoyant/explore/{slug}/ alongside roadmap
- Add plans update-status --status Approved
- Replace linear-sync-agent with inline browser+MCP loop for initiative docs
- browser creates blank doc linked to initiative, extract slug from tab URL, immediately MCP update_document before navigation
- strip local markdown links from content before upload
- Add artifact type detection in Step 0 (roadmap vs PRD)
- Add PRD promote flow: .codevoyant/prds/{slug}/{slug}.md -> docs/prd/{slug}/
- initiatives only; never create Linear projects
- pm-prd: draft-first flow, fix explore paths, plans register, Mermaid rule
- Draft writes to .codevoyant/prds/{SLUG}/{SLUG}.md (was docs/product/prds/)
- Fix all .codevoyant/research/ paths to .codevoyant/explore/{SLUG}/
- Add plans register --plugin pm call in Step 5
- Update notify/report messages to direct user to run /pm:approve
- Add Mermaid Critical Rule (no ASCII art)
- prd-template: path header updated; Requirements aligned to P0/P1/P2 format
- em-review: fix stale plan path, show review inline
- Replace .codevoyant/em/plans/ with .codevoyant/plans/ throughout
- Step 4: output review inline instead of writing {PLAN_DIR}/review.md
- Update Step 5 notify message (no review.md reference)
- pm-explore: output to .codevoyant/explore/{slug}/, add Mermaid rule
- Change OUTPUT_PATH from .codevoyant/research/{SLUG}.md to .codevoyant/explore/{SLUG}/summary.md
- Change SUB_DIR to .codevoyant/explore/{SLUG}/research/
- Update mkdir, synthesis read, and notify/report paths
- Add Critical Rule: prefer Mermaid, never ASCII art
- pm-plan: pre-scan explore dir, fix backfill paths, add plans register
- Pre-scan .codevoyant/explore/ before research question; inject dirs into option label
- Backfill agent outputs moved to .codevoyant/explore/roadmap-backfill/research/
- Add Step 6 plans register call (--plugin pm --total 0)
- em-plan Step 3.5: scan .codevoyant/explore/ instead of .codevoyant/research/
- pm-planner: add Mermaid guidance (Gantt for timeline, flowchart for deps, no ASCII)
dev-plan: replace ASCII System Boundaries diagram with Mermaid flowchart
pm-review: show findings inline, remove review.md file write
1.35.2 (2026-03-22)
Bug Fixes
- pm-plan: remove blocking scope confirmation step
- Step 2 no longer asks AskUserQuestion before drafting
- Skill now auto-proceeds to pm-planner agent after showing scope summary
- Eliminates fork execution breakage where skill terminated at Step 2
1.35.1 (2026-03-22)
Bug Fixes
- pm-explore: replace generic researcher with per-dimension agents
- rewrite Step 2 with explicit Agent call blocks and mkdir -p
- add internal-, ideation-, market-, competitive-, user-problems-researcher agents
- each agent writes to its own isolated sub-artifact in research/{SLUG}/
- move research standards to references/web-research-standards.md
- remove generic pm-researcher.md (superseded)
- trim SKILL.md from 229 to 167 lines
1.35.0 (2026-03-22)
Features
- docs: add skill.svg icon for skill plugin
Documentation
- add skill plugin to user guide, home page, and sidebar
- user-guide: add Skill section after UX, move Mem to bottom; update EM and PM sections for draft-first workflow; fix plugin title casing
- index.md: add Skill card before Mem
- config.mjs: add Skill to sidebar after UX, before Mem
1.34.0 (2026-03-22)
Features
- pm: add pm-approve --push, pm-explore; overhaul pm skills
- pm-approve: new skill with --push [initiative-url] flag; copies roadmap to Linear initiative description, research artifacts become documents
- pm-explore: new research skill depositing to .codevoyant/research/
- pm-help: updated to reflect pm-approve and pm-explore
- pm-plan/prd/review/update: research quality improvements, new templates and agents, capability tier guide reference
- skill: add skill-explore, skill-new, skill-update; remove skill-critique
- skill-explore, skill-new, skill-update: new skill workflow tools
- skill-critique: removed (merged into skill-review --effectiveness)
- dev: draft-first dev-plan with --mode flag, add dev-approve skill
- dev-plan: output to .codevoyant/plans/ instead of docs/architecture/
- dev-plan: add --mode arch|feat; arch mode adds task breakdown with LOE, blocking relationships, architecture ref, and verifiable ACs per task
- dev-plan: register plan with agent-kit on completion
- dev-approve: new skill — promotes to docs/architecture/, optional --push [linear-url] creates tasks seeded for autonomous spec:new/spec:bg
- em: draft-first em-plan, add em-approve with --push flag
- em-plan: strip inline Linear push (Step 6 option + Step 7)
- em-plan: new Critical Principles — value-first, product/engineering balance
- em-plan: remove --push re-push shortcut; add --silent flag
- em-approve: rename --linear to --push, parse optional project URL
- em-approve: rewrite linear-push-agent — no milestones, start/end dates, git repo linked
- spec: simplify spec-new, remove unused agents and references
- spec-new: restructured and simplified; remove spec-explorer agent, migration.md, proposal-template.md, check-worktree.sh
- spec-new: spec-planner agent updated
- spec-go/bg/list/refresh/review/update: quality improvements
Documentation
- update public site for em, dev, pm, skill plugins
- em.md, dev.md, pm.md: reflect draft-first workflow, document approve skills and --push flag, add pm-explore workflow
- skill.md: new page for skill workflow tools
- config.mjs: sidebar/nav updates
- architecture.md, prd updates
Code Refactoring
- dev: improve dev-explore, dev-commit, dev-diff, dev-docs quality
- dev-explore: new researcher and proposal-writer agents
- dev-commit/diff/docs: quality and instruction improvements
1.33.4 (2026-03-21)
Bug Fixes
- spec-bg: remove context:fork so confirmation uses AskUserQuestion
- AskUserQuestion unavailable in forked agents; inline fixes it
- add skills:install mise task
1.33.3 (2026-03-21)
Bug Fixes
- spec-bg: use AskUserQuestion for execution confirmation
- Remove agent: spec-executor (blocked AskUserQuestion in forked context)
- Rewrite Step 4 to call AskUserQuestion tool explicitly
- Prevent skill from falling back to printed numbered list
Documentation
- product: add Q2 2026 platform roadmap and 11 feature PRDs
- Add quarterly roadmap with ASCII timeline and pipeline diagrams
- Add PRDs for: skills solidification, claw harness (spike + buildout), performance, DX config, SvelteKit, TypeScript, lo-fi PRD, platform engineering, Playwright e2e, Firebase NoSQL skills
Code Refactoring
- skills: move skill-create/review to .claude/skills
- Delete skills/skill-create and skills/skill-review (now in .claude/skills/)
- Remove plugin-era wiring references from deleted skill files
- Update pm-plan to reflect new workflow and plan storage conventions
1.33.2 (2026-03-21)
Bug Fixes
- skills: use linear-server MCP instead of claude_ai_Linear
- Switch all Linear tool calls from mcp__claude_ai_Linear to mcp__linear-server across pm-plan, pm-prd, em-plan, em-update, spec-new, and linear-push-guide reference
1.33.1 (2026-03-21)
Bug Fixes
- skills: fix gaps in pm-plan and em-plan from critique
pm-plan:
- remove --silent flag (parsed but never actioned)
- replace "ticket-fetch pattern" orphan with explicit Linear/GitHub/Notion MCP calls
- fix Quality Checkpoint criterion 2 using BLOCK label for non-blocking case
- defer OUTPUT_FILE derivation to after product scope is known (Step 1.5)
- update filename format to include PRODUCT_SLUG segment
- enforce zero-sum rule in Step 6 Expansion branch
- add full PRD subagent prompt template in Step 8
em-plan:
- remove --silent flag (parsed but never actioned)
- add explicit MCP dispatch for "Pull from Linear" branch in Step 2
- gate Step 9 notification on BG_MODE
- remove BLOCK label from Quality Checkpoint criterion 3 (warn only)
- tighten trigger phrases to reduce false positives
1.33.0 (2026-03-21)
Features
- skills: add skill-critique and planning guardrails
- skill-critique: evaluates skills across 5 dimensions (objective clarity, instruction quality, template quality, trigger accuracy, actionability); outputs Pass/Needs Work/Major Issues verdict
- em-plan, pm-plan, pm-prd, ux-explore: add Critical Principles and Anti-Patterns sections to guide quality planning
1.32.0 (2026-03-21)
Features
mem: rename mem remember to mem list
mem: rename mem remember to mem list
Renames the CLI subcommand mem remember to mem list, renames the skills/mem-remember/ folder to skills/mem-list/, and updates all references across source, tests, docs, skills, hooks, and CLAUDE.md.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
config: split codevoyant.json into plans.json + worktrees.json, remove plugins from settings
config: split codevoyant.json into plans.json + worktrees.json, remove plugins from settings
- Add PlansFile and WorktreesFile types; make PlanEntry.plugin optional; deprecate CodevoyantConfig
- Add readPlans/writePlans and readWorktrees/writeWorktrees with atomic write pattern
- readSettings now auto-creates settings.json when missing
- plans commands use --dir instead of --registry; migrate command targets codevoyant.json→plans.json+worktrees.json
- worktrees commands derive dir from --registry path.dirname for backward compat
- init creates plans.json + worktrees.json; auto-migrates from codevoyant.json when present
- getCurrentPlan reads worktrees.json instead of settings.worktreeMap
- Export new types and functions from index.ts
- Update all tests and docs to reflect new file layout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Documentation
agent-kit: reframe as operations toolkit, document all CLI commands
home: replace platform tagline with npx skills install command
install: simplify installation page, add compatibility notes
1.31.1 (2026-03-21)
Bug Fixes
- docs: escape angle brackets in changelog to prevent VitePress parse error
1.31.0 (2026-03-21)
Features
- docs: drop plugin terminology, add skill:create and skill:review
- Rename docs/plugins/ → docs/skills/ and update all /plugins/ links
- Move architecture.md into docs/
- Replace "Plugin" heading suffixes and body copy with skills terminology
- Simplify installation.md — remove deleted curl install scripts
- Remove mem2 experiment (skills/mem2/)
- Move skill-create and skill-review from .claude/skills/ to skills/
- Update name fields to colon-scoped: skill:create, skill:review
1.30.1 (2026-03-21)
Bug Fixes
- remove legacy plugin structure and update mem2 argument hint
- delete .claude-plugin/marketplace.json and plugins/ plugin.json files
- remove e2e/tests/marketplace.test.ts (tested deleted structure)
- update mem2 argument-hint to list concrete subcommands
1.30.0 (2026-03-21)
Features
- restructure to flat skills/ directory for npx skills compatibility
- Move all 46 skills from plugins//skills// to skills/
<group>-<skill>/ - Add colon-scoped name fields (dev:commit, mem:find, etc.) for npx skills discovery
- Add mem2 experiment: unified skill with commands/ subdir routing
- Bundle agents into relevant skill dirs (spec-bg, spec-go, spec-new, spec-update, dev-explore)
- Add packages/claude-skill-converter for flat skills/ → target format conversion
- Update marketplace.json, .releaserc.json, mise.toml, release.yml for flat structure
- Remove plugins/ hierarchy, install scripts, and install-based e2e tests
- Fix mem.ts: remove docs from EXCLUDED_DIRS so docs/styleguide/ files get indexed
- Add MemSettings.docsDir (default: docs) — configurable via .codevoyant/settings.json
- Update mem:learn and mem2 commands to read mem.docsDir setting at runtime
- Move e2e fixtures from demo-project/styleguide/ to demo-project/docs/styleguide/
- Update e2e tests for flat skills/ structure and new docs paths
1.29.3 (2026-03-21)
Bug Fixes
- mem: use colon-scoped name field (mem:find) for npx skills compat
1.29.2 (2026-03-21)
Bug Fixes
- add explicit skills arrays to marketplace.json for npx skills
Documentation
- mem: add mem plugin docs page, icon, and homepage card
- Add CPU processor SVG icon (mem.svg) in project palette
- Add mem feature card to homepage with Experimental label
- Add sidebar entry "Mem · Experimental"
- Update mem plugin doc page with icon and SVG reference
- align ux and mem plugin page headers with em/pm style
- Add icon img and Badge to ux.md
- Rename heading and add Badge to mem.md
1.29.1 (2026-03-20)
Bug Fixes
- docs: escape angle brackets in changelog to fix VitePress build
1.29.0 (2026-03-20)
Features
- mem: rename memory plugin to mem
- Rename plugins/memory/ → plugins/mem/
- Update plugin name, install scripts, marketplace, release config
- Add RAM icon and update docs nav
1.28.0 (2026-03-20)
Features
- agent-kit: add ci, perms, mem, settings commands
- add ci detect command for CI provider detection from git remote URL with CLI fallback (gh/glab); outputs JSON with provider and remote
- add perms command for agent-aware permission management; detects Claude Code, OpenCode, VS Code Copilot via env vars; merges allow entries into agent-specific config files
- add mem and settings commands for project memory and config management
- export detectAgent, buildClaudeAllow, mergeClaudeAllow, PLUGIN_PERMISSIONS, detectCIProvider, CIInfo, CIProvider from index
- add unit tests for ci, perms, mem detection logic
feat: add per-plugin allow skills
- add allow skill to spec, em, pm, ux plugins (one-liner each)
- simplify dev:allow to delegate to agent-kit perms add
- each plugin's allow skill calls perms add --plugins <name>
feat(dev): rewrite dev:ci skill
- use npx @codevoyant/agent-kit ci detect for provider detection
- remove --wait flag: CI monitoring always runs in background
- remove Example Usage section (examples are noise, not best practice)
Bug Fixes
- correct background agent blocks and release workflow
- Replace TaskCreate: with Agent: in ci, commit, pr-fix, pm:plan, spec:bg
- Add OpenCode compat note: interpret Agent: blocks as Task: invocations
- Remove deleted adr plugin from release.yml asset list
- Add em, memory, pm, ux plugins to release.yml asset list
- release: update plugin list in releaserc and workflow
- Replace adr/spec with dev, em, memory, pm, spec, ux in prepareCmd
- Update git assets to match current plugin set
- Remove adr from release.yml GitHub release assets (already done)
Documentation
- add memory plugin docs and update plugin references
- Add docs/plugins/memory.md with full plugin documentation
- Update dev, em, pm, spec plugin docs
- Expand agent-kit reference with new commands (ci, mem, perms, settings)
- Update user-guide.md and vitepress nav config
- Add mem integration tests and e2e test suite
- Update mise.toml with e2e test task
- Fix yaml fence in dev:ci SKILL.md
1.27.0 (2026-03-20)
Features
- ux: add ux plugin with docs, icon, and marketplace entry
- Add ux plugin skills: prototype, explore, style-synthesize, help
- Add marketplace.json entry and docs/plugins/ux.md reference page
- Add ux to docs homepage features grid, user-guide, and sidebar
- Add docs/public/icons/ux.svg in project icon style
- Update e2e EXPECTED_COMMANDS to include ux skills
1.26.0 (2026-03-20)
Features
dev: add dev:plan skill for architecture docs
em: rewrite em:plan as local-first Linear workflow
- Add --delegate, --continue, --push flags
- Delete em:breakdown, em:sync, em:docs
- Update em:update to use tasks/ dir
- Add plan-template, task-template, linear-push-guide references
- pm: rewrite pm:plan and pm:prd with Linear doc attachments
- Output roadmaps to docs/product/roadmaps/YYMMDD-{type}-roadmap.md
- Output PRDs to docs/prd/YYMMDD-{scope}-prd.md
- Add tag-based product discovery in pm:plan
- Add Linear initiative/project attachment on confirmation
- Delete pm:breakdown, pm:docs
- Add roadmap-template and prd-template references
Tests
- e2e: add em and pm workflow test coverage
1.25.0 (2026-03-20)
Features
- agent-kit: add git, task-runner, worktree overhaul; remove style plugin
- Remove plugins/style/ entirely; clean up all cross-references
- Simplify spec🆕 remove Step 4.3 exploration, proposals/, spec:worktree
- Add dev:explore skill for standalone technical research and proposals
- Overhaul worktrees: global path ~/codevoyant/[repo]/worktrees/[plan], add attach/detect subcommands, isInWorktree(), getRepoName() exports
- Add task-runner detect/list/run commands with justfile→task→mise→make→ npm/pnpm/yarn priority; falls back to raw config if binary absent
- Add git repo-name/branch/issue-id/info subcommands with edge case guards
- Rewrite all 40 SKILL.md descriptions with intent-based ≤512-char pattern
- Add 72 new unit tests (project, git, task-runner, fallback)
- Update docs/reference/cli.md and agent-kit.md with new APIs
Bug Fixes
- test: configure git user in beforeEach to fix CI branch detection
- git commit --allow-empty fails silently in CI without user.email/name, leaving the repo in unborn-branch state and causing all branch tests to return HEAD
- Remove stale plugins/style/.claude-plugin/plugin.json from release.yml GitHub Release file list (style plugin was deleted)
- release: remove style plugin from semantic-release prepareCmd and assets
1.24.2 (2026-03-19)
Bug Fixes
- agent-kit: replace node-notifier with direct osascript/spawnSync
- node-notifier fired async and exited before notification was sent
- Replace with synchronous spawnSync osascript on macOS, notify-send on Linux
- Remove node-notifier and @types/node-notifier dependencies
1.24.1 (2026-03-19)
Bug Fixes
- docs: use vitesse-light instead of unbundled tokyo-night-light
Documentation
- fix feature grid layout, use tokyo-night theme, fix spec file tree
1.24.0 (2026-03-19)
Features
add e2e tests and hardcode help skills with disable-model-invocation
commit: update commit skill with --atomic flag guidance
help: update help skills across all plugins
install: use colon names and strip Claude-specific frontmatter
- Skill name: now uses prefix:skill format (dev:commit) for IDE autocomplete
- opencode: strip model: and disable-model-invocation: from skills
- opencode: strip tools: and hooks: from agent files
- vscode: install agents globally to ~/.copilot/agents/
Documentation
- update VitePress config, theme, and plugin docs
Tests
- e2e: add claude tests and update for colon name format
- Update skill name assertions to expect prefix:skill format
- Add test for stripping model: and disable-model-invocation: fields
- Update vscode agent dir to ~/.copilot/agents/
- Add new claude.test.ts for Claude Code installation
- Add test:e2e script to package.json
1.23.3 (2026-03-19)
Bug Fixes
- add e2e tests for plugin installation and remove justfile
- packages/e2e: vitest tests for Claude marketplace structure, OpenCode install (uninstall→install→verify→uninstall), and VS Code Copilot install; 178 tests covering all plugins/skills
- fix install-vscode.sh: --git-toplevel → --is-inside-work-tree
- fix marketplace.json: remove trailing comma (invalid JSON)
- delete justfile: fully superseded by mise.toml
1.23.2 (2026-03-19)
Bug Fixes
- update readme tagline
1.23.1 (2026-03-19)
Bug Fixes
- set publishConfig access public for scoped npm package
1.23.0 (2026-03-19)
Features
- add @codevoyant/agent-kit pnpm monorepo package
Introduces packages/agent-kit — a TypeScript package that ships both a CLI binary (codevoyant) and a library API. Replaces inline JSON prose and notify.sh path-resolution loops across all ~20 skill plugins.
- CLI commands: init, plans (register/update/archive/migrate), notify (node-notifier), worktrees (create/remove/prune/export)
- Library exports: readConfig, writeConfig, getConfigPath, readSettings
- Atomic config writes (tmp + rename) to .codevoyant/codevoyant.json
- 40 passing tests (unit + integration)
- mise task runner replacing justfile; jdx/mise-action@v2 in CI/CD
- 48 notify.sh files deleted; all skills updated to use CLI
- VitePress reference docs: cli.md and agent-kit.md
Bug Fixes
- pass NODE_AUTH_TOKEN to semantic-release upversion step
Code Refactoring
- convert utils to internal shared source, not an installable plugin
- Remove utils from marketplace and delete its plugin.json
- Add just sync-utils recipe: copies scripts/* to every skill's scripts/, utils.md to every skill's references/ (no-clobber), and skills/* to every plugin's skills/ with {plugin} substitution
- Consolidate help skill into utils/skills/help/SKILL.md as single source of truth; synced to all plugins with plugin name substituted
- Move notify from skill to utils.md (pattern docs) + notify.sh (script)
- Update em/pm skills to call notify.sh via bash directly
- Update spec skills to use local plugins/spec/scripts/notify.sh
- Update dev:docs to use local plugins/dev/scripts/notify.sh
- Remove utils plugin section from dev:allow
- Update README and docs to remove utils install instructions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.22.1 (2026-03-18)
Bug Fixes
remove invalid skills field from plugin manifests and add em/pm/utils to marketplace
remove invalid skills field from spec and dev plugin manifests
1.22.0 (2026-03-18)
Features
- add em, pm, and utils plugins with docs and validation
- New plugins: em (engineering management), pm (product management), utils (shared notifications)
- Icons for em, pm, utils in docs/public/icons/
- Plugin docs pages: docs/plugins/em.md, pm.md, utils.md
- Homepage: remove utils from features, EM/PM all-caps throughout
- em:plan and pm:plan: validation loop after artifact generation
- em:update and pm:update: annotation + conversational update skills
- Notify calls migrated from bash paths to /utils:notify skill
- spec and dev plugin improvements (review skill, allow skill, docs skill, notify pattern refactor)
Documentation
- add style:help to style plugin docs
1.21.0 (2026-03-18)
Features
- add help skills, open exploration, and bg flags to spec skills
- Add help skill to spec, dev, style, adr plugins (discovers siblings dynamically via $SKILL_DIR, reads plugin.json for header)
- Rewrite spec:new Step 4.3: open-ended free-text exploration offer, parallel proposal generation with file verification, post-gen selection not limited to generated proposals
- Fix spec:new user-guide generation: mark REQUIRED, add blocking validation in Step 5.5 that includes plan.md and user-guide.md
- Add --bg/--silent flags to spec:go, spec:refresh, spec:update with desktop notification on completion
- Expand dev:allow shared baseline to include Read, Glob, Grep
- Update .gitignore: .codevoyant replaces legacy .spec/plans patterns
Documentation
- add adr plugin, help command, and --bg flag to README
- Add adr plugin to plugins table (was missing)
- Update spec description to mention --bg flag
- Add /plugin:help examples to quick start
- Fix spec:bg → spec:go --bg in quick start
- sync plugin docs with current skill state
spec.md:
- Update background workflow to show spec:go --bg alongside spec:bg
- Rewrite architecture exploration description for open-ended flow
- Add --bg/--silent flags to spec:go, spec:refresh, spec:update
- Document spec:help command
dev.md:
- Add dev:allow section (was entirely missing)
- Add dev:help command
README.md:
- Remove adr plugin from plugins table (not publicly listed yet)
1.20.1 (2026-03-16)
Bug Fixes
- add style plugin to release pipeline and fix stale org refs
- style/plugin.json was stuck at 1.0.0 and excluded from the release prepareCmd and git assets, so users never received path updates
- Corrects codevoyant → cloudvoyant org in style README and metadata
- Fixes commit skill to display full message before confirmation
Documentation
remove adr from readme plugin table and install commands
rewrite README with logo, plugin overview, and docs links
update README tagline
1.20.0 (2026-03-16)
Features
- dev: add dev:allow skill for autonomous execution permissions
Generates and applies permission configs for Claude Code, OpenCode, and VS Code Copilot. Plugin-scoped via --plugins flag with interactive selection fallback. Includes explicit git push confirmation, Write/Edit pre-approval for .codevoyant/, and Bash(git commit -m:*) entries to prevent $() substitution prompts during automated commits.
- spec: add spec-explorer agent for parallel proposal generation
Introduces spec-explorer with four modes (write, update, bulk-update, synthesize) to replace anonymous Task agents in spec:new. Proposals are now generated and updated in parallel with a consistent persona. Adds return-to-proposals path when planning reveals a problem.
1.19.0 (2026-03-16)
Features
- add agent installation to OpenCode/VS Code install scripts + fix GitHub org
- install-opencode.sh: copy agent .md files to ~/.config/opencode/agents/, inject name: frontmatter if absent
- install-vscode.sh: copy agent files as .agent.md to .github/agents/ in current git workspace; skip gracefully if not in a git repo
- Fix GitHub org codevoyant → cloudvoyant across all docs and install scripts
- Add compatibility note to bg/SKILL.md and new/SKILL.md explaining that agent: and context: fork fields are Claude Code-specific and run inline on OpenCode and VS Code Copilot
1.18.1 (2026-03-15)
Bug Fixes
- docs: correct GitHub org from codevoyant to cloudvoyant
1.18.0 (2026-03-15)
Features
- spec: replace README.md plan tracker with spec.json
Migrate plan metadata from a markdown README to a structured JSON file at .codevoyant/spec.json with activePlans and archivedPlans arrays. All skills updated to read/write JSON instead of markdown.
Documentation
- remove AI-specific language and fix style file structure
Replace generic "Claude" references with "the AI" or passive voice. Fix style plugin file structure to match what /style:init actually generates (no docs/style-guide/ directory).
1.17.0 (2026-03-15)
Features
- spec: prompt for plan selection when multiple plans exist + add spec triggers
- Replace silent auto-select with AskUserQuestion prompt when multiple plans exist in go, bg, stop, refresh, update, done skills
- Add plan-selection Step 0 to delete and rename skills (previously required argument only)
- Add "spec out / spec this / speccing" trigger keywords to new skill
- Add "spec go / run the spec" triggers to go skill
- Add "spec bg / spec background" triggers to bg skill
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Bug Fixes
- docs: replace .spec/plans/ and .worktrees/ paths with .codevoyant/ equivalents
Update architecture.md and user-guide.md to reflect the renamed directory structure, replacing legacy .spec/plans/ references with .codevoyant/plans/.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- docs: update migration-guide paths from .spec/plans/ to .codevoyant/plans/
Replace all occurrences of .spec/plans/ with .codevoyant/plans/ and .spec/ directory reference with .codevoyant/ in the migration guide to reflect the project rename.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- docs: update style plugin config path to .codevoyant/style.json
Move style.json to .codevoyant/ level in the file structure diagram and remove the incorrect .codevoyant/style/config.json path.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Documentation
- dev: expand Safe Rebase section with full flow documentation
Add how-it-works steps covering intent snapshot, confirmation dialog, conflict resolution logic, post-rebase verification, and push safety. Also document the rebasing-main shortcut and available flags.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- spec: fix stale paths, expand planning flow and UX documentation
- Replace all .spec/plans/ and .worktrees/ references with .codevoyant/ equivalents (6 occurrences)
- Expand /spec:new section with research phase, worktree prompt, and final review descriptions
- Add inline annotations subsection under /spec:go with syntax reference and examples
- Add plan-selection note to Best Practices
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.16.0 (2026-03-15)
Features
- centralize plugin artifacts under .codevoyant + flatten configs
Migrate all spec and style plugin artifact paths to a unified .codevoyant/ layout for discoverability and gitignore hygiene.
Changes:
- Spec plugin: .spec/plans/ → .codevoyant/plans/ (all 12 skill files, hooks.json regex, agents, scripts, templates, pr-body-template)
- Spec plugin: .worktrees/ → .codevoyant/worktrees/ (worktree skill, create-worktree-steps.md, list display examples)
- Style plugin: .codevoyant/style/config.json → .codevoyant/style.json (all 6 skill files + README.md); doctor skill auto-migrates old path
- New: spec:doctor skill — auto-detects and migrates legacy paths
- New: migration.md reference doc — manual migration steps
- Improved: proposal-template.md with directory structure section, flow diagram guidance, references section, and refinement syntax note
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.15.2 (2026-03-15)
Bug Fixes
- docs: use withBase composable for plugin icon paths
1.15.1 (2026-03-15)
Bug Fixes
- docs: use $withBase for plugin icon paths to fix build
1.15.0 (2026-03-15)
Features
- rename project to codevoyant, add custom plugin icons
Renames all claudevoyant/cloudvoyant references to codevoyant, adds SVG icons for spec/dev/style plugins, updates brand colors and hero responsive styles, and adds plugin icons to doc pages.
1.13.1 (2026-03-15)
Bug Fixes
- correct hero image paths (remove duplicate base prefix)
1.13.0 (2026-03-15)
Features
- add light/dark favicons and logo, add just favicons recipe
1.12.2 (2026-03-15)
Bug Fixes
- remove invalid hooks path from plugin manifests
1.12.1 (2026-03-14)
Bug Fixes
- set base path for GitHub Pages deployment
1.12.0 (2026-03-14)
Features
- add docs site and migrate plugins to skills/hooks architecture
- Replace commands with skills, hooks, and agents across all plugins
- Add VitePress documentation site with plugin reference pages
- Split user guide into Installation and User Guide pages
- Add GitHub Actions workflow for docs deployment
1.11.2 (2026-02-23)
Bug Fixes
- dev:rebase: use git add -f for gitignored conflicted files
During rebase, conflicts in gitignored files (e.g. .spec/) cannot be staged with plain git add, making --continue impossible. The previous workaround of using --skip silently drops the entire commit.
Now checks git check-ignore before staging; gitignored files use git add -f so --continue works correctly. Also adds an explicit 4d rule prohibiting --skip during conflict resolution.
1.11.1 (2026-02-22)
Bug Fixes
- disable commits by default in bg agent, add --commit flag
The background agent was committing during execution without explicit user consent. Commits are now disabled by default. Pass --commit or -c to opt in to agent-driven commits.
1.11.0 (2026-02-22)
Features
- add rebase and export commands, fix worktree paths, add format/lint to commit
- Add dev:rebase — intent-snapshot-driven rebase with conflict resolution, format/lint/test verification, and --push flag for CI monitoring
- Add spec:export — copy worktree plan to main repo .spec/plans/
- Fix spec:new hardcoded .spec/plans/ paths that ignored $PLAN_DIR in worktree context (steps 5.4, 5.5, 5.6)
- Add format/lint step to dev:commit (Step 1.5) before staging
- Add format/lint/test checks to dev:rebase verification (Step 5)
1.10.0 (2026-02-22)
Features
- rename style plugin and add spec:update and style:review commands
- Rename styleguide plugin to style across all config, command files, and marketplace registrations
- Add spec:update command: processes @change(...) annotations inline in plan files without requiring flags
- Add style:review command: parallel background agents per section write structured REVIEW.md for follow-up agent consumption
- Add spec:new Step 5.6: iterative validation loop (min 2 rounds) with auto-fix using background agents
- Fix dev:commit: push and monitor CI automatically; add --no-push flag
1.9.0 (2026-02-19)
Features
- create plans inside worktree for complete isolation
When using --branch flag, plan now lives in the worktree:
- Before: .spec/plans/my-plan/ (main repo)
- After: .worktrees/branch/.spec/plans/my-plan/ (in worktree)
Benefits:
- Complete isolation - everything for feature in one place
- cd to worktree and run /spec:bg directly
- Delete worktree = delete plan (clean)
- Clearer context - you're IN the feature directory
Workflow:
- /spec:new my-feature --branch feature-x
- cd .worktrees/feature-x/
- /spec:bg my-feature (works! plan is here)
- Make changes, all isolated
Plans without worktrees still go in main repo as before.
1.8.0 (2026-02-18)
Features
- add --yes flag to skip confirmations in commands
Add --yes/-y flag support for non-interactive execution:
/dev:commit --yes:
- Skip commit message approval
- Auto-push and verify CI
- Perfect for CI/CD and scripts
/spec:bg --yes:
- Auto-create missing worktree
- Skip execution confirmation
- Start immediately
This enables fully automated workflows without manual confirmation steps.
1.7.1 (2026-02-13)
Bug Fixes
- prevent bg agent from asking questions mid-execution
Background agents should execute ALL phases autonomously without asking for permission to continue. Added explicit instructions to:
- Never ask "Should I continue?" or "Want me to proceed?"
- Automatically move between phases
- Only stop on actual errors, not for user approval
This fixes agents stopping after each phase and asking if user wants to continue.
1.7.0 (2026-02-13)
Features
- auto-handle worktrees in spec execution commands
Seamless worktree workflow:
- Automatically execute in worktree if it exists (no manual cd)
- Offer to create worktree if missing (one-step setup)
- Handle all cases: exists, missing, or not needed
Changes:
- /spec:bg and /spec:go now detect worktree from plan metadata
- If worktree exists, automatically cd and execute there
- If worktree specified but missing, prompt to create it
- Agent executes with correct directory context
- No more manual "cd .worktrees/branch && /spec:bg" steps
This makes worktree-based development fully automatic.
1.6.1 (2026-02-13)
Bug Fixes
- remove redundant questions from commit CI monitoring
Automatically monitor CI after push without asking additional questions. User gets one prompt (push + verify?) then monitoring happens automatically.
Before: Ask to push → ask to monitor → monitor After: Ask to push → automatically monitor
Reduces friction and makes workflow faster.
1.6.0 (2026-02-13)
Features
- optimize commit command and add automatic CI verification
Speed improvements:
- Use conversation context instead of re-reading git logs
- Skip redundant file reads when context is available
- Eliminate unnecessary git log lookups
New functionality:
- Automatically offer to push and verify CI after commit
- Monitor GitHub Actions workflows to ensure changes pass
- Only declare work complete after CI validates changes
- Gracefully handle repos without CI or gh CLI
This addresses the issue where Claude declares work "done" without verifying that tests, builds, and other automated checks actually pass.
1.5.0 (2026-02-12)
Features
- add GitHub Actions monitoring skill to dev plugin
Add /dev:actions command that monitors CI/CD workflows to verify changes pass automated checks. Prevents declaring work "done" when tests, builds, or other workflows are failing.
Features:
- Check status of recent workflow runs
- Wait for in-progress workflows to complete
- Display pass/fail status with timing
- Fetch and show error logs on failure
- Offer to help fix issues when workflows fail
1.4.2 (2026-02-12)
Bug Fixes
- remove invalid commands field from styleguide plugin manifest
Commands are auto-discovered from the commands/ directory and should not be declared in plugin.json. This was causing validation errors during plugin installation.
1.4.1 (2026-02-12)
Bug Fixes
- move styleguide plugin to correct structure for marketplace
Moves plugin.json to .claude-plugin/ subdirectory and adds styleguide to marketplace index. Plugin was not discoverable due to incorrect file structure.
1.4.0 (2026-02-12)
Features
- add styleguide plugin with contextual loading and auto-learning
Introduces intelligent style guide management that learns from user corrections and loads rules contextually to minimize token usage.
Key features:
- Contextual rule loading (74% token savings)
- Automatic pattern learning from corrections
- Team-wide CLAUDE.md for shared conventions
- Validation and auto-fix capabilities
- Pattern extraction from existing codebase
- Token optimization strategies
Commands:
- /styleguide:init - Initialize CLAUDE.md with context tags
- /styleguide:add - Add rules manually with contexts
- /styleguide:learn - Auto-learn from work patterns
- /styleguide:validate - Check compliance
- /styleguide:extract - Discover existing patterns
- /styleguide:optimize - Reduce token usage
- /styleguide:contexts - Manage context system
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1.3.0 (2026-02-12)
Features
- add implementation validation and worktree support to spec plugin
Enhances spec plugin with upfront implementation file validation and git worktree integration for branch-based plan isolation.
Key improvements:
- Require all phase implementation files created before execution
- Validate files exist and meet size requirements pre-execution
- Add --branch flag to auto-create worktrees for plan isolation
- Track branch/worktree metadata in plan files
- Add branch validation to all execution commands
- Introduce /spec:worktree command for manual worktree management
- Migrate from .claude/plan.md to .spec/plans/{plan-name}/ structure
- Support multiple concurrent plans with independent contexts
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1.2.0 (2025-11-17)
Features
- add background execution commands to spec plugin
Adds /bg, /status, and /stop commands enabling autonomous plan execution using Claude Code's agent system. Users can now start background execution, monitor progress, and control execution while continuing other work.
Also removes markdown linting configs and updates documentation.
1.1.2 (2025-11-17)
Bug Fixes
docs updated
updated semantic release config based on new dir structure
Code Refactoring
- move plugins into plugins directory
Restructures repository to match Anthropic's official marketplace layout with all plugins under a single plugins/ parent directory. Updates marketplace.json source paths accordingly.
1.1.1 (2025-11-16)
Bug Fixes
- use relative paths in marketplace.json for monorepo structure
Changes plugin sources from GitHub object format to relative paths, following Anthropic's recommended pattern for monorepo marketplaces. Also corrects outdated plugin name in README installation example.
1.1.0 (2025-11-16)
Features
- restructure into three plugins and add repository diff command
Splits monolithic plugin into specialized plugins:
- codevoyant-adr: Architecture Decision Records
- codevoyant-dev: Development workflows (docs, review, commits, diff)
- codevoyant-spec: Specification-driven development
Adds new /diff command to compare repositories and generate comprehensive diff reports with insights and analysis.
Updates marketplace.json to reference three separate plugins with individual paths and descriptions.
Bug Fixes
- remove codevoyant prefix from plugin names
Fixes plugin installation by ensuring plugin names match between marketplace.json and individual plugin.json files. Removes the obsolete root plugin.json as the repository now contains three separate plugins (adr, dev, spec).
- update semantic-release config for multi-plugin structure
Updates semantic-release to handle three separate plugins (adr, dev, spec) instead of single root plugin. Simplifies commit command documentation by removing redundant verification steps.
Documentation
- improve installation instructions with CLI commands and version-specific installation
1.0.3 (2025-11-16)
Bug Fixes
- modifying plugin.json to use https with git repos
1.0.2 (2025-11-16)
Bug Fixes
correct marketplace.json
correct marketplace.json source
format for GitHub
1.0.1 (2025-11-16)
Bug Fixes
- owner field must be an object in marketplace.json
1.0.0 (2025-11-16)
Features
- initialize codevoyant plugin
Create Claude Code plugin with professional workflow commands:
- Planning workflow (/plan)
- Conventional commits (/commit)
- Template upgrades (/upgrade, /adapt)
- Documentation (/docs, /adr-new, /adr-capture)
- Code review (/review)
Infrastructure:
- Semantic versioning with semantic-release
- CI/CD with GitHub Actions
- BATS testing framework
- Comprehensive documentation
Bug Fixes
- correct marketplace.json schema
Add required name and owner fields, fix source path format
Code Refactoring
- remove unnecessary environment and script dependencies
- Remove .envrc files (not needed for plugin)
- Remove scripts directory (use semantic-release directly)
- Simplify justfile to not require direnv
- Update release workflow to use npx semantic-release