Triage Issue
softspark/ai-toolkit
Bug triage: explores codebase for root cause, files GitHub issue with TDD fix plan.
Reproduces an OpenROAD GitHub bug from an attached tarball and shrinks the failing design with whittle.py so maintainers get a minimal test case.
$ npx skills add The-OpenROAD-Project/OpenROAD --skill triage-issue -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install The-OpenROAD-Project/OpenROAD triage-issue --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/The-OpenROAD-Project/OpenROAD.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/triage-issue .claude/skills/triage-issue && 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 "triage-issue" agent skill from https://github.com/The-OpenROAD-Project/OpenROAD/tree/master/.agents/skills/triage-issue into .claude/skills/triage-issue/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "triage-issue", 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/The-OpenROAD-Project/OpenROAD/tree/master/.agents/skills/triage-issueType 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 The-OpenROAD-Project/OpenROAD --skill triage-issue -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install The-OpenROAD-Project/OpenROAD triage-issue --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/The-OpenROAD-Project/OpenROAD.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/triage-issue .agents/skills/triage-issue && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "triage-issue" agent skill from https://github.com/The-OpenROAD-Project/OpenROAD/tree/master/.agents/skills/triage-issue into .agents/skills/triage-issue/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "triage-issue", 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 The-OpenROAD-Project/OpenROAD --skill triage-issue -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install The-OpenROAD-Project/OpenROAD triage-issue --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/The-OpenROAD-Project/OpenROAD.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/triage-issue .cursor/skills/triage-issue && 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 "triage-issue" agent skill from https://github.com/The-OpenROAD-Project/OpenROAD/tree/master/.agents/skills/triage-issue into .cursor/skills/triage-issue/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "triage-issue", 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/The-OpenROAD-Project/OpenROAD.git --path .agents/skills/triage-issue--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 The-OpenROAD-Project/OpenROAD --skill triage-issue -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install The-OpenROAD-Project/OpenROAD triage-issue --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/The-OpenROAD-Project/OpenROAD.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/triage-issue .gemini/skills/triage-issue && 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 "triage-issue" agent skill from https://github.com/The-OpenROAD-Project/OpenROAD/tree/master/.agents/skills/triage-issue into .gemini/skills/triage-issue/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "triage-issue", 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 The-OpenROAD-Project/OpenROAD triage-issueInstalls 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 The-OpenROAD-Project/OpenROAD --skill triage-issue -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/The-OpenROAD-Project/OpenROAD.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/triage-issue .github/skills/triage-issue && 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 "triage-issue" agent skill from https://github.com/The-OpenROAD-Project/OpenROAD/tree/master/.agents/skills/triage-issue into .github/skills/triage-issue/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "triage-issue", 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 The-OpenROAD-Project/OpenROAD --skill triage-issue -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install The-OpenROAD-Project/OpenROAD triage-issue --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/The-OpenROAD-Project/OpenROAD.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/triage-issue .opencode/skills/triage-issue && 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 "triage-issue" agent skill from https://github.com/The-OpenROAD-Project/OpenROAD/tree/master/.agents/skills/triage-issue into .opencode/skills/triage-issue/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "triage-issue", 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.
triage-issueReproduces an OpenROAD GitHub bug from an attached tarball and shrinks the failing design with whittle.py so maintainers get a minimal test case.
Given an issue number, the agent fetches the issue with gh, looks for the error string, the tarball produced by a make issue target and the OpenROAD version, then downloads and extracts the archive into a temporary directory. The bundled run-me script usually needs fixes, such as adding set -e so it exits on error.
It builds OpenROAD with bazelisk, exports the resulting binary path, runs the script and counts occurrences of the error string to confirm the bug reproduces. If the latest build no longer fails, the agent reports that on the issue because it may already be fixed. Otherwise it runs whittle.py with the error string, the base database, and persistence, multiplier and timeout options.
While whittling, it watches the log lines: a growing ETA suggests a coarser persistence setting, a database that does not shrink suggests a larger multiplier, and generic error strings are called out as too vague. It aborts when the size has not changed after many steps or one step runs too long, and finally packs the whittled .odb into a new tarball to upload.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 22b7c53. 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.
Shell commands in SKILL.md call:
ghmakepython3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use 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.
OpenROAD Issue Triage loads about 842 tokens when it runs. Until then it costs about 49 tokens; SKILL.md has 283 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); files beside SKILL.md are not scanned.
The full file from The-OpenROAD-Project/OpenROAD at commit 22b7c53, republished under its BSD-3-Clause licence (© The-OpenROAD-Project). 283 words, ~842 tokens.
.claude/skills/triage-issue/SKILL.md (or your agent's skills folder).You are triaging OpenROAD issue $ARGUMENTS.
gh issue view $ARGUMENTS --repo The-OpenROAD-Project/OpenROAD \
--json title,body,labels,state,commentsLook for:
GPL-0305, GPL-0307, DRT-XXXX)make *_issue)Download any .tar.gz attached to the issue body or comments.
Extract into a working directory:
mkdir -p /tmp/triage-$ARGUMENTS
cd /tmp/triage-$ARGUMENTS
tar xzf <downloaded-tarball>
cd <extracted-dir>The run-me-*.sh scripts from make *_issue often need two fixes:
# Add set -e to exit on error
sed -i '2i set -e' run-me-*.sh
# Add -exit so openroad exits after the tcl script
sed -i 's/openroad -no_init/openroad -exit -no_init/g' run-me-*.sh
sed -i 's/openroad -no_splash/openroad -exit -no_splash/g' run-me-*.shBuild from the OpenROAD source tree:
cd <path-to>/OpenROAD
bazelisk build :openroadThe binary is at bazel-bin/openroad. Export it:
export OPENROAD_EXE=$(pwd)/bazel-bin/openroadRun the step command and confirm the error string appears:
cd /tmp/triage-$ARGUMENTS/<extracted-dir>
./run-me-*.sh 2>&1 | tee reproduce.log
grep -c "<error-string>" reproduce.logIf the bug does NOT reproduce with the latest OpenROAD, report this on the issue -- the bug may have been fixed.
python3 <path-to>/OpenROAD/etc/whittle.py \
--error_string "<error-string>" \
--base_db_path <path-to>.odb \
--use_stdout --exit_early_on_error \
--step "./run-me-*.sh" \
--persistence 3 --multiplier 2Watch the [whittle] lines. Key things to check:
--persistence 1 for a coarse first pass.--multiplier.--timeout 300 to cap each step
at 5 minutes.Create a new tarball with the whittled .odb:
cp whittle_base_result_*.odb <original-odb-path>
tar czf whittled-$ARGUMENTS.tar.gz <extracted-dir>/Comment on the issue with before/after stats:
gh issue comment $ARGUMENTS --repo The-OpenROAD-Project/OpenROAD \
--body "Whittled test case: original NNN insts -> MMM insts, \
.odb size: XXX MB -> YYY MB. Attached whittled tarball."Upload the tarball to the issue comment via the GitHub web UI (gh CLI does not support file attachments on comments).
© The-OpenROAD-Project, BSD-3-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/triage-issue of The-OpenROAD-Project/OpenROAD.
Open the folder on GitHubat commit 22b7c53
OpenROAD Issue 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 |
|---|---|---|---|---|---|---|
| OpenROAD Issue Triage this skillThe-OpenROAD-Project/OpenROAD | 3.2k | — | ~842 | Automated safety check: Pass | BSD-3-Clause | |
| Triage Issuesoftspark/ai-toolkit | 179 | — | ~1.3k | Automated safety check: Notes | Apache-2.0 | |
| Issue Fixmono/SkiaSharp | 5.6k | — | ~5.1k | Automated safety check: Pass | MIT | |
| Bug Report TriageOrchestratorInc/agent-orchestrator | 13k | — | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| React Router Bug Fix Workflowremix-run/react-router | 57k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Triagebot Action Bug Triagewithastro/astro | 63k | — | ~639 | Automated safety check: Pass | Custom licence |
softspark/ai-toolkit
Bug triage: explores codebase for root cause, files GitHub issue with TDD fix plan.
mono/SkiaSharp
Fix bugs in SkiaSharp C bindings. An agent skill from mono/SkiaSharp.
OrchestratorInc/agent-orchestrator
Helps a reporter describe a bug, searches for duplicates and gathers diagnostic evidence kept separate from a short, human-worded issue draft.
remix-run/react-router
Fixes a React Router bug reported in a GitHub issue end to end: fetching the issue, validating the reproduction, writing a failing test and implementing the fix on a new branch.
withastro/astro
Takes a bug report for the triagebot-action GitHub Action through reproduction, root-cause diagnosis, an intended-behavior check and a fix attempt.
ZaxbyHub/opencode-swarm
Drives a bug report from validation and root-cause tracing through a critic-reviewed plan, an approved minimal fix and a PR-ready closure, never merging without recorded human approval.
The-OpenROAD-Project/OpenROAD
Adds integration or unit tests to an OpenROAD module: writes the Tcl test, generates golden files and registers it in both CMake and Bazel.
The-OpenROAD-Project/OpenROAD
Fixes an OpenROAD bug from a GitHub issue or error code: finds the root cause, implements the fix, adds a regression test and prepares a signed-off commit.
The-OpenROAD-Project/OpenROAD
Reviews an OpenROAD pull request in the project's priority order and prints draft review notes for a human reviewer to inspect and post.
Categories
Reproduces an OpenROAD GitHub bug from an attached tarball and shrinks the failing design with whittle.py so maintainers get a minimal test case. Given an issue number, the agent fetches the issue with gh, looks for the error string, the tarball produced by a make issue target and the OpenROAD version, then downloads and extracts the archive into a temporary directory. The bundled run-me script usually needs fixes, such as adding set -e so it exits on error.
OpenROAD Issue Triage fits situations like: an OpenROAD issue arrives with a .tar.gz from a make issue target; reproducing a reported error such as a GPL or DRT failure; shrinking a large design down to a minimal failing case; checking whether a reported bug still exists on the latest build.
Run `npx skills add The-OpenROAD-Project/OpenROAD --skill triage-issue -a claude-code`. Or copy the skill folder (.agents/skills/triage-issue in The-OpenROAD-Project/OpenROAD) into .claude/skills/triage-issue in your project. Claude Code loads it when a task matches its description.
Run `npx skills add The-OpenROAD-Project/OpenROAD --skill triage-issue -a codex`. Or copy the skill folder (.agents/skills/triage-issue in The-OpenROAD-Project/OpenROAD) into .agents/skills/triage-issue 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 The-OpenROAD-Project/OpenROAD --skill triage-issue -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/triage-issue, .gemini/skills/triage-issue, .github/skills/triage-issue and .opencode/skills/triage-issue in your project.
Going by SKILL.md and its folder, OpenROAD Issue Triage needs the command-line tools its instructions call (gh, make and python3). Our summary lists: GitHub CLI (gh); Bazelisk and a checkout of the OpenROAD source tree; Python 3 to run whittle.py.
SKILL.md contains no URLs. Its commands use 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. Review the folder before installing.
OpenROAD Issue Triage is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 842 tokens (SKILL.md is roughly 3.4k 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 OpenROAD Issue Triage: Triage Issue (softspark/ai-toolkit, 179 stars), Issue Fix (mono/SkiaSharp, 5.6k stars), Bug Report Triage (OrchestratorInc/agent-orchestrator, 13k stars) and React Router Bug Fix Workflow (remix-run/react-router, 57k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
The-OpenROAD-Project (a GitHub organization) maintains it in The-OpenROAD-Project/OpenROAD, which has 3,159 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 9, 2026.
Source: The-OpenROAD-Project/OpenROAD on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.