agentleFS
googleapisgoogleapis/mcp-toolbox/skills/maintainer/triage-issues/SKILL.md

triage-issues

Skill17k starsChanged 7 months agoApache-2.0View on GitHub

Triage GitHub issues in the googleapis/mcp-toolbox repo: propose the correct labels (type / priority / product / status), check for duplicates, verify a bug has enough info to act on, and draft a triage comment. Use whenever a maintainer asks you to triage, label, categorize, prioritize, or "look at" an issue (or a batch) in mcp-toolbox, e.g. "triage #3648", "what labels should this get", "is this a dup", triage a batch of issue numbers, or when they paste an mcp-toolbox issue link. PROPOSE-ONLY: delivers the triage in chat for the maintainer to apply; never edits labels, comments, closes, or assigns on its own.

We split this skill into the rules it gives an agent

5 rules. 0 are common, 1 is distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 15 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Investigate before deferring (bugs): Before proposing waiting for response, try to reproduce by tracing the code, and check git log/git …

    line 77
  2. Very specific:

    If you can root-cause it, include the file:line — it sharpens the priority call.

    line 83
  3. Distinctive:

    Draft comment: Use the playbook's canonical templates verbatim ("Needs More Information" for a bug missing repro/details, "Acknowledging a …

    line 94
  4. Very specific:

    Propose only: Never run gh issue edit/comment/close or assign.

    line 104
  5. Very specific:

    Only real labels: every proposed label must appear in gh label list.

    line 105

“Common” is measured: kept by at least 6 in 10 of the 15 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Triage Issues (mcp-toolbox)

Triage here is mostly manual labeling. The product: label auto-routes to the owning team via .github/blunderbuss.yml. Propose only, never mutating the issue; when a call isn't obvious, ask rather than guess.

Goal

Given an issue number (or several), deliver a triage the maintainer can apply in seconds: labels across the four axes (each with a one-line why), likely duplicates, missing bug info, and a draft comment when one adds value.

Prerequisites

  • gh authenticated for googleapis/mcp-toolbox, plus the issue number(s). A GitHub MCP server substitutes for gh if it isn't available: the gh commands below map to its read/list tools.

Guidance

Read source-of-truth live, not from memory (labels/routing drift):

  • gh label list --repo googleapis/mcp-toolbox --limit 200: the only valid label names. Never propose one not listed.
  • .github/blunderbuss.yml: which product: labels route to which team.
  • .github/ISSUE_TEMPLATE/bug_report.yml: required bug fields (for the completeness check).
  • references/maintainer-playbook.md: the authoritative taxonomy, priority/status definitions, SLO targets, and comment templates. Read it to classify; this skill only adds how to apply them in a propose-only workflow.

Fetch the issue:

gh issue view <n> --repo googleapis/mcp-toolbox --json number,title,body,author,labels,comments,createdAt

Check bot-noise first. Automated reports (e.g. "Cloud Build Failure Reporter ... failed", bot author) just need periodic-failure, so skip the rest of the workflow.

The four axes (the playbook has the definitions; below is only how to apply them here). Skip an axis when it doesn't apply: say so, don't force a label.

  • type:: the template pre-applies type: bug/type: question; trust it, but correct it when the body disagrees (a "bug" asking for new behavior is a feature request) and say why.
  • product:: one per data source; highest-leverage label, since it drives team routing. Infer from the source/tool named (e.g. "looker run_dashboard tool" → product: looker). Don't force one on core/product-agnostic issues; note it has no product owner. If a real data source has no matching label yet, say so and flag it for .github/labels.yaml rather than mis-routing.
  • priority:: bugs are only ever p0 or p1 (never p2/p3); feature requests span p0-p3. Match the issue to the playbook's priority examples and SLO table, state the reason, and let the maintainer override.
  • status: (optional): waiting for response when a bug lacks info to act, feedback wanted when waiting on community/author, help wanted for community-open work. See the playbook for exact semantics and the >60-day-silence close rule.

Community labels (standalone, not status:-prefixed): good first issue for well-scoped, approachable issues; ready for work for triaged issues actionable now. Propose good first issue alongside help wanted when the fix is small and self-contained.

Assignment (not a label): rarely needed, since product: auto-routes to the team. Propose an assignee only when an external contributor volunteers (assign them, to avoid duplicate work) or a maintainer is picking it up; otherwise leave it unassigned so contributors know it's open.

Duplicates. gh issue list --repo googleapis/mcp-toolbox --state all --search "<key terms>" --limit 20 with distinctive terms (tool name, error string). If it's a known issue, propose duplicate + close: link and reference the original, and thank the reporter (template below).

Investigate before deferring (bugs). Before proposing waiting for response, try to reproduce by tracing the code, and check git log/git blame for a fix that already landed silently. When the call hinges on whether the bug is real, hand off to the reproduce-bug skill, which runs the cheap discriminators (wrong tool type, version skew, client-side) and can reproduce most reports on SQLite with no credentials; its verdict sharpens both priority: and status:. If it's already fixed, propose duplicate + close referencing the commit rather than asking for info. If you can root-cause it, include the file:line — it sharpens the priority call. Only fall back to waiting for response when reproduction genuinely isn't possible, and then ask specific, actionable questions, not "please provide more info". Compare against bug_report.yml required fields (version, env, expected vs. current, repro) to list exactly what's missing; this feeds the label and the draft comment.

Feature requests & questions. For a feature request, search the codebase for an existing or partial implementation before drafting the acknowledgment — it may already be possible (answer and close) or a duplicate. For a type: question, answer directly from the code with references rather than only labeling it.

Draft comment. Use the playbook's canonical templates verbatim ("Needs More Information" for a bug missing repro/details, "Acknowledging a Feature Request" for an FR), filling in specifics like the exact missing fields; don't invent wording. For a duplicate:

Thanks for reporting this! This is a duplicate of #<original>, so I'm closing this in favor of that issue. Please follow along there for updates.

Rules

  • Propose only. Never run gh issue edit/comment/close or assign. Deliver in chat.
  • Only real labels: every proposed label must appear in gh label list.
  • When type/product is a genuine toss-up, ask. A confident wrong product: mis-routes.
  • Cite what backs a claim. Routing/label claims cite the config (e.g. "routes to toolbox-looker-team per blunderbuss.yml"); codebase claims (root cause, "already fixed", "already implemented") cite file:line or a commit SHA, or are marked [UNVERIFIED].

Output format

## Issue #<n>: <title>

**Labels:**
- `type: <x>`: <why>
- `product: <x>`: <why + routing, or "no product owner: core/...">
- `priority: <x>`: <why>
- `status: <x>`: <why, if any>

**Duplicates:** <#nums, or "none for terms: ...">
**Completeness (bugs):** <what's missing, or "complete">
**Draft comment:** <paste-ready, or "none needed">

**Apply:** gh issue edit <n> --repo googleapis/mcp-toolbox --add-label "type: ...,product: ...,priority: ..."

Include the ready-to-run gh issue edit line so the maintainer applies with one paste, but leave running it to them. For a batch, one block per issue plus a one-line summary table.

Download now (ZIP)

Trending

Less talk lately.about the whole repository

Dec 2025: 0 mentionsJan 2026: 0 mentionsFeb 2026: 0 mentionsMar 2026: 2 mentionsApr 2026: 5 mentionsMay 2026: 5 mentionsJun 2026: 11 mentionsJul 2026: 12 mentionsAug 2026: 4 mentionsSep 2026: 8 mentionsOct 2026: 16 mentionsNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the googleapis/mcp-toolbox repository that our weekly crawl found. There is no adoption data for this file yet.

Who's talking about googleapis/mcp-toolbox

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

28 more on GitHub

On YouTube · 22

17 more on YouTube

On Bluesky · 5

On Hacker News · 1

  • Other versions16 projects use a version of this.

    Word for word · 1

    1. googleapis/genai-toolbox★ 17k100% same

    Edited · 0

    None found.

    Wrote their own version · 15

    1. microsoft/fluentui★ 20ksame name
    2. btriapitsyn/openchamber★ 12ksame name
    3. openchamber/openchamber★ 12ksame name
    4. agent-substrate/substrate★ 6ksame name
    5. kubernetes-sigs/agent-sandbox★ 4.5ksame name
    6. Nexus-Mods/Vortex★ 1.6ksame name
    7. allenhutchison/obsidian-gemini★ 534same name
    8. AGGIB/Stroq★ 19same name
    9. webpro/skills★ 16same name
    10. jlu-lujing/TaskHunter★ 4same name

    5 more not listed

    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.

  • Used alongsideProjects with it also use clack-cli-patterns, drag-to-reorder and 10 more.

    Other files people use alongside this one.

    Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
    • jlu-lujingSkill

      clack-cli-patterns

      Use when creating or modifying TaskHunter CLI commands, prompts, terminal output, non-TTY behavior, `--quiet`, or `--json` behavior.

      Also in 3 projects that use this

    • jlu-lujingSkill

      drag-to-reorder

      Use when implementing or modifying TaskHunter sortable or drag-to-reorder behavior, especially `@dnd-kit`, touch/mobile interactions, variable-width items, or wrapping layouts.

      Also in 3 projects that use this

    • gabriellstSkill

      desktop-shell

      Work on the CODM desktop shell — the Tauri v2 host (packages/app/tauri), the react client-side services DI (packages/app/react/src/services — ports + platform services + Container/Token + ServicesProvider), sidecar supervision, or any OS-integration capability (folder picker, notifications, badge, secrets, autostart). Use whenever a task mentions Tauri, the desktop app, sidecars, or an OS capability the react console needs.

      Also in 3 projects that use this

    • lossless-groupSkill

      theme-system

      The Lossless Group's theme and mode architecture — two-tier token system, three-mode contract (light/dark/vibrant), theme.css organization, and design system conventions. Use when setting up themes/modes for any Astro Knots site, debugging mode toggles, working with CSS tokens, or when the user mentions "vibrant mode", "two-tier tokens", "theme.css", or design system patterns.

      Also in 3 projects that use this

    • mamachankoSkill

      communication-style

      Communicate like a professional collaborator — concrete, direct, calibrated, low on filler. Use as the standing style for reports, summaries, reviews, PR text, and conversation, or when the user asks for a specific register such as terse.

      Also in 3 projects that use this

    • malopezr7Skill

      serve-sim

      Controls a running iOS, iPad, or Apple Watch Simulator via the serve-sim CLI (npx serve-sim) and streams it into the host agent's preview pane. Use whenever the user wants an AI agent to view or drive an Apple Simulator — streaming to preview, taps at normalized coordinates, multi-touch gestures, hardware buttons, rotation, memory warnings, CoreAnimation debug, synthetic camera injection, or media drag-drop. Triggers include "serve-sim", "iOS simulator", "Apple simulator", "iPad simulator", "Apple Watch simulator", "stream the simulator", "show the simulator in preview", "view the simulator here", "open simulator in preview", "simulator gestures", "tap on the simulator", "rotate the simulator", "inject camera feed", or any request to drive or display an Apple Simulator visually. Do NOT use for Android emulators, building/installing an iOS app (use xcodebuild), booting a simulator from scratch (use xcrun simctl boot), in-app React Native runtime debugging (use rn-debugger), or real iOS hardware.

      Also in 3 projects that use this

    • +5 more from jlu-lujing
  • In this repository5 other files it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

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.