Agent skill
rename-global-variable-or-function
Renaming a global variable or function requires additional steps in decompilation projects or the build will fail. Use this skill when you want to rename a global variable or function.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/rename-global-variable-or-function
SKILL.md
Rename a global variable or function
Instructions
Global variables and function names are mapped to specific addresses in memory through the symbol_addrs.txt file at the root of the project. Each symbol should only appear at most once. If a symbol is not present it will be given a default name (usually starting with func_ or D_).
So at a minimum this file will need to be updated when attempting to rename a variable. However additional steps may also be needed.
Global Variables
Global variables will have a default name format that looks like: D_<memory address>_<rom address>. For example D_800B11A0_1DB740. Both the memory address and rom adress should be included as annotations when renaming a symbol. This is because different symbols may share a memory address but be located in different overlays. To rename D_800B11A0_1DB740, for example, to MyNewGlobal we would do:
D_800B11A0_1DB740 = 0x800B11A0; // rom:0x1DB740
Note the structure of ` = ; // rom:.
You may see additional annotations for size and type. These should be preserved if they exist but you should not need to use them.
Functions
A similar process is followed for functions. A function will by default have a name structure of func_<memory address>_<rom address>. For example: func_800B00C0_9FF70. To rename this function to MyFunction we would do:
MyFunction = 0x800B00C0; // rom:0x9FF70
Validation
To validate your name change, rebuild the project:
./tools/build-and-verify.sh
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?