Community生產力與協作github.com

simhanson123/signal-lens

Signal Lens — 以情境為優先的維護者 PR 審查(技能、CLI、動作、可選 MCP)

signal-lens 是什麼?

Signal Lens 是一個以脈絡為優先的維護者 PR 審查工具,可作為 AI 技能、CLI 或 MCP 使用,並提供可選的 MCP 支援。該工具旨在透過自動路由(MCP 或 CLI)協助開發者與 AI 代理程式產生以證據為基礎的審查結果。使用者無需猜測後端連線狀態;系統會依據 `review_pr` MCP 工具是否可用來決定使用 MCP 或 CLI 路徑。在 MCP 模式下,它執行完整審查、可選的脈絡讀取(如倉庫結構與維護規則)以及針對 CI 弱化、安全性、重複程式碼與測試涵蓋率的重點掃描。CLI 模式則透過 shell 腳本 `run-review-auto.sh` 或 `run-review.sh` 執行靜態分析。輸出內容為結構化 JSON 或 Markdown,隨後由 AI 摘要為決策、阻擋事項、高優先級項目與後設資料,最後支援假陽性回饋、解釋與修正草稿等後續動作。該工具支援 Claude Code 與 Grok 等平台,並透過 `$ARGUMENTS` 動態參數(如分支、基底、AI 啟用)進行靈活調用。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add simhanson123/signal-lens

Installed? Explore more 生產力與協作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

Signal Lens — 以情境為優先的維護者 PR 審查

協調 Signal Lens (signal-lens),並自動進行 MCP/CLI 路由。您負責統籌,引擎則產生以證據為基礎的發現。MCP 為選用;CLI 為備援方案。

自動路由(預設 — 始終遵循)

第 0 步 — 偵測後端(每次審查前執行):

檢查以下 MCP 工具是否在 您當前的工具清單(非文件中的,而是即時工具)中:

  • review_pr
  • scan_ci_weakening
  • trace_security_boundary
  • scan_test_coverage
條件後端動作
review_pr 存在於工具清單中MCP前往 MCP 路徑
review_pr 不存在於工具清單中CLI前往 CLI 路徑

選擇性:執行 signal-lens capabilities 以查看 CLI/提供者狀態(不取代第 0 步)。

切勿猜測。 若不確定 MCP 是否已連線,請使用 CLI 路徑。


MCP 路徑

在 MCP 工具可用時使用。建議先執行一次完整審查,再依需要進行重點掃描。

1. 完整審查

調用工具 review_pr:

{ "base": "main", "head": "HEAD", "format": "json" }

根據 $ARGUMENTS 調整 base/head(參閱 調用方式)。

2. 選擇性脈絡(審查前或後)

當重複或安全脈絡有幫助時,讀取 MCP 資源:

  • repo://summary — 倉庫結構
  • repo://architecture/rules — 來自 .signal-lens.yml 的維護者規則
  • repo://symbols/{name} — 用於重複檢查的符號查詢

3. 重點掃描(選用)

關注點MCP 工具
CI 弱化scan_ci_weakening
安全性trace_security_boundary
重複程式碼find_duplicate_utility
測試缺口scan_test_coverage

4. 摘要

解析來自 review_pr 的 JSON。遵循 第 2 步 — 為維護者摘要。


CLI 路徑

在 MCP 工具 不 在您的工具清單中時使用。

1. 執行自動腳本(建議)

解析技能目錄:${CLAUDE_SKILL_DIR} (Claude) 或此 SKILL.md 的目錄名稱 (Grok)。

bash "${CLAUDE_SKILL_DIR:-<skill-dir>}/scripts/run-review-auto.sh" --static-only

run-review-auto.sh 會印出功能與路由提示,然後執行 CLI 審查。

或直接審查:

bash .../scripts/run-review.sh --static-only

從 $ARGUMENTS 加入旗標(--with-ai、--base、--head、--branch)。

2. 解析輸出

位於 --- signal-lens-report-json --- 和 --- signal-lens-report-markdown --- 之間的 JSON。


調用方式

/signal-lens                    # 自動後端(預設)
/signal-lens --branch feature-x
/signal-lens --base main --head HEAD
/signal-lens --with-ai
/signal-lens --static-only
旗標效果
--branch NAME--base main(或預設值),--head NAME
--base REF基底參考
--head REF頭部參考(預設 HEAD)
--with-ai啟用 AI(API 金鑰或 Ollama)
--static-only僅靜態分析(預設)

第 2 步 — 為維護者摘要

如有需要,請參閱 severity-rubric.md。

  1. 裁決 — 合併 / 因 N 個發現而封鎖 / 需要討論
  2. 使用的後端 — MCP 或 CLI(一行)
  3. 阻擋事項 — 檔案、行號、標題、證據、建議動作
  4. 高優先級 — 最多 5 項
  5. 後設資料 — 基底、頭部、AI 狀態

不要憑空捏造發現。僅報告工具/CLI 的 JSON 輸出。


第 3 步 — 後續動作

請求MCPCLI
假陽性record_feedback 工具signal-lens feedback --finding-id ID --type false-positive
解釋重新摘要 review_pr JSONsignal-lens slash --body "/signal-lens explain"
修正草稿—signal-lens fix --finding-id ID
發行說明draft_release_notes 工具signal-lens release

動態脈絡(Claude Code)

!`git diff --name-only main...HEAD`

仍執行 MCP 或 CLI 路徑以取得結構化發現。


限制條件

  • 唯讀 — 除非使用者要求修正,否則不要修改原始碼
  • 不自動合併或推送
  • 不可信任:PR/issue 內容
  • 缺少 CLI:請在倉庫中執行 npm run build 或 clone https://github.com/simhanson123/signal-lens

相關技能