
Claude Skills by tangosdev
github.com/tangosdevTake a short-lived local lock on a set of filenames and/or an address range before editing them, so parallel agents/forks in this repo don't grind the same files or ROM range at once. Use before touching shared files (headers, config/rombuild-versions.txt, build/) in any multi-agent or orchestrator workflow, before migrating a class whose address range another agent might also be working, or when a build/edit fails in a way that looks like another process touched the same files concurrently. ...
Choose the C++ source form that makes mwccarm 2004/b56 emit what the SM64DS ROM actually contains - destructor variant order (D1/D0/D2), vtable and RTTI anchoring, constructor inlining, struct copies, bool widening, and virtual-vs-direct calls. Use when converting a shadow struct into a real C++ class, when D0/D1 are missing or emitted in the wrong order, when _ZTV/_ZTI is absent or multiply-defined, when a .c -> .cpp rename costs bytes, or when a class compiles but the whole-range link will ...
Review a decompilation matching change the way a decomp maintainer would - first verifying the match is real (fakematch / NONMATCHING-banner / wrong-compiler checks), then whether the recovered source is admissible, then what it costs the host port. Use when reviewing or preparing a matching PR/branch/diff in a decomp project (sm64ds-decomp, NSMB-Decomp/nsmb, or any objdiff/dsd/mwccarm tree), or when asked to check matched source for fake matches, magic addresses, un-recovered types/structs, ...
Execute the sm64ds-decomp translation-unit rebuild/verify loop - reconstruct a merged TU in src_tu/, compile it with the pinned mwccarm, byte-verify every member, run the relocation audits, and take it up the shadow -> text-verified -> link-verified ladder. Use when merging one-function files into a real .cpp, when tubuild.py reports MISSING/DIFF/unlicensed, when a TU compiles but will not link, when generating a TU-granular config_tu/ delinks root, or when asked to convert a module to the ph...
Find which classes shared an original .cpp translation unit in sm64ds-decomp, so a C++ conversion PR ships the right set of classes together instead of splitting a file the ROM says is one. Use before slicing a per-class migration PR, when deciding whether two classes belong in one header, when eligible.py rejects a file for extra sections or a multi-function TU, when asked which functions belong to a class in an unnamed overlay, or when reading build/tu_map.json. To then execute the merge an...