cardputer-buddy — Claude Code skill: what it does, how to install
Iterate on Cardputer-Adv MicroPython apps without re-flashing. The skill pushes individual files over serial, streams device logs, and runs one-shot REPL commands.
/plugin install cwc-makers@claude-plugins-officialWhat cardputer-buddy does
This skill manages the buddy/ MicroPython payload for Cardputer-Adv inside the local build-with-claude clone. The device must already be provisioned with m5-onboard. At boot time, main.py scans /flash/apps/ and automatically lists every .py file as a launcher menu option.
Instead of re-flashing firmware, you push modified files using buddy/scripts/push.py. The dev loop also provides tail_serial.py to inspect live hardware output and repl_run.py to evaluate one-off MicroPython commands directly on /flash/. New apps follow the conventions of buddy/device/apps/hello_cardputer.py.
Install this if you develop software for Cardputer and want a fast edit-push cycle. You will need your active USB-serial port name, such as /dev/ttyACM0 or COM3.
What it helps with
- push changed MicroPython files to Cardputer without re-flashing
- stream live serial logs directly from the connected device
- execute one-shot test commands in the MicroPython REPL
- add new applications to the Cardputer boot menu
Example prompts for the agent
- push to the cardputer apps/snake.py
- tail the device
- run on the device import os; print(os.listdir('/flash'))
How to install cardputer-buddy
1Plugin marketplace
/plugin install cwc-makers@claude-plugins-officialThis installs the whole cwc-makers plugin with all its skills
2Skills CLI (Vercel)
npx skills add anthropics/claude-plugins-official --skill cardputer-buddy -a claude-code3Manually: put the files in place
~/.claude/skills/cardputer-buddy/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/cardputer-buddy/
Manually: put the files in place
.agents/skills/cardputer-buddy/SKILL.mdFor all projects use ~/.agents/skills/
Manually: put the files in place
.cursor/skills/cardputer-buddy/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install anthropics/claude-plugins-official cardputer-buddy2Manually: put the files in place
.github/skills/cardputer-buddy/SKILL.mdPlatform CLI
gemini skills install https://github.com/anthropics/claude-plugins-official --path plugins/cwc-makers/skills/cardputer-buddyManually: put the files in place
.devin/skills/cardputer-buddy/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set37
The whole set →Similar
Questions about cardputer-buddy
How do I install cardputer-buddy in Claude Code?
Run /plugin install cwc-makers@claude-plugins-official in Claude Code, or install it using npx skills add anthropics/claude-plugins-official --skill cardputer-buddy -a claude-code.
What does cardputer-buddy do?
It manages USB-serial workflows for Cardputer-Adv: pushing single files, reading serial logs, and running one-shot MicroPython snippets.
How does Cardputer detect new apps?
The on-device main.py scans the /flash/apps/ folder on boot and lists every .py file as an executable menu entry.
Source text
SKILL.md · Apache-2.0
---
name: cardputer-buddy
description: Iterate on the Cardputer-Adv MicroPython app bundle (Claude Buddy, Snake, Hello) after the device is already provisioned via m5-onboard. Use when the user wants to add a new app, push a single changed .py without re-flashing, watch device serial logs, or run a one-shot REPL command. Trigger on "add an app", "push to the cardputer", "tail the device", "run on the device", or follow-up work after /maker-setup.
---
# Cardputer Buddy app bundle
The `buddy/` directory in the local `build-with-claude` clone is the MicroPython payload that `m5-onboard` installs onto `/flash/`. Work inside that clone.
## Device layout
```
/flash/
├── main.py launcher menu (replaces UIFlow's boot flow)
├── buddy_*.py shared libs (BLE, UI, state, protocol, chars)
├── burst_frames.py sprite frames
└── apps/
├── claude_buddy.py BLE client → Claude Desktop's Hardware Buddy
├── hello_cardputer.py
└── snake.py
```
`main.py` scans `/flash/apps/` at boot and lists every `.py` as a menu entry. Drop a file into `buddy/device/apps/`, push it, and it appears on next boot.
## Adding an app
Crib from `buddy/device/apps/hello_cardputer.py` — smallest example of keyboard polling, font, and exit conventions. Then push without re-flashing:
```bash
python3 onboard/scripts/install_apps.py --port <PORT> --src buddy
```
`<PORT>` is whatever `detect.py` reported last run (e.g. `/dev/cu.usbmodem1101`, `/dev/ttyACM0`, `COM3`).
## Dev loop tooling (`buddy/scripts/`)
```bash
# Push a subset of files over USB-serial
python3 buddy/scripts/push.py --port <PORT> --files apps/snake.py
# Watch device logs
python3 buddy/scripts/tail_serial.py --port <PORT>
# One-shot REPL exec
python3 buddy/scripts/repl_run.py --port <PORT> --script "import os; print(os.listdir('/flash'))"
```
© Anthropic · Apache-2.0 · anthropics/claude-plugins-official