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
cvplugin..claude-plugin/plugin.jsonandmarketplace.json, with the repo root as the plugin. Both passclaude plugin validate. -
The practice, ported for outsiders.
agent-skills/context-vigilance/andagent-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:initscaffoldscontext-v/. -
/cv:newcreates a doc from a template, with IDs minted by command. -
/cv:kickoffloads the right docs at the start of a session. -
/cv:prepacts as product manager: explore → spec → plan. -
/cv:implementacts as lead engineer: build and verify one doc. -
/cv:loopacts as VP of Engineering: runs the build with subagents under the developer's own process, saved incontext-v/loops/. -
/cv:reflectcloses out: as-built, issues, changelog, handoff, and aship(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
loopandhandofftemplates. -
Starters that
initlays down: acontext-v/README.md, anAGENTS.mdsnippet, an optionalchangelog/, a commentedconfig.mdthat maps roles (tracker, chat, docs, memory…) to tools, and an.env.exampleblock 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_uuidorhex_codethat'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.mdworks 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) andDEPENDENCIES.mddon'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.