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/zircote/human-voice/voicenpx skills add zircote/human-voice --skill voicegit clone --depth 1 https://github.com/zircote/human-voiceWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zircote/human-voice/voice)<a href="https://agentmods.dev/skills/zircote/human-voice/voice"><img src="https://agentmods.dev/badge/skills/zircote/human-voice/voice.svg" alt="Measured on agentmods" height="20"></a>What 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.00065 | $0.00914 |
| Opus 5 | $0.00032 | $0.00457 |
| Sonnet 5 | $0.00013 | $0.00183 |
| Haiku 4.5 | $0.00006 | $0.00091 |
Grade A, and why
voice 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 5d 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 — 69 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Voice — Voice Elicitation Interview Engine
Voice is an adaptive voice elicitation interview engine that builds a comprehensive written-voice profile through a structured conversational interview. The engine administers 60-80 questions across 12 thematic modules, adapting its path based on the participant's responses and detected writer type.
Architecture Overview
- Question Bank: JSON question files organized by module in
question-bank/modules/, validated againstquestion-bank/schemas/question.schema.json - Branching Logic: Conditional paths in
question-bank/branching/that route participants through writer-type-specific question sequences - NLP Pipeline: Text analysis stages in
nlp/that extract stylistic signals from open-ended and writing-sample responses - Scoring Engine: Dimension scoring in
scoring/that maps responses to voice profile dimensions with weighted aggregation - Agents: Specialized conductor and analyst agents in
agents/that orchestrate the interview flow
Interview Modules
The interview spans 12 modules plus a screening/demographic preamble (SD). Modules cover dimensions such as formality and register, emotional tone, sentence structure, vocabulary preferences, rhetorical patterns, audience awareness, and stylistic identity. Each module contains 4-8 questions with a mix of question types (likert, forced_choice, scenario, open_ended, writing_sample, calibration, etc.) to triangulate self-reported preferences against observed behavior.
Starting an Interview
- Generate a UUID session ID.
- Create the session directory at
~/.human-voice/sessions/{session_id}/. - Initialize
state.jsonwith statusinit, empty response arrays, and module progress tracking. - Load the question bank from the project's
question-bank/modules/directory. - Begin with the screening/demographic module (SD) to establish baseline writer type and branching path.
- Progress through modules in sequence, applying branching rules and format rotation to maintain engagement.
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.
- 5d ago First seen · 69 lines · 65 tokens per session scan A 14f34ea95dde
voice is a skill published in the GitHub repository zircote/human-voice (10 stars, last pushed 1mo ago), licensed MIT. It adds 65 tokens to every session and 914 once invoked, about $0.0003 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
unslop
Humanize LLM output so it reads like a careful human wrote it. Subtracts AI-isms (sycophancy, tricolons, em-dash overuse, "delve"/"tapestry"/"testament", hedging stacks, tidy five-paragraph shapes), engineers burstiness and calibrated uncertainty, and preserves technical accuracy. Supports intensity levels: subtle…
alive:demo
Generate a believable, lived-in ALIVE world from a free-text persona description (custom path) or a deterministic sandbox preset. Routes the create/list/activate/deactivate/delete/status surface and orchestrates the 5-stage subagent generation pipeline.
unslop-file
Humanize natural-language memory files (CLAUDE.md, todos, preferences, docs) by removing AI-isms and adding burstiness while preserving every code block, URL, path, command, and heading exactly. Two modes: --deterministic (fast, regex-based, no API) and LLM (default, calls Claude for rewrite). Humanized version…
alive:system-upgrade
Upgrade ALIVE to the current version. Handles v1/v2/v3.x source states, multi-surface aware (alive-mcp / Hermes / Codex), retroactive version detection, partial-failure resume, dry-run previews, and rollback inspection.
alive:save
The human wants to checkpoint. Or: the stash has grown heavy — 5+ items, 30+ minutes, a natural pause in the work. The squirrel doesn't decide when to save. It surfaces the need and lets the human pull the trigger. Runs the full save protocol: confirms stash, writes log, updates state, generates projections…
alive:system-cleanup
The world feels messy. Stale tasks, orphan folders, v2 remnants, unsaved sessions — entropy is accumulating and needs to be addressed before it compounds. Scans across all walnuts, then surfaces issues one at a time.