review-codebase
정보
이 스킬은 단일 조정된 과정으로 아키텍처, 보안, 코드 품질, UX/접근성에 대한 포괄적인 다단계 코드베이스 검토를 수행합니다. 심각도 등급이 포함된 우선순위별 발견 사항 테이블을 생성하며, 이는 create-github-issues 스킬을 통해 GitHub 이슈로 직접 변환할 수 있습니다. 전체 프로젝트나 하위 프로젝트의 모든 품질 차원에 걸친 심층적이고 종합적인 검토에 사용하세요.
빠른 설치
Claude Code
추천npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/review-codebaseClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
Review Codebase
Multi-phase deep codebase review producing severity-rated findings w/ fix-order rec. Unlike review-pull-request (scoped to diff) or single-domain reviews (security-audit-codebase, review-software-architecture), covers entire project/subproject across all quality dims in one pass.
Use When
- Whole-project or subproject review (not PR-scoped)
- New codebase onboarding — building mental model of what exists + needs attention
- Periodic health checks after sustained dev
- Pre-release quality gate across architecture, security, code quality, UX
- Output should feed directly into issue creation or sprint planning
In
- Required:
target_path— root dir of codebase/subproject - Optional:
scope— phases to run:full(default),security,architecture,quality,uxoutput_format—findings(table only),report(narrative),both(default)severity_threshold— min severity:LOW(default),MEDIUM,HIGH,CRITICAL
Do
Step 1: Census
Inventory codebase → est scope + ID review targets.
- Count files by lang/type:
find target_path -type f | sort by extension - Measure total line counts per lang
- ID test dirs + estimate coverage (files w/ tests vs without)
- Check dep state: lockfiles present, outdated deps, known vulns
- Note build system, CI/CD config, docs state
- Record census as opening section of report
→ Factual inventory — file counts, langs, test presence, dep health. No judgments yet.
If err: target empty/inaccessible → stop + report. Specific subdirs inaccessible → note + continue w/ available.
Step 2: Architecture Review
Assess structural health: coupling, duplication, data flow, separation of concerns.
- Map module/dir structure + ID primary architectural pattern
- Check code duplication — repeated logic across files, copy-paste
- Assess coupling — how many files must change for single feature mod
- Eval data flow — clear boundaries between layers (UI, logic, data)?
- ID dead code, unused exports, orphaned files
- Check consistent patterns — codebase follows own conventions?
- Rate each: CRITICAL, HIGH, MEDIUM, LOW
→ List of architectural findings w/ severity + file refs. Common: mode dispatch duplication, missing abstraction layers, circular deps.
If err: codebase too small for meaningful review (<5 files) → note + skip Step 3. Architecture review needs enough code to have structure.
Step 3: Security Audit
ID security vulns + defensive coding gaps.
- Scan injection vectors: HTML (
innerHTML), SQL, command injection - Check authn + authz patterns (if applicable)
- Review error handling — silently swallowed? Leak internals?
- Audit dep versions vs known CVEs
- Check hardcoded secrets, API keys, creds
- Review Docker/container security: root user, exposed ports, build secrets
- Check localStorage/sessionStorage for sensitive data
- Rate each: CRITICAL, HIGH, MEDIUM, LOW
→ List of security findings w/ severity, affected files, remediation. CRITICAL = injection vulns + exposed secrets.
If err: no security-relevant code (pure docs project) → note + skip Step 4.
Step 4: Code Quality
Eval maintainability, readability, defensive coding.
- ID magic numbers + hardcoded values should be named consts
- Check consistent naming across codebase
- Find missing input validation at system boundaries
- Assess error handling — consistent? Useful messages?
- Check commented-out code, TODO/FIXME, incomplete impls
- Review test quality — testing behavior or impl details?
- Rate each: CRITICAL, HIGH, MEDIUM, LOW
→ List of quality findings → maintainability. Common: magic numbers, inconsistent patterns, missing guards.
If err: codebase generated/minified → note + adjust expectations. Generated code has diff quality criteria than hand-written.
Step 5: UX + a11y (if frontend exists)
Eval UX + a11y compliance.
- Check ARIA roles, labels, landmarks on interactive
- Verify keyboard nav — all interactive reachable via Tab?
- Test focus mgmt — focus moves logically when panels open/close?
- Check responsive — test at common breakpoints (320px, 768px, 1024px)
- Verify color contrast meets WCAG 2.1 AA
- Check screen reader compat — dynamic content changes announced?
- Rate each: CRITICAL, HIGH, MEDIUM, LOW
→ List of UX/a11y findings w/ WCAG refs. No frontend → "N/A — no frontend code detected."
If err: frontend exists but can't render (missing build step) → audit source code statically + note runtime testing not possible.
Step 6: Findings Synthesis
Compile all findings → prioritized summary.
- Merge findings from all phases → single table
- Sort by severity (CRITICAL first, then HIGH, MEDIUM, LOW)
- Within each severity, group by theme (security, architecture, quality, UX)
- Each finding: severity, phase, file(s), one-line description, suggested fix
- Produce rec fix order considering deps between fixes
- Summarize: total findings by severity, top 3 priorities, est effort level
→ Findings table w/ columns: #, Severity, Phase, File(s), Finding, Fix. Fix-order rec accounting for deps (e.g. "refactor architecture before adding tests").
If err: no findings produced → finding itself — codebase exceptionally clean or review too shallow. Re-examine ≥1 phase deeper.
Check
- All requested phases done (or explicitly skipped w/ justification)
- Every finding has severity rating (CRITICAL/HIGH/MEDIUM/LOW)
- Every finding refs ≥1 file or dir
- Findings table sorted by severity
- Fix-order recs account for deps between findings
- Summary has total counts by severity
- If
output_formatincludesreport, narrative sections accompany table
Scaling w/ Rest
Between review phases, use /rest as checkpoint — esp between phases 2-5 needing diff analytical perspectives. Checkpoint rest (brief, transitional) prevents momentum of one phase biasing next. See rest "Scaling Rest" for guidance on checkpoint vs full rest.
Traps
- Boiling ocean: Reviewing every line of large codebase produces noise. Focus high-impact: entry points, security boundaries, architectural seams.
- Severity inflation: Not every finding CRITICAL. Reserve CRITICAL for exploitable vulns + data-loss risks. Most architectural = MEDIUM.
- Missing forest for trees: Individual code quality matters less than systemic patterns. Magic numbers in 20 files = 1 architectural finding not 20 quality.
- Skip census: Census (Step 1) seems bureaucratic but prevents reviewing code that doesn't exist or missing entire dirs.
- Phase bleed: Security findings during architecture, or quality during security audit. Note for correct phase, no mix concerns — produces cleaner table.
→
security-audit-codebase— deep-dive when review-codebase security phase reveals complex vulnsreview-software-architecture— detailed architecture review for specific subsystemsreview-ux-ui— comprehensive UX/a11y audit beyond phase 5review-pull-request— diff-scoped review for individual changesclean-codebase— impl code quality fixes ID'd by this reviewcreate-github-issues— convert findings → tracked GH issues
GitHub 저장소
연관 스킬
content-collections
메타이 스킬은 콘텐츠 콜렉션(Content Collections)을 위한 프로덕션 검증된 설정을 제공합니다. 콘텐츠 콜렉션은 Markdown/MDX 파일을 Zod 검증이 포함된 타입 안전한 데이터 콜렉션으로 변환해주는 TypeScript 최우선 도구입니다. 블로그, 문서 사이트 또는 콘텐츠 중심의 Vite + React 애플리케이션을 구축할 때 타입 안전성과 자동 콘텐츠 검증을 보장하기 위해 사용하세요. Vite 플러그인 구성과 MDX 컴파일부터 배포 최적화 및 스키마 검증에 이르기까지 모든 것을 다룹니다.
polymarket
메타이 스킬은 개발자들이 Polymarket 예측 시장 플랫폼을 활용한 애플리케이션을 구축할 수 있도록 지원하며, 거래 및 시장 데이터를 위한 API 통합 기능을 포함합니다. 또한 WebSocket을 통한 실시간 데이터 스트리밍을 제공하여 실시간 거래와 시장 활동을 모니터링할 수 있습니다. 이를 통해 거래 전략을 구현하거나 실시간 시장 업데이트를 처리하는 도구를 생성하는 데 활용할 수 있습니다.
creating-opencode-plugins
메타이 스킬은 개발자들이 명령어, 파일, LSP 작업 등 25개 이상의 이벤트 유형에 연결되는 OpenCode 플러그인을 만들 수 있도록 돕습니다. JavaScript/TypeScript 모듈을 위한 플러그인 구조, 이벤트 API 명세, 구현 패턴을 제공합니다. OpenCode AI 어시스턴트의 라이프사이클을 사용자 정의 이벤트 기반 로직으로 가로채거나, 모니터링하거나, 확장해야 할 때 사용하세요.
sglang
메타SGLang은 RadixAttention 프리픽스 캐싱을 활용하여 JSON, 정규식, 에이전트 워크플로우를 위한 고속 구조화 생성에 특화된 고성능 LLM 서빙 프레임워크입니다. 특히 반복되는 프리픽스가 있는 작업에서 상당히 빠른 추론 속도를 제공하여 복잡한 구조화 출력 및 다중 턴 대화에 이상적입니다. 제약 디코딩이 필요하거나 광범위한 프리픽스 공유가 있는 애플리케이션을 구축할 때는 vLLM과 같은 대안보다 SGLang을 선택하십시오.
