[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71V22RJHJGP705DPBT8DR3P":3,"skill-same:01M71V22RJHJGP705DPBT8DR3P":60},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":41,"commitSha":42,"skillDirectory":5,"forksCount":14,"repositoryHtmlUrl":43,"repositoryHomepageUrl":6,"ownerHtmlUrl":44,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":45,"install":46,"resources":59},"01M71V22RJHJGP705DPBT8DR3P","vibebuddy-stop",null,"Stop the vibebuddy daemon and remove its Claude Code hooks. Clean teardown.","vansh0027\u002Fvibebuddy","vansh0027","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F98984294?v=4","01M71V19RPKH0YS4YWXCN097XD","Vansh Gupta","01M71V19SGRZXSTBS6RTSDN2ER",0,"MIT","https:\u002F\u002Fgithub.com\u002Fvansh0027\u002Fvibebuddy\u002Fblob\u002Fmain\u002Fvibebuddy-stop\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30],"vibebuddy","vibebuddy stop","stop","teardown","remove","daemon","buddy","hooks","clean","claude code hooks","kill","code","2026-11-10 13:02:02",false,"---\nname: vibebuddy-stop\ndescription: Stop the vibebuddy daemon and remove its Claude Code hooks. Clean teardown.\ntriggers:\n  - stop vibebuddy\n  - kill buddy\n  - turn off buddy\n  - remove buddy\n---\n\n# \u002Fvibebuddy-stop\n\ntuck the buddy in completely.\n\n## Step 1: Kill the daemon\n\n```bash\nvibebuddy stop 2>\u002Fdev\u002Fnull\npkill -f \"vibebuddy run\" 2>\u002Fdev\u002Fnull\nrm -f \u002Ftmp\u002Fvibebuddy.sock \"${XDG_RUNTIME_DIR:-\u002Ftmp}\u002Fvibebuddy.sock\"\necho \"*yawn* buddy is taking a nap. wake me with \u002Fvibebuddy-start\"\n```\n\n## Step 2: Remove hooks from settings.json\n\n```bash\nSETTINGS=\"$HOME\u002F.claude\u002Fsettings.json\"\nif ! grep -q '\"vibebuddy send auto\"' \"$SETTINGS\" 2>\u002Fdev\u002Fnull; then\n  echo \"no hooks to unwire — already tidy\"\nelse\n  cp \"$SETTINGS\" \"$SETTINGS.bak-vibebuddy-$(date +%s)\"\n  python3 - \"$SETTINGS\" \u003C\u003C'PY'\nimport json, sys\npath = sys.argv[1]\nwith open(path) as f: cfg = json.load(f)\ndef keep(entry):\n    inner = entry.get(\"hooks\", [])\n    inner = [h for h in inner if h.get(\"command\") != \"vibebuddy send auto\"]\n    if not inner: return None\n    entry[\"hooks\"] = inner\n    return entry\nhooks = cfg.get(\"hooks\", {})\nfor ev in list(hooks):\n    cleaned = [e for e in (keep(x) for x in hooks[ev]) if e]\n    if cleaned: hooks[ev] = cleaned\n    else: del hooks[ev]\nif not hooks and \"hooks\" in cfg: del cfg[\"hooks\"]\nwith open(path,\"w\") as f: json.dump(cfg, f, indent=2)\nPY\n  echo \"hooks unwired. settings.json backed up — promise i didn't break anything\"\nfi\n```\n\n## Step 3: Remove statusLine from settings.json\n\nIf the buddy is also wired into the statusline, unwire that too.\n\n```bash\nSETTINGS=\"$HOME\u002F.claude\u002Fsettings.json\"\nif ! grep -q '\"vibebuddy line\"' \"$SETTINGS\" 2>\u002Fdev\u002Fnull; then\n  echo \"no statusline to unwire — already tidy\"\nelse\n  cp \"$SETTINGS\" \"$SETTINGS.bak-vibebuddy-$(date +%s)\"\n  python3 - \"$SETTINGS\" \u003C\u003C'PY'\nimport json, sys\npath = sys.argv[1]\nwith open(path) as f: cfg = json.load(f)\nsl = cfg.get(\"statusLine\")\nif isinstance(sl, dict) and sl.get(\"command\") == \"vibebuddy line\":\n    del cfg[\"statusLine\"]\nwith open(path,\"w\") as f: json.dump(cfg, f, indent=2)\nPY\n  echo \"statusline unwired. settings.json backed up\"\nfi\n```\n\n## Step 4: Tell the user\n\n> buddy is off. restart claude code if you want the hooks fully unloaded from the running session.\n>\n> miss me? `\u002Fvibebuddy-start`\n","# \u002Fvibebuddy-stop\n\ntuck the buddy in completely.\n\n## Step 1: Kill the daemon\n\n```bash\nvibebuddy stop 2>\u002Fdev\u002Fnull\npkill -f \"vibebuddy run\" 2>\u002Fdev\u002Fnull\nrm -f \u002Ftmp\u002Fvibebuddy.sock \"${XDG_RUNTIME_DIR:-\u002Ftmp}\u002Fvibebuddy.sock\"\necho \"*yawn* buddy is taking a nap. wake me with \u002Fvibebuddy-start\"\n```\n\n## Step 2: Remove hooks from settings.json\n\n```bash\nSETTINGS=\"$HOME\u002F.claude\u002Fsettings.json\"\nif ! grep -q '\"vibebuddy send auto\"' \"$SETTINGS\" 2>\u002Fdev\u002Fnull; then\n  echo \"no hooks to unwire — already tidy\"\nelse\n  cp \"$SETTINGS\" \"$SETTINGS.bak-vibebuddy-$(date +%s)\"\n  python3 - \"$SETTINGS\" \u003C\u003C'PY'\nimport json, sys\npath = sys.argv[1]\nwith open(path) as f: cfg = json.load(f)\ndef keep(entry):\n    inner = entry.get(\"hooks\", [])\n    inner = [h for h in inner if h.get(\"command\") != \"vibebuddy send auto\"]\n    if not inner: return None\n    entry[\"hooks\"] = inner\n    return entry\nhooks = cfg.get(\"hooks\", {})\nfor ev in list(hooks):\n    cleaned = [e for e in (keep(x) for x in hooks[ev]) if e]\n    if cleaned: hooks[ev] = cleaned\n    else: del hooks[ev]\nif not hooks and \"hooks\" in cfg: del cfg[\"hooks\"]\nwith open(path,\"w\") as f: json.dump(cfg, f, indent=2)\nPY\n  echo \"hooks unwired. settings.json backed up — promise i didn't break anything\"\nfi\n```\n\n## Step 3: Remove statusLine from settings.json\n\nIf the buddy is also wired into the statusline, unwire that too.\n\n```bash\nSETTINGS=\"$HOME\u002F.claude\u002Fsettings.json\"\nif ! grep -q '\"vibebuddy line\"' \"$SETTINGS\" 2>\u002Fdev\u002Fnull; then\n  echo \"no statusline to unwire — already tidy\"\nelse\n  cp \"$SETTINGS\" \"$SETTINGS.bak-vibebuddy-$(date +%s)\"\n  python3 - \"$SETTINGS\" \u003C\u003C'PY'\nimport json, sys\npath = sys.argv[1]\nwith open(path) as f: cfg = json.load(f)\nsl = cfg.get(\"statusLine\")\nif isinstance(sl, dict) and sl.get(\"command\") == \"vibebuddy line\":\n    del cfg[\"statusLine\"]\nwith open(path,\"w\") as f: json.dump(cfg, f, indent=2)\nPY\n  echo \"statusline unwired. settings.json backed up\"\nfi\n```\n\n## Step 4: Tell the user\n\n> buddy is off. restart claude code if you want the hooks fully unloaded from the running session.\n>\n> miss me? `\u002Fvibebuddy-start`\n",{"name":5,"triggers":36,"description":7},[37,38,39,40],"stop vibebuddy","kill buddy","turn off buddy","remove buddy","main","fb27b3a1d3079c9f9f5dc005693fc8ca63d5cac1","https:\u002F\u002Fgithub.com\u002Fvansh0027\u002Fvibebuddy","https:\u002F\u002Fgithub.com\u002Fvansh0027","2026-05-04 12:30:23",{"source":8,"skillName":5,"commands":47,"prompt":57,"zipAvailable":58},[48,51,54],{"tool":49,"command":50},"npx","npx skills add vansh0027\u002Fvibebuddy --skill vibebuddy-stop",{"tool":52,"command":53},"bunx","bunx skills add vansh0027\u002Fvibebuddy --skill vibebuddy-stop",{"tool":55,"command":56},"pnpm","pnpm dlx skills add vansh0027\u002Fvibebuddy --skill vibebuddy-stop","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fvansh0027\u002Fvibebuddy\u002Fblob\u002Fmain\u002Fvibebuddy-stop\u002FSKILL.md",true,[],[61,76,96,108,123,137],{"skillNo":62,"name":63,"nameZh":6,"description":64,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":67,"publishedAt":31},"01M71V26KQ68QH38BTFAVZAHJ0","vibebuddy-upgrade","Upgrade vibebuddy to the latest version (git pull + rebuild).","https:\u002F\u002Fgithub.com\u002Fvansh0027\u002Fvibebuddy\u002Fblob\u002Fmain\u002Fvibebuddy-upgrade\u002FSKILL.md",[],[68,19,69,25,70,71,72,73,74,75],"vibebuddy upgrade","upgrade","rebuild","update","version","git","pull","latest",{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":87,"publishedAt":31},"01M71V24MSXG7MZJR20FR45BB6","vibebuddy-theme","Switch the vibebuddy mascot theme (slime, cat, robot — v0.2).","https:\u002F\u002Fgithub.com\u002Fvansh0027\u002Fvibebuddy\u002Fblob\u002Fmain\u002Fvibebuddy-theme\u002FSKILL.md",[82],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",[19,88,89,90,91,92,93,94,95,25],"vibebuddy theme","theme","change","slime","cat","robot","v0","switch",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":31},"01M71V205BAQ1Q6XZEQ168SSP9","vibebuddy-statusline","Wire vibebuddy into Claude Code's statusline so the buddy lives at the bottom of your terminal. No tmux needed.","https:\u002F\u002Fgithub.com\u002Fvansh0027\u002Fvibebuddy\u002Fblob\u002Fmain\u002Fvibebuddy-statusline\u002FSKILL.md",[],[19,103,104,105,30,106,25,107],"statusline","vibebuddy statusline","terminal","at","tmux",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":31},"01M71V1XW249V28F4BWQVRRAS5","vibebuddy-start","Start the vibebuddy daemon and wire Claude Code hooks so the buddy reacts to your session. Idempotent — safe to re-run.","https:\u002F\u002Fgithub.com\u002Fvansh0027\u002Fvibebuddy\u002Fblob\u002Fmain\u002Fvibebuddy-start\u002FSKILL.md",[],[115,116,19,30,117,118,24,119,120,121,122,25,26,28],"start","vibebuddy start","idempotent","run","re","session","launch","safe",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":31},"01M71V1VV97GTMVAZH2PVXA00D","vibebuddy-scene","Set, preview, or disable the buddy's environment fx (bubbles, motion, sparkles).","https:\u002F\u002Fgithub.com\u002Fvansh0027\u002Fvibebuddy\u002Fblob\u002Fmain\u002Fvibebuddy-scene\u002FSKILL.md",[],[130,19,131,132,133,134,135,136,25],"vibebuddy scene","environment","SET","motion","disable","preview","fx",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":143,"publishedAt":31},"01M71V1SR7T7DPZ4MKZV8DFBQ9","vibebuddy-recap","Show what just happened — local counters from Claude Code hooks. Zero tokens.","https:\u002F\u002Fgithub.com\u002Fvansh0027\u002Fvibebuddy\u002Fblob\u002Fmain\u002Fvibebuddy-recap\u002FSKILL.md",[],[144,145,19,146,147,148,149,120,26,150,28,30],"vibebuddy recap","recap","show","ZeRO","just","tokens","local"]