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 agentmods add skills/henglie/ebctfcodebox/ebctf-decodenpx skills add Henglie/EBCTFCodeBox --skill ebctf-decodegit clone --depth 1 https://github.com/Henglie/EBCTFCodeBoxWhat 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 | $0.00100 | $0.01014 |
| Opus 5 | $0.00050 | $0.00507 |
| Sonnet 5 | $0.00020 | $0.00203 |
| Haiku 4.5 | $0.00010 | $0.00101 |
Grade A, and why
ebctf-decode 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 2d 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.
What it actually says
EBCTF 解码技能
恒烈CTF编码工具箱(EBCTFCodeBox)的对外解码能力。纯本地 Node 进程,零外发。 底层复用工具箱能力面单一事实源(MCP_TOOLS / callMcpTool),零重写解码逻辑。
何时用
- 用户贴出疑似被编码的文本,问「这是什么 / 帮我解一下」
- 用户点名某种编码要 encode / decode
- 需要先判断「这是什么编码」再决定怎么解
- CTF 解题中遇到不认识的编码串
六个子命令
结果走 stdout,未知命令/缺参打印用法到 stderr 并 exit 1。
1. magic — 一键智能解码(最常用)
node skills/ebctf-decode/decode.mjs magic "SGVsbG8gd29ybGQ="
node skills/ebctf-decode/decode.mjs magic "..." --crib="flag\{" --depth=3 --intensive
--crib=xxx已知明文片段/正则,命中加权--depth=N最大链式解码层数(默认 1,多层传 3)--intensive开 1-byte XOR + 位旋转暴力
2. detect — 智能识别编码类型(不解码)
node skills/ebctf-decode/decode.mjs detect "SGVsbG8gd29ybGQ=" --limit=10
返回按置信度(0~1)排序的候选类型。判断「这是什么」时用,随后再 run/magic 解。
3. cats — 列分类
node skills/ebctf-decode/decode.mjs cats
列出全部功能分类(Base/文本/花式/古典/现代加密/哈希/进制/分析/隐写等),含每类 op 数。先看全景再下钻。
4. list — 列 op(可过滤)
node skills/ebctf-decode/decode.mjs list base
node skills/ebctf-decode/decode.mjs list --cat=classic
- 位置参数 = 关键词(匹配 id/名称/分类)
--cat=分类id按分类精确过滤(分类 id 见 cats)
每条含 id、分类、名称、方向(encode/decode/run)、是否带参(hasParams)。
5. schema — 查 op 参数
node skills/ebctf-decode/decode.mjs schema caesar
查指定 op 的参数 schema(key/类型/默认值/可选项)与支持方向。跑带参 op 前先用它了解怎么填 --params。
6. run — 精确跑 op
node skills/ebctf-decode/decode.mjs run base64 "SGVsbG8=" decode
node skills/ebctf-decode/decode.mjs run caesar "Khoor" decode --params='{"shift":3}'
- 第 3 位置参数 = 方向 encode/decode/run(缺省自动)
--params='{"k":v}'自定义参数(JSON 字符串,解析成对象传入;不合法给清晰报错)。未给的 key 用默认值,key 见 schema。
输出解读
magic 返回按置信度排序的候选,每条含解码链路 + conf%:
#1 [base64] conf=99% : Hello world
#2 [base64 > rot13] conf=40% : ...
取 #1,语义不通就看后续。链路里的 > 表示多层解码顺序。
detect 返回 candidates 数组(id/cat/name/confidence),置信度高的更可能。
cats/list/schema 返回 JSON,直接读字段。run 直接输出结果文本。
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 2d ago First seen · 93 lines · 100 tokens per session scan A cc1d26beff99
ebctf-decode is a skill published in the GitHub repository Henglie/EBCTFCodeBox (117 stars, last pushed 6d ago), licensed Apache-2.0. It adds 100 tokens to every session and 1,014 once invoked, about $0.0005 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
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
babysit-pr
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…
imagegen
Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…