Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/ndisisnd/msg/msgnpx skills add ndisisnd/msg --skill msggit clone --depth 1 https://github.com/ndisisnd/msgWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00162 | $0.01638 |
| Opus 5 | $0.00081 | $0.00819 |
| Sonnet 5 | $0.00032 | $0.00328 |
| Haiku 4.5 | $0.00016 | $0.00164 |
Grade A, and why
msg scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.
msg
This file is a router. Every mode's protocol lives in a ref — none is written here. The Dispatch table below is the single statement of msg's mode surface — do not restate it elsewhere in this file.
Dispatch
Check the invocation before running any picker. First match wins.
| Invocation | Also triggers on (natural language) | Route |
|---|---|---|
/msg --init (+ --cto / --eng) |
"initialise project", "bootstrap repo", "set up the framework", "start a new project" | refs/protocol-init.md |
/msg --init-staging |
"add a staging branch", "set up staging", "switch to a staged release flow" | refs/protocol-init-staging.md |
/msg --update |
"check for msg updates", "reinitialise this project", "resync my init setup", "are there new init components" | refs/protocol-update.md |
/msg --gui, or the bare word gui |
"open gui for PRDs", "show me the PRD board", "visualize my PRDs", "open kanban" | refs/protocol-gui.md — render directly, never call AskUserQuestion first |
/msg --doctor |
"check the harness", "what keeps failing", "run the doctor", "triage the incident log" | refs/protocol-doctor.md — tallies and triages devkit/DOCTOR.md; never fixes |
/msg --aha |
"prune the learnings", "sweep AHA", "trim the aha log", "triage the learnings ledger" | refs/protocol-aha.md — triages and compacts devkit/AHA.md; only write is the ledger itself, promotions stay recommendations |
/msg --version, or the bare word version |
"which msg is this", "what version of msg do I have", "did the reinstall land", "is msg up to date" | refs/protocol-version.md |
/msg --help |
— | refs/protocol-help.md |
/msg (no args) |
— | refs/protocol-default.md — the category/skill picker over the Skills table below |
What ships with it
31 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- refs/gui/fill-static.py 3.9 KB runs code
- refs/gui/index.html 81 KB
- refs/gui/server.py 48 KB runs code
- refs/gui/styles.css 36 KB
- refs/init/init-setup.sh 5.8 KB runs code
- refs/init/init.sh 17 KB runs code
- refs/init/templates/template-AHA.md 783 B
- refs/init/templates/template-ARCHITECTURE.md 1.9 KB
- refs/init/templates/template-CHANGELOG.md 757 B
- refs/init/templates/template-CLAUDE.md 2.1 KB
- refs/init/templates/template-DESIGN-SYSTEM.md 1.5 KB
- refs/init/templates/template-DOCTOR.md 2.9 KB
- refs/init/templates/template-ENV.md 3.3 KB
- refs/init/templates/template-gitignore.md 2.2 KB
- refs/init/templates/template-GLOSSARY.md 528 B
- refs/init/templates/TEMPLATE-INTAKE.md 5.0 KB
- refs/init/templates/template-OPEN-QUESTIONS.md 1.1 KB
- refs/init/templates/template-PLATFORMS.md 18 KB
- refs/init/templates/template-README.md 1.2 KB
- refs/init/templates/TEMPLATE-roadmap.md 2.3 KB
- refs/protocol-aha.md 5.6 KB
- refs/protocol-cto.md 9.2 KB
- refs/protocol-default.md 1.5 KB
- refs/protocol-doctor.md 6.7 KB
- refs/protocol-eng.md 9.0 KB
- refs/protocol-gui.md 24 KB
- refs/protocol-help.md 3.6 KB
- refs/protocol-init-staging.md 5.9 KB
- refs/protocol-init.md 31 KB
- refs/protocol-update.md 17 KB
- refs/protocol-version.md 1.5 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 91 lines · 162 tokens per session scan A 1052bd7f5d28
msg is a skill published in the GitHub repository ndisisnd/msg (6 stars, last pushed 15d ago), licensed MIT. It adds 162 tokens to every session and 1,638 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
skillspec-migrate
Complete a .agent.partial file by resolving TODO markers.
skill-writer
Review a SkillSpec .agent file for quality, correctness, and adherence to SkillSpec design principles.
skillspec-test
Execute test blocks from a SkillSpec .agent file.
skillspec-backport
Reconcile changes from a modified SKILL.md back into the .agent source file.
docs-planner
Identify documentation gaps and prioritize the docs backlog. Use when planning a docs improvement sprint, after signals surface repeated friction, when new SDK features ship without docs, or for periodic health assessment. Also triggers on "plan docs work", "what docs need writing", "prioritize the backlog", "docs…
goal-conductor
Own a long-horizon goal end to end - decompose it into work items, stand up one top-level session per item, patrol their state on a nudge loop, and decide each next round until the goal is met or a stop condition fires. Use when the user hands over a goal too large for one session ("clear the flaky-test backlog"…