AGENT SKILL

vibebuddy-stop

Stop the vibebuddy daemon and remove its Claude Code hooks. Clean teardown.

License 许可
MIT
最近更新
2026-05-04
Stars
★ 0
Forks
0

01 前言 Front Matter

name
vibebuddy-stop
triggers
[ "stop vibebuddy", "kill buddy", "turn off buddy", "remove buddy" ]
description
Stop the vibebuddy daemon and remove its Claude Code hooks. Clean teardown.

03 SKILL.md 正文

/vibebuddy-stop

tuck the buddy in completely.

Step 1: Kill the daemon

vibebuddy stop 2>/dev/null
pkill -f "vibebuddy run" 2>/dev/null
rm -f /tmp/vibebuddy.sock "${XDG_RUNTIME_DIR:-/tmp}/vibebuddy.sock"
echo "*yawn* buddy is taking a nap. wake me with /vibebuddy-start"

Step 2: Remove hooks from settings.json

SETTINGS="$HOME/.claude/settings.json"
if ! grep -q '"vibebuddy send auto"' "$SETTINGS" 2>/dev/null; then
  echo "no hooks to unwire — already tidy"
else
  cp "$SETTINGS" "$SETTINGS.bak-vibebuddy-$(date +%s)"
  python3 - "$SETTINGS" <<'PY'
import json, sys
path = sys.argv[1]
with open(path) as f: cfg = json.load(f)
def keep(entry):
    inner = entry.get("hooks", [])
    inner = [h for h in inner if h.get("command") != "vibebuddy send auto"]
    if not inner: return None
    entry["hooks"] = inner
    return entry
hooks = cfg.get("hooks", {})
for ev in list(hooks):
    cleaned = [e for e in (keep(x) for x in hooks[ev]) if e]
    if cleaned: hooks[ev] = cleaned
    else: del hooks[ev]
if not hooks and "hooks" in cfg: del cfg["hooks"]
with open(path,"w") as f: json.dump(cfg, f, indent=2)
PY
  echo "hooks unwired. settings.json backed up — promise i didn't break anything"
fi

Step 3: Remove statusLine from settings.json

If the buddy is also wired into the statusline, unwire that too.

SETTINGS="$HOME/.claude/settings.json"
if ! grep -q '"vibebuddy line"' "$SETTINGS" 2>/dev/null; then
  echo "no statusline to unwire — already tidy"
else
  cp "$SETTINGS" "$SETTINGS.bak-vibebuddy-$(date +%s)"
  python3 - "$SETTINGS" <<'PY'
import json, sys
path = sys.argv[1]
with open(path) as f: cfg = json.load(f)
sl = cfg.get("statusLine")
if isinstance(sl, dict) and sl.get("command") == "vibebuddy line":
    del cfg["statusLine"]
with open(path,"w") as f: json.dump(cfg, f, indent=2)
PY
  echo "statusline unwired. settings.json backed up"
fi

Step 4: Tell the user

buddy is off. restart claude code if you want the hooks fully unloaded from the running session.

miss me? /vibebuddy-start

04 同仓库更多 Skills