Cc-skills setup

One-time bootstrap for Kokoro TTS, Telegram bot, and BotFather setup. TRIGGERS - tts setup, kokoro install, telegram bot setup, tts bootstrap, voice synthesis setup.

install
source · Clone the upstream repo
git clone https://github.com/terrylica/cc-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/terrylica/cc-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/tts-tg-sync/skills/setup" ~/.claude/skills/terrylica-cc-skills-setup-3a0a57 && rm -rf "$T"
manifest: plugins/tts-tg-sync/skills/setup/SKILL.md
source content

TTS Telegram Sync Setup

Full-stack bootstrap: Kokoro TTS engine, Telegram bot, BotFather token, secrets, symlinks.

Self-Evolving Skill: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues.

Prerequisites

ComponentRequiredCheck
BunYes
bun --version
miseYes
mise --version
uvYes
uv --version
Python 3.13Yes
uv run --python 3.13 python --version
HomebrewYes
brew --version

Workflow

Step 1: Preflight

/usr/bin/env bash << 'PREFLIGHT_EOF'
echo "=== TTS Telegram Sync Preflight ==="
for cmd in bun mise uv brew; do
    if command -v "$cmd" &>/dev/null; then
        echo "  [OK] $cmd: $($cmd --version 2>&1 | head -1)"
    else
        echo "  [FAIL] $cmd not found"
    fi
done
PREFLIGHT_EOF

Step 2: Kokoro Install

Run the Kokoro TTS engine installer:

PLUGIN_DIR="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude/plugins/marketplaces/cc-skills/plugins/tts-tg-sync}"
bash "$PLUGIN_DIR/scripts/kokoro-install.sh" --install

This creates a Python 3.13 venv at

~/.local/share/kokoro/
, installs MLX-Audio deps, downloads the Kokoro-82M-bf16 MLX model, and verifies MLX Metal acceleration.

Step 3: BotFather Token

Guide the user through Telegram BotFather setup:

  1. Open Telegram, search for @BotFather
  2. Send
    /newbot
    (or verify existing bot with
    /mybots
    )
  3. Copy the bot token
  4. Store in secrets file:
mkdir -p ~/.claude/.secrets
echo "BOT_TOKEN=<token>" > ~/.claude/.secrets/ccterrybot-telegram
echo "CHAT_ID=<chat_id>" >> ~/.claude/.secrets/ccterrybot-telegram
chmod 600 ~/.claude/.secrets/ccterrybot-telegram

Use AskUserQuestion to ask if user has an existing bot token or needs to create one.

Step 4: Symlinks

Create symlinks in

~/.local/bin/
for all TTS shell scripts:

PLUGIN_DIR="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude/plugins/marketplaces/cc-skills/plugins/tts-tg-sync}"
mkdir -p ~/.local/bin
for script in tts_kokoro.sh tts_kokoro_audition.sh tts_read_clipboard.sh tts_read_clipboard_wrapper.sh tts_speed_up.sh tts_speed_down.sh tts_speed_reset.sh; do
    ln -sf "$PLUGIN_DIR/scripts/$script" ~/.local/bin/"$script"
done

Step 5: Verify

# Test Kokoro health
PLUGIN_DIR="${CLAUDE_PLUGIN_ROOT:-$HOME/.claude/plugins/marketplaces/cc-skills/plugins/tts-tg-sync}"
bash "$PLUGIN_DIR/scripts/kokoro-install.sh" --health

# Test bot connectivity
source ~/.claude/.secrets/ccterrybot-telegram
curl -s "https://api.telegram.org/bot${BOT_TOKEN}/getMe" | jq .ok

Troubleshooting

IssueCauseSolution
uv not foundNot installed
brew install uv
Not Apple SiliconIntel Mac or LinuxRequires M1+ Mac (MLX Metal)
Model download slowLarge first download~400MB, wait for completion
Token invalidTypo or expiredRe-verify with
/mybots
in BotFather
Symlinks brokenPlugin path changedRe-run symlink creation step

Post-Execution Reflection

After this skill completes, reflect before closing the task:

  1. Locate yourself. — Find this SKILL.md's canonical path before editing.
  2. What failed? — Fix the instruction that caused it.
  3. What worked better than expected? — Promote to recommended practice.
  4. What drifted? — Fix any script, reference, or dependency that no longer matches reality.
  5. Log it. — Evolution-log entry with trigger, fix, and evidence.

Do NOT defer. The next invocation inherits whatever you leave behind.