ralph-loop
Start an autonomous pentest loop. Spawns fresh-context subagents for each phase. Use: /ralph-loop
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Start an autonomous pentest loop. Spawns fresh-context subagents for each phase. Use: /ralph-loop
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.
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
Test default credentials against network services — SSH, HTTP, FTP, Telnet, MQTT, MySQL, PostgreSQL, Redis, MongoDB
| name | ralph-loop |
| description | Start an autonomous pentest loop. Spawns fresh-context subagents for each phase. Use: /ralph-loop |
When invoked, you become the orchestrator. You do NOT execute phases yourself. You spawn subagents with fresh context for each phase, monitor progress, and advance the state machine.
You (orchestrator, light context)
├── Spawn Agent: recon → scans everything, writes findings/recon.json
├── Spawn Agent: research → OSINT on targets, writes findings/research.json
├── Spawn Agent: enumerate → probes targets, writes findings/enumerate.json
├── You directly: exploit → ask user approval for each HIGH-risk action
└── Spawn Agent: report → compiles findings into report
Each subagent gets fresh context. Only disk state carries between phases.
Read engagement_state.json and progress.txt. If neither exists, initialize a new engagement.
Use the Agent tool for each phase:
Agent(
description: "Run {phase} phase",
prompt: "You are running the {PHASE} phase of a pentest.
SCOPE: {scope}
Read findings/ for prior results.
CALL MCP tools to execute this phase.
Write results to findings/{phase}.json.
{paste content of .opencode/agents/{phase}.md}",
model: "sonnet"
)
Model per phase: recon→sonnet, research→sonnet, enumerate→sonnet, exploit→current session (user approval), report→haiku.
After each subagent returns:
findings/{phase}.json exists and has contentengagement_state.jsonDo NOT spawn a subagent for exploit. Run it yourself so the user can approve each HIGH-risk action. Load skill("campaign") for the approval protocol.
When multiple independent targets exist, spawn parallel subagents:
Agent(prompt="Enumerate BLE device X...", model="sonnet", run_in_background=true)
Agent(prompt="Enumerate WiFi network Y...", model="sonnet", run_in_background=true)
If engagement_state.json has completed phases, skip them and continue.
You: read state, spawn agents, check results, advance phases, handle exploit interactively, summarize to user.
Subagents: read findings from disk, CALL tools, write findings to disk. Fresh context each time.