review-codebase
关于
This skill performs comprehensive multi-phase codebase reviews covering architecture, security, code quality, and UX/accessibility. It outputs prioritized findings with severity ratings in a structured table format. The results are directly compatible with the create-github-issues skill for converting findings into 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-codebase在 Claude 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 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。
polymarket
元这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。
creating-opencode-plugins
元该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。
sglang
元SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。
