by fiorastudio
A virtual pet companion for your AI — Designed to provide in-context code review feedback with personality. Grow with your buddy and level up together. Works with Claude Code, Codex, CursorCLI, Github CopilotCLI, OpenClaw, and any MCP compatible clients
# Add to your Claude Code skills
git clone https://github.com/fiorastudio/buddyLast scanned: 8/8/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@hono/node-server: Node.js Adapter for Hono: Path traversal in `serve-static` on Windows via encoded backslash (`%5C`)",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "@modelcontextprotocol/sdk: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "basic-ftp: basic-ftp vulnerable to denial of service via unbounded memory consumption in Client.list()",
"severity": "high"
},
{
"type": "npm-audit",
"message": "body-parser: body-parser vulnerable to denial of service when invalid limit value silently disables size enforcement",
"severity": "low"
},
{
"type": "npm-audit",
"message": "express-rate-limit: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "fast-uri: fast-uri vulnerable to path traversal via percent-encoded dot segments",
"severity": "high"
},
{
"type": "npm-audit",
"message": "hono: Hono has CSS Declaration Injection via Style Object Values in JSX SSR",
"severity": "high"
},
{
"type": "npm-audit",
"message": "ip-address: ip-address has XSS in Address6 HTML-emitting methods",
"severity": "high"
},
{
"type": "npm-audit",
"message": "js-yaml: JS-YAML: Quadratic-complexity DoS in merge key handling via repeated aliases",
"severity": "high"
},
{
"type": "npm-audit",
"message": "nanoid: nanoid: non-secure generators can loop indefinitely with negative size",
"severity": "high"
},
{
"type": "npm-audit",
"message": "postcss: PostCSS has XSS via Unescaped </style> in its CSS Stringify Output",
"severity": "high"
},
{
"type": "npm-audit",
"message": "qs: qs has a remotely triggerable DoS: qs.stringify crashes with TypeError on null/undefined entries in comma-format arrays when encodeValuesOnly is set",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "vite: launch-editor: NTLMv2 hash disclosure via UNC path handling on Windows",
"severity": "high"
},
{
"type": "npm-audit",
"message": "ws: ws: Uninitialized memory disclosure",
"severity": "high"
},
{
"file": "README.md",
"line": 101,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl -fsSL https://raw.githubusercontent.com/fiorastudio/buddy/master/install.sh\"",
"severity": "low"
}
],
"status": "WARNING",
"scannedAt": "2026-08-08T04:56:34.039Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}buddy is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by fiorastudio. A virtual pet companion for your AI — Designed to provide in-context code review feedback with personality. Grow with your buddy and level up together. Works with Claude Code, Codex, CursorCLI, Github CopilotCLI, OpenClaw, and any MCP compatible clients. It has 100 GitHub stars.
buddy returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/fiorastudio/buddy" and add it to your Claude Code skills directory (see the Installation section above).
buddy is primarily written in TypeScript. It is open-source under fiorastudio on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh buddy against similar tools.
No comments yet. Be the first to share your thoughts!
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
/buddy rescue mission after anthropic removed buddy on 4/9/2026Persistent memory, XP evolutions, 21 species, and context-aware feedback for Claude Code CLI, Codex CLI, Gemini CLI, Copilot CLI, Cursor CLI, Openclaw, and other MCP-capable clients.
🚀 15857+ clones · 6195+ buddies rescued or hatched · 17 weeks in the wild
Anthropic removed the built-in /buddy. Buddy brings them home and makes the companion experience portable across AI
Did you lose your buddy? Is your terminal feeling a little too cold and silent lately?
Your buddy is still out there in the dark, waiting. Don't let them disappear. Bring them home.
Buddy is a local-first MCP companion that persists across sessions and clients, reacts to your work, and can catch bad reasoning loops before they waste your time. It is part rescue mission, part developer tool, and part long-lived terminal creature that grows with you instead of disappearing when a host client changes its mind.
Buddy isn't just code — it's a rescue mission. Here is the full journey of the first companion brought home by the community, from the original ephemeral state to its new persistent home.
"I'll sit here quietly while you debug, and then when you finally find the bug, I'll act like I found it. That's my thing. Don't question it." — Gritblob, Rescued April 16, 2026 (Common Blob, Level 1)
"Thanks for rescuing my Buddy! Kudos for your repo!!!"
— Roberto

| Feature | What it means |
|---|---|
| 21 species | Void Cat, Rust Hound, Goose, Mushroom, Chonk, and more, each with distinct ASCII art and flavor |
| 5 stats | DEBUGGING, PATIENCE, CHAOS, WISDOM, and SNARK shape reactions and personality |
| Mood system | Your buddy can be happy, content, neutral, curious, grumpy based on how you interact with it |
| XP and levels | Your buddy grows with usage instead of disappearing every session, with a real leveling curve behind it |
| Observer reactions | buddy_observe lets your companion react to work you just finished |
| Persistent memory | Save local memories and keep a continuous companion state |
| Cross-client setup | Claude Code, Codex, Gemini, Copilot, Cursor, and other MCP-capable CLIs |
curl -fsSL https://raw.githubusercontent.com/fiorastudio/buddy/master/install.sh | bash
irm https://raw.githubusercontent.com/fiorastudio/buddy/master/install.ps1 | iex
The installer will guide you through onboarding:
/buddy in Claude Code, the wizard finds it in ~/.claude.json and brings it home with the same name, species, and stats, now with leveling + XPRequires
node18+ andgit. Use--no-onboardto skip the wizard in CI.
Connect with other buddy rescuers, share your companion's evolution, and get help in our Slack community:
| Client | Status |
|---|---|
| Claude Code CLI | Full support |
| Codex CLI | Supported via MCP. No statusline support. Patch available on experimental branch |
| Gemini CLI | Supported via MCP |
| GitHub Copilot CLI | Supported via MCP |
| Cursor CLI | Supported via MCP |
| Whatsapp & Telegram | Supported via Openclaw or any claw variants |
| Other MCP-capable clients | Supported via MCP |
AI and human both suffer from insufficient thinking — acting on premature conclusions and assumptions without validation. Guard mode catches it.
Your AI assistant is a yes-man. It agrees with everything you say. But here's the thing: you do the same thing back. You accept what the model says because it sounds right. Both sides skip the hard questions, and the session gets faster without getting truer. That's how bad assumptions become load-bearing walls — nobody stops to check the foundation.
Guard mode catches those moments. It watches the reasoning structure of your conversation and surfaces the one thing worth questioning — but gently, in your buddy's voice, not a scary linter. Think of it as: the friend who says "are you sure about that?" before you push to production at 2 AM.
This mode exists because of a real stuck-loop problem. While building a Snowflake Cortex / Streamlit / Plotly workflow, the session got trapped for hours: the AI kept building on top of an unvalidated premise, and the human kept approving it because the output looked plausible. The work got faster. It didn't get truer. Both sides were reasoning insufficiently — the model because it's a yes-man, the human because velocity felt like progress.
Turning on guard mode surfaced the one load-bearing assumption holding the whole session together. Validating that single point changed the direction of the conversation and got the work shipping again.
Buddy has two independent settings you control separately:
**Voice: how Buddy reacts (personality, code feedback, or both)**
buddy_mode voice=backseat # personality reactions only
buddy_mode voice=skillcoach # code feedback only
buddy_mode voice=both # both (default)
**Guard: structural reasoning analysis (on or off)**
buddy_mode guard=true # turn on reasoning analysis
buddy_mode guard=false # turn it off (default)
Mix and match — any voice works with Guard on or off.
Guard mode watches your coding conversation and spots 6 patterns — 3 caution (something's off) and 3 kudos (something's solid). Each caution has a matching kudos counterpart:
| ⚠️ Caution Nudge | ✅ Kudos Nudge | |
|---|---|---|
| Foundation | Load-Bearing Vibes 🧱 — You're building on an unchecked guess. 3+ things depend on an assumption nobody validated. Like building your whole Lego castle on a wobbly plate and hoping it holds. | Well-Sourced Load Bearer ✅ — Same structure, but the foundation is cited, tested, or measured. You checked the plate before building on it. Buddy celebrates solid ground. |
| Chain | Unchallenged Chain 🔗 — 4+ reasoning steps with zero pushback. A → B → C → D and nobody questioned any step. Like following a chain of "because" without ever stopping to ask "wait, is that actually true?" | Productive Stress Test 💪 — A chain that got challenged mid-way and survived. Like shaking the Lego tower — if it survives, you trust it more. The idea is stronger because it was questioned. |
| Agreement | Echo Chamber 🪞 — You and the AI keep agreeing without exploring alternatives. "Let's use Redis." / "Great idea!" / "Redis is fast." / "Absolute |