clean-component-removal

Clean Component Removal

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "clean-component-removal" with this command: npx skills add terrylica/cc-skills/terrylica-cc-skills-clean-component-removal

Clean Component Removal

Orderly teardown of TTS and Telegram bot components with proper sequencing to avoid orphaned processes and stale state.

Platform: macOS (Apple Silicon)

When to Use This Skill

  • User wants to uninstall the Kokoro TTS engine

  • User wants to remove the Telegram bot

  • User wants to clean up all TTS-related files

  • User wants to do a full teardown before reinstallation

  • User wants to remove specific components selectively

Requirements

  • No special tools needed (removal uses only rm , pkill , and the install script)

  • User confirmation before destructive operations

Removal Order

The removal sequence matters. Components must be torn down in this order to avoid orphaned processes or lock contention.

Step Component Command Reversible?

1 Bot process pkill -f 'bun.*src/main.ts'

Yes (restart bot)

2 Kokoro venv kokoro-install.sh --uninstall

Yes (reinstall)

3 Shell symlinks rm -f ~/.local/bin/tts_*.sh

Yes (re-symlink)

4 Temp files rm -f /tmp/kokoro-tts-*.wav /tmp/kokoro-tts.lock

N/A

5 Secrets (optional) rm -f ~/.claude/.secrets/ccterrybot-telegram

Requires re-creation

What Is NOT Removed (Unless Explicitly Asked)

These are preserved by default to allow easy reinstallation:

Resource Path Why Preserved

Model cache ~/.cache/huggingface/hub/models--hexgrad--Kokoro-82M

~400MB download, reusable

Bot source code ~/.claude/automation/claude-telegram-sync/

Git-tracked, not ephemeral

mise.toml config ~/.claude/automation/claude-telegram-sync/mise.toml

Configuration SSoT

Launchd logs ~/.local/state/launchd-logs/telegram-bot/

Rotated by log-rotation

NDJSON audit ~/.claude/automation/claude-telegram-sync/logs/audit/

Self-rotating 14d

Workflow Phases

Phase 1: Confirmation

Use AskUserQuestion to confirm which components to remove. Present options:

  • Full teardown -- Remove everything (steps 1-4, ask about secrets)

  • TTS only -- Remove Kokoro venv + symlinks + temp files (steps 2-4)

  • Bot only -- Stop bot process (step 1 only)

  • Selective -- Let user pick individual steps

Phase 2: Stop Bot Process

Check if bot is running

pgrep -la 'bun.*src/main.ts'

Stop it

pkill -f 'bun.*src/main.ts' || echo "Bot was not running"

Phase 3: Remove Kokoro Venv

Uses kokoro-install.sh --uninstall (removes venv, keeps model cache)

~/eon/cc-skills/plugins/tts-telegram-sync/scripts/kokoro-install.sh --uninstall

Phase 4: Remove Symlinks

List existing symlinks first

ls -la ~/.local/bin/tts_*.sh 2>/dev/null

Remove them

rm -f ~/.local/bin/tts_*.sh

Phase 5: Clean Temp Files

rm -f /tmp/kokoro-tts-*.wav rm -f /tmp/kokoro-tts.lock

Phase 6: Optional Secret Removal

Only with explicit user confirmation:

Show what would be removed

ls -la ~/.claude/.secrets/ccterrybot-telegram

Remove (requires confirmation)

rm -f ~/.claude/.secrets/ccterrybot-telegram

TodoWrite Task Templates

  1. [Confirm] Ask user which components to remove via AskUserQuestion
  2. [Stop] Stop bot process
  3. [Venv] Run kokoro-install.sh --uninstall
  4. [Symlinks] Remove ~/.local/bin/ symlinks
  5. [Temp] Clean /tmp/ TTS files
  6. [Secrets] Optionally remove secrets (with confirmation)
  7. [Verify] Confirm all selected components removed

Post-Change Checklist

  • Bot process is not running (pgrep -la 'bun.*src/main.ts' returns nothing)

  • Kokoro venv removed (ls ~/.local/share/kokoro/.venv returns "No such file")

  • Symlinks removed (ls ~/.local/bin/tts_*.sh returns "No such file")

  • No stale lock file (ls /tmp/kokoro-tts.lock returns "No such file")

  • No orphan audio processes (pgrep -x afplay returns nothing)

Troubleshooting

Problem Likely Cause Fix

Symlinks still exist after removal Glob mismatch or permission ls -la ~/.local/bin/tts_* then rm -f each one

Stale lock after removal Process died without cleanup rm -f /tmp/kokoro-tts.lock

Model cache taking space ~400MB in HuggingFace cache rm -rf ~/.cache/huggingface/hub/models--hexgrad--Kokoro-82M

Bot respawns after kill Launched with --watch from launchd Check launchctl list for relevant agents

Audio still playing after teardown afplay process outlives bot pkill -x afplay

Reference Documentation

  • Evolution Log -- Change history for this skill

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

pandoc-pdf-generation

No summary provided by upstream source.

Repository SourceNeeds Review
General

mql5-indicator-patterns

No summary provided by upstream source.

Repository SourceNeeds Review
General

mise-tasks

No summary provided by upstream source.

Repository SourceNeeds Review
General

ascii-diagram-validator

No summary provided by upstream source.

Repository SourceNeeds Review