Cc-skills hooks
Install/uninstall tts-tg-sync Stop hook to ~/.claude/settings.json. TRIGGERS - tts hooks, install tts hook, tts stop hook.
git clone https://github.com/terrylica/cc-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/hooks" ~/.claude/skills/terrylica-cc-skills-hooks-6a8911 && rm -rf "$T"
plugins/tts-tg-sync/skills/hooks/SKILL.mdTTS Telegram Sync Hooks Manager
Manage the Stop hook that sends session-end notifications to Telegram.
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.
Hook
| Hook | Event | Purpose |
|---|---|---|
| Stop | Send session end notification to Telegram |
The Stop hook runs when a Claude Code session ends, sending a notification to your Telegram bot with session details.
Actions
| Action | Description |
|---|---|
| Add Stop hook to settings.json |
| Remove Stop hook from settings.json |
| Show current hook configuration |
Workflow
Skip Logic
- If action provided (
,install
,uninstall
) → execute directlystatus - If no arguments → check current status, then use AskUserQuestion flow
Interactive Flow (No Arguments)
Question: "What would you like to do with the tts-tg-sync Stop hook?" Options: - "Install" → "Add Stop hook for Telegram notifications on session end" - "Uninstall" → "Remove the Stop hook from settings.json" - "Status" → "Show current hook configuration"
Execution
The hook is registered in the plugin's
hooks/hooks.json:
{ "hooks": { "Stop": [ { "hooks": [ { "type": "command", "command": "bun $CLAUDE_PLUGIN_ROOT/hooks/telegram-notify-stop.ts", "timeout": 10000 } ] } ] } }
The plugin system handles hook installation automatically when the plugin is enabled. Manual installation/uninstallation should modify
~/.claude/settings.json hooks section.
Post-Action Reminder
IMPORTANT: Restart Claude Code session for changes to take effect.
Hooks are loaded at session start.
Troubleshooting
| Issue | Cause | Solution |
|---|---|---|
| Hook not firing | Session not restarted | Restart Claude Code session |
| Notification missing | Bot not running | Start bot first |
| Timeout errors | Bot slow to respond | Increase timeout in hooks.json |
| Bun not found | PATH issue in hook env | Add Bun to PATH in hook command |
Post-Execution Reflection
After this skill completes, check before closing:
- Did the command succeed? — If not, fix the instruction or error table that caused the failure.
- Did parameters or output change? — If the underlying tool's interface drifted, update Usage examples and Parameters table to match.
- Was a workaround needed? — If you had to improvise (different flags, extra steps), update this SKILL.md so the next invocation doesn't need the same workaround.
Only update if the issue is real and reproducible — not speculative.