PlugWiki

oss-issue-triage skill (samber): design an issue triage system

Designs the issue and pull-request triage system for an open-source project, sized to the time maintainers really have.

Installs
12.4K
on skills.sh
Stars
7
on GitHub
Files
8
besides SKILL.md
Updated
Nov 2026
last repo commit

oss-issue-triage designs the system that decides how a project's incoming issues and pull requests get handled, sized to the capacity maintainers actually have. It measures the queue first, does the capacity arithmetic, designs a label taxonomy, cuts intake with forms and routing, sets up a triage rota, gives pull requests their own gate order and writes the closing and staleness policy. It produces five artefacts, each validated with you before the next.

It triggers on "our issue tracker is out of control", "set up labels for our repo", "should we run a stale bot" or "triage rotation". Step 1 runs a gh issue list export and the bundled scripts/triage-baseline.py on it. SKILL.md says it does not triage individual items, review code or handle conduct incidents.

Good for

  • Maintainers with hundreds of open issues and no process
  • Teams deciding whether to run a stale bot
  • Projects swamped by low-quality or AI-generated reports

Install oss-issue-triage

Claude Code

  1. 1

    Copy this prompt.

    Install the oss-issue-triage skill in Claude Code. Run this command:
    
    /plugin marketplace add samber/developer-relations-skills
    /plugin install developer-relations-skills@developer-relations-skills
    
    Then check that it loaded and tell me how to use it.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

The README recommends installing the whole collection because its skills reference each other, and oss-issue-triage names other skills in the collection to hand work to. The whole-collection routes add all 93 skills in the repo (counted from the git tree); the repo holds no hooks, agents, commands or MCP server files, and 14 of its skills bundle a script. This skill runs scripts/triage-baseline.py, which needs python3 (SKILL.md step 1 also uses the gh CLI). Pick one route per agent.

From the project README. Source.

What's in the skill

When it loads

Designs an issue and pull-request triage system a maintainer team can sustain - response targets sized against real capacity, the label taxonomy, intake cuts through structured forms and off-tracker routing, a separate security-report path, triage duty assignment, and the closing, staleness and volume-gating policy. Use whenever someone says "our issue tracker is out of control", "design an issue triage process", "set up labels for our repo", "we have 900 open issues", "should we run a stale bot", "PR backlog nobody reviews", "triage rotation", or "we are drowning in AI-generated reports" - even if they only say maintenance is overwhelming. Not good-first-issue curation - use samber/developer-relations-skills@oss-contributor-onboarding.

Sections in SKILL.md

  1. Interview
  2. Step 1 - Measure the queue before changing it
  3. Step 2 - Do the capacity arithmetic
  4. Step 3 - Design the label taxonomy
  5. Step 4 - Cut the intake
  6. Step 5 - Assign the duty
  7. Step 6 - Give pull requests their own gate order
  8. Step 7 - Write the closing and staleness policy
  9. Step 8 - Automate classification, never the first reply
  10. Step 9 - Publish, run a pilot pass, measure
  11. Invocation examples
  12. Deliverable
  13. Failure modes
  14. References

Key facts

Installs on skills.sh
12,410 (Nov 2, 2026)
Last repo commit
Nov 1, 2026

What it includes

  • Asks 12 questions; questions 1 to 6 gate the design.

    Interview

  • Exports issues with gh and runs triage-baseline.py for age and response stats.

    Exports issues with gh issue list and runs triage-baseline.py for age, untriaged share, first response time and label usage.

    Runs code · Step 1: Measure the queue

  • Compares capacity with inflow and picks a lever to close the gap.

    Compares triage capacity with inflow and picks a lever: cut intake, shorten the promise or add triagers.

    Step 2: Capacity arithmetic

  • Uses orthogonal axes with one value each; automation never sets the top priority.

    Orthogonal axes with one value each, and a rule never to let automation apply the top priority.

    Step 3: Label taxonomy

  • Routes questions off the tracker, adds validated forms and a private security path.

    Chooser routing, validated forms, disabling blank issues and an auto-applied type label, plus a private security path.

    Step 4: Cut the intake

  • Sets a rota with shift length, a named backup, a time box and an escalation rule.

    A rota with shift length, a named backup, a time-boxed session and an escalation rule.

    Step 5: Assign the duty

  • Puts sign-off and CI permission first, then direction check, size label and review.

    Sign-off and CI permission first, then direction check, size label and code review.

    Step 6: Pull request gates

  • Auto-closes only items waiting on a reporter, with a warning and a dry run first.

    Auto-close only items waiting on a reporter, warn first and run the first sweep as a dry run.

    Step 7: Closing and staleness

  • Automates classification but not the first reply, then times a pilot pass on 15-20 items.

    Steps 8-9: Automate and pilot

  • Reads an issue export (JSON, JSONL or CSV) and prints queue statistics.

    Reads an issue export (JSON, JSON Lines or CSV) and prints queue statistics; options are --stale-days, --window-days, --triage-prefix and --format.

    Runs code · scripts/triage-baseline.py

From the official docs

Permissions

Medium risk

oss-issue-triage exports your repository's issues with the gh CLI, analyses them with a Python script and designs tracker changes. Our advice: approve the label and automation changes yourself and run any stale sweep as a dry run first.

What it can do

  • Read your data
  • Create and change things
  • Delete things
  • Read-only mode

Watch out for

  • It exports issue data to local files

    SKILL.md tells Claude to run gh issue list for up to 2000 issues, requesting number, title, state, dates, labels, author and comments, into issues.json, then run triage-baseline.py on it. SKILL.md says to present the label taxonomy for approval before touching the tracker; it states no approval step for forms or automation. Our advice: approve each tracker change yourself before it is applied. github.com

  • A stale bot can close items

    SKILL.md recommends closing only items waiting on a reporter, warning first and running the first sweep as a dry run. Follow that order before enabling any auto-close. github.com

  • It may save notes to devrel-context.md

    SKILL.md tells Claude to keep task and project context in devrel-context.md when memory lives in a file, or in the memory system your tool already uses. Check the file before you commit it. github.com

  • The whole-set install adds 93 skills, 14 with scripts

    The README says to install every skill. The git tree has 93 skill folders, and 14 of them hold .py or .sh files. This skill bundles scripts/triage-baseline.py. The tree holds no hooks, agents or MCP config files. github.com

Technical details
Turning on read-onlySKILL.md describes no read-only mode.
Sign-in and keysSKILL.md and the bundled script name no account, key or token.
Scopes
  • Claude designs a triage policy, labels and a rota in the conversation

  • gh issue list writes the issue export to issues.json; SKILL.md's second baseline example writes baseline.json

  • triage-baseline.py reads the export and prints a report

  • SKILL.md says to present the label taxonomy for approval before touching the tracker

  • Writes devrel-context.md when memory lives in a file

Questions

What does oss-issue-triage do?

It designs a triage system for a project's issues and pull requests. You get a baseline of the queue, a published triage policy, a label change list, an intake change list and a rota with a pull request gate order.

How do I install it?

Use the install box at the top. The README says to install every skill in the repo, because the skills point to each other. The box shows the whole-set route for each app. There is no Claude app route listed, because the baseline steps need a local shell, python3 and the gh CLI.

What commands does step 1 run?

SKILL.md shows gh issue list --state all --limit 2000 with a --json field list, redirected to issues.json, then python3 scripts/triage-baseline.py on that file. The script reads local files and prints a report.

Will it change my tracker settings?

SKILL.md says to present the label taxonomy for your approval before touching the tracker, and to run the first stale-sweep pass as a dry run. It also warns that guessed labels send items to the wrong owner.

Is it safe to install?

The step 1 export contains issue titles, authors and comments from your repository and is saved to issues.json in the folder you run it from. SKILL.md says to present the label taxonomy for your approval before touching the tracker and states no approval step for forms or automation, so approve those yourself. The whole-set install adds 93 skills, 14 of which bundle scripts.

How is it different from oss-contributor-onboarding?

This skill handles the incoming queue. SKILL.md routes good first issue curation and the first-contribution path to samber/developer-relations-skills@oss-contributor-onboarding.

Information

updated Nov 2, 2026

Folder
skills/oss-issue-triage

samber/developer-relations-skillsskills.sh

Sources

Docs, issue trackers and discussions this page is built from.

Show all 4
  1. README · github.com
  2. oss-issue-triage SKILL.md · github.com
  3. oss-issue-triage scripts/triage-baseline.py · github.com
  4. LICENSE · github.com

Updated Nov 2, 2026.