Community寫作與編輯github.com

分支審查追蹤器

用於審查分支或拉取請求/合併請求,並追蹤其問題直至修復完成。要求提供目標分支、基底分支和工單,檢查環境,審查程式碼及其文字說明,驗證每個發現,並發布一個唯讀的 Artifact 頁面,列出每個問題及其狀態、證據、修復評估和檔案:行號。每次更新時重新審查分支,為使用者草擬 PR 評論和工單。

分支審查追蹤器 是什麼?

這個「分支審查追蹤器」技能提供了一個結構化的、基於回合的分支審查工作流程,專為在 Claude Code、Cursor 或 Codex 等 AI 代理平台中使用而設計。它會建立一個唯讀的 Artifact 頁面,持續追蹤審查中發現的每個問題,包括其狀態、相關證據以及修復狀態。該技能會在每次分支更新時自動重新審查,確保問題清單始終保持最新。 此技能會引導代理完成一系列步驟:首先詢問目標分支、基底分支和工單;然後執行預檢腳本以檢查環境就緒狀態;接著進行完整的程式碼審查,包括對程式文字說明的審查。它會獨立驗證每個發現,然後將其發布到 Artifact 頁面。在後續回合中,它會偵測變更、評估修復、檢查新問題,並相應地更新頁面。它支援與 Jira 和 GitHub/GitLab CLI 等外部工具整合,以獲取工單上下文和 PR 評論。它還使用專案特定的輔助技能來處理建置、測試和資料驗證,使其成為一個高度可自訂且徹底的審查解決方案。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Labs64/agent-toolkit/tree/HEAD/plugins/review/skills/branch-review-tracker

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

在你喜歡的 AI 中提問

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

說明文件

分支審查追蹤器 是做什麼的?

一個跨多輪進行修復的分支審查。每一輪都會重新審查分支,並更新一個頁面:一個編號的問題清單,每個問題都附有狀態和一個「詳細資料」彈出視窗,其中顯示證據、負責的提交以及需要查看的位置。

該頁面是一個 claude.ai Artifact,它是審查的記錄。檢視者只能唯讀:只有 Claude 能夠在審查和修復進展過程中更改狀態。新的一次會話會從頁面的小型 context.json 恢復,而不是從對話或本地檔案中恢復。

追蹤器包含三個檔案:

  • index.html:該頁面,是 assets/tracker.html 的副本;
  • issues.json:每個問題以及會話日誌;
  • context.json:恢復筆記和下一個會話的問題索引、啟動它的提示,以及等待使用者處理的簡短清單,這是頁面顯示的唯一部分。

1. 詢問要審查的內容

首先收集候選項,然後在一個 AskUserQuestion 呼叫中詢問所有問題。跳過在調用時已提供答案的問題,例如 PR 編號或 URL。

git for-each-ref --sort=-committerdate --count=6 --format='%(refname:short)' refs/heads
git symbolic-ref --short refs/remotes/origin/HEAD      # 預設基底
git log --format=%s <base>..<target> | grep -oE '[A-Z]+-[0-9]+' | sort -u
gh pr list --head <target> --json number,url,title     # 或:glab mr list --source-branch <target>
問題選項
目標分支PR 的頭部分支(如果給定了 PR);否則為除基底之外最近更新的三個本地分支
基底分支遠端倉庫的預設分支(建議),然後是其他長期分支(如果有的話)
工單在分支名稱及其提交主旨中找到的 ID;無工單

使用者始終可以輸入另一個值。在已知分支後再詢問工單問題,或從最可能的目標推導出其選項。

2. 檢查環境

執行預檢腳本並向使用者顯示其表格:

<此技能>/scripts/preflight --target <branch> [--base <base>] [--ticket <id>]

它會檢查倉庫、兩個參考、使用者的檢出、本地分支是否與 PR 頭部匹配、主機上的 PR、可能阻止 git worktree 的檢出過濾器,以及審查使用的 CLI。退出代碼 2 表示阻止項;1 表示僅警告。它不會檢查專案的建置工具:這些屬於專案的輔助技能。

該腳本會獲取兩個分支。它從 origin 獲取基底(該處為最新狀態),並從克隆獲取目標(作者可能已推送到的位置)。針對它列印的參考進行審查。如果它警告本地分支與 PR 頭部不同,請審查 PR 頭部:使用 git show <sha>:<path> 讀取,而不是檢出它。

然後檢查此會話的工具(腳本無法看到),並將它們添加到表中:

需要於工具沒有它會如何
審查code-review 技能,或 Agent 工具阻止項
頁面Artifact 工具將檔案保留在暫存區,並在每輪後給使用者其路徑;說明情況
工單的上下文和發布工單Atlassian 工具 (getJiraIssue, createJiraIssue)不帶工單進行審查;說明情況
PR 的評論和檢查gh 或 glab,已認證僅審查分支;說明情況

然後查找專案的輔助技能,如下文「輔助技能」所述,並為每個輔助技能在表中添加一行:已找到(及其名稱),或缺失(以及審查將缺少的內容)。

在阻止項處停止,並說明缺少什麼。對於警告,說明審查不會涵蓋的內容,然後繼續。

如果可以讀取工單,請獲取其摘要和狀態。在 ID 後用括號寫出狀態:PROJ-123 (進行中)。

3. 第一輪

  1. 審查。 對 <target> 相對於 <base> 調用 code-review,或者對 PR 編號調用。告訴審查者使用 git show <rev>:<path> 讀取其他提交,並且切勿在使用者的目錄中檢出任何內容。
  2. 審查文字說明,如下文「文字說明審查」所述。code-review 會尋找程式碼中的缺陷,但不涵蓋這部分。
  3. 驗證每個發現,如下文「驗證發現」所述。只有在此步驟之後,問題才會顯示在頁面上。未通過驗證的發現要嘛在列出來之前被丟棄,要嘛在列出後被設置為 dismissed 並附上原因。
  4. 分類每個問題。
    • 負責的提交:git log -S'<symbol>' <base>..<target>,或 git blame -s <target> -- <path>。
    • 基底是否也存在此問題:git show <base>:<path>。基底已有的問題會獲得 `

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能