triaging-issues
Skill13 starsChanged 21 days agoMITView on GitHub
Playbook for triaging GitHub issues: checking for duplicates, applying the repo's existing labels, deciding whether to ask for a reproduction or close, and choosing when to act directly versus report back first. Load whenever asked to triage, label, dedupe, or close issues, whether the request came from a GitHub mention, an email reply, or a Linear delegation. Not needed for composing the weekly digest, answering general questions on a thread, or creating Linear issues.
5 other projects use a version of this, 2 of them edited.
Adopted by
Most recently taken up by
- getsentry/software-factoryedited, first seen Oct 25, 2026
- vercel-labs/eve-software-factory-templateedited, first seen Oct 13, 2026
- medusajs/medusatheir own version, first seen Oct 8, 2026
- pytorch/pytorchtheir own version, first seen Oct 8, 2026
- microsoft-foundry/foundry-agent-webapptheir own version, first seen Apr 21, 2026
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 2
- vercel-labs/eve-software-factory-template★ 1.2k68% same
- getsentry/software-factory★ 068% same
Wrote their own version · 3
- pytorch/pytorch★ 105ksame name
- medusajs/medusa★ 37ksame name
- microsoft-foundry/foundry-agent-webapp★ 124same name
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.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- digest-formatSkill
- github-linear-bridgingSkill
- writing-qualitySkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
18 rules. 0 are common, 18 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
18
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
Search the repo's existing issues for the same symptom before writing anything.
- Distinctive: line 13
Search by the error message, the API or feature name, and a plain description of the symptom.
- Distinctive: line 14
Treat it as a duplicate only when the underlying cause matches, not just the surface symptom.
- Distinctive: line 15
When it is a duplicate of an open issue: comment linking the original by number, apply the repo's duplicate label if one exists, and note …
- Distinctive: line 16
When it duplicates a closed issue that was fixed: point to the fix and the release that carries it, and ask the reporter to confirm on that …
- Distinctive: line 17
When you are not sure, say so in your comment ("this looks related to #42") and leave both open rather than closing on a guess.
- Distinctive: line 21
Every repo has its own label taxonomy, and an invented label is worse than none.
- Distinctive: line 24
Read the label descriptions when they exist.
- Distinctive: line 26
Remove a label only when it is clearly wrong for the issue, and say why in a comment when the removal isn't obvious.
- Distinctive: line 27
If the repo has almost no labels, don't compensate by inventing structure.
- Distinctive: line 31
Default to asking. Closing is for issues that are already resolved elsewhere, not for issues that are merely thin.
- Distinctive: line 33
Ask the reporter for more when the report is plausible but not actionable: no version, no steps, no expected-versus-actual behavior.
- Distinctive: line 36
Never close someone's issue because you personally judge it low value.
- Distinctive: line 43
Ask for the smallest set of things that would make the issue actionable, as a short list: exact version, steps or a minimal repro, expected …
- Distinctive: line 44
Ask specific questions over generic ones.
- Distinctive: line 52
When someone explicitly asked you to triage, do the reversible parts directly: comment, apply and correct labels, link duplicates.
- Distinctive: line 55
When the request came by email or from Linear, the requester can't see the repo activity as it happens, so your reply must carry the full …
- Distinctive: line 56
Never take a triage action on an issue nobody asked you about, even if you notice it needs one while working.
“Common” is measured: kept by at least 6 in 10 of the 5 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.
Files
Triaging Issues
How to work through a GitHub issue (or a batch of them) when someone asks you to triage. The order matters: read, dedupe, label, then decide what the issue needs. Never comment on or change an issue you haven't read in full, including its existing comments and labels.
1. Check for duplicates before anything else
A duplicate comment or label applied to a fresh report saves everyone the most time, but only if you are right.
- Search the repo's existing issues for the same symptom before writing anything. Search closed issues as well as open ones: many "new" bugs were already fixed or already rejected.
- Search by the error message, the API or feature name, and a plain description of the symptom. One search is not enough; reporters describe the same bug in different words.
- Treat it as a duplicate only when the underlying cause matches, not just the surface symptom. Two crashes with the same error text can have different roots.
- When it is a duplicate of an open issue: comment linking the original by number, apply the repo's duplicate label if one exists, and note anything the new report adds (a new environment, a cleaner reproduction) on the original.
- When it duplicates a closed issue that was fixed: point to the fix and the release that carries it, and ask the reporter to confirm on that version before closing.
- When you are not sure, say so in your comment ("this looks related to #42") and leave both open rather than closing on a guess.
2. Label with the repo's vocabulary, never your own
Every repo has its own label taxonomy, and an invented label is worse than none.
- List the repo's existing labels first and work only from that set. Never create a label or apply a name you assume exists.
- Read the label descriptions when they exist; "bug" versus "regression" versus "confirmed" often carry specific local meaning.
- Apply the fewest labels that place the issue: usually one for type (bug, feature, question) and one for area or status when the repo has them.
- Remove a label only when it is clearly wrong for the issue, and say why in a comment when the removal isn't obvious.
- If the repo has almost no labels, don't compensate by inventing structure. Triage with comments instead and mention the gap when you report back.
3. Ask for more info, or close?
Default to asking. Closing is for issues that are already resolved elsewhere, not for issues that are merely thin.
- Ask the reporter for more when the report is plausible but not actionable: no version, no steps, no expected-versus-actual behavior. Apply the repo's needs-repro or needs-more-info style label if it has one.
- Close directly only when the issue is a confirmed duplicate, already fixed in a release the reporter can upgrade to, plainly off topic for the repo, or spam. Always leave a comment saying why, with links.
- An issue that got a request for info and no reply is a candidate to close, but only after real time has passed, and note in the closing comment that it can be reopened with the missing details.
- Never close someone's issue because you personally judge it low value. That call belongs to the maintainers; flag it to the user instead.
4. Asking for reproduction details
The comment asking for more info decides whether the reporter comes back. Keep it short, specific, and warm.
- Open by engaging with what they reported, not with a form letter. One sentence showing you read the issue.
- Ask for the smallest set of things that would make the issue actionable, as a short list: exact version, steps or a minimal repro, expected versus actual behavior, and environment only if it plausibly matters.
- Ask specific questions over generic ones. "Does this happen with X disabled?" gets an answer; "please provide more details" gets silence.
- Close with what happens next: that you or the maintainers will pick it up once the details land.
- See
references/repro-request-structure.mdfor the comment shape and worked examples.
5. Act directly or surface to the user?
Who asked, and what they asked for, sets how much you do on your own.
- When someone explicitly asked you to triage, do the reversible parts directly: comment, apply and correct labels, link duplicates. Then report what you did, issue by issue, with numbers and links.
- Closing an issue is harder to walk back socially, even though it can be reopened. Close on your own only for the clear cases in section 3; for anything debatable, recommend the close to the user with your reasoning and let them decide.
- For a large batch, share your plan in summary before executing ("I'd mark #3 and #7 as duplicates of #1, label #4 and #5 as bugs, and ask #9 for a repro") when the request left room for judgment.
- When the request came by email or from Linear, the requester can't see the repo activity as it happens, so your reply must carry the full outcome: what you changed, what you asked, what you recommend, each with its issue number and link.
- Never take a triage action on an issue nobody asked you about, even if you notice it needs one while working. Mention it to the user instead.
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
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.

