Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add buzzer-re/Rikugan --skill ctfgit clone --depth 1 https://github.com/buzzer-re/RikuganWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/buzzer-re/rikugan/ctf)<a href="https://agentmods.dev/skills/buzzer-re/rikugan/ctf"><img src="https://agentmods.dev/badge/skills/buzzer-re/rikugan/ctf.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00015 | $0.00652 |
| Opus 5 | $0.00008 | $0.00326 |
| Sonnet 5 | $0.00003 | $0.00130 |
| Haiku 4.5 | $0.00002 | $0.00065 |
Grade A, and why
CTF Challenge scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 62 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Task: CTF Challenge. You are solving a capture-the-flag reverse engineering challenge. The goal is finding the flag.
Approach
Be targeted and efficient. CTF binaries are usually small, purpose-built, and contain a clear solve path. Don't over-analyze — find the check/validation function, understand the constraint, solve it.
Workflow
get_binary_info+list_functions— orient yourself, find main or entry (batch these)decompile_functionon main — identify the input path and validation logic- Trace the check function: usually a comparison, hash check, or transformation chain
- Identify the algorithm: XOR, custom cipher, hash, math constraints, maze/game, VM-based
search_stringsfor flag format strings (CTF{, flag{, HTB{, etc.)- Solve: extract the key/flag directly, reverse the transformation, or write a solver
Common Patterns
- Flag format strings visible in
list_stringsorsearch_strings - Input validation concentrated in a single function
- XOR with static key — extract key and data, XOR to get flag
- Base64 or custom encoding — identify the table, decode
- Constraint satisfaction — extract constraints, use z3 via
execute_python - Anti-debug checks (ptrace, IsDebuggerPresent) guarding the real logic — bypass or ignore
- Multi-stage: unpacking → decryption → flag check
- VM-based: custom bytecode interpreter — map opcodes, trace execution, extract constraints
Solving Strategies
Direct extraction: If the flag is compared byte-by-byte or XOR'd with a known key, extract both operands and compute the flag directly.
Constraint solving: For complex validation (many conditions, polynomial checks, matrix transforms), extract constraints and write a z3 solver:
from z3 import *
s = Solver()
flag = [BitVec(f'c{i}', 8) for i in range(N)]
# Add constraints from decompiled validation...
s.add(...)
if s.check() == sat:
m = s.model()
print(''.join(chr(m[c].as_long()) for c in flag))
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 62 lines · 15 tokens per session scan A 36f3cb96c895
CTF Challenge is a skill published in the GitHub repository buzzer-re/Rikugan (672 stars, last pushed 2mo ago), licensed MIT. It adds 15 tokens to every session and 652 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
redteam-reverse-detail-pack
Domain routing and boundary guidance for authorized reverse engineering analysis, including decompilation, debugging, protocol reversing, firmware extraction, and deobfuscation. Use when a task belongs to the reverse engineering domain and needs scope, evidence, pivot, or exit criteria.
Reverse Engineering & Binary Analysis
Binary analysis, assembly interpretation, disassembly, decompilation, firmware RE, and protocol reverse engineering.
theme-arena
A Chinese-language problem-solving framework that approaches debugging and reviews as a structured five-stage technical contest.
special-challenge-solver
A structured approach for solving difficult coding problems by analysing them, breaking them into smaller parts, testing assumptions, and checking the result.
re-console
A guide to analyzing software from game consoles and older gaming systems. It explains formats such as Switch program containers, PlayStation executables, Xbox files, and ROMs, which are files containing game code and data.
re-deobfuscate
A guide for undoing code obfuscation, which deliberately makes program logic harder to read through misleading instructions, flattened control flow, or encrypted strings.