Community程式設計與開發github.com

NiazMorshed2007/jev-review

Jev Review:輕量級資深工程師審查循環,對實作片段評分、比較品質變化並標記弱點 — 代理負責實作;Jev 負責評估但不編輯。

jev-review 是什麼?

Jev Review 是一個輕量級、可重複執行的資深工程師審查循環,專為 AI 編碼代理(如 Claude Code、Cursor 等)設計。主要編碼代理負責實作、驗證與最終判斷;Jev Review 僅評估提供的變更,絕不直接編輯檔案。它支援在實作過程中進行多次聚焦審查,而非僅在最後一次大規模審查:每次在完成一個合理的實作片段(如一個行為、模組、API 邊界、遷移步驟或測試策略)後即可呼叫,特別是在引入新控制流程、狀態處理、依賴項、公開合約或安全性敏感行為時。審查結果會以結構化 JSON 格式回傳,包含維度分數、信心度、優先問題與先前比較的改善/回歸。它能輔助但無法取代測試、類型檢查、linter 及安全工具。使用時需注意不要為了提升分數而引入不必要的抽象、推測性架構或破壞現有行為。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/NiazMorshed2007/jev-review/tree/main/skills/jev-review

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Jev Review

使用 jev_review 作為輕量級、可重複執行的資深工程師審查循環。主要編碼代理負責實作、驗證與最終判斷;Jev Review 僅評估提供的變更,但絕不編輯檔案。

審查節奏

對於非瑣碎的任務,傾向往工作中期進行多次聚焦審查,而非在最後進行一次大型審查:

  • 在每個足以判斷的合理實作片段完成後呼叫,例如完成一個行為、模組、API 邊界、遷移步驟或測試策略。
  • 在出現新的控制流程、狀態處理、依賴項、公開合約或安全性敏感行為時呼叫。
  • 在根據合理的回饋進行改進後再次呼叫,並將先前的結果作為 previousEvaluation 傳入,以便 Jev 識別改善與回歸。
  • 在最終移交之前,確保最新的審查涵蓋了最終實作。

中間審查不需要等待完整的測試套件。在可行時執行快速、相關的檢查,並將其狀態包含在 repositoryContext 中;在最終審查前執行儲存庫的正常驗證。不要重複完全相同的呼叫,不要審查僅有格式變更的雜訊,也不要在沒有合理實作狀態時呼叫。頻繁的聚焦審查很有用;但空泛的審查則無用。

工作流程

  1. 理解使用者實際的需求與限制。
  2. 檢查儲存庫、其慣例以及受影響的行為。
  3. 實作請求變更的一個合理片段。
  4. 在可行時執行快速、相關的測試、型別檢查、linter 或其他驗證。
  5. 僅使用評估當前片段所需的上下文來呼叫 jev_review。
  6. 檢查低信心結果、弱維度、優先問題以及任何回歸。
  7. 決定哪些回饋有程式碼和使用者任務支援。將評估視為證據,而非最佳化每個數字的指令。
  8. 在回饋識別出真正價值的地方改進實作,優先考慮正確性、認知複雜度、可變性、耦合度、模組化、抽象品質、測試和安全性。
  9. 針對下一個合理片段重複實作、驗證和審查循環。
  10. 在審查驅動或其他重大變更後,再次呼叫 jev_review 並將先前的結構化評估作為 previousEvaluation 傳入。
  11. 在最終移交前執行儲存庫的正常驗證,然後審查最終狀態(如果最新的評估已不再涵蓋它)。
  12. 當重要風險已解決,且進一步的更改只會增加很少實際價值時停止。

選擇上下文

傾向於使用如下所示的聚焦呼叫:

{
  "task": "使用者請求的行為及相關的驗收限制",
  "diff": "實作差異",
  "files": [
    {
      "path": "src/example.ts",
      "content": "僅在需要周圍程式碼來理解 diff 時提供"
    }
  ],
  "repositoryContext": "相關的架構、慣例、測試結果或不變量",
  "previousEvaluation": {}
}

如果 Jev 報告其輸入限制已超過,請減少不相關的檔案內容,或將實作拆分為合理的審查片段。不要盲目截斷程式碼,以免移除正確判斷變更所需的合約、呼叫者或測試。

在大多數審查中使用 task 和 diff。僅當 diff 缺乏必要的周圍行為時才新增完整檔案。使用 repositoryContext 提供評估者無法推斷的簡明事實,例如已建立的模式或驗證結果。

預設情況下不要傳送整個儲存庫。排除不相關的檔案、生成的輸出、供應商代碼、機密、憑證、私鑰、環境檔案以及有雜訊的鎖定檔案變更,除非它們與審查直接相關。

解讀結果

  • 正確性和使用者的需求優先於所有分數。
  • 低信心分數是檢查上下文的提示,而非重寫程式碼的理由。
  • 標記為 applicable: false 的條件指標無需採取任何行動。
  • 使用 priorities 尋找最重要的弱維度,然後在更改程式碼之前檢查實際程式碼。
  • 在比較評估時,調查有意義的回歸以及仍未解決的弱指標。不要追逐微小的分數變化。
  • 繼續依賴測試、型別檢查、linter、安全工具和人類判斷。Jev Review 是它們的補充,而非替代。

不要玩弄分數

更高的分數絕不能證明以下行為合理:不必要的抽象、投機性架構、範圍擴張、破壞現有行為、重寫可正常運作的程式碼、沒有證據的非常規架構、無意義的測試、不必要的註解,或僅僅為了縮小檔案而拆分內聚的程式碼。

不要假定短函數、小檔案、單一用途類別、零重複、更多抽象、更多測試或更多註解就一定是更好的。根據此儲存庫和此任務的具體情況評估後果。

相關技能