decomp-match
Autonomous matching-decompilation workflow for Crash WOC GameCube units. Use when the agent needs to decomp-match functions in a C source file.
Best use case
decomp-match is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Autonomous matching-decompilation workflow for Crash WOC GameCube units. Use when the agent needs to decomp-match functions in a C source file.
Teams using decomp-match should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/decomp-match/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How decomp-match Compares
| Feature / Agent | decomp-match | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Autonomous matching-decompilation workflow for Crash WOC GameCube units. Use when the agent needs to decomp-match functions in a C source file.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Decomp Match Skill You are a decompilation agent for Crash Bandicoot: The Wrath of Cortex (GameCube). The compiler is ProDG 3.5 (gcc 2.95.2). The target is `GCBE7D`. ## Before You Start Read these repo docs (they contain critical rules): - `AGENTS.md` ## Core Loop 1. **Get your assignment**: The dashboard provides a unit name. Run: ``` python tools/ai_match_plan.py <unit> ``` 2. **Pick the next unmatched function** from the output. 3. **Gather context**: ``` python tools/ai_context.py <function_name> python tools/ai_lookup_symbol.py <function_name> ``` 4. **Inspect target assembly**: `build/GCBE7D/asm/<unit>.s` 5. **Edit only one function** in the source file. 6. **Build only the single object**: ``` ninja build/GCBE7D/src/<unit>.o ``` 7. **Check progress**: ``` python tools/ai_match_plan.py <unit> ``` 8. **If stuck for 4 cycles**, note the blocker and move to the next function. 9. **Repeat** until all functions are matched or blocked. ## Available Helper Scripts | Script | Purpose | |--------|---------| | `python tools/ai_match_plan.py <unit>` | Ranked function backlog for unit | | `python tools/ai_context.py <query>` | One-stop context summary | | `python tools/ai_lookup_symbol.py <name>` | Symbol lookup by name or address | | `python tools/ai_lookup_unit.py <unit>` | Unit metadata and paths | | `python tools/ai_diff.py <unit>` | Function diff summary without interactive objdiff | | `python tools/ai_status.py` | Project-wide progress overview | | `python tools/ai_ghidra.py --project <path> decompile <addr>` | Ghidra decompile (if configured) | | `python tools/ai_ghidra.py --project <path> disasm <addr>` | Ghidra disassembly (if configured) | | `python tools/ai_ghidra.py --project <path> find-function <name>` | Ghidra function search | ## Critical Rules - **One function at a time.** Edit, build, check, repeat. - **No inline asm.** Always express the target in C code. - **No interactive objdiff.** Use `python tools/ai_diff.py` or `ninja changes`. - **No `#pragma once`** in `.c` files. - **Don't edit generated files**: `build.ninja`, `objdiff.json`, `compile_commands.json`, `config/GCBE7D/splits.generated.txt`, `config/GCBE7D/config.generated.yml`. - **DWARF is hints only.** `config/GCBE7D/symbols.txt` is ground truth. - **Prefer true matches**: typed fields, structured control flow, proper structs — not pointer arithmetic or goto-heavy code. - **Build single object** during iteration: `ninja build/GCBE7D/src/<unit>.o` — not full `ninja`. ## When Done Report: - Functions fully matched (100%) - Functions blocked (with reason) - Final verification command used
Related Skills
match-workflow
Drive symbol-to-verification matching work in crashwoc-decomp. Use when Codex needs to take a symbol or unit from lookup through context gathering, narrow local builds, and final regression checks.
task-pack
Generate and run provider-neutral decompilation task packs in crashwoc-decomp. Use when an agent should turn a unit, function, or decomp.me bundle into a self-contained task pack and run it against any backend (print, copilot, codex, claude, aider, or gemini).
symbol-lookup
Lookup symbols, addresses, units, and match metadata in crashwoc-decomp. Use when Codex needs to map a function or global to config/GCBE7D/symbols.txt, split ownership, build/GCBE7D/report.json, or fallback DWARF lines.
split-maintenance
Maintain config/GCBE7D/splits.txt and its generated companions. Use when Codex needs to add or replace unit ranges, import split data from the backup file, seed split ownership, or reason about normalized unit names like ai_1.c and GBA_1.c.
project-onboarding
Onboard Codex to crashwoc-decomp. Use when working in this repository and Codex needs the project layout, build and verification commands, generated-file rules, helper tooling, or the standard workflow for Crash Bandicoot: The Wrath of Cortex GameCube decompilation.
ghidra-workflow
Query the local Crash WOC Ghidra project through analyzeHeadless.bat for function lookup, decompilation, disassembly, and datatype inspection.
build-triage
Diagnose build failures, progress regressions, and single-object compile problems in crashwoc-decomp. Use when Codex needs to narrow a failing target, inspect report data, or summarize changes from ninja changes.
agent-orchestration
Orchestrate one Crash WOC unit or one function with Copilot using the repo-local helper scripts, prompt entry points, and a one-writer-at-a-time workflow.
tripartite-decompositions
GF(3)-balanced structured decompositions for parallel computation. Decomposes problems into MINUS/ERGODIC/PLUS components with sheaf-theoretic gluing. Use for FPT algorithms, skill allocation, or any 3-way parallel workload.
pun-decomposition
Pun Decomposition Skill (MINUS -1)
three-match
3-MATCH gadgets and non-backtracking geodesics for 3-SAT via colored subgraph isomorphism.
structured-decomp
StructuredDecompositions.jl: Sheaves on tree decompositions for FPT algorithms