본문으로 건너뛰기
cccskills
무료GitHub에 공개

rename-symbol

Rename a code symbol (variable, function, class) across a specified scope.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(1)

  • SKILL.md3.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Rename symbol

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

Step 1: Determine the search area

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.

Step 2: Search for all occurrences

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

Step 3: Show a preview

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

Step 4: Make the replacements

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.

Step 5: Show the diff

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

Notes

  • Do not rename occurrences in comments or string literals unless they are clearly references to the symbol (e.g., JSDoc @param oldName references). When in doubt, flag the occurrence in the preview and let the user decide.
  • Do not rename file names even if they contain the symbol name. File renaming requires separate handling.
  • If the project uses TypeScript, a language server rename via the editor is safer for type-checked renames. Note this at the end of the summary.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Write an Architecture Decision Record (ADR) document for a technical decision. Use when documenting a technical choice, architectural decision, or design decision.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

davila7/claude-with-skills132026년 5월 15일 업데이트

REST API design conventions for this codebase. Use when writing or reviewing API endpoints, route definitions, response formatting, or client code that calls the API.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

davila7/claude-with-skills132026년 5월 15일 업데이트

Automatically format code files after every edit using Prettier and ESLint. Active in the background whenever Claude edits a file. Formatting is silent — no prompts, no output unless a formatter fails. Use when you want consistent formatting enforced automatically during a coding session.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

davila7/claude-with-skills132026년 5월 15일 업데이트

Create a git branch named after a GitHub issue.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

davila7/claude-with-skills132026년 5월 15일 업데이트

Draft the changelog entry for all unreleased commits in Keep a Changelog format. Groups commits into Added, Changed, Fixed, Removed, and Security. Use before releasing a new version or when updating CHANGELOG.md.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

davila7/claude-with-skills132026년 5월 15일 업데이트

Draft a CHANGELOG.md entry for the current changes in Keep a Changelog format. Use when releasing, tagging a version, or updating CHANGELOG.md.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

davila7/claude-with-skills132026년 5월 15일 업데이트

davila7의 스킬 모두 보기

이 스킬의 문제 신고