← Changelog

The Kit Becomes a Plugin

Context Vigilance now installs into Claude Code from GitHub in two commands: the practice, seven workflow skills, and a frontmatter check.

Path
changelog/2026-10-05_01.md
Authors
Michael Staton
Augmented with
Claude Code on Claude Opus 5.5
Tags
Context-Vigilance · Claude-Code · Plugin · Agent-Skills · Hooks

Why Care?

Context Vigilance has worked for us across dozens of repos: a context-v/ folder of specs, plans, explorations, and issues that people and agents both read. Until now, using it meant cloning our private skills tree and wiring it up by hand. Now it's a Claude Code plugin that installs straight from GitHub, no approval or marketplace listing needed:

/plugin marketplace add lossless-group/context-vigilance-kit
/plugin install cv@context-vigilance-kit

What's New?

  • The cv plugin. .claude-plugin/plugin.json and marketplace.json , with the repo root as the plugin. Both pass claude plugin validate .

  • The practice, ported for outsiders. agent-skills/context-vigilance/ and agent-skills/pseudomonorepos/ are copies of our org skills with every Lossless path, project name, and internal statistic removed or made generic. Long reference files now open with a contents list, and steps are tagged by how much judgment they take: open , shaped , or exact .

  • Seven workflow skills , one per step of the cycle:

    • /cv:init scaffolds context-v/ .

    • /cv:new creates a doc from a template, with IDs minted by command.

    • /cv:kickoff loads the right docs at the start of a session.

    • /cv:prep acts as product manager: explore → spec → plan.

    • /cv:implement acts as lead engineer: build and verify one doc.

    • /cv:loop acts as VP of Engineering: runs the build with subagents under the developer's own process, saved in context-v/loops/ .

    • /cv:reflect closes out: as-built, issues, changelog, handoff, and a ship(feature, …) commit.

  • Checklists inside the skills. Each workflow skill has a checklist the agent copies into its reply and ticks off, with go-back lines where a check can fail.

  • Nine templates, each ending in a "Done when" list for that kind of doc. Spec, plan, prompt, blueprint, reminder, exploration, and issue, plus new loop and handoff templates.

  • Starters that init lays down: a context-v/README.md , an AGENTS.md snippet, an optional changelog/ , a commented config.md that maps roles (tracker, chat, docs, memory…) to tools, and an .env.example block for those tools' variables.

  • A frontmatter check that runs before every write to context-v/ . It blocks only on the basics with one right answer:

    • YAML that doesn't parse

    • a missing title

    • bad or out-of-order dates

    • a site_uuid or hex_code that's malformed or changed

    New files need all five fields; older files are checked only for the fields they have. It never approves anything on the user's behalf.

How it was decided

The reasoning is in Context V as a Portable Plugin Any Agent Can Install , including its decisions log. Two choices worth knowing:

  • Skills, not slash-command files. The same SKILL.md works in Claude Code (as /cv:init ) and in other agents that read skills (Codex, Pi, Cursor, OpenCode).

  • Graphify, Chroma, and Archify are recommended, not bundled. They're other people's projects on their own release cycles. The skills use them when present and never require them.

Update, same day: shortcuts. Each kind of doc now has its own command: /cv:explore , /cv:spec , /cv:plan , /cv:prompt , /cv:blueprint , /cv:remind , /cv:issue , and /cv:handoff , so /cv:explore "Pricing tiers" does what /cv:new exploration "Pricing tiers" does. Each shortcut hands off to new , so templates and IDs stay in one place, and only runs when typed. A loop doc has no shortcut, because /cv:loop is the build workflow. Also fixed: the pseudomonorepos skill's description had an unquoted : , which a strict YAML parser rejects. Every skill's frontmatter now parses.

Known Gotchas

  • Not ready to hand to outsiders yet.

    • INSTALL.md (the one-line "paste this into your agent" install) and DEPENDENCIES.md don't exist yet.

    • The README still says nothing is installable.

  • Not yet tested end to end in a live session. The manifests validate and the hook passes eight test cases, but nobody has installed it in a fresh Claude Code session yet.

  • The hook needs python3 . Without it the check simply doesn't run, and nothing is blocked. With PyYAML installed it checks full YAML; without it, only top-level keys.

What's Next?

  • INSTALL.md , DEPENDENCIES.md , and the README install block.

Update, same day: the kit is now licensed under MPL-2.0 ( LICENSE ), with an additional permission in LICENSING.md : copies of templates and starters, and the context-v/ docs people write with the kit, are theirs under any terms.

  • A cold install in a throwaway repo: /cv:init , /cv:new exploration "Test" , then /cv:reflect .

  • A pointer note on the MVP spec recording these changes.