stale-sweep
Skill17k starsChanged 7 months agoApache-2.0View on GitHub
Sweep the googleapis/mcp-toolbox repo for issues and PRs with no real activity in N days (default 60), sort each by whose silence it is (the author's, ours, or nobody's), and draft the nudge or close comment. Use whenever a maintainer asks for a stale sweep, backlog cleanup, or an SLO check, e.g. "stale sweep", "find issues with no activity in 30 days", "what's gone quiet", "what's rotting in the backlog", "draft close comments for the stale ones", or during the weekly open-issues review. PROPOSE-ONLY: delivers the sweep in chat for the maintainer to apply; never comments, labels, closes, or merges on its own.
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 7 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 37
Read these live, not from memory.
- Distinctive: line 77
When the sweep is scoped to one area rather than the whole repo, widen the search window and filter on last human comment yourself, so …
- Distinctive: line 87
Search for a newer issue that superseded it.
- Distinctive: line 122
When the bucket is a real toss-up, ask.
- Distinctive: line 136
When a CLA check fails though the human author has signed, the usual cause is an AI co-author trailer.
- Distinctive: line 138
Approved and unmerged: not stale, just unmerged. Surface separately so it gets merged.
- Distinctive: line 156
Keep two things out of both.
- Very specific: line 161
Propose only: Never run gh issue close/comment/edit, gh pr close/comment/merge, or apply a label.
- Very specific: line 165
Only real labels: every one must appear in gh label list, and no stale label exists.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Stale Sweep (mcp-toolbox)
This repo runs no stale bot (.github/ has no stale workflow), so closing is always a deliberate
maintainer act. The value of a sweep is therefore not the list of old things, which anyone can get
by sorting on a date. It's the judgment about which silences belong to the contributor, which belong
to us, and which are the backlog working as intended.
Goal
Given a window (default 60 days), deliver a sweep the maintainer can work through in one sitting: every candidate sorted into close / nudge-author / on-us / leave-alone, each with the date and reason that put it there, plus a paste-ready comment wherever one is warranted.
Prerequisites
ghauthenticated forgoogleapis/mcp-toolbox. A GitHub MCP server substitutes: the commands below map to its read/list tools.- A window. If the maintainer didn't give one, default to 60 days and say that's what you used.
Workflow
Step 1: Read the source of truth
Read these live, not from memory.
- references/maintainer-playbook.md: authoritative for the
60-day silence rule on
status: waiting for response/status: feedback wanted, the SLO response and closure targets, and the canonical comment templates. gh label list --repo googleapis/mcp-toolbox --limit 200: there is nostalelabel, so never propose one. This workflow's vocabulary isstatus: waiting for response,status: feedback wanted,duplicate, andwontfix..github/blunderbuss.yml: whichproduct:label routes to which team, needed to name an owner on anything blocked on us.
Step 2: Pull the candidates
CUTOFF=$(date -d '60 days ago' +%F 2>/dev/null || date -v-60d +%F) # GNU, then BSD/macOS
gh search issues --repo googleapis/mcp-toolbox --state open --updated "<$CUTOFF" \
--limit 100 --json number,title,url,updatedAt,createdAt,labels,author,commentsCount
gh search prs --repo googleapis/mcp-toolbox --state open --updated "<$CUTOFF" \
--limit 100 --json number,title,url,updatedAt,labels,author,isDraftgh search defaults to 30 results, so always pass --limit.
Step 3: Don't let updatedAt decide
updatedAt is not a silence measure. Label edits, bot comments, renovate rebases, and
cross-references all bump it, so an item a bot has kept warm never enters the candidate list at all
despite nobody having looked at it in months. Get the real last-human-touch before judging anything:
gh issue view <n> --repo googleapis/mcp-toolbox --json comments,labels,assignees,createdAt \
--jq '.comments[-3:] | map({author: .author.login, at: .createdAt, body: .body[0:200]})'Discount label-only churn and bot comments (gemini-code-assist, renovate, release automation,
the Cloud Build failure reporter). What's left is the last substantive human comment, and that date
drives every call below.
When the sweep is scoped to one area rather than the whole repo, widen the search window and filter on last human comment yourself, so bot-warmed items can't hide behind the cutoff.
Step 4: Check whether it already resolved itself
The highest-value step, and the one a stale bot structurally cannot do. Before drafting any nudge or close, check whether the thing fixed itself while nobody was looking:
git log --oneline --since=<created date> --grep=<term>, plus a grep for the feature or symbol.- For a bug, trace the code path and see whether the defect is still there.
- Search for a newer issue that superseded it.
Either outcome leaves the stale buckets entirely, and both beat silence followed by a timeout:
- Fixed: close as fixed in
<sha>, shipped in vX.Y.Z, citing the commit. That's a real answer, not a stale close. - Superseded:
duplicateplus a link to the newer issue.
Step 5: Sort by whose silence it is
Stale is not the same as closeable. Put every remaining candidate in exactly one bucket.
Blocked on the author. Carries status: waiting for response or status: feedback wanted, or
the last comment is a maintainer question that never got a reply.
- Past 60 days of silence: propose the close, per the playbook rule.
- Under 60 days: propose a nudge that restates the specific outstanding question and names a close date.
Blocked on us. A report filed with enough information and no maintainer reply, or a contributor PR sitting on review or on maintainer-triggered CI.
- Never propose closing these. Timing out work that stalled on our side is the failure mode that costs contributor trust.
- Each one is an SLO miss, so the action is internal: name the owning team from the
product:label perblunderbuss.yml, and give the SLO clock from the playbook table. - Surface them loudly rather than letting them sit below the close list.
Blocked on nobody. Triaged feature requests in the backlog, status: help wanted,
good first issue, p2/p3 nice-to-haves.
- Silence is the expected state here, not rot. Leave them alone.
- Flag one only when it's gone genuinely obsolete (targets a removed source, or a design the project moved past) or when the labels are wrong.
When the bucket is a real toss-up, ask. A wrong nudge is cheap; a wrong close is not.
Step 6: Apply the PR-specific rules
PRs go stale for reasons issues don't:
- Auto-generated (
renovate,release-please): never nudge a bot, and draft no comment. Checks green means merge; superseded by a newer bot PR means close. - Draft (
isDraft): silence is expected. Leave alone unless it's months old, and then only a light "still planning to pick this up?". - Blocked on maintainer-triggered CI: PRs from external forks can't run the integration tests,
which need a maintainer's
tests: runlabel or a/gcbruncomment. This is an on-us item wearing contributor-silence clothing, so check it before reading quiet as abandoned. - CLA, conflicts, or red CI: nudgeable, but name the actual blocker instead of "any update?". When a CLA check fails though the human author has signed, the usual cause is an AI co-author trailer; suggest squashing to a single human-authored commit.
- Approved and unmerged: not stale, just unmerged. Surface separately so it gets merged.
Step 7: Draft the comments
Adapt the playbook's templates rather than inventing wording. Two shapes:
Nudge, naming the specific unanswered thing and a date:
Hi @<author>, following up here. We're still blocked on <the specific thing: the repro steps, the Toolbox version, a reply to the question in <link>>. If we don't hear back in the next 14 days we'll close this out, though you're welcome to comment or reopen any time after that.Close, giving the reason, reopenability, and thanks:
Closing this out: we weren't able to move forward without <the missing thing>, and it's been quiet for <N> days. That's not a judgment on the report, so please comment or reopen if you're still hitting this and we'll pick it back up. Thanks for taking the time to file it!Keep two things out of both. A form-letter tone, since these are hand-sent precisely so they don't read like a bot. And any phrasing that puts the delay on the contributor when part of it was ours.
Rules
- Propose only. Never run
gh issue close/comment/edit,gh pr close/comment/merge, or apply a label. Deliver the sweep in chat. - Never close what's blocked on us. The only valid outputs there are a reply, a review, or a
tests: run. - Only real labels: every one must appear in
gh label list, and nostalelabel exists. - Show the last human comment date for every candidate, never
updatedAt, so the maintainer can check your arithmetic. - Ground the call. A close cites the playbook rule and the silence duration; an "already fixed"
cites a commit SHA or
file:line; a routing claim citesblunderbuss.yml. Mark anything you couldn't verify[UNVERIFIED]rather than asserting it. - Disclose the edges of the sweep: the window, the result cap if you hit it, and anything you skipped. Silence about coverage reads as "I checked everything".
Output format
## Stale sweep: <N>-day window (cutoff <YYYY-MM-DD>), <X> candidates
**Already resolved, close with an answer** (<n>)
| # | title | resolved by | last human |
**Close (author silent >60d)** (<n>)
| # | title | last human | what we asked for |
**Nudge author** (<n>)
| # | title | last human | the specific ask |
**On us (SLO miss, do not close)** (<n>)
| # | title | waiting since | owning team | SLO status |
**PRs (merge or close)** (<n>)
| # | title | why |
**Leave alone** (<n>)
- #<n>: <why the silence is fine>
**Draft comments**
### #<n>: <close | nudge | resolved>
<paste-ready body>
**Apply:**
gh issue comment <n> --repo googleapis/mcp-toolbox --body "..."
gh issue close <n> --repo googleapis/mcp-toolbox --comment "..."- Empty buckets: omit them, except On us, which is always stated even when empty. "Nothing is rotting on our side" is the line the maintainer most wants confirmed.
- Large sweeps: classify in batches so items don't bleed together, and lead with the counts per bucket. The maintainer decides how deep to go from those counts.
Trending
Less talk lately.about the whole repository
Who's talking about googleapis/mcp-toolbox
- ИИ за минуту“3 бесплатных MCP для баз данных: read-only #shorts”YouTube · Oct 19, 2026 · 770 views
- Coding Is Art“Agent Tooling Is Eating GitHub 📈 #shorts”YouTube · Jul 30, 2026 · 445 views
- RepoShots“Conecte seus bancos ao Claude com mcp-toolbox #Claude #Shorts”YouTube · Jun 10, 2026 · 396 views
- RepoManiac“Connect AI to Your Database with Google's MCP Toolbox”YouTube · Sep 30, 2026 · 326 views
- Maven Tech“Google's MCP Toolbox for Databases”YouTube · Apr 12, 2026 · 166 views
The biggest 5 of 64 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 64
Talked about on GitHub, YouTube, Bluesky, the web and Hacker News (64 times).
On GitHub · 33
- May 22, 2026MCP OAuth flow ignores PRM authorization_servers and user is redirected to <mcp_host>/authorize → 404 — anthropics/claude-ai-mcp10 reactions · 4 comments
- Apr 30, 2026MCP Toolbox for Databases read-only SQL call is blocked by safety guard after explicit approval (interactive mode) — openai/codex2 reactions · 2 comments
- Jul 6, 2026feat(firestore): support firestore mongodb dialect — GoogleCloudPlatform/db-context-enrichment1 reaction · 4 comments
- Oct 23, 2026mcp-toolbox 1.15.0 — Homebrew/homebrew-core0 reactions · 1 comment
- Oct 19, 2026● relit: googleapis/mcp-toolbox — tests — fitzyracing1/darks0 reactions · 1 comment
28 more on GitHub
- Oct 19, 2026[Vulnerability] googleapis/mcp-toolbox: Information Disclosure — Danyw24/mcp-radar0 reactions
- Oct 17, 2026content: reconcile five search and automation guide pairs — MCPFind/mcp-find0 reactions · 1 comment
- Oct 13, 2026○ dark: googleapis/mcp-toolbox — CF: Deploy Dev Docs — fitzyracing1/darks0 reactions
- Oct 8, 2026mcp-toolbox 1.14.0 — Homebrew/homebrew-core0 reactions · 1 comment
- Oct 7, 2026[Vulnerability] googleapis/mcp-toolbox: Credential Exposure — Danyw24/mcp-radar0 reactions
- Oct 7, 202688 catalog URLs point to GitHub repositories that moved, were renamed, archived or are gone — archestra-ai/archestra0 reactions
- Oct 6, 2026[Vulnerability] googleapis/mcp-toolbox: Authorization Bypass / Information Disclosure — Danyw24/mcp-radar0 reactions
- Sep 25, 2026mcp-toolbox 1.13.1 — Homebrew/homebrew-core0 reactions · 1 comment
- Sep 25, 2026mcp-toolbox 1.13.0 — Homebrew/homebrew-core0 reactions · 1 comment
- Sep 17, 2026mcp-toolbox 1.12.0 — Homebrew/homebrew-core0 reactions · 1 comment
- Sep 17, 2026Security triage review: 2026-09-17 (part 10/10) — flatcar/security-triage0 reactions
- Sep 11, 2026mcp-toolbox 1.11.0 — Homebrew/homebrew-core0 reactions · 1 comment
- Sep 4, 2026x/vulndb: potential Go vuln in github.com/googleapis/mcp-toolbox: GHSA-vwxw-jrg6-9jxv — golang/vulndb0 reactions · 1 comment
- Aug 27, 2026mcp-toolbox 1.10.0 — Homebrew/homebrew-core0 reactions · 1 comment
- Aug 24, 2026x/vulndb: potential Go vuln in github.com/googleapis/mcp-toolbox: GHSA-76g7-m3xw-x9gr — golang/vulndb0 reactions · 2 comments
- Jul 23, 2026Update 147 repository links that have moved 🤖🤖🤖 — punkpeye/awesome-mcp-servers0 reactions · 1 comment
- Jul 19, 2026fix(ci): paginate issue listing in weekly sdk tier assessment — googleapis/mcp-toolbox-sdk-python0 reactions
- Jul 1, 2026x/vulndb: potential Go vuln in github.com/googleapis/mcp-toolbox: GHSA-7pf3-8xx7-rvhf — golang/vulndb0 reactions · 1 comment
- Jun 29, 2026[调研] 20+ 热门 MCP 项目机制清单与 hy-workflow 完美期望态 — voxServalG/hy-workflow-mcp0 reactions
- Jun 25, 2026x/vulndb: potential Go vuln in github.com/googleapis/mcp-toolbox: GHSA-wcpr-6g7x-p44r — golang/vulndb0 reactions · 1 comment
- Jun 24, 2026x/vulndb: potential Go vuln in github.com/googleapis/mcp-toolbox: GHSA-8fcc-w5hv-4gxv — golang/vulndb0 reactions · 1 comment
- Jun 24, 2026x/vulndb: potential Go vuln in github.com/googleapis/mcp-toolbox: GHSA-5gf6-gc35-xjpc — golang/vulndb0 reactions · 1 comment
- Jun 18, 2026Update stateless draft implementation to final `2026-07-28` specification — googleapis/mcp-toolbox-sdk-python0 reactions
- Jun 3, 2026Try a third-party PostgreSQL MCP — jabrena/plinth0 reactions · 2 comments
- May 31, 2026Article freshness: guides/ga4-with-claude.md — watsonrm/rmwcommerce0 reactions
- May 31, 2026Broken links detected (2026-06-14) — awesome-ai-tools/curated-mcp-servers0 reactions
- May 7, 2026Bolt: EXPLAIN/PROFILE plan missing from PULL SUCCESS metadata (breaks Neo4j drivers' summary.Plan()) — ArcadeData/arcadedb0 reactions · 1 comment
- Mar 17, 2026fix(adk): wrap tool execution errors into error output — googleapis/mcp-toolbox-sdk-python0 reactions · 11 comments
On YouTube · 22
- Oct 19, 20263 бесплатных MCP для баз данных: read-only #shorts — ИИ за минуту770 views
- Jul 30, 2026Agent Tooling Is Eating GitHub 📈 #shorts — Coding Is Art445 views
- Jun 10, 2026Conecte seus bancos ao Claude com mcp-toolbox #Claude #Shorts — RepoShots396 views · 1 comment
- Sep 30, 2026Connect AI to Your Database with Google's MCP Toolbox — RepoManiac326 views
- Apr 12, 2026Google's MCP Toolbox for Databases — Maven Tech166 views
17 more on YouTube
- Apr 10, 2026Supercharge Your Database Workflows with MCP Toolbox — Github Signals95 views
- Apr 13, 2026Connect AI agents directly to databases #Shorts — Repo Radar50 views · 1 comment
- Oct 10, 2026What Is MCP? Connect AI Agents to Databases & APIs Safely — CipherVibe36 views
- Oct 15, 2026Don't give your AI agent raw SQL #shorts — Michael Goldenberg34 views
- Sep 26, 2026Let Claude Use Your Files, Git and Database (MCP Setup) — The Agent Workshop33 views · 1 comment
- Oct 14, 2026You Sent One Prompt. Your Agent Gave Up Its Keys, Zenity Says #Shorts — Agent Breach Lab28 views
- Jun 25, 2026Critical AI Tooling CVEs: Patch Agent Workflows #Shorts — dailytechhackglobal14 views
- Jul 31, 2026Google MCP Toolbox Tool Invocation CVE #Shorts — dailytechhackglobal10 views
- Jul 5, 2026Critical Langflow + MCP Toolbox CVEs: Patch AI Tooling Now #Shorts — dailytechhackglobal10 views
- Jul 31, 2026Google MCP Toolbox Tool Invocation CVE #Shorts — dailytechhackglobal9 views
- Oct 14, 2026You Trust Your MCP Server. Your Agent Steers Where It Fetches #Shorts — Agent Breach Lab5 views
- Jul 31, 2026Google MCP Toolbox CVEs: Tool Invocation, SSRF, and OAuth Bypass Fixes — dailytechhackglobal5 views
- Jun 24, 2026Critical AI Tooling Token Risk #Shorts — dailytechhackglobal5 views
- Jun 24, 2026Gemini CLI Critical CVE: Patch AI Workflows Now #Shorts — dailytechhackglobal4 views
- Jul 31, 2026Google MCP Toolbox CVEs: Tool Invocation, SSRF, and OAuth Bypass Fixes — dailytechhackglobal2 views
- Jul 5, 2026Langflow and MCP Toolbox CVEs: Critical AI Tooling Risks Defenders Should Patch — dailytechhackglobal2 views
- Jul 6, 2026Patch containerd and MCP Toolbox: Critical CVEs in Cloud and AI Tooling — dailytechhackglobal1 view
On Bluesky · 5
- Oct 15, 2026mcp-toolbox (⭐️ 16664) MCP Toolbox for Databases is an open source MCP server for databases. #go — @golangoss.bsky.social1 likes and repost
- Aug 15, 2026mcp-toolbox (⭐️ 16179) MCP Toolbox for Databases is an open source MCP server for databases. #go — @golangoss.bsky.social1 likes and repost
- Aug 2, 2026mcp-toolbox (⭐️ 16096) MCP Toolbox for Databases is an open source MCP server for databases. #go — @golangoss.bsky.social1 likes and repost
- Jun 12, 2026mcp-toolbox (⭐️ 15594) MCP Toolbox for Databases is an open source MCP server for databases. #go — @golangoss.bsky.social0 likes and reposts · 1 reply
- May 6, 2026mcp-toolbox (⭐️ 14981) MCP Toolbox for Databases is an open source MCP server for databases. #go — @golangoss.bsky.social0 likes and reposts · 1 reply
On the web · 3
- Oct 22, 2026Cloud Run | MCP Toolbox for Databases — google.com
- Mar 11, 2026feat(bigquery): add maximumBytesBilled to source config ... — google.com
- Aug 25, 2025Add env var for optional fields in prebuilt configs for `cloud- ... — google.com
On Hacker News · 1
- Apr 10, 2026Google: MCP Toolbox2 points · 1 comment
Other versions1 project uses a version of this.
Word for word · 1
- googleapis/genai-toolbox★ 17k100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository5 other files it gives its agents.
- docsite-link-sweepSkill
- fix-failing-testsSkill
- reproduce-bugSkill
- review-prsSkill
- triage-issuesSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

