원클릭으로
rename-symbol
Rename a code symbol (variable, function, class) across a specified scope.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Rename a code symbol (variable, function, class) across a specified scope.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Explains code in plain language for someone unfamiliar with the programming language. Use when asked to explain code, walk through logic, describe what a function does, or when the user says "explain this" or "walk me through this".
Summarizes uncommitted git changes in a concise machine-readable format. Use in CI pipelines, scripts, or headless invocations where the output will be piped or captured.
Explains what a skill is and demonstrates that skills are working. Use when testing skills, when asked about skills, or when asked to demonstrate how skills work.
Demonstrates the personal scope for Claude Code skills. Use when testing personal-scoped skills or when the user wants to understand the difference between personal and project skill scopes.
Lists the conventions for this project and demonstrates the project scope for Claude Code skills. Use when asked about project conventions, code style, or as a demonstration of project-scoped skills.
Draft a CHANGELOG.md entry for the current changes in Keep a Changelog format. Use when releasing, tagging a version, or updating CHANGELOG.md.
| title | rename-symbol |
| name | rename-symbol |
| description | Rename a code symbol (variable, function, class) across a specified scope. |
| disable-model-invocation | true |
| argument-hint | [old-name] [new-name] [file|module|project] |
| arguments | ["old-name","new-name","scope"] |
| allowed-tools | Grep Glob Read Bash(sed *) Bash(git diff *) |
Rename $old-name to $new-name within scope: $scope.
Valid scopes: file, module, project. If $scope is not one of these three values, stop and report: "Invalid scope '$scope'. Use file, module, or project."
file scope: Search only the current file being edited, or the specific file the user mentioned in the task context. If the file cannot be determined, ask the user for the path before proceeding.
module scope: Search the directory containing the current file and its immediate subdirectories (one level deep). Exclude node_modules/, __pycache__/, .git/, dist/, and build/.
project scope: Search the entire project from the root. Exclude node_modules/, __pycache__/, .git/, dist/, build/, and any directory listed in .gitignore that represents build output.
Use grep with a word-boundary pattern to find occurrences of $old-name. The pattern must match whole words only — it must not match $old-name when it appears as part of a longer identifier.
For most languages, use:
grep -rn "\b$old-name\b" <search-area> --include="*.ts" --include="*.tsx" --include="*.js" --include="*.jsx" --include="*.py" --include="*.go" --include="*.rb" --include="*.java"
Adjust the --include flags based on the file types in the project. Check which extensions are present before running grep.
If zero occurrences are found, stop and report: "No occurrences of '$old-name' found in the $scope scope."
Before making any changes, show the user the full list of files and lines that will be modified:
Found N occurrences of '$old-name' in M files:
src/auth/login.ts:14: function $old-name(user: User) {
src/auth/login.ts:28: return $old-name(currentUser);
src/auth/index.ts:3: export { $old-name } from './login';
Then ask: "Rename all occurrences? (yes/no)"
Wait for confirmation before proceeding. If the user says no or provides any response other than yes, stop and report: "Rename cancelled."
For each file that contains occurrences, apply the substitution using a word-boundary-aware sed pattern:
sed -i '' "s/\b$old-name\b/$new-name/g" <file>
On Linux, omit the empty string after -i:
sed -i "s/\b$old-name\b/$new-name/g" <file>
Process files one at a time. If sed fails for a specific file, report the error for that file and continue with the remaining files.
After all replacements are made, run:
git diff
Show the output so the user can verify the changes are correct.
Report a summary:
Renamed '$old-name' to '$new-name'.
Files modified: M
Total occurrences replaced: N
@param oldName references). When in doubt, flag the occurrence in the preview and let the user decide.