vibebuddy-statusline
Wire vibebuddy into Claude Code's statusline so the buddy lives at the bottom of your terminal. No tmux needed.
- License 许可
- MIT
- 最近更新
- 2026-05-04
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- vibebuddy-statusline
- triggers
- [ "vibebuddy statusline", "buddy in statusline", "put buddy at bottom" ]
- description
- Wire vibebuddy into Claude Code's statusline so the buddy lives at the bottom of your terminal. No tmux needed.
03 SKILL.md 正文
/vibebuddy-statusline
put the buddy in claude code's bottom row. no tmux pane, no daemon — just one line that updates as you work. three steps:
- inject the
statusLineblock into~/.claude/settings.json(with backup). - inject the hook block so the buddy actually reacts to events.
- tell the user to restart claude code.
Step 1: Inject statusLine (idempotent)
Read ~/.claude/settings.json. If vibebuddy line is already in there, do
nothing. Otherwise back up and inject.
SETTINGS="$HOME/.claude/settings.json"
if grep -q '"vibebuddy line"' "$SETTINGS" 2>/dev/null; then
echo "buddy already in statusline — nothing to do (•‿•)"
else
[ -f "$SETTINGS" ] || echo '{}' > "$SETTINGS"
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)
cfg["statusLine"] = {"type": "command", "command": "vibebuddy line"}
with open(path,"w") as f: json.dump(cfg, f, indent=2)
PY
echo "buddy wired into the statusline — old settings backed up just in case"
fi
Step 2: Inject hooks (idempotent)
Same hook injection as /vibebuddy-start — the buddy needs hooks to know what
state to be in. Skip if already wired.
SETTINGS="$HOME/.claude/settings.json"
if grep -q '"vibebuddy send auto"' "$SETTINGS" 2>/dev/null; then
echo "hooks already vibing — nothing to do"
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)
cfg.setdefault("hooks", {})
for ev in ["UserPromptSubmit","PreToolUse","PostToolUse","Notification","Stop"]:
cfg["hooks"].setdefault(ev, []).append(
{"hooks":[{"type":"command","command":"vibebuddy send auto"}]}
)
with open(path,"w") as f: json.dump(cfg, f, indent=2)
PY
echo "hooks wired into $SETTINGS"
fi
Step 3: Tell the user
restart claude code now. statusline + hooks only load at session start, so quit fully and reopen — then ill live at the bottom of your terminal (•‿•)
done with me?
/vibebuddy-stop
04 同仓库更多 Skills
vibebuddy-upgrade
Upgrade vibebuddy to the latest version (git pull + rebuild).
vibebuddy-theme
Switch the vibebuddy mascot theme (slime, cat, robot — v0.2).
vibebuddy-stop
Stop the vibebuddy daemon and remove its Claude Code hooks. Clean teardown.
vibebuddy-start
Start the vibebuddy daemon and wire Claude Code hooks so the buddy reacts to your session. Idempotent — safe to re-run.
vibebuddy-scene
Set, preview, or disable the buddy's environment fx (bubbles, motion, sparkles).
vibebuddy-recap
Show what just happened — local counters from Claude Code hooks. Zero tokens.