CLAUDE CODE / PLUGIN / V0.1.0

The Flipper Zero
development cockpit.

Build, deploy, test, and live-debug FAPs without ever touching the SD card. Three autonomous agents drive the device over USB RPC, decode crashes into source lines, and write the reproduction recipe for you.

OFW Momentum Unleashed RogueMaster USB RPC MCP
claude-code · flipper-dev-toolkit
$ /connect-flipper
Detected device on COM5
Firmware: Momentum dev · API 87.1 · F7
Deploy directory: /ext/apps/Tools
 
$ /build-fap
Built archive_unzipper.fap (32 KB)
 
$ /deploy-fap
Deployed to /ext/apps/Tools/
 
$ /test-fap tests/basic-launch.yaml
[OK] launch: archive_unzipper
[OK] assert_screen_contains: "Archive Unzipper"
[OK] assert_no_crash: true
═══ PASS on momentum (0.8s)

Everything the build-test-debug loop needs.

Eight slash commands cover the loop end-to-end. Three agents take over when investigation needs autonomy. One MCP server holds the RPC session for both.

[ FW ]

Auto firmware detection

Recognizes OFW, Momentum, Unleashed, and RogueMaster. Routes deploys to the correct app directory; picks the matching ufbt channel automatically.

[ →/ ]

Deploy over USB

RPC storage handles the upload. No SD swap, no eject cycle. Survives device reboots if a crash interrupts the run.

[ 📷 ]

Screen + ASCII capture

128×64 framebuffer as PNG for visual fidelity and ASCII art for text assertions. Both are returned by every capture call.

[ ⏵⏵ ]

Input automation

Single press, long press, sequences with inter-step delays. Token grammar matches scenario YAML so muscle memory carries over.

[ ▮▮ ]

Live log capture

RPC log subscription runs in the background. Crash signatures (BusFault, MemManage, furi_check) are tagged live as they arrive.

[ 🔍 ]

Crash decoding

Auto-detects arm-none-eabi-addr2line via PATH or ufbt toolchain. Resolves PC/LR to source lines. Graceful fallback to heuristics.

[ ◇ ]

YAML scenarios

Declarative, CI-friendly. Step kinds for launch, input, capture, assertion, storage, and on-failure hooks. Per-firmware gating.

[ ⬢ ]

MCP server

Persistent RPC session shared by all agents. 25 native tools. Sub-100ms ping liveness check after every risky operation.

[ ⛯ ]

GPIO read / write

Hardware peripheral debugging on PA7/PA6/PA4/PB3/PB2/PC3/PC1/PC0. Configures pin mode and pull on the fly.

Architecture at a glance.

One Claude Code session, one persistent USB RPC session. Skills and agents share the MCP server's connection — no per-call reconnect cost.

Architecture diagram showing Claude Code at the top, with Skills and Agents in the middle layer, connected to the MCP server, which talks to the Flipper Zero device over USB.
9
Skills
3
Agents
25
MCP Tools
4+
Firmware variants
0
SD swaps

From plugged in to passing tests.

Five commands. The first one detects everything else.

test loop
/connect-flipper            // detect COM5, Momentum dev
/build-fap                  // ufbt, match channel
/deploy-fap                 // upload to /ext/apps/Tools/
/test-fap tests/basic.yaml  // run, capture, assert
Test loop diagram: detect, build, deploy, drive, assert, report, with a feedback arrow to the live-debugger agent on failure.
Agent loop diagram: observe, hypothesize, act, verify, narrow, report — cycles up to twenty times before producing a final report.

Agents that drive the device.

The MCP server gives agents persistent control. They reproduce the bug, capture state at each step, form hypotheses, and bisect until the root cause appears.

fap-live-debugger

Reproduces a bug autonomously. Connects, deploys, navigates, narrows down, reports a reproduction recipe plus the suspected source line.

fap-test-evaluator

Adaptive YAML scenario runner. Adjusts mid-test when device behavior diverges. Classifies failures into CRASH / ASSERTION / UI / STORAGE / BUILD / LOGIC / FLAKE.

fap-crash-forensics

Decodes traces into source lines via addr2line. Ranks root-cause hypotheses with confidence levels. Optionally verifies the top guess by reproducing once on device.

Install.

Drop into ~/.claude/plugins/, restart Claude Code, run /connect-flipper. First-run bootstrap handles all Python deps automatically.

macos / linux
git clone https://github.com/halbothpa/flipper-dev-toolkit \
  ~/.claude/plugins/flipper-dev-toolkit
windows · powershell
git clone https://github.com/halbothpa/flipper-dev-toolkit `
  $HOME\.claude\plugins\flipper-dev-toolkit
View source on GitHub →