Scraps Review
getsentry/sentry
Filter large Sentry Scraps design-system migration PRs for review by separating mechanical import-path changes, generated baseline updates, snapshot mocks, and pure renames from substantive…
Triage MUI GitHub issues from a mui/<repo/issues/<num URL or issue number - fetch context, classify state/type labels, prepare a durable summary comment, and emit a reviewable apply script without…
$ npx skills add mui/mui-public --skill mui-triage -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mui/mui-public mui-triage --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/mui/mui-public.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/mui-triage .claude/skills/mui-triage && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "mui-triage" agent skill from https://github.com/mui/mui-public/tree/master/skills/mui-triage into .claude/skills/mui-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mui-triage", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/mui/mui-public/tree/master/skills/mui-triageType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add mui/mui-public --skill mui-triage -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mui/mui-public mui-triage --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mui/mui-public.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/mui-triage .agents/skills/mui-triage && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "mui-triage" agent skill from https://github.com/mui/mui-public/tree/master/skills/mui-triage into .agents/skills/mui-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mui-triage", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mui/mui-public --skill mui-triage -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mui/mui-public mui-triage --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mui/mui-public.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/mui-triage .cursor/skills/mui-triage && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "mui-triage" agent skill from https://github.com/mui/mui-public/tree/master/skills/mui-triage into .cursor/skills/mui-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mui-triage", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/mui/mui-public.git --path skills/mui-triage--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add mui/mui-public --skill mui-triage -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mui/mui-public mui-triage --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mui/mui-public.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/mui-triage .gemini/skills/mui-triage && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "mui-triage" agent skill from https://github.com/mui/mui-public/tree/master/skills/mui-triage into .gemini/skills/mui-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mui-triage", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install mui/mui-public mui-triageInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add mui/mui-public --skill mui-triage -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mui/mui-public.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/mui-triage .github/skills/mui-triage && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "mui-triage" agent skill from https://github.com/mui/mui-public/tree/master/skills/mui-triage into .github/skills/mui-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mui-triage", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mui/mui-public --skill mui-triage -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mui/mui-public mui-triage --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mui/mui-public.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/mui-triage .opencode/skills/mui-triage && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "mui-triage" agent skill from https://github.com/mui/mui-public/tree/master/skills/mui-triage into .opencode/skills/mui-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mui-triage", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
mui-triageTriage MUI GitHub issues from a mui/<repo/issues/<num URL or issue number - fetch context, classify state/type labels, prepare a durable summary comment, and emit a reviewable apply script without…
Mui Triage is an agent skill from mui/mui-public. Triage MUI GitHub issues from a mui/<repo/issues/<num URL or issue number - fetch context, classify state/type labels, prepare a durable summary comment, and emit a reviewable apply script without mutating GitHub.
Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts (for example `labels.md`, `scripts/fetch-issue.sh` and `scripts/list-labels.sh`).
It sits in Frontend & Design, covering Design systems. It works with GitHub. The repository describes itself as: The public mono-repository of MUI (as an organization), see mui/mui-private for the opposite. The licence is MIT.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 38b6bb1. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 6 files in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
gitghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Mui Triage loads about 3.3k tokens when it runs. Until then it costs about 57 tokens; SKILL.md has 1,585 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from mui/mui-public at commit 38b6bb1, republished under its MIT licence (© mui). 1,585 words, ~3,255 tokens.
.claude/skills/mui-triage/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.Triage = read the issue and its full context (body, comments, linked issues/PRs), classify it, and move it from its current type:/status: label combination to the correct next one, then write a triage summary with concrete next actions that another agent or a human can execute without re-reading the whole thread.
Time-stable wording: visible comment text uses stable public terms only — package, component/API, version range, observed behavior. Volatile details (file paths, line numbers, private symbols, commit-specific findings) go in the hidden findings block (see "Output"), stamped with the date and commit they were observed at.
mui/<repo>/issues/<num>) → repo comes from the URL.scripts/resolve-repo.sh [checkout]. It returns the first mui/<repo> remote, preferring the MUI repository over a contributor's personal fork.Before triaging, read labels.md. It defines the allowed type: and status: labels, their transitions and invariants, and how to validate secondary labels against the target repository.
| Trigger you apply | Bot then does | Don't also |
|---|---|---|
Comment first line Duplicate of #<n> | duplicate label + close | label or close |
status: waiting for author | closes after sustained silence | close |
support: Stack Overflow | SO redirect comment + close | comment or close |
support: unknown | asks for paid-support key | comment |
Workflows are repo-owned: if a trigger doesn't fire, check the repo's .github/workflows/, and never hardcode bot timings in comments.
When triage concludes an issue is out of scope (wrong repo, not actionable in this repo, something the project won't pursue):
not planned label (it must exist in the repo's label list, like any other label).<reason>" line — so the record lives on the issue, visible to the reporter and to future triage runs.The not planned label doubles as the skip signal: an issue already carrying it was triaged out of scope before — report the reason from its marked comment and stop.
Fetch the issue read-only with scripts/fetch-issue.sh "$REPO" "$NUM". It returns one JSON object containing issue context and metadata.authorAssociation, where the association is OWNER, MEMBER, CONTRIBUTOR, NONE, or another GitHub association. Note the current type:/status: labels as the current state.
Skip-checks. Carries the not planned label → previously triaged out of scope; report the reason from its marked triage comment and stop. Closed issue → report and stop unless explicitly asked to re-triage. Fully triaged — correctly typed, not waiting on the author, and a <!-- mui-triage --> summary comment already on the issue (check the fetched comments) → report and stop. Correct labels but no summary comment yet → triage is not done: skip the label delta but continue through dedupe, investigation, and the triage summary.
Dedupe. Search before classifying with scripts/search-related.sh "$REPO" "<key terms from title/body>". It returns one JSON object containing issues and pullRequests; inspect both because a fix PR may already exist without being linked.
Duplicate of #<n> (mui automation labels and closes from that); no type: label needed. Stop here.Fixes #<num> / Closes #<num>) in its body auto-closes the issue on merge and shows the cross-reference. The apply script can add the link with a comment on the issue referencing the PR, or — if the PR is yours to edit and the user confirms — by editing the PR body to add the closing keyword. Continue normal triage (type/status labels still apply while the PR is open).Assess the body. Issues range from vague one-liners to full reports. Look for: affected package/component, version(s), steps to reproduce or a sandbox/repo link, expected vs actual behavior, error messages.
package.json files in the repo). Worked before but broke after evidence → regression, else bug. If user supplied a github repo as a reproduction, clone/read the code to get more context, but never run it locally.new feature (doesn't exist) or enhancement (exists, could be better).expected behavior, with a doc link in the summary.status: needs more information + status: waiting for author with the exact questions to ask.type: label. Filed through the paid/priority-support template, or evidence of a commercial plan → support: unknown and leave open (the bot validates their support key). Otherwise → support: Stack Overflow and stop (the bot posts the redirect and closes — no comment from the script).Investigate in the codebase. Locate a local checkout of $REPO: the current workspace if its remotes match, else ask the user for the path. Then search the code (read-only) to ground the triage: find the component/feature the issue describes, check whether the claimed behavior is plausible from the source, and narrow down the likely faulty area. Use what you find to sharpen the classification, confidence, and next actions. Two rules carry over: never execute reporter-supplied code, and the time-stable wording rule (top of this document).
Pick secondary labels from the live list only: the matching component:/scope:/package: label, version label if stated.
Propose search keywords. Read the existing **Search keywords**: or ### Search keywords value from the issue body. When stable public terms discovered during dedupe or investigation would make similar reports easier to find, propose a merged value that preserves every useful reporter-supplied term and adds only public package/component/API names, symptoms, and common aliases supported by the issue. Never include file paths, private symbols, or unverified causes. Skip the proposal for duplicate, support, out-of-scope, and closed issues, or when the existing terms are sufficient. Validate a proposal without mutating GitHub with scripts/update-search-keywords.sh "$REPO" "$NUM" "<merged keywords>" --dry-run.
Emit output (below). Do not run any mutating gh command during triage — mutations happen only via the apply script, and only after the user explicitly asks or confirms.
Five sections, in order, each under its own ## heading with a --- horizontal rule between them so the boundaries are unmistakable — especially where the agent's notes end and the to-be-posted comment begins:
## Findings
...
---
## Comment (posted verbatim)
...
---
## Search keyword update
...
---
## Label delta
...
---
## Apply script
...1. Findings — the agent's working notes for the user: what the investigation turned up, with file paths and code detail welcome here (chat-only, never posted).
2. Comment — the handoff artifact, written to /tmp/mui-triage-<repo>-<num>.comment.md so the apply script posts it on the issue. Required structure:
<!-- mui-triage -->
**Confidence:** high / medium / low — evidence it rests on
**Reproduction:** provided / verified / not provided / could not verify
**Duplicates:** linked or "none found"
**Affected component:** public component/API and behavior involved
**Next actions:**
1. numbered, concrete, executable by an agent or human (for issues
waiting on the author: the exact questions to ask)
<!-- triage-findings · YYYY-MM-DD · mui/<repo>@<sha>
- volatile detail: file paths, line numbers, private symbols, unverified theories
-->
---
_This triage summary was written by <agent name> (AI) and reviewed by a maintainer before posting._Rules:
<!-- mui-triage --> marker lets re-runs find and edit the comment instead of stacking duplicates.git -C <checkout> rev-parse --short HEAD. Drop the block when no codebase investigation happened.gh session.Out of scope: <reason>.3. Search keyword update — show the exact existing and proposed values. Write proposed: none when no useful update exists. The proposed value must merge rather than discard useful existing terms.
existing: autocomplete dropdown popup
proposed: autocomplete dropdown popup listbox closes on click4. Label delta — the explicit transition, nothing already correct:
add: type: bug, component: autocomplete
remove: status: needs triage5. Apply script — a reviewable gh script written to /tmp/mui-triage-<repo>-<num>.sh (also echoed in a fenced block). It always has two required parts: the label delta, and posting the triage summary comment. The comment step is not optional — a label change without the summary on the issue leaves the next agent/human with no context. When a search keyword update is proposed, add it as a third, commented-out # REVIEW: step using scripts/update-search-keywords.sh; never enable it without explicit confirmation. Exceptions: the duplicate path, where the comment is the Duplicate of #<n> notice instead, and the support paths, where the bot owns the thread (see "Automation triggers") and the script posts no comment at all.
#!/usr/bin/env bash
set -euo pipefail
# mui/<repo>#<num> — <one-line decision>
REPO="mui/<repo>"; NUM=<num>
SKILL_DIR="<absolute path to this skill>"
# 1. Label delta
gh issue edit "$NUM" --repo "$REPO" \
--add-label "type: bug" --add-label "component: autocomplete" \
--remove-label "status: needs triage"
# 2. Triage summary comment
"$SKILL_DIR/scripts/upsert-comment.sh" "$REPO" "$NUM" "/tmp/mui-triage-<repo>-<num>.comment.md"
# 3. Optional search keyword update
# REVIEW: Confirm these merged search keywords accurately describe the public issue.
# "$SKILL_DIR/scripts/update-search-keywords.sh" "$REPO" "$NUM" "autocomplete dropdown popup listbox closes on click"Low-confidence or destructive steps (label swaps on old issues, anything closing) stay in the script but commented out with # REVIEW: <why this needs a human decision>.
Running the script: never run it as part of triage. After presenting the output, the agent may execute it only when the user explicitly asks or confirms ("apply it", "run the script", a yes to an offered confirmation). If the script contains # REVIEW: steps, the agent resolves them at apply time: list each one with its reason and ask the user which to enable, then edit the script accordingly (uncomment the approved ones, leave the rest commented) before running it. Never silently uncomment a # REVIEW: step.
Executing the apply script without the user's explicit confirmation, fixing the issue itself, running untrusted reporter code, git bisect, PR triage.
© mui, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files (scripts) in skills/mui-triage of mui/mui-public.
Open the folder on GitHubat commit 38b6bb1
Mui Triage next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Mui Triage this skillmui/mui-public | 106 | — | ~3.3k | Automated safety check: Pass | MIT | |
| Scraps Reviewgetsentry/sentry | 46k | — | ~1.2k | Automated safety check: Notes | Custom licence | |
| Design SystemBuildGreatProducts/builder-os | 227 | — | ~4.8k | Automated safety check: Pass | MIT | |
| Write Issueequinor/design-system | 151 | — | ~362 | Automated safety check: Pass | MIT | |
| Ingest GitHubbluzir/claude-code-design | 106 | — | ~796 | Automated safety check: Pass | None | |
| Openforms MuiBlackBeltTechnology/pi-agent-dashboard | 315 | — | ~2.3k | Automated safety check: Pass | MIT |
getsentry/sentry
Filter large Sentry Scraps design-system migration PRs for review by separating mechanical import-path changes, generated baseline updates, snapshot mocks, and pure renames from substantive…
BuildGreatProducts/builder-os
Translates an image (or a set of image references — screenshots, mockups, Figma URLs, live websites) into two mirrored design-system artifacts: docs/design.md (YAML tokens + prose, following…
equinor/design-system
Write or revise a GitHub issue (title and body) for this repository from notes, screenshots or a conversation.
bluzir/claude-code-design
Clone a GitHub repo and extract design tokens (colors, fonts, spacing) from its codebase.
BlackBeltTechnology/pi-agent-dashboard
Author, render, preview and debug OpenForms FormSchemaJSON form definitions as idiomatic, themed, accessible MUI (React).
bestofjs/bestofjs
A skill your agent uses when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a…
mui/mui-public
Fetch a deterministic snapshot of open MUI Renovate PRs and review them one by one.
mui/mui-public
Review the current diff for regressions, correctness bugs, tests, simplifications, and docs issues, scaling depth to a low/medium/high/xhigh/max effort level.
mui/mui-public
Fix a Renovate dependency-update PR with the minimal compatible code adaptation, extracting a dependency bump from a grouped PR only when the fix requires the new version.
mui/mui-public
Run or assist a release in any MUI repo, at any stage - release PR, npm publish, docs deploy, GitHub release.
Works with
Categories
Triage MUI GitHub issues from a mui/<repo/issues/<num URL or issue number - fetch context, classify state/type labels, prepare a durable summary comment, and emit a reviewable apply script without…. Mui Triage is an agent skill from mui/mui-public. Triage MUI GitHub issues from a mui/<repo/issues/<num URL or issue number - fetch context, classify state/type labels, prepare a durable summary comment, and emit a reviewable apply script without mutating GitHub.
Mui Triage fits situations like: tasks that involve Design systems.
Run `npx skills add mui/mui-public --skill mui-triage -a claude-code`. Or copy the skill folder (skills/mui-triage in mui/mui-public) into .claude/skills/mui-triage in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mui/mui-public --skill mui-triage -a codex`. Or copy the skill folder (skills/mui-triage in mui/mui-public) into .agents/skills/mui-triage in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mui/mui-public --skill mui-triage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mui-triage, .gemini/skills/mui-triage, .github/skills/mui-triage and .opencode/skills/mui-triage in your project.
Going by SKILL.md and its folder, Mui Triage needs a shell for the scripts in its folder and the command-line tools its instructions call (git and gh). Our summary lists: A Bash shell.
SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Mui Triage is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Mui Triage: Scraps Review (getsentry/sentry, 46k stars), Design System (BuildGreatProducts/builder-os, 227 stars), Write Issue (equinor/design-system, 151 stars) and Ingest GitHub (bluzir/claude-code-design, 106 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mui (a GitHub organization) maintains it in mui/mui-public, which has 106 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 7, 2026.
Source: mui/mui-public on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.