Add Community Skill
samugit83/redamon
Adding a Community Agent Skill: a Markdown attack-workflow file that users import from the catalog, which then competes in the Intent Router and is injected into the agent's system prompt.
Runs a capture-the-flag box from first scan to root with a driver script that tracks progress and prints the next action each turn.
$ npx skills add Encod3d-Sec/TORCH --skill ctf-workflow -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Encod3d-Sec/TORCH ctf-workflow --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Encod3d-Sec/TORCH.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/workflow/ctf-workflow .claude/skills/ctf-workflow && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ctf-workflow" agent skill from https://github.com/Encod3d-Sec/TORCH/tree/main/skills/workflow/ctf-workflow into .claude/skills/ctf-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ctf-workflow", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Encod3d-Sec/TORCH/tree/main/skills/workflow/ctf-workflowType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Encod3d-Sec/TORCH --skill ctf-workflow -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Encod3d-Sec/TORCH ctf-workflow --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Encod3d-Sec/TORCH.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/workflow/ctf-workflow .agents/skills/ctf-workflow && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ctf-workflow" agent skill from https://github.com/Encod3d-Sec/TORCH/tree/main/skills/workflow/ctf-workflow into .agents/skills/ctf-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ctf-workflow", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Encod3d-Sec/TORCH --skill ctf-workflow -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Encod3d-Sec/TORCH ctf-workflow --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Encod3d-Sec/TORCH.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/workflow/ctf-workflow .cursor/skills/ctf-workflow && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ctf-workflow" agent skill from https://github.com/Encod3d-Sec/TORCH/tree/main/skills/workflow/ctf-workflow into .cursor/skills/ctf-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ctf-workflow", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Encod3d-Sec/TORCH.git --path skills/workflow/ctf-workflow--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Encod3d-Sec/TORCH --skill ctf-workflow -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Encod3d-Sec/TORCH ctf-workflow --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Encod3d-Sec/TORCH.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/workflow/ctf-workflow .gemini/skills/ctf-workflow && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ctf-workflow" agent skill from https://github.com/Encod3d-Sec/TORCH/tree/main/skills/workflow/ctf-workflow into .gemini/skills/ctf-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ctf-workflow", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Encod3d-Sec/TORCH ctf-workflowInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Encod3d-Sec/TORCH --skill ctf-workflow -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Encod3d-Sec/TORCH.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/workflow/ctf-workflow .github/skills/ctf-workflow && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ctf-workflow" agent skill from https://github.com/Encod3d-Sec/TORCH/tree/main/skills/workflow/ctf-workflow into .github/skills/ctf-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ctf-workflow", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Encod3d-Sec/TORCH --skill ctf-workflow -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Encod3d-Sec/TORCH ctf-workflow --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Encod3d-Sec/TORCH.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/workflow/ctf-workflow .opencode/skills/ctf-workflow && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ctf-workflow" agent skill from https://github.com/Encod3d-Sec/TORCH/tree/main/skills/workflow/ctf-workflow into .opencode/skills/ctf-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ctf-workflow", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ctf-workflowRuns a capture-the-flag box from first scan to root with a driver script that tracks progress and prints the next action each turn.
A single agent works a CTF or boot-to-root machine without asking an operator for approvals. A Python script, scripts/campaign.py, holds the campaign state, builds a board of work items from reconnaissance and prints the exact next action, including which skill and tool to use. The agent runs the next command, does what it prints, records the result and repeats, going depth-first.
A campaign begins by validating the scope file, which for a box is just the target host. The OSINT pass is skipped unless you invoke the skill with an osint argument. Early passes feed a state file with port-scan and web enumeration results, the board then lists foothold rows, and recording a foothold seeds privilege-escalation rows for that asset. Box-specific recipes are delegated to a companion skill named ctf-box. The excerpt is truncated, so later steps are not covered here.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit d21b6c9. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
CTF Campaign Driver loads about 1.8k tokens when it runs. Until then it costs about 127 tokens; SKILL.md has 916 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Encod3d-Sec/TORCH at commit d21b6c9, republished under its MIT licence (© Encod3d-Sec). 916 words, ~1,805 tokens.
.claude/skills/ctf-workflow/SKILL.md (or your agent's skills folder).The driver is the plan. Run one command, do exactly what it prints, record the result, repeat. The
gates are enforced by scripts/campaign.py.
python3 scripts/campaign.py next
python3 scripts/campaign.py note <row> --arsenal <slug>
python3 scripts/campaign.py done <row> --poc <img> --kind req # | --dead R | --park Q | --find FEvery next now prints an APPROACH:/AVOID:/REFS: block for the served row (the distilled
ctf-box method for that vuln class) - read it before acting.
python3 scripts/campaign.py init --type ctf - validates scope.md (for a box, scope is just
the target IP/host) + envelope.osint argument - a box's answer is on the box, not in Wayback.state.md - rustscan/nmap + web enum. Read every service banner, page source and
config end to end.python3 scripts/campaign.py board - writes the 4a foothold rows; once an asset is a foothold,
re-run board and it seeds the 4b privesc rows (pspy/linpeas auto + the manual checklist) for
that asset.vm-scan.sh --win shell, or a
meterpreter/msfconsole session via --win msf), record it: python3 scripts/campaign.py foothold <target> --win shell (or --win msf; or ride it on the closing find with done ... --win). The
driver flips the asset's state.md row to access=foothold and routes its 4b privesc rows through
vm-rsh --win <win> (persistent session + operator visibility past foothold), and prints tmux attach -t <eng> for manual takeover. msf itself is operator-attach / drop-to-shell, not
vm-rsh-driven (its wrapper frames a bash shell, not the msf6 > REPL). After recording a
foothold, re-run python3 scripts/campaign.py board so the 4b privesc rows are seeded - next
will not surface them until you do.msfconsole's
exploit/multi/handler (meterpreter first; a plain shell_reverse_tcp is the backup when
meterpreter is blocked, e.g. Windows/EDR) (record via campaign.py foothold <target> --win msf,
step 6). Reserve a raw nc -lvnp listener for when msf is unavailable: a raw nc pane's Ctrl-C
kills the LISTENER (dropping the shell back to your own prompt, the false-root attacker-prompt
trap) and it has no session management, while
meterpreter also carries post/multi/recon/local_exploit_suggester escalation modules and
built-in file transfer. (b) Before picking the LPORT, test target egress on common ports
(80/443/53) - high ports like 4444 are frequently filtered, so pick an egress-allowed LPORT. (scripts/vm-handler.sh <eng> <lhost> picks a free egress port and launches the handler for you, printing the LPORT.)
(c) If you did fall back to raw nc, stabilize it immediately with bash scripts/vm-stabilize.sh --win shell <eng> (pty + job control + window size). (d) Then record the
foothold (step 6) and drive with vm-rsh. An unstabilized nc shell (no job control, mid-line
wrapping) is what makes post-ex drift back into one-liners. Full discipline: Skill(ctf-box)
Phase 3 (Deliver). The recon-capture hook fires this reflex once on the first service-account
id.ctf-workflow owns pass sequencing and the board; the per-service exploitation recipes live in
Skill(ctf-box), which the driver hands off to - do not duplicate them here. Route a fingerprinted
service to its Skill(hunt-*) as the board names it; use Skill(ctf-category) for a standalone
challenge (pwn/rev/crypto/forensics/stego).
A box is VPN-boxed, so the local chrome-devtools MCP browser cannot reach it - use the VM-side
browser (scripts/browser.sh <url> / capture.sh web) to render a JS-heavy web service and read
its DOM + network requests (the rendered XHR/fetch calls reveal API routes a curl crawl misses -
often the intended path). Rendered screenshots of the flag/exploited state are valid web PoCs.
A service needing a manual login / MFA / CAPTCHA the agent can't do headlessly -> Skill(chrome-devtools-browser): a VISIBLE chromium on the VM desktop (scripts/browser-visible.sh) the operator drives, observed live via the chrome-devtools MCP.
G1 arsenal-first, G2 skill-first, G3 typed evidence (a flag on screen is a valid web PoC), G8
tool-first. Privesc always includes pspy + linpeas/winpeas - the board seeds these as 4b rows once
an asset is recorded as a foothold (re-run board after foothold/done --win to seed them).
Once a foothold and a working escalation vector are identified, hand the exploit compile +
escalation run to a sub-agent via Skill(delegate) - checklist, model choice, and the
mandatory false-root/false-RCE hostname+uid guardrail all live there; keep the main agent
driving the board.
Prefer a clean post-ex command channel over driving msf sessions -c (delayed output, quoting
pain): a webshell writing enum output to a web-served file then curl it, or a single-tool
read/decrypt done locally on already-exfiltrated data.
No approvals. The verifier is optional for CTF (a captured flag self-verifies). Both flags captured ->
set ## STATUS: SOLVED in state.md, then the driver prints the close-out chain.
superpowers:brainstorming/writing-plans mid-box; keep no parallel task list.scripts/vm-scan.sh), never a
blind background pipe -- you must WATCH a scanner that can trip a target's rate-limiter/ban.poc/ AS IT LANDS (scripts/capture.sh), even on a curl/ssh-only
box -- a transient exploited state cannot be re-shot after the turn.Run the printed chain: Skill(walkthrough) -> Skill(learn).
Manual fallback: read Approach.md, take the top open row, run its wiki lookup then its hunt skill
or Skill(ctf-box), capture evidence, mark [x]; on exhaustion one Deadends.md line + [!].
© Encod3d-Sec, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/workflow/ctf-workflow of Encod3d-Sec/TORCH.
Open the folder on GitHubat commit d21b6c9
CTF Campaign Driver next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| CTF Campaign Driver this skillEncod3d-Sec/TORCH | 329 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Add Community Skillsamugit83/redamon | 2.9k | — | ~775 | Automated safety check: Pass | MIT | |
| Exploiting Ms17 010 Eternalblue Vulnerabilitymukul975/Anthropic-Cybersecurity-Skills | 34k | — | ~963 | Automated safety check: Pass | Apache-2.0 | |
| Penetration Flowlingbol088-spec/ReiPenFlow | 222 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Insecure Deserialization PlaybookPentesterFlow/agent | 1.4k | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| NmapBrownFineSecurity/iothackbot | 858 | 1 repos | ~3.8k | Automated safety check: Notes | MIT |
samugit83/redamon
Adding a Community Agent Skill: a Markdown attack-workflow file that users import from the catalog, which then competes in the Intent Router and is injected into the agent's system prompt.
mukul975/Anthropic-Cybersecurity-Skills
Detects and exploits MS17-010 (EternalBlue), a critical remote code execution flaw in Microsoft's SMBv1 implementation, using Nmap's ms-17-010 NSE script for detection and Metasploit's…
lingbol088-spec/ReiPenFlow
Guided workflow for authorized penetration testing, vulnerability validation, security reporting, CTF/local sandbox reverse engineering, and user-directed vulnerability research.
PentesterFlow/agent
Fingerprints which language or framework produced a serialized blob, then helps build a working gadget chain to test for insecure deserialization.
BrownFineSecurity/iothackbot
Professional network reconnaissance and port scanning using nmap.
PentesterFlow/agent
Server-Side Template Injection — fingerprint the engine first (Jinja2 / Twig / Velocity / Freemarker / ERB / Smarty / Mako / Handlebars / Pug), then escalate the engine-specific primitive to RCE or…
Encod3d-Sec/TORCH
Runs a bug-bounty engagement through a script that tracks the current pass, builds a board of rows from recon and prints the next required action each turn.
Encod3d-Sec/TORCH
Adaptive web fuzzing for pentests, bug bounty and CTF work: picks the smallest suitable SecLists wordlist per target surface and calibrates filters against soft-404 responses.
Encod3d-Sec/TORCH
IDOR / BOLA hunting - two-account methodology, identifier discovery and UUID leak chaining, the trusted-identifier test, GraphQL node and nested-object IDOR, cross-tenant escalation, write and…
Encod3d-Sec/TORCH
Checks that the bb, pt and ctf workflow driver is set up correctly on a machine: vault content, skill symlinks, hooks, imports and a live smoke test, with fixes for failures.
Encod3d-Sec/TORCH
Opens a visible Chromium window on a Kali VM so an operator can complete a manual login or CAPTCHA while the agent watches and acts through the chrome-devtools MCP.
Encod3d-Sec/TORCH
Decides when a main pentesting agent should hand a fully-specified, mechanical exploit-compile or privilege-escalation step to a cheaper sub-agent, and how to specify that handoff safely.
Works with
Categories
Runs a capture-the-flag box from first scan to root with a driver script that tracks progress and prints the next action each turn. A single agent works a CTF or boot-to-root machine without asking an operator for approvals.py, holds the campaign state, builds a board of work items from reconnaissance and prints the exact next action, including which skill and tool to use.
CTF Campaign Driver fits situations like: being handed a CTF box or address to take from foothold to root; resuming a half-finished boot-to-root campaign from its recorded state; tracking recon findings, footholds and privilege-escalation leads on a CTF machine.
Run `npx skills add Encod3d-Sec/TORCH --skill ctf-workflow -a claude-code`. Or copy the skill folder (skills/workflow/ctf-workflow in Encod3d-Sec/TORCH) into .claude/skills/ctf-workflow in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Encod3d-Sec/TORCH --skill ctf-workflow -a codex`. Or copy the skill folder (skills/workflow/ctf-workflow in Encod3d-Sec/TORCH) into .agents/skills/ctf-workflow in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Encod3d-Sec/TORCH --skill ctf-workflow -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ctf-workflow, .gemini/skills/ctf-workflow, .github/skills/ctf-workflow and .opencode/skills/ctf-workflow in your project.
Going by SKILL.md and its folder, CTF Campaign Driver needs the command-line tools its instructions call (python3). Our summary lists: Python 3; A scope file naming the target; Scanning and exploitation tools such as nmap and msfconsole.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
CTF Campaign Driver is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with CTF Campaign Driver: Add Community Skill (samugit83/redamon, 2.9k stars), Exploiting Ms17 010 Eternalblue Vulnerability (mukul975/Anthropic-Cybersecurity-Skills, 34k stars), Penetration Flow (lingbol088-spec/ReiPenFlow, 222 stars) and Insecure Deserialization Playbook (PentesterFlow/agent, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Encod3d-Sec (a GitHub user) maintains it in Encod3d-Sec/TORCH, which has 329 GitHub stars. The repository holds 35 skills in this directory. The repository was last updated on September 1, 2026.
Source: Encod3d-Sec/TORCH on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.