mcpField
T
tk-tts

tk-tts

github.com/mtgvimOther140 installsUpdated 1d ago
Repository

About tk-tts

A skill for generating and validating local script-to-WAV narration with pinned models and runtimes. It is intended for narration workflows that need explicit engine selection, audio checks, measured duration, and retained human listening review.

Key features

  1. 01List supported local synthesis routes
  2. 02Use pinned models and runtimes
  3. 03Validate decoded audio and reject silence
  4. 04Measure duration and report synthesis details
  5. 05Normalize multi-clip audio into new files

Use cases

  1. 01Creating local narration from prepared scripts
  2. 02Comparing available device and dependency setups
  3. 03Checking generated audio before delivery
  4. 04Preparing normalized batches of narration clips

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/mtgvim/tiger-kit --skill tk-tts

After installing, type/tk-ttsin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

LICENSE.txt
agents/
openai.yaml
references/
artifact-paths.md
authentication.md
installation.md
postprocessing.md
questions.md
sources.md
synthesis.md
scripts/
list_options.py
mlx_backend.py
mlx-8bit-files.json
mlx-files.json
normalize_audio.py
ppaso-files.json
ppaso.py
qwen3-files.json
qwen3.py
supertonic3-files.json
supertonic3.py

Details

From the project README

Generate Local Narration

Own script-to-WAV synthesis, pinned models/runtime, approved cache reuse and audio validation. tk-video owns scenes/encoding; the teaching caller owns lesson content. Return ordinary audio and measured duration; do not import or modify sibling packages. Creation grants no publication.

Run scripts/list_options.py for supported local routes without importing engines. Compare the actual device/dependencies/cache before proposing options: Qwen3 0.6B CustomVoice MLX 5bit is the Apple Silicon recommendation, ppaso ONNX CPU the lightweight Korean option; retain explicit Qwen MLX 8bit and official PyTorch. Discovery is not runtime/model readiness or a quality ranking. Supertonic 3 ONNX CPU/F1 is an explicit alternative, not a new default. Its upstream is archived. When selected, tell the user that AI-synthesis disclosure is required and return the receipt's disclosure_required and disclosure_notice; do not claim the audio/video was automatically labeled. Present every list_options.py route with its device/platform, voices and dependency/cache setup status; past evaluations affect recommendations only, never which engines are shown. Reuse the ordinary-chat question format below and retain unsupported/uninstalled routes with their limits. Read installation and pins before verification, download or synthesis. Reuse verified setup and matching approval. Resolve material engine/voice choices before work; never silently switch engines after a failure or install into a global environment.

Read synthesis and inspection for selected synthesis. Use authored UTF-8 pronunciation-corrected text, complete sentences, sequential requests and a new WAV path. Keep captions/UI literals faithful separately. Run only the selected local adapter in a fresh owned process with a bounded deadline/stall check. Decode and reject invalid/nonfinite/silent audio; return measured duration, engine/model revision, sentence/cache/memory facts and human_action: listen. Actual meaning, pronunciation, proper names/numbers and clipped endings remain pending until heard. Non-silence is not intelligibility. Do not add ASR, voice cloning, paid/cloud synthesis, a resident server or an automatic engine fallback.

For multi-clip narration, read audio postprocessing before delivery. Normalize the batch into new files, preserve raw WAVs and return the measured treatment/limits.

Report unavailable prerequisites with safe module or actual/expected version details and the approved recovery route. Preserve original audio/cache bytes and clean only proven run-owned transients. Return concise paths and actual validation/remaining listening limits. Existing explicit narration choices need no second question; a voice preference alone does not select TTS.

For source provenance and deliberate omissions, see sources.

Artifact Paths

Artifacts require task authority. Before writes/checkout/transport/ignore setup, read artifact paths for Git exclusion/path/ownership checks. Reuse identical in-context content; hash-check uncertainty and reread changes/loss; always recheck safety. Use .tigerkit/ unless a destination is explicit or the eligible durable-root branch applies. Chat-only: skip file/ignore setup and this reference. This grants no unrelated mutation/publication authority. Prefer fresh directories and supported trash for authorized non-secret cleanup; target only recorded literal resolved absolute run-owned paths, never cd plus glob/relative deletion.

User Questions

Investigate facts; reuse authorization. For user-owned decisions read question rounds; otherwise proceed. Plain chat, even one approval: standalone ---, then ❓ **Q<n> · <title>**: <question> and ➡️ <recommendation> per item. Ask only settled-prerequisite questions; separate approval. Questions come last; put status, risks and plans before them.

Skill Feedback

For a reusable incident, retain minimal non-secret evidence in the current conversation and suggest tk-retro; do not write it to persistent memory unless the user asks. Invocation, feedback artifacts, installed-skill edits and publication require separate authorization through the owning workflow; this pointer grants none.

Reader-facing Result Summary

Return a brief result with the outcome, actual verification, material limitations and direct deliverable links. Distinguish plans/skipped checks from executed work; retain outstanding manual checks and real cleanup, blocker or human-action details. Never claim unverified completion or cleanup. Preserve the owner's required artifact, publication preview, approval boundary, machine return, exact status/footer and final question block; keep nested returns compact and omit empty sections.

Output Notation

Use ASCII numbering (1. Item, (1) Item) and - Item, not enclosed/keycap numerals. Show complete absolute clickable file paths, including examples, without ellipses. Preserve exact code, commands, identifiers, URLs, quotations and verified UI labels unless their edit is authorized.

For chat comparisons with multiple shared attributes, use narrow GFM pipe tables (about four columns, header, short cells); otherwise use lists. No box-drawing, fenced or empty tables. Owner-specific previews take precedence; publication bodies and file artifacts retain their own table formats.

In rendered Markdown prose, use hyphens for ranges and escape literal tildes as \~; preserve exact code, quotations and identifiers.

For authorized temporary input files, follow Artifact Paths before creation and consumption; a prefilled template is not completed input. This grants no write authority.

Comments

Markdown supported