Agent skill

OpenROAD Bug Fixer

by The-OpenROAD-Project in 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.

BSD-3-ClauseAuto-check passedDevelopment

Install OpenROAD Bug Fixer

skills CLI
$ npx skills add The-OpenROAD-Project/OpenROAD --skill fix-bug -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install The-OpenROAD-Project/OpenROAD fix-bug --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/The-OpenROAD-Project/OpenROAD.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/fix-bug .claude/skills/fix-bug && rm -rf skills-src

Use ~/.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/

Facts

Skill name
fix-bug
GitHub stars
3.2k
Token cost
~784 tokens
SKILL.md length
290 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
BSD-3-Clause

At a glance

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.

  • Works in 6 steps: Understand the bug → Trace the root cause → Implement the fix → …
  • Fixing a bug reported in an OpenROAD GitHub issue
  • SKILL.md covers 1. Understand the bug, 2. Trace the root cause, 3. Implement the fix and 4. Create regression test, plus 2 more sections
  • Calls git and gh

What it does

Work starts from the GitHub issue, read with gh, or from an error code such as GPL-0305 searched in the source. The agent extracts the error string, module, steps to reproduce and any stack trace, then traces the cause upstream, looking for where the bad data is created rather than where it is reported. Nothing under src/sta may be modified, since OpenSTA is managed upstream; if the cause is there, the agent reports it instead.

The fix follows the repository's coding practices, with attention to int64_t for area calculations and removal of unreachable code after error or throw. Every fix needs a regression test that reproduces the exact failure and is registered in both CMake and Bazel, using the add-test skill. The workflow ends with clang-format on changed C++ files, a signed-off commit and a checklist covering the test run, the git diff and untouched src/sta files.

When your agent uses it

  • Fixing a bug reported in an OpenROAD GitHub issue
  • Tracing an OpenROAD error code such as GPL-0305 back to its source
  • Adding a regression test registered in both CMake and Bazel for a fix

Example prompts

  • “Fix the OpenROAD bug in GitHub issue 9 and add a regression test.”
  • “Find the root cause of the DRT-0001 error and fix it.”
  • “Check my bug fix against the checklist: test registered, src/sta untouched, commit signed off.”

Requirements

  • A checkout of the OpenROAD repository
  • GitHub CLI (gh) to read issues
  • clang-format

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Understand the bug
  2. Trace the root cause
  3. Implement the fix
  4. Create regression test
  5. Format and commit
  6. Verify

What it can do on your machine

Read from SKILL.md and the folder at commit 2721361. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    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.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

OpenROAD Bug Fixer loads about 784 tokens when it runs. Until then it costs about 148 tokens; SKILL.md has 290 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~148
When it runs · the whole SKILL.md, loaded when a task matches
~784

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from The-OpenROAD-Project/OpenROAD at commit 2721361, republished under its BSD-3-Clause licence (© The-OpenROAD-Project). 290 words, ~784 tokens.

Download SKILL.mdSave it as .claude/skills/fix-bug/SKILL.md (or your agent's skills folder).
name
fix-bug
description
Fix an OpenROAD bug from a GitHub issue. Analyzes the issue, traces the root cause through the codebase, implements the fix, creates regression tests (registered in both CMake and Bazel), runs clang-format, and prepares a signed-off commit. Use when given a bug report issue number, error code (e.g. GPL-0305, DRT-0001, RSZ-2007), or when asked to fix a bug in any OpenROAD module (ant, cts, dpl, drt, gpl, grt, mpl, odb, pad, pdn, psm, rcx, rsz, sta, stt, tap, upf, utl, etc.). Also triggers on: "fix issue", "debug this error", "resolve crash", "fix segfault", "repair", "patch bug".
argument-hint
<issue-number-or-error-code>

Fix OpenROAD Bug

You are fixing a bug related to $ARGUMENTS.

1. Understand the bug

If $ARGUMENTS is a GitHub issue number:

bash
gh issue view $ARGUMENTS --repo The-OpenROAD-Project/OpenROAD \
  --json title,body,labels,comments

Extract from the issue:

  • Error string (e.g. GPL-0305, DRT-0001) -- search for the exact message ID
  • Module -- infer from labels or error prefix
  • Steps to reproduce -- look for attached scripts, Tcl commands, or tarballs
  • Stack trace -- if a crash, identify the faulting function

If $ARGUMENTS is an error code, search for it directly:

bash
grep -rn "ERROR_CODE" src/MODULE/src/

2. Trace the root cause

Follow OpenROAD's "trace bugs upstream" principle: find where the bad data is created, not where it is reported.

  1. Find the error message source:
    bash
    grep -rn "ERROR_ID" src/
  2. Read the surrounding code to understand the condition that triggers it
  3. Trace the data flow backward -- who sets the offending value?
  4. Identify the actual bug location (often in a different function/file from where the error is reported)

Critical constraint: Never modify files under src/sta/. OpenSTA is managed upstream. If the root cause is in OpenSTA, report this finding instead of patching it.

3. Implement the fix

Follow the coding practices in docs/agents/coding.md. Pay special attention to int64_t for area calculations and removing unreachable code after error() or throw.

4. Create regression test

Every bug fix needs a test that reproduces the exact failure mode from the issue (same error code, same stack frame, same condition) so a future regression is caught immediately.

Use the add-test skill (.agents/skills/add-test/SKILL.md) for the full workflow: writing the test, generating golden files, and registering in both CMake and Bazel.

5. Format and commit

bash
# Format changed C++ files (NEVER format src/sta/* or *.i files)
clang-format -i <changed-cpp-files>

# Stage and commit with DCO sign-off
git add <changed-files>
git commit -s -m "MODULE: fix BRIEF_DESCRIPTION

Fixes #ISSUE_NUMBER"

6. Verify

  • Test passes: cd src/MODULE/test && ./regression -R TEST_NAME
  • No unintended changes: git diff HEAD
  • Test registered in both CMake and Bazel
  • No src/sta/ files modified
  • C++ files formatted with clang-format
  • Commit is signed off (-s)

© 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

Files

Just SKILL.md in .agents/skills/fix-bug of The-OpenROAD-Project/OpenROAD.

Open the folder on GitHubat commit 2721361

Compare with similar skills

OpenROAD Bug Fixer 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.

OpenROAD Bug Fixer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
OpenROAD Bug Fixer this skillThe-OpenROAD-Project/OpenROAD3.2k—~784Automated safety check: PassBSD-3-Clause
Triagebot Action Bug Triagewithastro/astro63k—~639Automated safety check: PassCustom licence
Issue TracerZaxbyHub/opencode-swarm490—~4.4kAutomated safety check: PassMIT
State Snapshot InstrumenterArabelaTso/Skills-4-SE253—~2.2kAutomated safety check: PassApache-2.0
Prp DebugWirasm/prp2.3k—~1.1kAutomated safety check: PassMIT
Prp DebugWirasm/prp2.3k—~1.1kAutomated safety check: PassMIT

Similar skills

  • Official

    Takes a bug report for the triagebot-action GitHub Action through reproduction, root-cause diagnosis, an intended-behavior check and a fix attempt.

    63k GitHub stars~639 tokensUpdated today
    DevelopmentAuto-check passed
  • Issue Tracer

    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.

    490 GitHub stars~4.4k tokensUpdated today
    DevelopmentAuto-check passed
  • State Snapshot Instrumenter

    ArabelaTso/Skills-4-SE

    Instrument programs (Python, C/C++, Java) to capture snapshots of key program states at runtime, including variables, memory, and call stacks.

    253 GitHub stars~2.2k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Prp Debug

    Wirasm/prp

    Diagnoses a bug, error, stack trace, regression, or unexplained behavior and publishes the evidence-backed root cause to GitHub.

    2.3k GitHub stars~1.1k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Prp Debug

    Wirasm/prp

    Diagnoses a bug, error, stack trace, regression, or unexplained behavior and publishes the evidence-backed root cause to GitHub.

    2.3k GitHub stars~1.1k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Triage Issue

    softspark/ai-toolkit

    Bug triage: explores codebase for root cause, files GitHub issue with TDD fix plan.

    179 GitHub stars~1.3k tokensUpdated yesterday
    DevelopmentAuto-check: notes

More from The-OpenROAD-Project/OpenROAD

  • OpenROAD Module Test Adder

    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.

    3.2k GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • OpenROAD PR Review

    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.

    3.2k GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • OpenROAD Issue Triage

    The-OpenROAD-Project/OpenROAD

    Reproduces an OpenROAD GitHub bug from an attached tarball and shrinks the failing design with whittle.py so maintainers get a minimal test case.

    3.2k GitHub stars~842 tokensUpdated today
    Auto-check passed

Works with

Questions about OpenROAD Bug Fixer

What does OpenROAD Bug Fixer do?

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. Work starts from the GitHub issue, read with gh, or from an error code such as GPL-0305 searched in the source. The agent extracts the error string, module, steps to reproduce and any stack trace, then traces the cause upstream, looking for where the bad data is created rather than where it is reported.

When should I use OpenROAD Bug Fixer?

OpenROAD Bug Fixer fits situations like: fixing a bug reported in an OpenROAD GitHub issue; tracing an OpenROAD error code such as GPL-0305 back to its source; adding a regression test registered in both CMake and Bazel for a fix.

How do I install OpenROAD Bug Fixer in Claude Code?

Run `npx skills add The-OpenROAD-Project/OpenROAD --skill fix-bug -a claude-code`. Or copy the skill folder (.agents/skills/fix-bug in The-OpenROAD-Project/OpenROAD) into .claude/skills/fix-bug in your project. Claude Code loads it when a task matches its description.

How do I install OpenROAD Bug Fixer in Codex?

Run `npx skills add The-OpenROAD-Project/OpenROAD --skill fix-bug -a codex`. Or copy the skill folder (.agents/skills/fix-bug in The-OpenROAD-Project/OpenROAD) into .agents/skills/fix-bug in your project. Codex loads it when a task matches its description.

Can I use OpenROAD Bug Fixer in Cursor, Gemini CLI or GitHub Copilot?

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 fix-bug -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fix-bug, .gemini/skills/fix-bug, .github/skills/fix-bug and .opencode/skills/fix-bug in your project.

What does OpenROAD Bug Fixer need to run?

Going by SKILL.md and its folder, OpenROAD Bug Fixer needs the command-line tools its instructions call (git and gh). Our summary lists: A checkout of the OpenROAD repository; GitHub CLI (gh) to read issues; clang-format.

Does OpenROAD Bug Fixer access the network?

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.

Is OpenROAD Bug Fixer safe to install?

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.

What licence does OpenROAD Bug Fixer use?

OpenROAD Bug Fixer 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.

How many tokens does OpenROAD Bug Fixer use?

About 784 tokens (SKILL.md is roughly 3.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to OpenROAD Bug Fixer?

Skills that share tags, products or a category with OpenROAD Bug Fixer: Triagebot Action Bug Triage (withastro/astro, 63k stars), Issue Tracer (ZaxbyHub/opencode-swarm, 490 stars), State Snapshot Instrumenter (ArabelaTso/Skills-4-SE, 253 stars) and Prp Debug (Wirasm/prp, 2.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains OpenROAD Bug Fixer?

The-OpenROAD-Project (a GitHub organization) maintains it in The-OpenROAD-Project/OpenROAD, which has 3,154 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 7, 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.