클로드스킬마트스킬 둘러보기스킬이 뭐예요?
목록으로

ast-grep 구조 기반 코드 검색·리팩터링

텍스트가 아니라 코드 구조(AST)로 25개 언어를 검색하고 대규모 코드모드를 안전하게 실행하는 스킬입니다.

개발·코딩중급67,5315,507AI 점수 9/10마지막 업데이트: 2026. 8. 9.

무엇을 해주나

ast-grep(sg)을 이용해 코드를 문법 트리(AST) 단위로 검색하고 치환합니다. $VAR(노드 1개), $$$(노드 여러 개) 같은 메타변수로 "이런 모양의 함수/호출/import"를 정확히 찾아냅니다.

  • 동봉된 파이썬 래퍼(scripts/ast_grep_helper.py)가 search / replace / scan / validate / langs / doctor 서브커맨드를 제공합니다.
  • 패턴을 실행 전에 오프라인 검증해 정규식 문법(\w, .*, |)을 잘못 쓴 경우를 바로 잡아줍니다.
  • --json--update-all이 동시에 동작하지 않는 ast-grep의 대표적 함정을 2패스(미리보기 → 적용) 방식으로 자동 처리합니다.
  • replace는 기본이 dry-run이며, 결과 요약에 영향 파일 수까지 포함합니다.
  • YAML 규칙(sg scan)으로 사내 린트 규칙과 자동 수정도 운용할 수 있습니다.

이런 분께 추천

  • 레거시 코드를 대량으로 마이그레이션해야 하는 백엔드/프론트엔드 개발자
  • grep으로는 오탐이 너무 많아 고생한 리팩터링 담당자
  • CI에 커스텀 린트 규칙을 넣고 싶은 팀 리드
  • Claude Code에게 "전부 찾아서 바꿔줘"를 안전하게 맡기고 싶은 사람

활용 예시

  1. 로거 교체: "프로젝트의 모든 console.log(x)logger.info(x)로 바꿔줘" → 헬퍼가 dry-run으로 매치 건수와 파일 수를 보여주고, 확인 후 --apply로 적용합니다.
  2. 타입 정리: "TypeScript 전체에서 as any 캐스팅을 제거하고 남은 위치를 리스트로 줘" → 구조 매칭으로 문자열 오탐 없이 처리합니다.
  3. 품질 점검: "빈 catch 블록과 await 누락 후보를 찾아 YAML 린트 규칙으로 만들어 CI에 붙여줘" → rules/ 아래 규칙 작성 후 sg scan으로 상시 검사합니다.

· · · 설치 가이드 · · ·

Claude 앱에 설치 (터미널 필요 없음)
  1. 아래 버튼으로 ZIP 파일을 받으세요.
  2. Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
  3. Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
ZIP 내려받기
Claude Code에 설치

Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요

클로드스킬마트에서 찾은 스킬을 설치해줘.
GitHub 저장소 code-yeongyu/oh-my-openagent 의 packages/shared-skills/skills/ast-grep 폴더를 내 ~/.claude/skills/ast-grep/ 에 그대로 복사해줘.
설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.

직접 명령으로 설치하기

git clone https://github.com/code-yeongyu/oh-my-openagent.git && mkdir -p ~/.claude/skills && cp -r oh-my-openagent/packages/shared-skills/skills/ast-grep ~/.claude/skills/

제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.

  1. 터미널을 열고 python3 --version으로 파이썬 3가 있는지 확인합니다.
  2. 저장소를 받습니다: git clone https://github.com/code-yeongyu/oh-my-openagent.git
  3. 스킬 폴더를 복사합니다: mkdir -p ~/.claude/skills && cp -r oh-my-openagent/packages/shared-skills/skills/ast-grep ~/.claude/skills/
  4. ast-grep 바이너리를 설치합니다: bash ~/.claude/skills/ast-grep/install.sh (윈도우는 PowerShell에서 install.ps1), 또는 brew install ast-grep / cargo install ast-grep.
  5. python3 ~/.claude/skills/ast-grep/scripts/ast_grep_helper.py doctor로 바이너리 인식 여부를 확인합니다.
  6. Claude Code를 재시작한 뒤 "이 저장소에서 console.log 호출 전부 찾아줘"처럼 요청하면 스킬이 자동으로 사용됩니다.
  7. 치환을 실행할 때는 반드시 git으로 커밋된 상태에서, dry-run 결과를 확인한 다음 --apply를 붙이세요.
GitHub에서 원본 보기라이선스: NOASSERTION