home / skills / terrylica / cc-skills / component-version-upgrade

This skill helps you upgrade Kokoro components and bot dependencies, ensuring the TTS stack stays current with minimal downtime.

npx playbooks add skill terrylica/cc-skills --skill component-version-upgrade

Review the files below or copy the command above to add this skill to your agents.

Files (3)
SKILL.md
4.7 KB
---
name: component-version-upgrade
description: Upgrade Kokoro model, bot dependencies, or TTS components. TRIGGERS - upgrade kokoro, update model, upgrade bot, update dependencies, version bump, component update.
allowed-tools: Read, Write, Edit, Bash, Glob, AskUserQuestion
---

# Component Version Upgrade

Upgrade individual components of the TTS + Telegram bot stack without rebuilding the entire system.

> **Platform**: macOS (Apple Silicon)

---

## When to Use This Skill

- User wants to upgrade Kokoro TTS engine, Python dependencies, or the model
- User wants to update bot dependencies (Bun packages)
- User wants to refresh `tts_generate.py` from the plugin bundle
- User wants to bump the Bun runtime version

---

## Requirements

- `uv` installed (`brew install uv`)
- `mise` installed and configured
- Internet connectivity for package downloads
- Existing installation (run `full-stack-bootstrap` first if not installed)

---

## Upgradeable Components

| Component         | Command                                                      | What It Does                                                   |
| ----------------- | ------------------------------------------------------------ | -------------------------------------------------------------- |
| Kokoro TTS engine | `kokoro-install.sh --upgrade`                                | Upgrades Python deps, re-downloads model, updates version.json |
| Bot dependencies  | `cd ~/.claude/automation/claude-telegram-sync && bun update` | Updates Bun packages per package.json                          |
| tts_generate.py   | Re-copy from plugin `scripts/` to `~/.local/share/kokoro/`   | Updates the TTS generation script                              |
| Bun runtime       | `mise use bun@latest`                                        | Updates the Bun version in mise.toml                           |

---

## Workflow Phases

### Phase 1: Component Selection

Ask the user which component to upgrade using AskUserQuestion. Present the four options above.

### Phase 2: Pre-Upgrade Health Check

```bash
# Run health check to establish baseline
~/.local/share/kokoro/../../eon/cc-skills/plugins/tts-telegram-sync/scripts/kokoro-install.sh --health

# Record current versions
cat ~/.local/share/kokoro/version.json
```

### Phase 3: Execute Upgrade

Run the appropriate upgrade command for the selected component.

### Phase 4: Post-Upgrade Verification

```bash
# Health check again
kokoro-install.sh --health

# Generate test audio to verify TTS still works
~/.local/share/kokoro/.venv/bin/python ~/.local/share/kokoro/tts_generate.py \
  --text "Upgrade verification test" --voice af_heart --lang en-us --speed 1.0 \
  --output /tmp/kokoro-tts-upgrade-test.wav
```

### Phase 5: Bot Restart (if needed)

If bot dependencies or Bun runtime were upgraded, restart the bot:

```bash
pkill -f 'bun.*src/main.ts' || true
cd ~/.claude/automation/claude-telegram-sync && bun --watch run src/main.ts
```

---

## TodoWrite Task Templates

```
1. [Identify] Present upgradeable components via AskUserQuestion
2. [Preflight] Run health check on target component
3. [Backup] Note current versions (version.json, package.json)
4. [Upgrade] Execute upgrade command
5. [Verify] Run post-upgrade health check
6. [Test] Generate test audio to verify TTS still works
7. [Restart] Restart bot if needed
8. [Report] Show before/after versions
```

---

## Post-Change Checklist

- [ ] Health check passes (all 8 checks OK)
- [ ] version.json updated with new versions
- [ ] Test audio generates and plays correctly
- [ ] Bot is running if it was restarted

---

## Troubleshooting

| Problem                       | Likely Cause                         | Fix                                                              |
| ----------------------------- | ------------------------------------ | ---------------------------------------------------------------- |
| Upgrade fails                 | No internet or PyPI issue            | Check connectivity, retry                                        |
| Model download slow           | First-time ~400MB, subsequent cached | Wait for download to complete                                    |
| Version mismatch              | Stale version.json                   | Re-run `kokoro-install.sh --health` to check, `--upgrade` to fix |
| MPS unavailable after upgrade | torch version incompatibility        | `kokoro-install.sh --upgrade` reinstalls torch                   |
| Bot won't start after upgrade | Dependency conflict                  | `cd ~/.claude/automation/claude-telegram-sync && bun install`    |

---

## Reference Documentation

- [Upgrade Procedures](./references/upgrade-procedures.md) -- Step-by-step upgrade instructions with rollback for each component
- [Evolution Log](./references/evolution-log.md) -- Change history for this skill

Overview

This skill upgrades individual components of a TTS + Telegram bot stack so you can update Kokoro, the model, bot dependencies, or runtime without rebuilding the entire system. It guides selection, runs pre- and post-upgrade health checks, executes the upgrade command, verifies TTS output, and restarts the bot if required. Designed for macOS (Apple Silicon) environments with an existing installation.

How this skill works

You choose which component to upgrade (Kokoro TTS engine, bot Bun packages, tts_generate.py, or Bun runtime). The skill performs a baseline health check, records current versions, runs the targeted upgrade command, and then re-checks health and generates a test audio file to confirm TTS functionality. If bot or Bun runtime changed, it offers restart steps to bring services back online.

When to use it

  • Upgrade Kokoro TTS engine dependencies or re-download the model
  • Update bot dependencies managed by Bun (package.json)
  • Refresh the tts_generate.py script from the plugin bundle
  • Bump the Bun runtime version used by the bot
  • Perform targeted component upgrades without rebuilding the full stack

Best practices

  • Run a pre-upgrade health check and save version.json to record baselines
  • Ensure internet connectivity and that mise and uv are installed before upgrading
  • Generate a test audio file after upgrade to verify TTS end-to-end
  • Restart the bot after Bun or dependency upgrades and verify logs
  • If something fails, re-run the health check and reinstall with --upgrade

Example use cases

  • Upgrade Kokoro to pick up a new model release and validate audio generation
  • Update Bun packages to include a security patch for the Telegram bot
  • Replace tts_generate.py with the latest plugin script to fix a bug
  • Bump Bun runtime to the latest and restart the bot to use new features
  • Perform a minimal upgrade when only the model or one dependency needs updating

FAQ

What prerequisites do I need before running an upgrade?

You need mise and uv installed, internet access, and an existing installation (run full-stack-bootstrap first if not installed).

How do I verify the upgrade succeeded?

Run the post-upgrade health check, inspect version.json for changes, and generate a test audio file to confirm TTS output.