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 skills add SummerEngine/summer-engine-agent --skill voice-linegit clone --depth 1 https://github.com/SummerEngine/summer-engine-agentWrote 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/summerengine/summer-engine-agent/voice-line)<a href="https://agentmods.dev/skills/summerengine/summer-engine-agent/voice-line"><img src="https://agentmods.dev/badge/skills/summerengine/summer-engine-agent/voice-line/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/summerengine/summer-engine-agent/voice-line"><img src="https://agentmods.dev/badge/skills/summerengine/summer-engine-agent/voice-line.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Excessive Agency · line 244 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
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.1 | $0.00085 | $0.03925 |
| Opus 5 | $0.00043 | $0.01962 |
| Sonnet 5 | $0.00017 | $0.00785 |
| Haiku 4.5 | $0.00009 | $0.00392 |
Grade A, and why
voice-line 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 10d 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.
Copies of this mod
1 near-identical copy found in the catalogue:
- voice-line — 86% identical, 114 lines differ
How it starts
The opening of the file, as written. The whole thing — 276 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/voice-line — Generate TTS Voice for NPCs, Narrator, Dialogue
Overview
The hardest part of TTS isn't the line — it's picking the right voice. ElevenLabs ships hundreds; pick wrong and a tough warlord NPC sounds like a podcast host. There is no MCP tool that lists voices — the only voice-related input Summer exposes is the voiceId string on summer_generate_audio. So the voice pick has to come from the user (or from the project's cast bible), and this skill's job is to get that pick made deliberately and then locked.
Then it generates one line (or a multi-turn dialogue) with the right stability / style / similarity / speed for the delivery — flat for narration, expressive for a bark, fast for an excited shout.
When to use
- NPC bark, narrator line, dialogue between two characters, tutorial voice, menu announcer.
- Multi-line conversation with two or more voices → use
text_to_dialoguecapability.
When NOT to use
- Non-verbal vocal SFX (grunt, scream) →
audio/sound-effectwith promptmale grunt of pain, mid-thirties, sharp, 400ms. - Pre-recorded voice from a real actor — import the .mp3 / .wav with
summer_import_from_urland skip TTS.
Steps
1. Read the audio bible and any character notes
Read .summer/audio-bible.md
Read .summer/memory/casting/voices.md # preferred cast memory, if present
Read .summer/voice-cast.md # legacy cast memory, if present
Read .summer/characters.md # if present
Glob .summer/characters/*.md
Glob .summer/memory/characters/*.md
If a character bible exists, the voice should match the character's age / gender / regional origin / energy. If it doesn't, ask:
Tell me the character: gender, rough age, accent or regional flavor, and energy (calm / measured / excited / gruff). Or just give me a reference — "sounds like the captain in Mass Effect" works.
2. Get the voice id
Check the cast bible first (step 1). If the character already has a locked id, use it and skip to step 5.
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.
- 10d ago First seen · 276 lines · 85 tokens per session scan A 07150b29e0e4
voice-line is a skill published in the GitHub repository SummerEngine/summer-engine-agent (59 stars, last pushed yesterday), licensed MIT. It adds 85 tokens to every session and 3,925 once invoked, about $0.0004 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-30.
Other skills, from other repositories
artist-self-evolve
Distill stable art-generation patterns from a completed project, so future projects produce comparable assets without re-discovering the prompts. Lead-dispatched only — orchestrator invokes this skill from its self-evolve flow with a game-slug message; do not self-trigger.
vibegame-edit
Iterate broadly on an existing game, on top of vibegame-build. Use when the user asks to change an existing game's art style, genre, or core rules. Not for local tuning such as numbers or game feel. Orchestrator only.
hearth-art
Give a Hearth game real art and sound — importing and slicing spritesheets, animations, procedural sprites and sounds, autonomous CC0 asset sourcing (Kenney, itch.io, OpenGameArt, Freesound, Google Fonts) with licensing rules, and pixel-art discipline (never stretch; read the art before using it). Use when the game…
asset-gen
Generate visual assets from text prompts: PNG images (Gemini / xAI Grok), GLB 3D models (Tripo3D), rigged biped characters, retargeted animations, and frame-by-frame animated sprites, plus background removal. Use whenever a game needs generated art.
screenshot-isolated
Render a target GameObject from a chosen camera angle with optional layer-based isolation, configurable background (solid/skybox/transparent), multi-light setup via JSON, and Composite (2x2 Front/Right/Back/Top) mode. Returns a PNG image. When isolated=true, inactive children may briefly fire OnEnable — see the body…
screenshot-camera
Capture a screenshot from a Unity Camera and return it as a PNG image for direct LLM inspection. Falls back to Camera.main (then any active camera) when cameraRef is null. Width and height are capped to keep response size manageable.