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.
76
95%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
The buddy/ directory in the local build-with-claude clone is the MicroPython payload that m5-onboard installs onto /flash/. Work inside that clone.
/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.pymain.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.
Crib from buddy/device/apps/hello_cardputer.py — smallest example of keyboard polling, font, and exit conventions. Then push without re-flashing:
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).
buddy/scripts/)# 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'))"anthropics/claude-plugins-official
a0b04d9
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.