review-codebase
정보
이 스킬은 아키텍처, 보안, 코드 품질, UX/접근성을 포괄적으로 검토하는 다단계 코드베이스 리뷰를 수행합니다. 심각도 등급이 부여된 우선순위별 발견 사항을 구조화된 표 형식으로 출력하며, 그 결과는 발견 사항을 GitHub 이슈로 변환하는 create-github-issues 스킬과 직접 호환됩니다.
빠른 설치
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에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
評代碼庫
多階深度代碼庫評審,附嚴重度等級與結構化輸出。於單一協調之過程中涵蓋架構、安全、代碼品質與 UX/無障礙。生按優先級排之發現表,可直接藉 create-github-issues 技能轉為 GitHub 議題。
適用時機
- 全項目或子項目評審(非 PR 範圍)
- 新代碼庫上手——建構心智模型,知何存在與何需注意
- 持續開發後之定期健檢
- 跨架構、安全、代碼品質與 UX 之發布前品質閘
- 輸出宜直接饋議題建立或衝刺計畫時
輸入
- 必要:
target_path——擬評之代碼庫或子項目根目錄 - 選擇性:
scope——擬跑之階段:full(預設)、security、architecture、quality、uxoutput_format——findings(僅表)、report(敘述)、both(預設)severity_threshold——納入之最低嚴重度:LOW(預設)、MEDIUM、HIGH、CRITICAL
步驟
步驟一:盤點
清點代碼庫以立範圍並識評審標的。
- 按語言/類型計文件數:
find target_path -type f | sort by extension - 度每語言之總行數
- 識測試目錄並估測試覆蓋(有測試之文件 vs 無測試之文件)
- 檢依賴狀態:鎖文件存在、過時依賴、已知漏洞
- 注建構系統、CI/CD 配置與文件狀態
- 將盤點記為報告之開段
預期: 事實清冊——文件數、語言、測試之有無、依賴健康。尚無判斷。
失敗時: 若目標路徑為空或不可達,停而報。若特定子目錄不可達,註之並以可得者續。
步驟二:架構評審
評結構健康:耦合、重複、資料流、關注點分離。
- 繪模組/目錄結構並識主要架構模式
- 檢代碼重複——跨文件之重複邏輯、複貼模式
- 評耦合——單一功能修改須改幾文件
- 評資料流——層間(UI、邏輯、資料)有清界否?
- 識死代碼、未用之匯出與孤兒文件
- 檢一致模式——代碼庫遵其自身慣例否?
- 為每發現評:CRITICAL、HIGH、MEDIUM 或 LOW
預期: 含嚴重度等級與文件引用之架構發現清單。常見發現:模式分派重複、缺抽象層、循環依賴。
失敗時: 若代碼庫過小不宜架構評審(< 5 文件),註之並跳至步驟三。架構評審需足夠之代碼以有結構。
步驟三:安全稽核
識安全漏洞與防禦編碼之缺。
- 掃注入向量:HTML 注入(
innerHTML)、SQL 注入、命令注入 - 檢認證與授權模式(若適用)
- 評錯誤處理——錯被無聲吞否?錯訊洩內部否?
- 對已知 CVE 稽核依賴版本
- 檢硬編之機密、API 鑰或憑證
- 評 Docker/容器安全:root 用戶、暴露之埠、構建機密
- 檢 localStorage/sessionStorage 之敏感資料儲存
- 為每發現評:CRITICAL、HIGH、MEDIUM 或 LOW
預期: 含嚴重度、受影響文件與補救指南之安全發現清單。CRITICAL 發現含注入漏洞與洩漏之機密。
失敗時: 若無安全相關之代碼存在(純文件項目),註之並跳至步驟四。
步驟四:代碼品質
評可維護性、可讀性與防禦編碼。
- 識魔數與宜成具名常數之硬編值
- 檢跨代碼庫之一致命名慣例
- 找系統邊界缺輸入驗證
- 評錯誤處理模式——一致否?提供有用訊息否?
- 檢註解掉之代碼、TODO/FIXME 標記與未完之實作
- 評測試品質——測試是測行為抑或實作細節?
- 為每發現評:CRITICAL、HIGH、MEDIUM 或 LOW
預期: 聚焦可維護性之品質發現清單。常見發現:魔數、不一致模式、缺護衛。
失敗時: 若代碼庫為生成或縮小,註之並調期望。生成代碼有異於手寫代碼之品質標準。
步驟五:UX 與無障礙(若有前端)
評使用者體驗與無障礙合規。
- 檢互動元素之 ARIA 角色、標籤與地標
- 驗鍵盤導航——所有互動元素可藉 Tab 達否?
- 測焦點管理——面板開/閉時焦點邏輯移否?
- 檢響應式設計——於常見斷點測(320px、768px、1024px)
- 驗色對比合 WCAG 2.1 AA 標準
- 檢螢幕閱讀器相容——動態內容變更被宣告否?
- 為每發現評:CRITICAL、HIGH、MEDIUM 或 LOW
預期: 含 WCAG 引用(適用時)之 UX/a11y 發現清單。若無前端存在,本步產「N/A——未測得前端代碼」。
失敗時: 若有前端代碼但不能渲染(缺構建步),靜態稽核源代碼並註執行時測試不可。
步驟六:發現綜合
將所有發現編入按優先級排之摘要。
- 將各階發現併為單一表
- 按嚴重度排序(CRITICAL 先,繼 HIGH、MEDIUM、LOW)
- 每嚴重度內按主題(安全、架構、品質、UX)分組
- 每發現含:嚴重度、階段、文件、一行描述、建議之修
- 出考量修復間依賴之建議修復順
- 摘要:按嚴重度之總發現數、前 3 優先、估之工作量
預期: 含 #、Severity、Phase、File(s)、Finding、Fix 欄之發現表。考量發現間依賴之修復順建議(如「加測試前先重構架構」)。
失敗時: 若無發現產出,此本身為發現——或代碼庫格外潔淨,或評審過淺。重檢至少一階作更深察。
驗證
- 所有所求之階段已完成(或明略並附理由)
- 每發現有嚴重度等級(CRITICAL/HIGH/MEDIUM/LOW)
- 每發現引至少一文件或目錄
- 發現表按嚴重度排序
- 修復順建議考量發現間之依賴
- 摘要含按嚴重度之總計
- 若
output_format含report,敘述段伴表
與 Rest 之尺度
評審階段之間,用 /rest 為關卡——尤於需異分析角度之第二至五階之間。關卡息(短、過渡)防一階之動量偏倚下一階。指南見 rest 技能之「Scaling Rest」段。
常見陷阱
- 煮海:評大代碼庫之每行產噪。聚焦高影響區:入口、安全邊界、架構接縫
- 嚴重度膨脹:非每發現皆 CRITICAL。將 CRITICAL 留予可利用之漏洞與資料喪失風險。多數架構問題為 MEDIUM
- 見木不見林:個別代碼品質問題重於系統模式。若魔數現於 20 文件,乃一架構發現而非 20 品質發現
- 略盤點:盤點(步驟一)似官僚但防評不存在之代碼或漏整目錄
- 階段滲流:架構評審中之安全發現,或安全稽核中之品質發現。為正確階段註之而非混關注——產更潔之發現表
相關技能
security-audit-codebase— 評代碼庫之安全階段揭複雜漏洞時之深度安全稽核review-software-architecture— 對特定子系統之詳細架構評審review-ux-ui— 越第五階所涵之全面 UX/無障礙稽核review-pull-request— 對個別變更之 diff 範圍評審clean-codebase— 實作此評審所識之代碼品質修復create-github-issues— 將發現表轉為已追蹤之 GitHub 議題
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을 선택하십시오.
