mcpField
C
clean-component-removal

clean-component-removal

github.com/terrylicaその他1108 回インストール1 日前に更新
リポジトリ

clean-component-removal について

Apple Silicon 搭載 macOS で Kokoro TTS と Telegram bot のコンポーネントを削除する手順をまとめたスキルです。確認を挟んで順序どおりに停止・削除し、指定データは既定で保持します。

主な機能

  1. 01Bot と TTS を順序立てて削除
  2. 02全体・一部・個別の削除に対応
  3. 03破壊的操作前の確認
  4. 04モデルキャッシュとソースを既定で保持
  5. 05削除後の検証チェックリスト

活用シーン

  1. 01再インストール前の Kokoro TTS 削除
  2. 02Telegram bot プロセスのみの停止
  3. 03一時 TTS ファイルとシェルシンボリックリンクの削除
  4. 04再利用データを残したコンポーネントの一括撤去

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/terrylica/cc-skills --skill clean-component-removal

インストール後、Claude Code で/clean-component-removalを入力して読み込まれたか確認します。

同梱ファイルreferences/evolution-log.md

詳細

コンポーネントのクリーンな削除

孤立したプロセスや古い状態が残らないよう、適切な順序で TTS と Telegram ボットのコンポーネントを終了します。

プラットフォーム:macOS(Apple Silicon)


自己進化するスキル:このスキルは使用を通じて改善されます。手順が誤っている、パラメーターにずれが生じている、回避策が必要になった場合は、後回しにせず、直ちにこのファイルを修正してください。実際に再現できる問題がある場合のみ更新してください。

このスキルを使用する場面

  • ユーザーが Kokoro TTS エンジンをアンインストールしたい場合
  • ユーザーが Telegram ボットを削除したい場合
  • ユーザーが TTS 関連のファイルをすべてクリーンアップしたい場合
  • ユーザーが再インストール前にすべてを完全に削除したい場合
  • ユーザーが特定のコンポーネントだけを選んで削除したい場合

要件

  • 特別なツールは不要です(削除には rm、pkill、インストールスクリプトのみを使用します)
  • 破壊的な操作の前にユーザーの確認が必要です

削除順序

孤立したプロセスやロックの競合を避けるには、削除の順序が重要です。コンポーネントは次の順番で終了してください。

手順コンポーネントコマンド元に戻せるか
1ボットプロセスpkill -f 'bun.*src/main.ts'はい(ボットを再起動)
2Kokoro 仮想環境kokoro-install.sh --uninstallはい(再インストール)
3シェルのシンボリックリンクrm -f ~/.local/bin/tts_*.shはい(リンクを再作成)
4一時ファイルrm -f /tmp/kokoro-tts-*.wav /tmp/kokoro-tts.lock該当なし
5シークレット(任意)rm -f ~/.claude/.secrets/ccterrybot-telegram再作成が必要です

削除されないもの(明示的に依頼された場合を除く)

簡単に再インストールできるよう、これらはデフォルトで保持されます。

リソースパス保持する理由
モデルキャッシュ~/.cache/huggingface/hub/models--hexgrad--Kokoro-82M約400MBのダウンロードが再利用可能
ボットのソースコード~/.claude/automation/claude-telegram-sync/Gitで追跡されており、一時的なものではありません
mise.toml 設定~/.claude/automation/claude-telegram-sync/mise.toml設定の信頼できる唯一の情報源
Launchd ログ~/.local/state/launchd-logs/telegram-bot/ログローテーションによって整理されます
NDJSON 監査ログ~/.claude/automation/claude-telegram-sync/logs/audit/14日分を自動でローテーションします

ワークフローのフェーズ

フェーズ 1:確認

AskUserQuestion を使用して、削除するコンポーネントを確認します。次の選択肢を提示してください。

  1. すべて削除 -- すべてを削除します(手順1~4。シークレットについて確認します)
  2. TTS のみ -- Kokoro 仮想環境、シンボリックリンク、一時ファイルを削除します(手順2~4)
  3. ボットのみ -- ボットプロセスを停止します(手順1のみ)
  4. 選択して削除 -- ユーザーに個別の手順を選んでもらいます
フェーズ 2:ボットプロセスを停止
# Check if bot is running
pgrep -la 'bun.*src/main.ts'

# Stop it
pkill -f 'bun.*src/main.ts' || echo "Bot was not running"
フェーズ 3:Kokoro 仮想環境を削除
# Uses kokoro-install.sh --uninstall (removes venv, keeps model cache)
~/eon/cc-skills/plugins/tts-tg-sync/scripts/kokoro-install.sh --uninstall
フェーズ 4:シンボリックリンクを削除
# List existing symlinks first
ls -la ~/.local/bin/tts_*.sh 2>/dev/null

# Remove them
rm -f ~/.local/bin/tts_*.sh
フェーズ 5:一時ファイルをクリーンアップ
rm -f /tmp/kokoro-tts-*.wav
rm -f /tmp/kokoro-tts.lock
フェーズ 6:シークレットを任意で削除

明示的にユーザーの確認があった場合に限ります。

# Show what would be removed
ls -la ~/.claude/.secrets/ccterrybot-telegram

# Remove (requires confirmation)
rm -f ~/.claude/.secrets/ccterrybot-telegram

TodoWrite タスクテンプレート

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

変更後のチェックリスト

  • ボットプロセスが実行されていない(pgrep -la 'bun.*src/main.ts' の結果が空)
  • Kokoro 仮想環境が削除されている(ls ~/.local/share/kokoro/.venv の結果が「No such file」)
  • シンボリックリンクが削除されている(ls ~/.local/bin/tts_*.sh の結果が「No such file」)
  • 古いロックファイルが残っていない(ls /tmp/kokoro-tts.lock の結果が「No such file」)
  • 孤立した音声プロセスがない(pgrep -x afplay の結果が空)

トラブルシューティング

問題考えられる原因解決方法
削除後もシンボリックリンクが残っているGlob の不一致または権限の問題ls -la ~/.local/bin/tts_* を実行し、各リンクを rm -f で削除します
削除後に古いロックが残っているプロセスがクリーンアップせずに終了したrm -f /tmp/kokoro-tts.lock を実行します
モデルキャッシュが容量を圧迫しているHuggingFace のキャッシュに約 400MBrm -rf ~/.cache/huggingface/hub/models--hexgrad--Kokoro-82M を実行します
kill 後に Bot が再起動するlaunchd から --watch 付きで起動したlaunchctl list を確認し、該当するエージェントを探します
teardown 後も音声が再生され続けるafplay プロセスが Bot より長く存続するpkill -x afplay を実行します

参考ドキュメント

実行後の振り返り

このスキルの実行が完了したら、タスクを終了する前に振り返ります。

  1. 自分の場所を確認します。 — この SKILL.md の正規パスを(このスキル名で Glob を実行して)見つけてから編集します。修正対象は必ずこのファイルと同階層の references/ です。他のドキュメントは対象にしません。
  2. 何が失敗しましたか? — 失敗の原因となった指示を修正します。同じ失敗が再発する可能性があれば、アンチパターンとして追加します。
  3. 予想以上にうまくいったことは何ですか? — 推奨プラクティスとして取り入れます。その理由も記録します。
  4. 何が現状とずれていましたか? — 実態と一致しなくなったスクリプト、参考資料、外部依存関係は、今すぐ修正します。
  5. 記録します。 — すべての変更について、きっかけ、修正内容、根拠を記載した進化ログを残します。

先送りしないでください。次回の実行では、ここに残した状態が引き継がれます。



コメント