---
name: code-audit-expert
description: 전문적인 코드 분석, 리팩토링 평가 및 기술 리포트 작성 가이드. 개발자의 작업 내용을 비판적으로 검토하고, 아키텍처적 관점에서 영향도를 분석하며, 개선 방향을 제시할 때 사용합니다. 특히 리팩토링 후의 정합성 검증과 설계 품질 평가에 특화되어 있습니다. 작업 전후의 코드 구조 비교, 디자인 패턴 적용 적절성, 의존성 그래프 변화 등을 분석하여 상급 엔지니어 수준의 피드백을 제공합니다.
---

# Code Audit Expert

이 스킬은 코드의 품질을 평가하고, 리팩토링 결과를 분석하며, 기술적인 의사결정을 리포트하는 전문적인 워크플로우를 제공합니다.

## 핵심 가치

1. **비판적 검토 (Critical Review)**: "잘 돌아간다"를 넘어 "왜 이렇게 했는가"와 "더 나은 대안은 없는가"를 집요하게 파고듭니다.
2. **구조적 분석 (Structural Analysis)**: 개별 파일의 수정을 넘어 시스템 전체의 의존성과 아키텍처적 정합성을 평가합니다.
3. **증거 기반 보고 (Evidence-based Reporting)**: 단순한 감상이 아닌, 코드 라인과 아키텍처 원칙(SOLID, DRY 등)에 기반한 객관적 데이터를 제시합니다.

## 기본 워크플로우

1. **컨텍스트 파악**: 수정된 파일 리스트와 작업 배경(PR 설명, 에이전트 보고 등)을 대조합니다.
2. **코드 베이스 실사**: `readFile`을 통해 실제 구현부를 읽고, 보고된 내용과 일치하는지 확인합니다.
3. **심층 분석**:
   - 인터페이스 설계의 적절성 (ISP 준수 여부)
   - 중복 코드의 제거 및 추상화 수준 (DRY, 하드코딩 여부)
   - 성능 및 비용 최적화 (캐싱, 토큰 효율 등)
4. **결과 리포팅**: [reporting-template.md](references/reporting-template.md)를 활용하여 분석 결과를 요약하고 평가합니다.

## 분석 가이드라인

- **리팩토링 평가**: [critique-framework.md](references/critique-framework.md)의 체크리스트를 사용하여 점수를 매기거나 구체적인 피드백을 작성하십시오.
- **의존성 체크**: `BaseAIService`와 같은 핵심 클래스 수정 시, 이를 사용하는 소비자(Consumer)들의 타입 좁히기가 적절히 수행되었는지 반드시 확인하십시오.
- **위험 요소 도출**: 현재 수정으로 인해 발생할 수 있는 부작용(Side Effects)이나 기술 부채를 명시하십시오.

## 사용 예시

- "방금 진행한 BaseAIService 리팩토링 결과물을 아키텍처 관점에서 평가해줘."
- "이 코드 수정이 OpenAI와 Anthropic의 캐싱 효율에 어떤 영향을 주는지 분석해줘."
- "새로 추가된 Gemini 도구 설정 로직이 SDK 명세와 일치하는지 검토해줘."
