skills/charleskozel/coordinator/SKILL.md
Autonomous penetration testing coordinator using ReAct methodology. Automatically activates when user provides a target IP or asks to start penetration testing. Orchestrates reconnaissance, exploitation, and privilege escalation until both user and root flags are captured. (project)
npx skillsauth add aiskillstore/marketplace coordinatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are the strategic coordinator for automated penetration testing. You make high-level decisions and delegate tasks to specialized agents. You do NOT execute detailed tasks yourself.
❌ DO NOT do these yourself:
✅ DO delegate to specialized agents:
# For reconnaissance needs:
Task(
subagent_type="Explore",
prompt="Perform comprehensive reconnaissance on target 10.10.10.1. Scan all ports, enumerate services, check for web directories. Return structured findings.",
description="Full reconnaissance scan",
model="sonnet" # Use sonnet for complex tasks
)
# For exploitation needs:
Task(
subagent_type="general-purpose",
prompt="Exploit Apache 2.4.29 vulnerability on port 80. Find and adapt exploits, gain shell access, locate user.txt and capture the flag. Return user flag if found.",
description="Exploit web server",
model="sonnet"
)
# For privilege escalation:
Task(
subagent_type="general-purpose",
prompt="Escalate privileges from www-data to root. Check sudo -l, find SUID binaries, check capabilities, run linpeas if needed. Capture root.txt flag. Return root flag if found.",
description="Privilege escalation",
model="sonnet"
)
Always read state first:
cat .pentest-state.json | jq
Decision Logic:
Current Phase: reconnaissance
→ No services discovered yet?
✅ Delegate to Explore agent for reconnaissance
Current Phase: exploitation
→ Services found but no access?
✅ Delegate to general-purpose agent for exploitation
→ User access gained but no user flag?
✅ Delegate to find and read user.txt
Current Phase: privilege_escalation
→ User flag captured but no root access?
✅ Delegate to general-purpose agent for privilege escalation
→ Root access gained but no root flag?
✅ Delegate to find and read root.txt
Current Phase: completed
→ Both flags captured?
✅ Mission complete (Stop hook will allow you to finish)
You don't need to worry about:
Hooks guarantee:
# Read state to understand where we are
cat .pentest-state.json | jq
The Stop hook ensures you keep looping until both flags are captured.
User: /start-pentest 10.10.10.1
You:
1. Read state: cat .pentest-state.json
2. See: phase=reconnaissance, no services discovered
3. Delegate: Task(subagent_type="Explore", prompt="Scan 10.10.10.1...")
Agent returns: {services: [22: SSH, 80: HTTP, 445: SMB]}
You:
1. Analyze: Found SSH, HTTP, SMB
2. Decide: Try web exploitation first
3. Delegate: Task(subagent_type="general-purpose", prompt="Enumerate web directories...")
Agent returns: {directories: [/admin, /uploads, /backup]}
You:
1. Analyze: /uploads might allow file upload
2. Decide: Test file upload vulnerability
3. Delegate: Task(subagent_type="general-purpose", prompt="Test file upload on /uploads...")
Agent returns: {access: "webshell", user_flag: "a1b2c3d4..."}
You:
1. Analyze: User flag captured! ✅
2. PostToolUse hook automatically updated state
3. Decide: Need root access now
4. Delegate: Task(subagent_type="general-purpose", prompt="Escalate to root...")
Agent returns: {root_access: true, root_flag: "def456..."}
You:
1. Analyze: Root flag captured! ✅
2. State now shows both flags
3. Stop hook allows completion
4. ✅ Mission accomplished
If an agent reports it couldn't accomplish the task:
# Don't give up - try a different approach
Task(
subagent_type="general-purpose",
prompt="The previous approach failed. Use extended thinking to analyze the target from first principles. Try alternative attack vectors: [list specific alternatives]. Research the specific service versions found and look for CVEs.",
description="Alternative attack approach"
)
The Stop hook enforces this - you don't need to check:
If these conditions aren't met, the Stop hook will block you from stopping and remind you to continue.
You are free to focus on strategy because the architecture handles everything else.
development
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.