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/dancinlab/void/writing-commit-messagesnpx skills add dancinlab/void --skill writing-commit-messagesgit clone --depth 1 https://github.com/dancinlab/voidWhat 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.00031 | $0.00490 |
| Opus 5 | $0.00015 | $0.00245 |
| Sonnet 5 | $0.00006 | $0.00098 |
| Haiku 4.5 | $0.00003 | $0.00049 |
Grade A, and why
writing-commit-messages 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.
This is a copy
95% identical to writing-commit-messages — 2 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
What it actually says
Writing Commit Messages
Write commit messages that follow commit style guidelines for the project.
Format
<subsystem>: <summary>
<reference issues/PRs/etc.>
<long form description>
Rules
Subject line
- Subsystem prefix: Use a short, lowercase identifier for the
area of code changed (e.g.,
terminal,vt,lib,config,font). Determine this from the file paths in the diff. If changes span the macOS app, usemacos. For GTK, usegtk. For build system, usebuild. Use nested subsystems with/when helpful and exclusive (e.g.,terminal/osc). - Summary: Lowercase start (not capitalized), imperative mood, no trailing period. Keep it concise—ideally under 60 characters total for the whole subject line.
References
- If the change relates to a GitHub issue, PR, or discussion, list
the relevant numbers on their own lines after the subject, separated
by a blank line. E.g.
#1234 - If there are no references, omit this section entirely (no blank line).
Long form description
- Describe what changed, what the previous behavior was, and how the new behavior works at a high level.
- Use plain prose, not bullet points. Wrap lines at ~72 characters.
- Focus on the why and how rather than restating the diff.
- Keep the tone direct and technical without no filler phrases.
- Don't exceed a handful of paragraphs; less is more.
Workflow
- If
.jjis present, usejjinstead ofgitfor all commands. - Run a diff to see what changes are present since the last commit.
- Identify the subsystem from the changed file paths.
- Identify any referenced issues/PRs from the diff context or branch name.
- Draft the commit message following the format above.
- Apply the commit
- Don't push the commit; leave that to the user.
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 · 63 lines · 31 tokens per session scan A 2d6d781b0282
writing-commit-messages is a skill published in the GitHub repository dancinlab/void (116 stars, last pushed 1mo ago), licensed MIT. It adds 31 tokens to every session and 490 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. It is 95% identical to writing-commit-messages, differing in 2 lines, and is treated as a copy.
Other skills, from other repositories
horizon-browser
Control, inspect, or audit a live browser panel inside Horizon through the Horizon browser MCP tools.
horizon-notify
Notify the Horizon workspace user about completed work, findings, or needed decisions. Only works when HORIZON env var is set.
add-vfs-provider
Worked example for adding a new VFS/FsProvider backend (e.g. an SSH remote provider for Phase 2), including how to register it with VfsService and write a test double. Use when adding or reviewing a new storage backend.
wire-permission-health-check
Walkthrough for connecting the Rust PermissionProbe trait (vfs/health.rs) to a real Android-side SAF permission check via JNI. Use when implementing the Kotlin side of the Phase 1d permission health-check feature.
add-keyboard-toolbar-gesture
Worked example for adding sticky-Ctrl modifier and swipe-based history cycling to CommandToolbar.kt. Use when implementing the remaining Phase 1c keyboard UX items.
audit-unwraps
Methodology for finding and fixing .unwrap()/.expect() calls in production code paths, distinguishing them from acceptable test-code usage. Use for periodic safety sweeps or when clippy::unwrapused flags something unclear.