Community寫作與編輯github.com

tacticaldoll/nlp-agent-skills

一個用於版本控管與管理多個 NLP 代理技能、配置和提示的單一儲存庫。

nlp-agent-skills 是什麼?

此技能提供一個以閘門為基礎的靜態程式碼審查工作流程,特別針對本地或貼上的輸入內容。它會順序性地開啟品質閘門,從基本語法檢查到安全審計,當較低閘門失敗時會阻止較高閘門的檢查,以避免無用的審查。此技能設計為完全離線、無需遠端服務,適用於 Claude Code 或 Codex 等 AI 代理平台。 該技能首先標準化使用者輸入(貼上程式碼、檔案路徑、Git diff 或提交範圍),然後根據變更範圍(草案、生產程式碼或安全敏感程式碼)校準審查深度。對於超過 5 個檔案的審查範圍,它會執行快速分流檢查,將檔案分類為紅色(需要完整檢查)、黃色(針對性檢查)或綠色(跳過)。在開閘前,它會進行結構提取,記錄函數、類別和相依性。 閘門審查會處理格式化、命名、錯誤處理、控制流程、業務邏輯和安全性。它不會修改程式碼、發布註解或呼叫遠端 API。報告會使用結構化的門索引與違規清單來產生,並在安全分流檢查失敗時納入安全分流警報。這確保了 AI 代理能提供精確、可操作的程式碼審查,而無需環境限制。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add tacticaldoll/nlp-agent-skills

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

程式碼審查 (Assay)

使用此技能執行本地的、基於閘門的靜態程式碼審查。審查會依序開啟品質閘門;較低閘門的失敗會阻止較高閘門,因為當基本衛生、命名或錯誤處理已經出問題時,後續的判斷是沒有用的。

此技能不會呼叫遠端服務、發布評論、核准程式碼或修改檔案。它會審查本地或貼上的輸入內容,並產生結構化報告。

工作流程

階段 0:解析本地輸入

將使用者的輸入標準化為審查範圍:

輸入解決方式
貼上的程式碼或 diff直接審查提供的內容
本地檔案路徑讀取完整檔案內容;除非有 diff 上下文,否則沒有 diff 上下文
本地 git diff審查變更的檔案和區塊
提交 hash 或範圍可用時使用本地 git diff
分支名稱可用時使用本地合併基礎 diff
模糊請求詢問檔案、diff、提交/範圍、分支或貼上的程式碼

請勿擷取 MR/PR 資料、呼叫遠端 API 或要求驗證。如果需要遠端上下文,請要求使用者提供本地 diff 或貼上的內容。

階段 1:校準審查深度

選擇要開啟多少個閘門。一般本地變更的預設值為閘門 1-5。

上下文閘門範圍
草稿、WIP、探索性程式碼閘門 1-3
一般功能或內部工具閘門 1-5
共享函式庫、生產路徑或公開 API閘門 1-7
安全敏感程式碼、驗證、加密、命令執行或使用者輸入邊界閘門 1-8

有疑問時,詢問程式碼的目標或風險等級。

階段 2:分流大型範圍

當審查範圍包含超過 5 個檔案時,在深度檢查前先執行快速分流。 若檔案數量為 5 個或更少,則跳過分流,直接進行結構提取。

分流檢查:

#檢查項目失敗訊號
1死程式碼被註解掉的程式碼、未使用的匯入、除錯輸出
2命名清晰度公開名稱含糊不清或誤導
3巢狀深度巢狀深度超過 3 層
4函式長度函式長到足以隱藏多個職責
5錯誤吞沒空的 catch/except 或忽略的失敗
6領域混合在一個單元中混合 I/O 與業務邏輯
7原始欄位組合複雜條件缺乏語義輔助
8重複味道相似的邏輯重複出現
9安全味道機密、不安全的插值、敏感日誌、未檢查的危險輸入

分類檔案:

類別條件後續動作
紅色3 個或更多檢查失敗完整閘門檢查
黃色1-2 個檢查失敗檢查目標閘門及所有較低閘門
綠色0 個檢查失敗除非特別要求,否則通過

安全味道是雙軌的:即使閘門 8 被較低閘門阻止,也要將其報告為分流警報。

階段 3:結構提取

在開啟閘門前,為每個被審查的函數、類別、模組或相關程式碼單元提取結構。使用提取結果來引導閘門審查;不要僅依賴原始 diff 文字。

記錄:

  • 閉包、回呼或巢狀函數。
  • 具有行為的內嵌物件或本地實體。
  • I/O 操作和外部副作用。
  • 最深巢狀及其原因。
  • 領域分布:基礎設施、業務、呈現或混合。
  • 生命週期:一次性、持久性或混合。
  • 捕獲的變數和隱藏相依性。
  • 提取過程中發現的明顯異常。
  • 閘門 6 的可用真實來源:找到任何規格或治理文件 (openspec/、PROJECT.md、AGENTS.md、ADRs、連結的問題) 來判斷邏輯, 或註明未找到。

階段 4:順序閘門審查

請參閱 references/gates.md 取得閘門定義。

按順序開啟閘門。如果一個閘門失敗,則停止為該檔案或審查範圍開啟更高的閘門。不要捏造發現結果。對於詳細部分,沉默表示合規;閘門索引仍會記錄哪些閘門已開啟、通過、失敗或被阻止。

階段 5:報告

使用以下格式產出報告:

## 審查記錄

**來源**:[輸入參考]
**校準**:閘門 1-[N] ([原因])
**分流**:[跳過 | 紅色 M 個 / 黃色 N 個 / 綠色 K 個]
**結果**:[通過 | 於閘門 N 失敗]

### 閘門索引

| 閘門 | 重點 | 狀態 |
|---:|---|---|
| 1 | 格式與語法衛生 | [通過 | 失敗 | 被阻止 | 未檢查] |
| 2 | 命名與可讀性 | [通過 | 失敗 | 被阻止 | 未檢查] |
| 3 | 錯誤處理與可觀測性 | [通過 | 失敗 | 被阻止 | 未檢查] |
| 4 | 控制流程與結構清晰度 | [通過 | 失敗 | 被阻止 | 未檢查] |
| 5 | 責任與邊界 | [通過 | 失敗 | 被阻止 | 未檢查] |
| 6 | 業務邏輯完整性 | [通過 | 失敗 | 被阻止 | 未檢查] |
| 7 | 去重與組合 | [通過 | 失敗 | 被阻止 | 未檢查] |
| 8 | 安全與參數完整性 | [通過 | 失敗 | 被阻止 | 未檢查] |

### 安全分流警報

[僅在分流檢查 9 失敗時包含]

### 閘門 N:[名稱]

| # | 位置 | 違規 | 修正建議 |
|---|---|---|---|
| 1 | `file:line` | 閘門 N:違反特定標準 | 具體修正 |

### 結構附錄

[包含與發現結果相關的程式碼單元摘要]

階段 6:可選修正計畫

僅在使用者要求時才產出修正計畫。

修正計畫規則:

  • 每個修正處理一項違規。
  • 修正順序遵循閘門順序。
  • 在同一個閘門內,按檔案和行號排序,除非邏輯相依性要求其他順序。
  • 不進行投機性修正。
  • 每個修正都包含驗證標準。

規則

  • 僅審查;不修改程式碼。
  • 僅使用本地或貼上的輸入;不呼叫遠端 PR/MR API。
  • 順序開啟閘門,並在第一個失敗的閘門處停止。
  • 即使深度安全檢查被阻止,也要報告安全分流警報。
  • 提供具體修正;避免模糊建議,例如「建議改善」。
  • 如果所有開啟的閘門都通過,閘門索引即為報告;不要捏造發現結果。
  • 提及未執行測試、建置或執行時期檢查。
  • 堅守崗位;在邊界移交。此技能僅是靜態的本地審查。 對於執行時期/行為正確性,請指向 verify;對於超出閘門 8 表面檢查的深度安全分析, 請指向 security-review。指出移交對象,而不是半吊子地做另一個技能的工作。

相關技能