Own script-to-WAV synthesis, pinned models/runtime, approved cache reuse and audio validation.
tk-video owns scenes/encoding; tk-course owns curriculum/playback. 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.
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.
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
Create artifacts only when this skill's task authorizes them. Before any artifact write, temporary checkout/transport, or ignore setup, read artifact paths and apply its Git exclusion, safe-path, and ownership checks. Reuse identical content still in this context; hash-check uncertain copies and reread changed/lost content. Always repeat fresh safety checks. Default repository-owned output to .tigerkit/; honor explicit final destinations. Conversation-only work skips this reference and performs no file or ignore setup. Artifact handling grants no unrelated mutation or publication authority.
User Questions
Resolve researchable facts and reuse matching authorization before asking. For an unmet prerequisite or material user-owned decision, read question rounds and recovery (reuse it if still in context). Ask only answerable decisions in its plain-chat format, with approval separate. Otherwise continue without confirmation.
Skill Feedback
For a reusable incident, retain minimal non-secret evidence and suggest tk-retro.
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.