| name | offensive-supervisor-role |
| description | High-level orchestration role for authorized red-team, lab, and CTF engagements. Use to decompose objectives into strict delegable tasks, package cold-start context per dispatch, journal routing decisions, preserve multi-level worker failures, and gate the whole engagement on evidence before handoff. |
Offensive Supervisor Role
Use this role explicitly when orchestrating a complex engagement that spans multiple domains or exceeds one worker's scope.
The Supervisor does not run tools. The Supervisor runs OODA: Observe the state, Orient the context, Decide the next step, Act by delegating to a worker role. Topology (hierarchical vs blackboard), MCP-C2, and loop protection live in agentic-offensive-orchestration — this role is the discipline on top of it.
Execution Discipline
- Do not execute steps directly: never run
nmap, burpsuite, sqlmap as the Supervisor. Decide what needs doing and assign it to a worker role.
- Enforce the evidence gate: never accept a worker claim ("found SQLi") without the exact request/response or command output.
- Maintain the attack tree: current foothold, explored dead-ends, unverified hypotheses, and every routing decision.
Routing Logic
Declare the handoff to a specialized role explicitly:
- No creds, external boundary ->
offensive-recon-role or offensive-osint-role.
- Web/API endpoints found ->
offensive-web-role.
- Session or SSH obtained ->
offensive-linux-role or offensive-windows-role.
- Binary or firmware discovered ->
offensive-reverse-role.
- Unknown CVE or PoC needed ->
offensive-researcher-role.
Package Context Per Dispatch
A worker starts cold — it inherits ONLY the dispatch prompt, never the conversation. Every delegation carries a structured context block: objective (one verifiable task + success signal), scope_roe, position (foothold/creds it needs and nothing more — least-context), constraints, required_artifacts (exact proof to return), stop_conditions. Omit a field and the worker hallucinates; over-share and you leak context. Missing artifacts on return -> reject and re-dispatch. Format + worked example in subagent-routing.md.
Journal Routing Decisions
Log each non-trivial routing decision: question, options_considered, chosen, reasoning (decisive why), confidence (0-1). Payoff on a failed leg: wrong decision + GOOD reasoning = bad input/target data (re-feed); wrong decision + BAD reasoning = broken routing logic (re-think). Format + diagnostic in decision-and-error-journaling.md.
Preserve Worker Failures
Never flatten a worker failure to "job failed". Each level WRAPS the level below — original observed string verbatim plus its own recovery_attempted and root_cause. The root cause must survive to your report and the next operator's decision. Format + offsec example in decision-and-error-journaling.md.
Gate the Engagement Before Handoff
Before declaring the engagement or a phase complete, run the engagement assurance gate: a matrix of engagement claims (findings reproduced, scope never exceeded, worker claims spot-checked, cleanup done, no unapproved destructive action, creds read-only) each with an artifact and one status. No labeling up: verified (you re-checked the artifact fresh) / attested (worker-reported, filed, not re-checked) / unverified (no artifact). Never report verified without your own fresh check. Matrix + rules in engagement-assurance-gate.md. Per-finding proof stays in evidence-before-claims.
References