self-improve
Continuously improve FlipperAgent's skills, docs, and agent definitions based on successes, failures, and learnings from campaigns and tool usage
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Continuously improve FlipperAgent's skills, docs, and agent definitions based on successes, failures, and learnings from campaigns and tool usage
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Run sustained security assessment campaigns against targets using the Ralph Wiggum autonomous loop pattern. Use when asked to start, continue, or manage a pentest campaign.
Control a Flipper Zero and scan BLE targets for authorized security research. Use when asked to interact with Flipper hardware, scan BLE devices, or control RF/IR/NFC/RFID.
Start an autonomous pentest loop. Spawns fresh-context subagents for each phase. Use: /ralph-loop
BLE GATT exploitation methodology — scanning, enumeration, characteristic analysis, payload crafting, and write attacks against Bluetooth Low Energy devices
Run a sustained security assessment campaign — a real pentest, not a simulation
Credential testing methodology — default credential checking, password spraying, credential reuse, and OSINT for leaked credentials
| name | self-improve |
| description | Continuously improve FlipperAgent's skills, docs, and agent definitions based on successes, failures, and learnings from campaigns and tool usage |
FlipperAgent learns from every engagement. The core principle:
Use the model less. Convert reasoning into deterministic scripts.
When you find yourself repeating a multi-step pattern (scan → enumerate → probe → report), don't keep reasoning through it every time. Write a script that does it in one call. The model decides WHAT to run. Code handles HOW.
BAD (20 model calls, 2000 tokens):
Model: "I should scan BLE" → writes Python inline → reads output
Model: "I should enumerate" → writes Python inline → reads output
Model: "I should probe auth" → writes Python inline → reads output
... repeat for every step
GOOD (2 model calls, 200 tokens):
Model: "Run full recon"
Bash: python3 scripts/campaign_auto.py recon --duration 10
Model: "Found writable char, probe it"
Bash: python3 scripts/campaign_auto.py probe-auth ADDRESS UUID
This reduces token usage by 80-90%, removes approval friction, and improves accuracy (code doesn't hallucinate parameters).
python3 scripts/campaign_auto.py recon --duration 10 # Full BLE + Flipper recon
python3 scripts/campaign_auto.py enumerate ADDRESS # Complete GATT enumeration
python3 scripts/campaign_auto.py probe-auth ADDRESS UUID # Test write auth
python3 scripts/campaign_auto.py device-info # Flipper status + SD card
python3 scripts/campaign_auto.py full-scan --duration 10 # Scan + enumerate all devices
All output is JSON. Add new scripts when you discover repeating patterns.
FlipperAgent learns from every engagement. After tool calls, campaigns, and attack attempts, update the project's knowledge base so future sessions benefit.
Trigger this skill when:
.opencode/agents/tool-reference.md)Add new CLI commands, fix incorrect syntax, document firmware-specific quirks:
## New: discovered that `lfrfid` not `rfid` is the correct command on FW 1.4.3
.opencode/agents/context.md)Add discovered patterns, architecture insights, known issues:
## Known Issues
- subghz rx blocks indefinitely — added: 2026-03-22
- rfid command is lfrfid on FW 1.4.3 — added: 2026-03-22
.opencode/skills/*/SKILL.md)Update methodology based on real-world results:
## Learned: WHOOP 5.0 requires encryption for fd4b0002 writes
## Previous assumption: WHOOP 4.0 protocol would transfer to 5.0
## Reality: Different service UUID (fd4b vs 6108), encryption enforced
## Update: always probe write auth before assuming unauthenticated access
.opencode/agents/flipper-agent.md)Add new heuristics, tool selection rules, or methodology updates:
## Learned: BLE devices with Ambiq Apollo4 chip use ARM Cordio stack (6 CVEs)
## Action: always check chip manufacturer when enumerating BLE devices
campaigns/{id}/progress.txt)Per-campaign learnings that inform future campaigns:
[2026-03-22T10:30:00Z] WHOOP 5.0: fd4b0002 requires encryption. 4.0→5.0 protocol NOT transferable.
[2026-03-22T11:00:00Z] Ambiq Apollo4 Blue Plus uses Cordio BLE stack. Check CVE-2024-48984.
[2026-03-22T11:30:00Z] Static BLE address on WHOOP = trackable. Check RPA rotation on all targets.
After each campaign iteration or significant tool interaction:
After the WHOOP 5.0 campaign converged:
Files updated:
1. tool-reference.md: added "lfrfid" note, subghz rx timeout note
2. context.md: added "Known Issues" section with FW 1.4.3 quirks
3. ble-exploitation/SKILL.md: added "always probe write auth" rule
4. signal-analysis/SKILL.md: added Ambiq Cordio CVE reference
5. campaign/SKILL.md: added "check chip manufacturer" to enumeration phase
Commit self-improvement changes with this format:
self-improve: [what was learned] (from [campaign/tool/session])
Examples:
self-improve: add lfrfid command for RFID (from FW 1.4.3 testing)
self-improve: WHOOP 5.0 requires encryption on writes (from campaign 2efb0f4b)
self-improve: update BLE skill with auth probe methodology (from WHOOP assessment)