From hardware-buddy
Bridges Claude Code to a Claude-XXXX BLE pet device (ESP32 firmware). The plugin ships a Go MCP server that holds the BLE link and exposes tools for approval prompts, session status, transcripts and token pushes. Trigger on "hardware buddy", "claude pet", "approve from device", "buddy device", "CYD pet", "ESP32 buddy", or anything referencing a Claude-XXXX BLE peripheral.
How this skill is triggered — by the user, by Claude, or both
Slash command
/hardware-buddy:hardware-buddyThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A small companion device — an ESP32 with a colour TFT — that mirrors
A small companion device — an ESP32 with a colour TFT — that mirrors Claude Code's current session state and surfaces permission prompts you can tap through. Replaces the Claude Desktop app's built-in Hardware Buddy GUI for users on Linux (and anywhere Claude Code runs).
Invoke when the user:
The plugin includes:
bin/hwbuddy, a Go binary) — declared in the
plugin's .mcp.json. Claude Code launches one instance per session
and keeps it alive. It holds the persistent BLE connection.hooks/hooks.json — fire on every Claude Code event
(SessionStart, PreToolUse, PostToolUse, UserPromptSubmit, Stop, …).
Each hook invokes hwbuddy event (or hwbuddy approve for
PreToolUse) which talks to the running MCP server over a Unix socket
side channel.┌──────────────┐ PreToolUse / events ┌───────────┐ BLE NUS ┌────────────┐
│ Claude Code ├─────────────────────────►│ hwbuddy │◄───────────►│ ESP32 │
│ (session) │ stdio + unix socket │ MCP srv │ JSON lines │ pet │
└──────────────┘ └───────────┘ └────────────┘
Flash the firmware. See
skitzo2000/claude-desktop-buddy
branch cyd. On first boot the device runs a 4-corner touch
calibration UI — tap each green crosshair.
Pair the device with your OS. Linux:
bluetoothctl
> agent KeyboardOnly
> default-agent
> scan le
# wait for [NEW] Device EC:E3:XX:XX:XX:XX Claude-XXXX
> scan off
> pair EC:E3:XX:XX:XX:XX
# type the 6-digit passkey shown on the device
> trust EC:E3:XX:XX:XX:XX
> exit
macOS: System Settings → Bluetooth → pair with passkey display.
Install the plugin. In Claude Code:
/plugin marketplace add https://github.com/skitzo2000/ai-hardware-buddy
/plugin install hardware-buddy@ai-hardware-buddy
Restart claude to load. No edits to ~/.claude/settings.json
required.
(Optional) set $HWBUDDY_ADDRESS in your shell rc to your device's
MAC. The MCP server auto-connects at startup instead of waiting for
a manual /hwb-connect.
| 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. |
Nordic UART Service. Newline-delimited JSON, both directions.
6e400001-b5a3-f393-e0a9-e50e24dcca9e6e400002-…6e400003-…Outgoing message shapes live in internal/protocol/protocol.go.
Incoming acks documented in the firmware's src/data.h + src/xfer.h.
If the MCP server is down or the device is offline, every hook returns exit 0 (allow / proceed). Unplugging the buddy must never break a Claude Code session.
Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub skitzo2000/ai-hardware-buddy --plugin hardware-buddy