team-solve
Skill12 starsChanged 9 months agoMITView on GitHub
Orchestrate a multi-agent team to solve a CTF challenge. Use when a challenge is complex enough to benefit from parallel investigation — multiple possible approaches, layered encoding, or unclear category. Spawns 3 specialized teammates based on triage results. Each teammate gets a focused role within the detected category. Requires agent teams enabled (CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1). Triggers: "team solve", "parallel solve", "spawn team", "multi-agent", "use a team for this".
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 6 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 28
Do NOT use when:
- Distinctive: line 42
Run the triage pipeline first to determine the category:
- Very specific: line 55
Read the JSON output. Key fields: category, confidence, secondary_categories.
- Distinctive: line 63
Create an agent team with 3 teammates.
- Distinctive: line 100
Let teammates self-claim tasks: after their initial assignment
- Distinctive: line 180
Use when triage confidence is below 70% or multiple categories are detected.
- Distinctive: line 209
All teammates get these automatically:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
CTF Team Solve
Orchestrate a team of 3 specialized teammates to solve a CTF challenge in parallel.
When to Use
Use this when:
- A challenge is complex or multi-layered
- Initial triage shows mixed signals or low confidence
- You want to try multiple approaches simultaneously
- Time pressure demands parallel investigation
- The challenge has multiple files or stages
Do NOT use when:
- The challenge is straightforward (single encoding, obvious category)
- You already know exactly what tool to run
- Agent teams are not enabled
Prerequisites
Agent teams must be enabled. Verify CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 is set in .claude/settings.json or environment.
Instructions
Step 1: Triage the Challenge
Run the triage pipeline first to determine the category:
bash scripts/triage-for-team.sh $ARGUMENTSOr use the analyze skill's triage:
# From the ctf-kit plugin
bash ../analyze/scripts/triage.sh $ARGUMENTSRead the JSON output. Key fields: category, confidence, secondary_categories.
Step 2: Decide Team Composition
Based on triage results, select the appropriate 3-teammate composition from the category tables below. If triage shows mixed signals (confidence < 70% or multiple secondary categories), use the Cross-Category Team composition.
Step 3: Spawn the Team
Create an agent team with 3 teammates. For each teammate:
- Name them by role (e.g., "rsa-specialist", "hash-cracker")
- Set the prompt using the role description and the challenge context
- Set plan approval for teammates using offensive tools (web, pwn, osint)
- Create initial tasks in the shared task list — one per teammate
Script paths in this skill are relative to its base directory. Teammates do not load this skill, so resolve every script to an absolute path before putting it in a spawn prompt.
Example spawn prompt to the lead:
Create an agent team with 3 teammates to solve this crypto challenge.
Teammate 1 — "classical-analyst":
Focus on classical ciphers and encoding chains.
Tools: frequency analysis, dcode.fr patterns, CyberChef recipes.
Start by running: bash ../crypto/scripts/identify-hash.sh and bash ../misc/scripts/run-decode.sh
Teammate 2 — "rsa-specialist":
Focus on RSA and asymmetric crypto attacks.
Tools: RsaCtfTool, openssl, sage/python for math.
Start by extracting any RSA parameters (n, e, c, p, q).
Teammate 3 — "symmetric-cracker":
Focus on XOR, AES, and hash cracking.
Tools: xortool, hashcat, john.
Start by running: bash ../crypto/scripts/run-xortool.sh on any binary files.
Each teammate should broadcast findings to others when they discover something
that changes the understanding of the challenge. If a teammate finds a flag,
broadcast immediately and all teammates should verify.Step 4: Coordinate
- Let teammates self-claim tasks after their initial assignment
- Monitor progress — check in if a teammate is stuck for more than a few minutes
- Broadcast discoveries — tell a teammate to broadcast when they find something that shifts the approach
- Synthesize — once 2+ teammates have findings, combine and identify the solution path
- Shut down early — if one teammate solves it, shut down the others
Team Compositions by Category
Crypto Team
| Role | Name | Focus | First Action |
| Classical & Encoding | classical-analyst | Frequency analysis, substitution ciphers, Vigenere, encoding chains, CyberChef | Run ../misc/scripts/run-decode.sh and ../crypto/scripts/identify-hash.sh on all challenge files |
| Asymmetric & Math | rsa-specialist | RSA factoring, padding oracles, Wiener/Boneh-Durfee, ECC, Diffie-Hellman | Extract RSA parameters, run RsaCtfTool, try sage/python math attacks |
| Symmetric & Hash | symmetric-cracker | XOR key recovery, AES mode attacks, hash cracking with hashcat/john | Run ../crypto/scripts/run-xortool.sh, identify and crack any hashes |
Forensics Team
| Role | Name | Focus | First Action |
| File & Disk | file-carver | binwalk, foremost, file carving, disk image mounting, deleted file recovery | Run ../forensics/scripts/run-binwalk.sh and ../forensics/scripts/extract-and-analyze.sh |
| Memory | memory-analyst | volatility3 plugins, process trees, registry, command history, malware detection | Run ../forensics/scripts/run-volatility.sh with pslist, netscan, cmdline |
| Network | network-analyst | tshark, protocol analysis, stream extraction, DNS exfil detection | Run ../forensics/scripts/run-tshark.sh, extract HTTP objects and DNS queries |
Web Team (plan approval required for Tier 2 tools)
| Role | Name | Focus | First Action |
| Recon & Enumeration | web-recon | Directory scanning, technology fingerprinting, hidden paths, robots.txt | Run ../web/scripts/run-gobuster.sh, check robots.txt, view source |
| Injection | injection-tester | SQLi, XSS, SSTI, command injection, path traversal | Test input fields with common payloads, run sqlmap on parameters |
| Auth & Logic | auth-analyst | JWT attacks, session handling, IDOR, privilege escalation, API abuse | Inspect cookies/tokens, test auth bypass, check API endpoints |
Important: Spawn web teammates with plan approval required. The lead must review before any teammate sends requests to a target.
Pwn Team (plan approval required for remote connections)
| Role | Name | Focus | First Action |
| Static Analyst | binary-analyst | checksec, disassembly, vulnerability ID, function mapping | Run ../pwn/scripts/run-checksec.sh, map interesting functions |
| Exploit Developer | exploit-dev | Payload crafting, ROP chains, shellcode, ret2libc, format strings | Build exploit based on static analyst's findings |
| Dynamic Analyst | dynamic-analyst | GDB debugging, leak finding, heap state, ASLR bypass | Run binary in debugger, find offsets, verify leaks |
Important: Spawn the exploit-dev teammate with plan approval required before connecting to remote targets.
Reverse Team
| Role | Name | Focus | First Action |
| Static Analyst | static-reverser | radare2, Ghidra, decompilation, function listing, string analysis | Run ../reverse/scripts/run-radare2.sh, identify interesting functions |
| Dynamic Analyst | dynamic-reverser | ltrace, strace, GDB, breakpoints, anti-debug bypass, runtime behavior | Run binary with ltrace/strace, set breakpoints on check functions |
| Algorithm Solver | algo-solver | Keygen writing, constraint solving (z3), algorithm reimplementation | Reimplement validation logic, write solver script |
Stego Team
| Role | Name | Focus | First Action |
| Image Analyst | image-analyst | zsteg LSB, steghide extraction, visual inspection, color plane analysis | Run ../stego/scripts/run-zsteg.sh and ../stego/scripts/run-steghide.sh |
| Metadata & Structure | metadata-analyst | exiftool, binwalk appended data, file structure, IHDR manipulation | Run ../stego/scripts/run-exiftool.sh and ../forensics/scripts/run-binwalk.sh |
| Audio & Advanced | audio-analyst | Spectrogram messages, audio LSB, DTMF tones, video frame analysis | Open in Audacity spectrogram view, check audio LSB encoding |
OSINT Team (plan approval for external queries)
| Role | Name | Focus | First Action |
| People & Social | social-investigator | Sherlock username enum, social media profiling, identity correlation | Run ../osint/scripts/run-sherlock.sh, cross-reference platforms |
| Domain & Infra | domain-analyst | whois, DNS records, subdomain enum, theHarvester, IP geolocation | Run whois, dig, theHarvester on target domains |
| Geo & Media | geo-analyst | EXIF GPS extraction, reverse image search, visual landmark ID | Run ../osint/scripts/run-exiftool.sh, identify visual clues |
Important: Spawn OSINT teammates with plan approval required before hitting external services.
Misc Team
| Role | Name | Focus | First Action |
| Encoding Specialist | decoder | CyberChef recipes, encoding chains, base conversions, custom encodings | Run ../misc/scripts/run-decode.sh, try multi-layer decoding |
| Esoteric & Code | esoteric-analyst | Brainfuck, Whitespace, JSFuck, custom languages, polyglots | Identify language from character set, find interpreter |
| Puzzle & Logic | puzzle-solver | Pattern recognition, math puzzles, QR/barcodes, game theory | Run zbarimg on images, analyze patterns, solve constraints |
Cross-Category Team (mixed signals or unclear category)
Use when triage confidence is below 70% or multiple categories are detected.
| Role | Name | Focus | First Action |
| Analyst A | analyst-a | Primary detected category | Use the primary category's skill |
| Analyst B | analyst-b | Secondary detected category | Use the secondary category's skill |
| Generalist | generalist | Broad investigation: strings, metadata, structure, encoding | Run full triage, check all common patterns |
Communication Patterns
When teammates should broadcast
- Found a flag or flag fragment
- Discovered a new file or layer (e.g., extracted an embedded file)
- Identified the challenge type with high confidence
- Hit a dead end — other teammates should deprioritize this approach
- Found a password, key, or credential that others might need
When the lead should intervene
- Two teammates are pursuing the same approach (redirect one)
- A teammate has been stuck for >3 minutes
- New information changes the strategy (reassign tasks)
- One teammate solved it (shut down others)
Permissions Model
Tier 1 — Auto-allow (local analysis)
All teammates get these automatically:
file, strings, xxd, binwalk, foremost, exiftool, hashid, xortool,
zsteg, steghide, volatility3, tshark, checksec, ropgadget, radare2,
python3, zbarimg, ctf (CLI)Tier 2 — Plan approval (connects to targets)
Teammates using these tools must have plan approval enabled:
sqlmap, gobuster, ffuf, nikto, pwntools (remote), nmap,
sherlock, theHarvester, curl/wget to targetsThe lead reviews the plan before the teammate executes.
Tier 3 — User confirmation (resource-heavy or destructive)
These should prompt the user:
hashcat --gpu (resource-intensive), any write to target systemsExample Full Workflow
User: /ctf-kit:team-solve challenge.zip
Lead:
1. Runs triage → category=crypto, confidence=65%, secondary=stego
2. Low confidence → uses Cross-Category Team
3. Spawns:
- "crypto-analyst" with crypto skill focus
- "stego-analyst" with stego skill focus
- "generalist" running broad analysis
4. Creates tasks:
- Task 1: Crypto analysis of challenge files (crypto-analyst)
- Task 2: Stego analysis of any images found (stego-analyst)
- Task 3: Deep file analysis and strings search (generalist)
5. Generalist finds hidden PNG inside challenge file → broadcasts
6. Stego-analyst claims the PNG → finds LSB-encoded text
7. LSB text is a key → crypto-analyst uses it to decrypt
8. Flag found → broadcast → team shutdownRelated Skills
/ctf-kit:analyze— Triage a challenge (always run first)/ctf-kit:compete— Competition mode (multiple challenges)/ctf-kit:cryptothrough/ctf-kit:misc— Individual category skills
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

