Best for
- First-time setup of the tts-tg-sync plugin
- Reinstalling after a clean OS install or hardware migration
- Setting up a new machine with the full TTS + Telegram stack
terrylica/cc-skills/plugins/tts-tg-sync/skills/full-stack-bootstrap/SKILL.md
One-time bootstrap for Kokoro TTS engine, Telegram bot, and BotFather setup. TRIGGERS - setup tts, install kokoro, botfather
Decision brief
One-time bootstrap of the entire TTS + Telegram bot stack: Kokoro TTS engine (MLX-Audio on Apple Silicon), Telegram bot via BotFather, secrets management, environment configuration, and shell symlinks.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/terrylica/cc-skills --skill "plugins/tts-tg-sync/skills/full-stack-bootstrap"Inspect the Agent Skill "full-stack-bootstrap" from https://github.com/terrylica/cc-skills/blob/05f53c5b24a445c1895e9b0590212e66cd70f39e/plugins/tts-tg-sync/skills/full-stack-bootstrap/SKILL.md at commit 05f53c5b24a445c1895e9b0590212e66cd70f39e. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Verify all prerequisites are installed and accessible:
Verify all prerequisites are installed and accessible:
Run the bundled installer script:
Guide the user through Telegram BotFather to create a bot token:
Store the bot token securely:
Permission review
The documentation asks the agent to run terminal commands or scripts.
Run the bundled installer script:The documentation asks the agent to run terminal commands or scripts.
bash scripts/kokoro-install.sh --installThe documentation includes network, browsing, or remote request actions.
curl -s "https://api.telegram.org/bot${BOT_TOKEN}/getMe" | jq .okThe documentation asks the agent to create, modify, or delete local files.
[Secrets] Create .mise.local.toml with _.file reference to secretsEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 61 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
One-time bootstrap of the entire TTS + Telegram bot stack: Kokoro TTS engine (MLX-Audio on Apple Silicon), Telegram bot via BotFather, secrets management, environment configuration, and shell symlinks.
Platform: macOS (Apple Silicon)
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.
kokoro-install.sh --uninstall first)| Component | Required | Installation |
|---|---|---|
| Bun | Yes | brew install oven-sh/bun/bun |
| mise | Yes | brew install mise |
| uv | Yes | brew install uv |
| Python 3.14 | Yes | uv python install 3.14 |
| Homebrew | Yes | Already installed on macOS dev machines |
| Apple Silicon (M1+) | Yes | Required for MLX Metal acceleration |
Verify all prerequisites are installed and accessible:
command -v bun # Bun runtime for TypeScript bot
command -v mise # Environment manager
command -v uv # Python package manager
uv python list | grep 3.14 # Python 3.14 available
If any tool is missing, install via Homebrew (brew install <tool>). Python 3.14 is installed via uv python install 3.14.
Run the bundled installer script:
bash scripts/kokoro-install.sh --install
This performs:
~/.local/share/kokoro/.venv with Python 3.14 via uvkokoro_common.py and tts_generate.py from plugin bundle to ~/.local/share/kokoro/mlx-community/Kokoro-82M-bf16)version.json with mlx_audio version, backend, and model IDGuide the user through Telegram BotFather to create a bot token:
@BotFather/newbot, follow prompts (name + username)curl -s "https://api.telegram.org/bot<TOKEN>/getMe" | jq .okcurl -s "https://api.telegram.org/bot<TOKEN>/getUpdates" | jq '.result[0].message.chat.id'If a token already exists at ~/.claude/.secrets/ccterrybot-telegram, verify it works and skip this phase.
Store the bot token securely:
mkdir -p ~/.claude/.secrets
chmod 700 ~/.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
Create .mise.local.toml (gitignored) in the bot directory to load secrets:
# ~/.claude/automation/claude-telegram-sync/.mise.local.toml
[env]
_.file = "{{env.HOME}}/.claude/.secrets/ccterrybot-telegram"
Add Kokoro paths to mise.toml:
# In ~/.claude/automation/claude-telegram-sync/mise.toml [env] section
KOKORO_VENV = "{{env.HOME}}/.local/share/kokoro/.venv"
KOKORO_SCRIPT = "{{env.HOME}}/.local/share/kokoro/tts_generate.py"
Create symlinks in ~/.local/bin/ pointing to plugin shell scripts:
mkdir -p ~/.local/bin
ln -sf <plugin>/scripts/tts_kokoro.sh ~/.local/bin/tts_kokoro.sh
ln -sf <plugin>/scripts/tts_read_clipboard.sh ~/.local/bin/tts_read_clipboard.sh
ln -sf <plugin>/scripts/tts_read_clipboard_wrapper.sh ~/.local/bin/tts_read_clipboard_wrapper.sh
ln -sf <plugin>/scripts/tts_speed_up.sh ~/.local/bin/tts_speed_up.sh
ln -sf <plugin>/scripts/tts_speed_down.sh ~/.local/bin/tts_speed_down.sh
ln -sf <plugin>/scripts/tts_speed_reset.sh ~/.local/bin/tts_speed_reset.sh
~/.local/share/kokoro/.venv/bin/python ~/.local/share/kokoro/tts_generate.py \
--text "Hello, bootstrap complete." --voice af_heart --lang en-us --speed 1.0 --output /tmp/test-bootstrap.wav
afplay /tmp/test-bootstrap.wav
rm -f /tmp/test-bootstrap.wav
curl -s "https://api.telegram.org/bot${BOT_TOKEN}/getMe" | jq .ok
1. [Preflight] Verify Bun installed
2. [Preflight] Verify mise installed
3. [Preflight] Verify uv installed
4. [Preflight] Verify Python 3.14 available via uv
5. [Kokoro] Run kokoro-install.sh --install
6. [Kokoro] Verify MLX-Audio acceleration
7. [BotFather] Guide BotFather token creation (or verify existing)
8. [Secrets] Store token in ~/.claude/.secrets/ccterrybot-telegram
9. [Secrets] Create .mise.local.toml with _.file reference to secrets
10. [Environment] Add KOKORO_VENV and KOKORO_SCRIPT to mise.toml
11. [Symlinks] Create ~/.local/bin/ symlinks for all TTS shell scripts
12. [Verify] Generate test WAV with Kokoro and play with afplay
13. [Verify] Check bot responds to /status via Telegram API
After modifying this skill:
kokoro-install.sh --health passes all 6 checks.mise.local.toml is gitignoredls -la ~/.local/bin/tts_*.sh)getMe API callreferences/evolution-log.md with change description| Issue | Cause | Solution |
|---|---|---|
| uv not found | Not installed | brew install uv |
| Python 3.14 not available | Not installed via uv | uv python install 3.14 |
| Not Apple Silicon | Intel Mac or Linux | Requires M1 or newer Mac (MLX Metal) |
| Model download fails | Network issue or HuggingFace outage | Check internet connectivity, retry |
| BotFather token invalid | Typo or revoked token | Verify via curl https://api.telegram.org/bot<TOKEN>/getMe |
| kokoro-install.sh permission denied | Script not executable | chmod +x scripts/kokoro-install.sh |
| Venv already exists | Previous partial install | Run kokoro-install.sh --uninstall then --install |
| tts_generate.py not found | Bundle copy failed | Check scripts/tts_generate.py exists in plugin |
After this skill completes, reflect before closing the task:
Do NOT defer. The next invocation inherits whatever you leave behind.
Frequently asked questions
One-time bootstrap of the entire TTS + Telegram bot stack: Kokoro TTS engine (MLX-Audio on Apple Silicon), Telegram bot via BotFather, secrets management, environment configuration, and shell symlinks.
The source record exposes this install command: npx skills add https://github.com/terrylica/cc-skills --skill "plugins/tts-tg-sync/skills/full-stack-bootstrap". Inspect the command and pinned source before running it.
Static rules flagged exec-script, network, write-files in the source; the page lists the matching lines and excerpts.
Alternatives
garrytan/gbrain
End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
wanshuiyin/Auto-claude-code-research-in-sleep
Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.
prowler-cloud/prowler
PostgreSQL indexing best practices for Prowler: index design, partial indexes, partitioned table indexing, EXPLAIN ANALYZE validation, concurrent operations, monitoring, and maintenance. Trigger: When creating or modifying PostgreSQL indexes, analyzing query performance with EXPLAIN, debugging slow queries, reviewing index usage statistics, reindexing, dropping indexes, or working with partitioned table indexes. Also trigger when discussing index strategies, partial indexes, or index maintenance