By skitzo2000
Mirror Claude Code session state to a Claude-XXXX BLE pet device (ESP32 firmware). Ships a Go MCP server that holds the BLE link; hooks fire on every Claude Code event; tap approval prompts on the device. No separate runtime install — the binary is bundled.
Connect the buddy MCP server to a paired Claude-XXXX BLE device.
Check the buddy MCP server's liveness and BLE connection state.
Push session counters + a one-line msg to the device HUD.
Show a synthetic approval prompt on the device to verify the round trip.
Parse the current Claude Code session transcript and push tokens to the device.
Matches all tools
Hooks run on every tool call, not just specific ones
Admin access level
Server config contains admin-level keywords
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Executes bash commands
Hook triggers when Bash tool is used
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Modifies files
Hook triggers on file write and edit operations
A Claude Code plugin that mirrors your session — running tools,
permission prompts, transcripts, token usage — to a small ESP32 BLE
device with a TFT screen. Originally a port of Anthropic's
claude-desktop-buddy
firmware; this project drives that firmware from Claude Code (the
CLI / IDE-extension / web), replacing the Claude Desktop app's built-in
Hardware Buddy GUI.
Works on Linux, macOS, and Windows — the plugin ships a single Go binary, no separate runtime install. MIT licensed.
Two repos, one pet.
This repo is the Claude Code plugin — the bits that let the buddy approve tool calls, mirror sessions, and track tokens for your CLI sessions. Its sibling is the firmware that runs on the device itself:
| M5StickC Plus | CYD ESP32 | |
|---|---|---|
| Claude Desktop | Anthropic's built-in Hardware Buddy | Web flasher → Claude Desktop GUI |
| Claude Code | This plugin | Web flasher → this plugin |
Each side runs standalone. The CYD firmware works with Claude Desktop's GUI without this plugin, and this plugin works with any board running buddy firmware — you don't need the CYD if you already have an M5.
PreToolUse hook.SessionStart, UserPromptSubmit,
PostToolUse, Stop, Notification, PreCompact, SubagentStop) —
the pet's mood + HUD reflect what Claude is doing.bin/hwbuddy is a single statically-built
Go binary that runs as both the MCP server and the hook-side CLI.Two steps the first time (plus one-time pairing).
Linux:
bluetoothctl
[bluetoothctl]> agent KeyboardOnly
[bluetoothctl]> default-agent
[bluetoothctl]> scan le
# wait for [NEW] Device EC:E3:XX:XX:XX:XX Claude-XXXX
[bluetoothctl]> scan off
[bluetoothctl]> pair EC:E3:XX:XX:XX:XX
# device shows a 6-digit passkey; type it
[bluetoothctl]> trust EC:E3:XX:XX:XX:XX
[bluetoothctl]> exit
macOS: System Settings → Bluetooth → pair with passkey display.
In Claude Code:
/plugin marketplace add https://github.com/skitzo2000/ai-hardware-buddy
/plugin install hardware-buddy@ai-hardware-buddy
Or from a local checkout:
/plugin marketplace add /path/to/ai-hardware-buddy
/plugin install hardware-buddy@ai-hardware-buddy
Restart claude so the plugin's hooks load and the MCP server starts.
No edits to your ~/.claude/settings.json are required.
$HWBUDDY_ADDRESS for auto-attachIf you have a single buddy on a stable MAC, set this in your shell rc:
export HWBUDDY_ADDRESS=EC:E3:XX:XX:XX:XX
The MCP server will auto-connect when it starts and you skip the
/hwb-connect step.
In Claude Code:
/hwb-ping # MCP server liveness + BLE state
/hwb-test # synthetic approval prompt on the device
| Command | What it does |
|---|---|
/hwb-ping | Server liveness + BLE state. |
/hwb-connect [--address MAC] | Attach the MCP server's BLE link. |
/hwb-status [...] | Manually push session counters + msg. |
/hwb-tokens [--transcript PATH] | Parse transcript, push tokens. |
/hwb-test | Fake approval prompt — verify touch zones. |
┌──────────────┐ PreToolUse / events ┌───────────┐ BLE NUS ┌────────────┐
│ Claude Code ├─────────────────────────►│ hwbuddy │◄───────────►│ ESP32 │
│ (session) │ stdio + unix socket │ MCP srv │ JSON lines │ pet │
└──────────────┘ └───────────┘ └────────────┘
npx claudepluginhub skitzo2000/ai-hardware-buddy --plugin hardware-buddyAmnesia Labs internal alpha. Invite only.
Access thousands of AI prompts and skills directly in your AI coding assistant. Search prompts, discover skills, save your own, and improve prompts with AI.
Feature development with code-architect/explorer/reviewer agents, CLAUDE.md audit and session learnings, and Agent Skills creation with eval benchmarking from Anthropic.
Production-grade engineering skills for AI coding agents — covering the full software development lifecycle from spec to ship.
Permanent coding companion for Claude Code — survives any update. MCP-based terminal pet with ASCII art, stats, reactions, and personality.
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
Complete developer toolkit for Claude Code