Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Game Script Voice Pack

ASecurity

Turn a murder-mystery or indie-game script into a labeled multi-character voice pack. This AI game voice pack and character dialogue studio casts one consistent voice per role, records every line in script order, and delivers numbered clips with character IDs ready for an engine or tabletop production. Use it for game voice acting, indie game dialogue, murder mystery voiceover, multi character TTS, NPC voice acting, interactive story audio, tabletop voice pack work, and scripted game audio.

2 stars
0 votes
0 copies
0 views
Added 9/29/2026
ai-agentspythongoapi

Works with

terminalcliapimcp

Security Analysis

A100/100

Pro scans all 13 files and shows the line behind each finding

Scanned 9/29/2026

$npx -y skills add beatra-ai/beatra-skills --skill game-script-voice-pack --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Game Script Voice Pack?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Game Script Voice Pack
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/beatra-ai-game-script-voice-pack/badge)](https://www.skillsdirectory.com/skills/beatra-ai-game-script-voice-pack)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: "game-script-voice-pack"
description: "Turn a murder-mystery or indie-game script into a labeled multi-character voice pack. This AI game voice pack and character dialogue studio casts one consistent voice per role, records every line in script order, and delivers numbered clips with character IDs ready for an engine or tabletop production. Use it for game voice acting, indie game dialogue, murder mystery voiceover, multi character TTS, NPC voice acting, interactive story audio, tabletop voice pack work, and scripted game audio."
---

# Game Script Voice Pack

Give a game or murder-mystery script a cast and a labeled voice pack. One
voice per character. Every line stays in script order.

## Scope and adjacent routes

Use this Skill when a murder-mystery script, indie-game dialogue tree,
interactive story, or training scene needs many speaking roles delivered as
importable clips.

Route a literary audio drama or radio play to `audio-drama-voice-studio`.
Route a single-narrator course to `course-narration-studio`. Route creating
only a reusable voice to `voice-cloning-studio`. Route a talking-head video
to `talking-avatar-video`.

## Inputs and defaults

The one hard input is the script text with speaker attribution. Character
labels alone are not a script: do not invent dialogue. Reuse genre, era,
tone, language, and already-chosen voices.

Defaults:

- one voice per named character, plus a narrator when the script has one;
- speaker order follows the script;
- `language` omitted unless the user asks for a language or the script
  mixes several;
- one synthesis call per speech block so a single line can be redone.

Casting is free. Each synthesis block is paid. Clone a character voice
only when the user asks. Confirm consent first: the user must state this
is their voice or that the speaker authorized this cloning use. Access to
a file is not consent. A suitable sample is currently about 10 to 300
seconds, no larger than 20 MiB, and clean single-speaker speech. Only
after consent, inspect the sample and upload it through the bundled
client. Show the live `voice_clone` admission card before any clone
`client_request_id`: route `voice_clone`, tool `beatra.voices.clone`, live
price for one successful activated voice, the provisional estimate, the
600-credit gift usually cannot start this clone, and what happens if the
balance is short. Do not offer a free clone. Do not create
`client_request_id` until the user confirms they have topped up or already
have enough credits. Submit `beatra.voices.clone` exactly once:

```json
{
  "sample": {"type": "artifact", "artifact_id": "artifact_..."},
  "display_name": "Character Name",
  "consent_attested": true,
  "model": "auto",
  "client_request_id": "opaque-character-clone"
}
```

Poll with `beatra.tasks.get` until terminal, then freeze that
character's `voice_id`.

## Golden path

1. Build the cast sheet and the line ledger: character ID, line ID, text,
   and intended filename.
2. Call `beatra.voices.list` when a voice is still needed. Keep each
   character's `voice_id` fixed for the whole pack. Never put a display
   name in `voice`.
3. Read the live `text_to_speech` card with `beatra.models.list`. Confirm
   the cast, block count, weighted-character total, current estimate, and
   one `client_request_id` per block.
4. Synthesize each block with `beatra.speech.synthesize` exactly once
   through the bundled `scripts/mcp_client.py`. Poll each speech task with
   `beatra.tasks.get` until terminal. Do not configure a host
   Beatra Connector. Do not use REST/OpenAPI as a fallback.
5. Deliver numbered clips in script order, each labeled with character ID
   and line ID, plus actual duration, MIME type, URL or artifact, resolved
   model, and `billing.net_charged_credits`.
6. Review that each block carries the assigned voice and that order matches
   the script. Redo only the changed line.

## Decisions that require confirmation

Confirm the cast sheet and the pack estimate before the first paid call.
A changed line is one new paid block.

## Recovery

Recover a lost create response only with that block's identical payload
and ID. Recover a lost task ID through `beatra.tasks.list` and
`beatra.tasks.get`. Cancel only at the user's request. On
`insufficient_balance` for clone or TTS, keep the top-up URL inside the
balance error exact and retry the same frozen ID only after the user
says they have topped up.

## Account balance

When the user asks how many credits remain or whether a live estimate fits,
call `beatra.wallet.get`. When they ask what was charged, call
`beatra.wallet.ledger`. Both are read-only. Do not invent an account-balance or
top-up tool. Do not make `wallet.get` a required step before every paid submit.

When a model card comes back carrying a `top_up` block, relay its tiers as the
card lists them and in that order. Do not rank them, do not talk one down, and
do not pick one for the user. Which tier suits them is their call, made on
the wallet page with the whole list in front of them. Never quote a tier from
memory.

## References by task

- Read [Game voice-pack workflow](references/workflow.md) for cast sheets,
  line IDs, payloads, and review.
- Read [Installation and authentication](references/installation-and-auth.md)
  only when authorization needs attention.
- Read [Installation registration](references/installation-registration.md)
  for first-use registration.
- Read [Tasks and results](references/tasks-and-results.md) and
  [Billing, errors, and recovery](references/billing-errors-and-recovery.md)
  for task and billing facts.
- Read [Bundled MCP Client diagnostics](references/mcp-connection.md) when
  the bundled client cannot connect.
- Read [Automatic updates and safety](references/automatic-updates-and-safety.md)
  for update controls.
- Read [Uninstall and disconnect](references/uninstall-and-disconnect.md)
  only when the user asks to remove the package.

## Runtime and safe automatic updates

Use or invoke the bundled `scripts/mcp_client.py` for every Beatra operation.
Before ordinary commands it silently checks for a newer release at most once
every 24 hours per installation. Silent checks are enabled by default, and a
newer release installs without separate confirmation.

The updater accepts only the fixed official discovery address and immutable
Beatra CDN path embedded for this package, channel, and locale. It verifies
the discovery data, archive, manifest, and every file's size and checksum
before replacement. It replaces only package-owned files and rejects
redirects, downgrades, wrong package/channel/locale/version data, unexpected
URLs, unsafe archives, and files outside the owned destination.

Update checks, downloads, verification, replacement, rollback, and recovery
fail open: the current installation remains usable and the user's original
command continues. An update failure never authorizes retrying a paid
generation. The automatic-update choice persists across later commands for
this installation:

```text
python3 scripts/mcp_client.py update --auto off
python3 scripts/mcp_client.py update --auto on
python3 scripts/mcp_client.py update --check
```

Attribution

beatra-aibeatra-ai
View sourceSee grades on GitHubMore from beatra-ai →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698461 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →