sm64ds-decomp: Skill for Claude Code

.claude/skills/decomp-tu-slicing/SKILL.md

decomp-tu-slicing is a skill for Claude Code from tangosdev/sm64ds-decomp. It costs 120 tokens per session (3,345 once invoked), scanned A, original, MIT.

A guide for finding which classes originally belonged to the same C++ translation unit, meaning the source file compiled as one unit. It reads recovered information from the sm64ds-decomp project and produces a map of those relationships.

In plain words
What is it for?
Use it before moving classes into separate files, deciding which classes should share a header, or investigating why a migration is rejected.
Why use it?
It helps avoid splitting classes that came from one original source file when planning a code migration.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

This is tangosdev/sm64ds-decomp's own configuration. It tells Claude Code how to work on sm64ds-decomp itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything sm64ds-decomp configures →

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is python tools/rtti_extract.py # -> build/rtti.json.

Reuse

Borrowing it

Nothing to install: this file belongs to tangosdev/sm64ds-decomp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/tangosdev/sm64ds-decomp/main/.claude/skills/decomp-tu-slicing/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/tangosdev/sm64ds-decomp

Made for: Claude Code.

Wrote 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.

agentmods badge for decomp-tu-slicing

README.md
[![agentmods](https://agentmods.dev/badge/skills/tangosdev/sm64ds-decomp/decomp-tu-slicing.svg)](https://agentmods.dev/skills/tangosdev/sm64ds-decomp/decomp-tu-slicing)
Your own site
<a href="https://agentmods.dev/skills/tangosdev/sm64ds-decomp/decomp-tu-slicing"><img src="https://agentmods.dev/badge/skills/tangosdev/sm64ds-decomp/decomp-tu-slicing.svg" alt="Measured on agentmods" height="20"></a>
Per session 120 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,345 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00120 $0.03345
Opus 5 $0.00060 $0.01673
Sonnet 5 $0.00024 $0.00669
Haiku 4.5 $0.00012 $0.00334

Measured yesterday against content hash 63f46ff0e488, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

decomp-tu-slicing 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 yesterday.

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.

.claude/skills/decomp-tu-slicing/SKILL.md · 202 lines

How it starts

The opening of the file, as written. The whole thing — 202 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Translation-unit slicing

The linker erased the original .cpp boundaries; tools/tu_map.py reads them back out. Full derivation and limits: notes/tu-boundaries.md. To execute a merge and verify it, use decomp-tu-build — this skill is about reading the map, not acting on it.

0. Regenerate the map, in this 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.

Nothing enforces that order, and skipping it fails silently. vtable_labels() returns {} when build/rtti_vtables.json is absent, and tu_map.py then writes a complete, self-consistent, wrong map and exits 0. Measured on main from an empty build/:

full chain rtti_vtables.json absent
whole-ROM TUs 532 516
boundaries {low: 68, medium: 110, high: 280} {low: 72, medium: 124, high: 246}
TUs with a class 400/532 370/516
under-segmented ov007, main, ov075, ov084 ov007, main, ov005, ov084
ov080 5 TUs, 4 classed 6 TUs, 4 classed
--check all gates PASS, exit 0 all gates PASS, exit 0

The known-answer gate asserts ov080's classed TU count, which is 4 either way, so it passes for the wrong reason. The under-segmented list is itself a casualty, so you cannot use it to detect the problem either. The one visible tell is the negative-control table, which collapses to blind 1 / blind-classed 0. There is no exit code to lean on: check the prerequisites yourself.

--blind is not an opt-out — it is the negative control, dropping the mangled-name signal to score what RTTI alone recovers. The whole flag set is --module, --verbose, --check, --blind, --split-swallowers [K], --out; nothing suppresses the RTTI labels while keeping the names. tubuild.py regenerates the map only when it is entirely absent — a stale-but-present map is reported as a note and used as-is.

Read the full file on GitHub · 202 lines

Changes

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.

  1. yesterday Changed 63f46ff0e488
  2. 6d ago First seen · 202 lines · 120 tokens per session scan A f115273c76ff

Subscribe to this mod's changes

decomp-tu-slicing is a skill published in the GitHub repository tangosdev/sm64ds-decomp (146 stars, last pushed today), licensed MIT. It adds 120 tokens to every session and 3,345 once invoked, about $0.0006 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.

Related

Other skills, from other repositories

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…

ShulkwiSEC/bb-huge · 86 tokens

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…

meltedinhex/analyst-ai-pack · 83 tokens

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.

betab0t/skills · 50 tokens

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.

anthropics/knowledge-work-plugins · 41 tokens

doca-argp

Use this skill for hands-on DOCA Arg Parser CLI work on a shipped sample or new DOCA-using app — adding / removing / renaming flags; wiring docaargpinit → register params → docaargpstart → docaargpdestroy in order; picking a parameter type from the full public enum (DOCAARGPTYPESTRING, INT, BOOLEAN, DEVICE, DEVICEREP…

NVIDIA/skills · 267 tokens

ax-cpp-gen

Use when writing C++ code with axllm for AxGen programs, forward calls, indexed multi-sampling, result pickers, streaming, tools, assertions, traces, usage, and output parsing.

ax-llm/ax · 48 tokens