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/tangosdev/sm64ds-decomp/decomp-tu-buildnpx skills add tangosdev/sm64ds-decomp --skill decomp-tu-buildgit clone --depth 1 https://github.com/tangosdev/sm64ds-decompWrote 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/tangosdev/sm64ds-decomp/decomp-tu-build)<a href="https://agentmods.dev/skills/tangosdev/sm64ds-decomp/decomp-tu-build"><img src="https://agentmods.dev/badge/skills/tangosdev/sm64ds-decomp/decomp-tu-build.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.00142 | $0.02767 |
| Opus 5 | $0.00071 | $0.01384 |
| Sonnet 5 | $0.00028 | $0.00553 |
| Haiku 4.5 | $0.00014 | $0.00277 |
Grade A, and why
decomp-tu-build 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 6d 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 — 187 lines — stays where its author put it; the contents beside it link to each section on GitHub.
The TU rebuild / verify loop
src/ holds ~11k one-function files, a shape the original build never had.
tools/tu_map.py recovers the real .cpp boundaries; this skill is about executing
the merge and proving it. For deciding which functions belong together, read
decomp-tu-slicing first — a class is not a file.
0. Prerequisites, in this exact order
python tools/rtti_extract.py # -> build/rtti.json
python tools/rtti_vtables.py # -> build/rtti_vtables.json
python tools/tu_map.py # -> build/tu_map.json
build/ is gitignored, so a fresh worktree has none of this — always regenerate.
Nothing enforces that order. tu_map.py reads build/rtti_vtables.json if it is
present and silently falls back to an empty label table if it is not, so a missing
prerequisite produces a complete, self-consistent, wrong map — 516 TUs instead of
532 — with every gate passing and exit 0. Verify the prerequisites yourself; no exit
code will do it for you, and --check will not either (it exits 0 on failure too). The
full damage table is in decomp-tu-slicing §0.
tubuild.py regenerates the map only when it is entirely absent; a stale-but-present
map is reported as a note and then used as-is.
--blind is a negative control, not an opt-out: it drops the mangled-name signal and
scores what the map retains on RTTI alone, which is the honest measure for the anonymous
overlays. It is not something to reach for in a normal run. There is no flag that
suppresses the RTTI labels while keeping the names.
Figures move whenever the map changes — run the command rather than quoting these.
Measured on main at 343eab070 with the full chain: 74 modules, 11,091 functions,
532 TUs, boundaries {low: 68, medium: 110, high: 280}, 400/532 carrying a class.
1. The loop
python tools/tubuild.py list # candidate worklist
python tools/tubuild.py inspect ov045/PoleLift # one candidate, full detail
python tools/tubuild.py create ov062/Chuckya # generate a shadow .cpp
python tools/tubuild.py compile ov045/PoleLift
python tools/tubuild.py verify ov045/PoleLift # byte + relocation verification
python tools/tubuild.py partial ov045/PoleLift # N derived per-function objects
python tools/tubuild.py linkcheck ov002/LevelObjects
python tools/tubuild.py promote ov045/PoleLift # --dry-run only
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.
- 6d ago First seen · 187 lines · 142 tokens per session scan A 85b0e4b8e90c
decomp-tu-build is a skill published in the GitHub repository tangosdev/sm64ds-decomp (146 stars, last pushed today), licensed MIT. It adds 142 tokens to every session and 2,767 once invoked, about $0.0007 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
th08-semantic
Replace raw TH08 object offsets, anonymous fields, and absolute field views with evidence-backed C++ types and names while preserving accepted VC7 bytes and playable modern-port behavior. Use for semantic cleanup of already-authored source; do not use for new function recovery or target-linked library work.
buffer-overflow-stack
Identify, exploit, and write custom payloads for classic Stack-Based Buffer Overflows in 32-bit and 64-bit applications. Use this skill when conducting exploit development, reverse engineering custom network protocols, or preparing for advanced certifications (OSCP, OSEP). Covers fuzzing, controlling EIP/RIP…
analyzing-java-jar-malware
Analyzes Java/JAR malware (such as Adwind/jRAT-class cross-platform RATs) by inventorying the archive, reading the manifest entry point, detecting obfuscators and string encryption, and flagging suspicious runtime, reflection, and networking class usage. Activates for requests to analyze a malicious JAR, inspect Java…
gdb
Debug and trace C/C++/Rust programs with the GNU Debugger (GDB) without blocking the agent. Use when you need to set tracepoints, inspect variables, or monitor a running process while staying responsive to the user.
zoom-meeting-sdk-unreal
Zoom Meeting SDK for Unreal Engine wrapper integrations. Use when building Unreal projects that embed Zoom meetings with C++ and Blueprint wrappers, including wrapper-to-SDK mapping concerns.
new-cpp-lint
Create a new C++ lint rule, test it, run it across the codebase, and selectively apply fixes. Usage - /new-cpp-lint.