Skills
The three skills vexillum ships for a Claude Code, Pi or OpenCode commander, what each is for, where they live and how upgrade keeps them current.
What a skill is
A skill is a directory with a SKILL.md (and optional supporting files) that Claude Code loads on demand (a Pi or OpenCode commander reads the same .claude/skills directory, see Pi as the commander and OpenCode as the commander): it reads each skill's short description at the start, and loads the full text only when the task matches. That is why vexillum moves the operational detail out of the always-on AGENTS.md slot and into skills: the commander pays for the detail only when it dispatches, lands, ships or strikes.
The slot ends with one hard instruction to load the vexillum skill before any of those steps, so the on-demand detail is not left to chance.
The three skills
| Skill | What it is for |
|---|---|
vexillum | The commander's operating manual: dispatching a soldier, choosing a model and effort from models.json, landing, shipping, striking a camp and handling the sentinel. Besides SKILL.md it has landing.md, shipping.md and sentinel.md, read at the matching moment. |
forum | The browser review loop behind vx forum: open an HTML plan, comparison, diagram, table or decision form, receive your feedback through the forum inbox and answer in the browser. It ships playbooks for each artifact kind. |
muster | A board with the decisions you must take as answerable cards, and a snapshot of the troop of missions and scouts below. See Muster skill. |
The full text of every file is on Skills content, generated from the files embedded in the binary, so it always matches what is installed:
Where they are installed
The skills are embedded in the vx binary, so installing them needs no Node, no npx and no network. vx init writes them to .claude/skills/<name>/ in your project.
init asks before installing them: after the consent notice it prints These skills teach the commander how to use vexillum well. and asks Install the vexillum, forum and muster skills? [Y/n]. Non-interactive runs decide with --skills or --no-skills, and --yes accepts. Declining leaves you with the vexillum block, the sentinel hook and your config only. Skills that are already installed are never reinstalled.
Without the skills the commander has only the core
The slot alone tells the commander to load the vexillum skill. If you declined to install it, the commander has no manual to load. Install the skills later with vx upgrade --skills.
How upgrade keeps them current
vx init and vx upgrade record a content hash per skill in .vexillum/config.json, computed over every file of the skill (path and content, in path order). vx upgrade compares each installed skill with the copy embedded in the new binary and with the hash it recorded:
| Installed skill | What upgrade does |
|---|---|
| current | nothing |
| behind the binary's copy, and unedited | refreshes it |
| edited by you | leaves it as it is and says so (Skill <name>: edited by hand, left as it is; rerun with --force to overwrite it (a backup is saved first)) |
| a symlink | leaves it alone: it is managed by you |
| missing | not reinstalled on its own, so a skill you removed on purpose stays removed; vx upgrade --skills installs it. When no skill is installed yet it offers to install them as init does |
vx upgrade --force overwrites an edited skill with the embedded one, after saving your version under .vexillum/backups/skills/<name>/. --no-skills leaves the skills alone: no install, no refresh.
vx doctor reports each skill as installed, current, installed, stale, installed, edited by hand or missing, and notes a symlink. See Upgrading.
Editing a skill
The installed copies are plain files in your project, so you can read them and tune them. upgrade flags an edited skill instead of replacing it, and --force replaces it after a backup. For values you change often, prefer the dedicated, never-overwritten file: the model and effort table lives in models.json, not in the skill.