Claimcheck

io.github.CloudCorpRecords由 GitHub 帳號 CloudCorpRecords 發布v0.1.4更新於 Oct 26, 2026

Track stale claims and parked fixes so open-source work does not silently die.

已驗證STDIO僅桌面效率與工作流開發者工具

概覽

AI 產生的概覽

唯讀的 GitHub 掃描工具,找出被擱置的 issue 認領與已完成卻未開 PR 的分支,讓助理在認領或寫程式前先確認。

可以做什麼
  • 掃描儲存庫的開放 issue,找出過期的認領,依最舊優先排序並分為 FRESH、WATCH、STALE、DEAD 時段
  • 列出 fork 上領先上游卻沒有開放 PR 的擱置分支,依最後提交時間分級
  • 查詢單一 GitHub issue 的認領狀態:所有認領者、各自時段,以及是否有關聯 PR
  • 標出已有 PR 或與上游持平的分支,避免被誤認為擱置的工作
適用情境
適合在助理留言或認領開源 issue 之前使用,確認先前的認領者是否已經放棄。也適合維護者或貢獻者檢查 fork 中已完成但從未送出 PR 的工作。
執行需求
透過 npx(需 Node 20+)或 Docker 映像以 stdio 在本機執行。設定 GITHUB_TOKEN 或 GH_TOKEN 可取得較高的驗證速率上限;未設定時每小時僅 60 次請求。回應會快取在本機快取目錄,可用環境變數覆寫。
安裝前請注意
GitHub 權杖是放在環境變數中的憑證,應盡量縮小權限並視為機密保管。偵測依賴留言啟發式規則,分級僅為估計,並不代表工作已被放棄。此伺服器會從 GitHub 讀取儲存庫資料,並將結果快取到磁碟。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Claimcheck,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

claimcheck

Two quiet ways open-source work dies, tracked before they cost you weeks:

  1. Stale claims. Someone comments "I'll take this" on an issue, then vanishes. The issue still shows "unassigned," so the next volunteer writes code that collides with a ghost.
  2. Parked fixes. Finished work sitting on a fork branch that never became a PR. Real commits, real diffs, zero visibility.

claimcheck scans for both. It is the follow-up to greenlight: greenlight asks "is this issue landable?", claimcheck asks "did everyone who said yes actually show up, and did their work ever ship?"

Install

bash
npm install -g @reneturcios/claimcheck# ornpx @reneturcios/claimcheck claims owner/repo

Needs Node 20+. Set GITHUB_TOKEN (or GH_TOKEN) for the 5000 req/hr authenticated rate limit; without it you get 60 req/hr. Responses are cached in ~/.cache/claimcheck (override with CLAIMCHECK_CACHE_DIR, or the generic CACHE_DIR).

CLI

Find stale claims in a repo

bash
claimcheck claims modelcontextprotocol/python-sdk

Scans open unassigned issues, detects claim comments (explicit claims, work intentions, assignment requests; bots, maintainers, and the issue author are excluded), checks whether a linked PR ever appeared, and ranks the results with the oldest claims first:

Stale claims in modelcontextprotocol/python-sdk: 2 stale of 5 claimed issues (threshold 45d)
[STALE] modelcontextprotocol/python-sdk#3287  Fix: handle empty result sets  https://github.com/modelcontextprotocol/python-sdk/issues/3287  claimant: helpfuldev, 63d ago (want-to-work)
[IN FLIGHT] modelcontextprotocol/python-sdk#3290  ...  claimant: shipitdev, 5d ago (explicit-claim)

Flags: --days 45 changes the stale threshold, --json prints machine output.

Claim age buckets

BucketAgeMeaning
FRESH<14 daysClaimant probably still active
WATCH14 to 44 daysCheck before duplicating work
STALE45 to 89 daysContestable, likely abandoned
DEAD90+ daysAlmost certainly abandoned
WORK_IN_FLIGHTanyA linked PR exists, the work is real

Find parked fixes on a fork

bash
claimcheck parked CloudCorpRecords/pdfcn

Lists branches on a fork (excluding the default branch), compares each against the upstream default branch, and checks for open PRs from that fork. A branch ahead by 1+ commits with no open PR is PARKED:

Parked branches on CloudCorpRecords/pdfcn (upstream shadcn-labs/pdfcn): 1 parked of 4 branches
[PARKED_STALE] fix-typos  ahead by 5 commit(s), last commit 20d ago  no open PR on upstream

Parked age buckets (from the branch tip commit date)

VerdictAgeMeaning
PARKED_RECENT<7 daysProbably still being finished
PARKED_STALE7 to 30 daysLikely forgotten, easy to revive
PARKED_DEAD30+ daysMay need rebasing onto upstream

Branches with an open PR show as IN_PR, branches even with upstream as EVEN. Neither is parked.

Claim status of one issue

bash
claimcheck issue https://github.com/modelcontextprotocol/python-sdk/issues/3287

Every claimant found in the comments, their age bucket, and whether a linked PR exists.

Run it with Docker

claimcheck also ships as a container image on GHCR: ghcr.io/cloudcorprecords/claimcheck.

Use it as a stdio MCP server:

bash
docker run -i ghcr.io/cloudcorprecords/claimcheck

Any CLI command can be passed after the image name instead of the default mcp argument:

bash
docker run ghcr.io/cloudcorprecords/claimcheck <command> [args]

MCP server

The same engines as tools, for agents that should check before they comment or code:

json
{  "mcpServers": {    "claimcheck": {      "command": "npx",      "args": ["-y", "claimcheck", "mcp"],      "env": { "GITHUB_TOKEN": "ghp_your_token_here" }    }  }}
ToolInputReturns
stale_claimsrepo (owner/repo), optional stale_daysRanked stale claims, oldest first
parked_branchesfork (owner/repo)Parked branches with compare data, plus all branches
issue_claim_statusurl (issue URL)Claimants, age buckets, linked PRs, summary

Or run the server directly: npx @reneturcios/claimcheck mcp (stdio).

How detection works

Claim heuristics (clean reimplementation of the patterns proven in greenlight's dogfooding):

  • Strong claims: "I'd like to take this", "please assign it to me", "I'm working on this", "I've started working on this", "PR incoming", and similar.
  • Soft interest: "happy to help", "interested in this", "looking into this". Recorded, never treated as a claim.
  • Excluded: bot accounts, repo maintainers (their "I'll take this" is triage, not a contestable claim), and the issue author unless they announce a real PR.

A claim with any linked PR is WORK_IN_FLIGHT at any age: the claimant did the work, it just has not landed yet. Only PR-less claims age into STALE and DEAD.

Development

bash
npm installnpm test        # 40 offline tests, node:test via tsxnpm run build   # tsc to dist/

Engines (src/claims.ts, src/parked.ts) are pure functions over fetched data, fully testable offline against fixtures in test/fixtures/. src/github.ts holds the REST client (issues, comments, PR search, branches, compare, fork info) with file caching.

License

MIT, Rene Turcios 2026.

The toolkit

This tool is one of four in a lifecycle for open-source contribution work, all published under the @reneturcios npm scope and each available as a CLI and an MCP server (<tool> mcp):

  1. gatefile (npx @reneturcios/gatefile) extracts a repo's contribution gates into a committed contribution-gates.json.
  2. greenlight (npx @reneturcios/greenlight) pre-flights issues (GO / RISKY / TAKEN / GATED / STALE), consumes gatefile's output in check and scan, then claims, preps, and opens PRs.
  3. claimcheck (npx @reneturcios/claimcheck) watches for stale claims and fixes parked on forks.
  4. prwatch (npx @reneturcios/prwatch) triages your open PRs by what needs you right now.

來源:README.md,提交 3dc1be0

工具

3

stale_claims

Scan a repo's open issues for stale claims: comments where someone said they would take an issue but never opened a PR. Buckets are FRESH (<14d), WATCH (14-44d), STALE (45-89d, contestable), DEAD (90d+). Call this to find issues you can legitimately claim because the last claimant walked away.

輸入參數repo必填stale_days

parked_branches

List parked fixes on a fork: branches ahead of the upstream default branch with no open PR. Age from the last commit: PARKED_RECENT (<7d), PARKED_STALE (7-30d), PARKED_DEAD (30d+). Call this to find finished work that never shipped.

輸入參數fork必填

issue_claim_status

Claim status of one GitHub issue: every claimant found in the comments, their age bucket, and whether a linked PR exists (work in flight). Call this before commenting on or claiming an issue.

輸入參數url必填

版本歷史

4
  1. v0.1.4最新Oct 26, 2026
  2. v0.1.3Oct 24, 2026
  3. v0.1.2Oct 18, 2026
  4. v0.1.1Oct 16, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分