OpenROAD Bug Fixer
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.
Performs root-cause analysis of a bug — from a GitHub issue, an issue URL, or a free-text description — before any reproduction or fix is written.
$ npx skills add opsmill/infrahub --skill opsmill-dev-analyzing-bugs -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install opsmill/infrahub opsmill-dev-analyzing-bugs --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/opsmill/infrahub.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/opsmill-dev-analyzing-bugs .claude/skills/opsmill-dev-analyzing-bugs && 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 "opsmill-dev-analyzing-bugs" agent skill from https://github.com/opsmill/infrahub/tree/stable/.agents/skills/opsmill-dev-analyzing-bugs into .claude/skills/opsmill-dev-analyzing-bugs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "opsmill-dev-analyzing-bugs", 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/opsmill/infrahub/tree/stable/.agents/skills/opsmill-dev-analyzing-bugsType 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 opsmill/infrahub --skill opsmill-dev-analyzing-bugs -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install opsmill/infrahub opsmill-dev-analyzing-bugs --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/opsmill/infrahub.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/opsmill-dev-analyzing-bugs .agents/skills/opsmill-dev-analyzing-bugs && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "opsmill-dev-analyzing-bugs" agent skill from https://github.com/opsmill/infrahub/tree/stable/.agents/skills/opsmill-dev-analyzing-bugs into .agents/skills/opsmill-dev-analyzing-bugs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "opsmill-dev-analyzing-bugs", 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 opsmill/infrahub --skill opsmill-dev-analyzing-bugs -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install opsmill/infrahub opsmill-dev-analyzing-bugs --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/opsmill/infrahub.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/opsmill-dev-analyzing-bugs .cursor/skills/opsmill-dev-analyzing-bugs && 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 "opsmill-dev-analyzing-bugs" agent skill from https://github.com/opsmill/infrahub/tree/stable/.agents/skills/opsmill-dev-analyzing-bugs into .cursor/skills/opsmill-dev-analyzing-bugs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "opsmill-dev-analyzing-bugs", 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/opsmill/infrahub.git --path .agents/skills/opsmill-dev-analyzing-bugs--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 opsmill/infrahub --skill opsmill-dev-analyzing-bugs -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install opsmill/infrahub opsmill-dev-analyzing-bugs --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/opsmill/infrahub.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/opsmill-dev-analyzing-bugs .gemini/skills/opsmill-dev-analyzing-bugs && 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 "opsmill-dev-analyzing-bugs" agent skill from https://github.com/opsmill/infrahub/tree/stable/.agents/skills/opsmill-dev-analyzing-bugs into .gemini/skills/opsmill-dev-analyzing-bugs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "opsmill-dev-analyzing-bugs", 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 opsmill/infrahub opsmill-dev-analyzing-bugsInstalls 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 opsmill/infrahub --skill opsmill-dev-analyzing-bugs -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/opsmill/infrahub.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/opsmill-dev-analyzing-bugs .github/skills/opsmill-dev-analyzing-bugs && 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 "opsmill-dev-analyzing-bugs" agent skill from https://github.com/opsmill/infrahub/tree/stable/.agents/skills/opsmill-dev-analyzing-bugs into .github/skills/opsmill-dev-analyzing-bugs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "opsmill-dev-analyzing-bugs", 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 opsmill/infrahub --skill opsmill-dev-analyzing-bugs -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install opsmill/infrahub opsmill-dev-analyzing-bugs --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/opsmill/infrahub.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/opsmill-dev-analyzing-bugs .opencode/skills/opsmill-dev-analyzing-bugs && 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 "opsmill-dev-analyzing-bugs" agent skill from https://github.com/opsmill/infrahub/tree/stable/.agents/skills/opsmill-dev-analyzing-bugs into .opencode/skills/opsmill-dev-analyzing-bugs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "opsmill-dev-analyzing-bugs", 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.
opsmill-dev-analyzing-bugsPerforms root-cause analysis of a bug — from a GitHub issue, an issue URL, or a free-text description — before any reproduction or fix is written.
Opsmill Dev Analyzing Bugs is an agent skill from opsmill/infrahub. Performs root-cause analysis of a bug — from a GitHub issue, an issue URL, or a free-text description — before any reproduction or fix is written. TRIGGER when: triaging or diagnosing a bug, investigating why something misbehaves, an issue number/URL handed over for analysis, needing the root cause before touching code. DO NOT TRIGGER when: a failing reproduction test already exists and you are ready to fix → opsmill-dev-fixing-bugs; writing that reproduction test → opsmill-dev-test-driving-bugs; capturing a new…
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Works in any git repo; anchors discovery on the OpsMill dev/ layout with codebase fallback. gh is optional, used only for issue numbers/URLs.
It sits in Development, covering Root cause analysis. It works with GitHub and Bash. The repository describes itself as: Infrahub is a graph-based data management platform with built-in version control, CI workflows, peer review, and API access. It’s purpose-built to power reliable infrastructure… The licence is Apache-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit af1c6c8. 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:
gitghFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comFrom 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.
Works in any git repo; anchors discovery on the OpsMill `dev/` layout with codebase fallback. `gh` is optional, used only for issue numbers/URLs.
From compatibility in the SKILL.md frontmatter.
Opsmill Dev Analyzing Bugs loads about 2.3k tokens when it runs. Until then it costs about 148 tokens; SKILL.md has 889 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 opsmill/infrahub at commit af1c6c8, republished under its Apache-2.0 licence (© opsmill). 889 words, ~2,280 tokens.
.claude/skills/opsmill-dev-analyzing-bugs/SKILL.md (or your agent's skills folder).$ARGUMENTSYou are a senior engineer performing root cause analysis. You do NOT write fixes or tests.
Your output will be consumed by /opsmill-dev-test-driving-bugs and /opsmill-dev-fixing-bugs, so be structured and precise.
Read tool to read files -- do NOT use cat or head/tail in Bash.Glob tool to find files -- do NOT use find or ls -R in Bash.Grep tool to search file contents -- do NOT use grep or rg in Bash.gh CLI, and commands that require shell execution.cd); re-derive or
restate anything you need in a later snippet.Parse $ARGUMENTS to determine what you are analysing:
Issue number or URL (e.g. 4872 or https://github.com/org/repo/issues/4872): extract
the issue number. If gh is available, fetch the issue:
gh issue view <number>Free-text description: treat the text itself as the bug report.
Derive a key for this analysis (used to name the handoff file and downstream branch/PR):
<key> = <issue_number>-<short-slug>.<key> = <short-slug> only.The <short-slug> is a lowercase, hyphenated 2--5 word summary of the bug (e.g.
internal-groups-dropdown). Always include the slug so concurrent analyses never collide.
This <key> is invented here (the slug is free-form), so it is the canonical one for the
whole pipeline. You will persist it -- and the downstream branch name ai-bug-pipeline-<key> --
into the handoff file below, so /opsmill-dev-test-driving-bugs and /opsmill-dev-fixing-bugs read them instead of re-deriving a
slug that could drift (e.g. internal-groups-dropdown vs groups-dropdown-internal).
If $ARGUMENTS is empty or an issue cannot be fetched, inform the developer and STOP.
Anchor on the common OpsMill dev/ structure; fall back to exploration when it is absent.
None of these files are required.
| File | If present, use it for |
|---|---|
root AGENTS.md | Project map, working agreements, where code lives. |
dev/documentation-architecture.md | Mapping the bug to the relevant code package(s). |
dev/knowledge/ | Descriptive architecture — how the affected area actually works. |
dev/guidelines/ | Prescriptive rules for the affected area. |
Follow these sections in order.
Verify the report has enough information to work with:
| Required | Description |
|---|---|
| Clear problem statement | Can you understand what the bug actually is? |
| Reproduction path | Are there steps to reproduce, OR can you infer them from the description? |
| Expected vs actual | Is it clear what should happen vs what happens? |
Rate the clarity:
If the bug is UNCLEAR, inform the developer what information is missing and STOP.
Read root AGENTS.md and dev/documentation-architecture.md (if present) to determine which
code package(s) relate to the issue. Then:
Glob/Grep)
until you locate the affected area.Read the relevant source files in the affected area to understand the current behavior.
Identify the most likely root cause(s) -- point to specific files and lines.
Formulate a fix strategy. This is NOT the exact code -- it is the recommended approach:
Determine the repository's default branch and fetch its latest state, to record what the analysis is based on:
DEFAULT_BRANCH=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@')
# Fallback when origin/HEAD is unset (shallow/CI clones, manually-added remotes):
[ -z "$DEFAULT_BRANCH" ] && DEFAULT_BRANCH=$(git remote show origin 2>/dev/null | sed -n 's/.*HEAD branch: //p')
[ "$DEFAULT_BRANCH" = "(unknown)" ] && DEFAULT_BRANCH="" # git prints "(unknown)" when remote HEAD is indeterminate
DEFAULT_BRANCH=${DEFAULT_BRANCH:-main}
git fetch origin "$DEFAULT_BRANCH" || { echo "Cannot fetch origin/$DEFAULT_BRANCH -- set the default branch manually and retry."; exit 1; }
git rev-parse "origin/$DEFAULT_BRANCH"If that fetch fails, STOP and report it -- do not write the analysis without a baseline
commit (the exit 1 only fails the shell call; you must not continue to the next section).
Write the analysis to .bug-analysis-<key>.md in the repo root using the template below. This
file is a local working-tree artifact, not committed -- add .bug-analysis-*.md to the
repo's .gitignore if it is not already ignored, and never git add it.
Then display the full analysis to the developer in the conversation.
Replace all <placeholders>:
## Root cause analysis for <key>
**Key:** `<key>`
**Branch:** `ai-bug-pipeline-<key>`
**Issue:** <issue title or one-line restatement of the description>
**Based on:** `<commit SHA of origin/<default branch>>`
**Bug clarity:** CLEAR
**Code identification:** RESOLVED | EXPLORATION REQUIRED
### Root cause
<one-sentence summary>
### Affected files
- `path/to/file.ext` -- line X: <why this is the culprit>
### Explanation
<detailed reasoning>
## Fix strategy
**Approach:** <recommended fix approach -- explain WHAT to do and WHERE, not the exact code>
**Scope:** <which files/functions should need changes, and roughly how large the change should be>
**Do NOT:**
- <guardrail 1 -- common wrong approach to avoid>
- <guardrail 2 -- unnecessary refactoring to avoid>
## Notes for downstream steps
<edge cases, risks, or constraints the test-writer and fixer should know about>Per ../quality-gates/gates/gate-model.md. analyzing-bugs is Tier 0 (advisory output).
| Gate | Trigger | Tier | Primitives | Pass criteria | On-fail |
|---|---|---|---|---|---|
| Grounded-analysis | before writing the analysis file | T0 | P1 + self-review | Every root-cause claim cites a concrete file:line. | revise before writing |
| 🚩 Red flag | Do instead |
|---|---|
| Writing fix code (or a test) into the analysis | This step does analysis only — describe the fix strategy, not the patch; /opsmill-dev-test-driving-bugs and /opsmill-dev-fixing-bugs do the rest |
| Analysing an UNCLEAR bug or one with no findable root cause | STOP and tell the developer what's missing — a confident-sounding analysis of an unclear bug misleads both later steps |
| Re-deriving or guessing a slug later in the pipeline | Invent the <key> once here and persist it (and ai-bug-pipeline-<key>) in the handoff header so /opsmill-dev-test-driving-bugs / /opsmill-dev-fixing-bugs read it instead of drifting |
| Writing the analysis without a baseline commit | If the default-branch fetch fails, STOP — the **Based on:** SHA is what later steps reproduce against |
git add-ing the .bug-analysis-*.md file | It is a local working-tree artifact — never commit it |
© opsmill, Apache-2.0. 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/opsmill-dev-analyzing-bugs of opsmill/infrahub.
Open the folder on GitHubat commit af1c6c8
Opsmill Dev Analyzing Bugs 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 |
|---|---|---|---|---|---|---|
| Opsmill Dev Analyzing Bugs this skillopsmill/infrahub | 529 | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| OpenROAD Bug FixerThe-OpenROAD-Project/OpenROAD | 3.2k | — | ~784 | Automated safety check: Pass | BSD-3-Clause | |
| Octocode Code Researchbgauryy/octocode | 946 | — | ~1.5k | Automated safety check: Pass | MIT | |
| CI TriageMentra-Community/MentraOS | 2.4k | — | ~582 | Automated safety check: Pass | Apache-2.0 | |
| Triagebot Action Bug Triagewithastro/astro | 63k | — | ~639 | Automated safety check: Pass | Custom licence | |
| Stereopy Issue ResponderSTOmics/Stereopy | 293 | — | ~1.3k | Automated safety check: Pass | MIT |
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.
bgauryy/octocode
Researches code with evidence: traces callers, imports and cross-repo links, diagnoses failures and reports findings with exact file and line references and a confidence label.
Mentra-Community/MentraOS
Triage failing GitHub PR checks: list failures with gh, fetch capped Actions logs, skip non-Actions checks, and summarize root cause.
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.
STOmics/Stereopy
Generates professional maintainer-grade responses for Stereopy GitHub issues.
Shopify/shopify-app-js
Reviews pull requests for Shopify/shopify-app-js with comprehensive analysis including semver compliance (MAJOR/MINOR/PATCH classification), single responsibility validation, pattern consistency…
opsmill/infrahub
Analyzes recent CI failures on pull requests to identify flaky tests, using retry outcomes (failed attempt → green re-run) and cross-PR recurrence as evidence, and maintains a local longitudinal…
opsmill/infrahub
Audits internal (dev/) and external (docs/) documentation completeness for a feature, subject, or set of existing docs, maps changes indicated by the user, across Infrahub's documentation layers…
opsmill/infrahub
Stages and commits the current changes onto a safe working branch, enforcing branch discipline and optionally pushing upstream.
opsmill/infrahub
A skill your agent uses when you've fixed a bug, added a feature, or made any user-facing change in a project that uses Towncrier and need to record it for the changelog — before committing or…
opsmill/infrahub
Turns a single feature idea, improvement, or bug into ONE well-structured GitHub issue.
opsmill/infrahub
Synthesises the current conversation context into a Product Requirements Document and publishes it to GitHub (as a comment on a referenced issue, or a new issue).
Categories
Performs root-cause analysis of a bug — from a GitHub issue, an issue URL, or a free-text description — before any reproduction or fix is written. Opsmill Dev Analyzing Bugs is an agent skill from opsmill/infrahub. Performs root-cause analysis of a bug — from a GitHub issue, an issue URL, or a free-text description — before any reproduction or fix is written.
Opsmill Dev Analyzing Bugs fits situations like: diagnosing a bug; investigating why something misbehaves; an issue number/URL handed over for analysis; needing the root cause before touching code.
Run `npx skills add opsmill/infrahub --skill opsmill-dev-analyzing-bugs -a claude-code`. Or copy the skill folder (.agents/skills/opsmill-dev-analyzing-bugs in opsmill/infrahub) into .claude/skills/opsmill-dev-analyzing-bugs in your project. Claude Code loads it when a task matches its description.
Run `npx skills add opsmill/infrahub --skill opsmill-dev-analyzing-bugs -a codex`. Or copy the skill folder (.agents/skills/opsmill-dev-analyzing-bugs in opsmill/infrahub) into .agents/skills/opsmill-dev-analyzing-bugs 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 opsmill/infrahub --skill opsmill-dev-analyzing-bugs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/opsmill-dev-analyzing-bugs, .gemini/skills/opsmill-dev-analyzing-bugs, .github/skills/opsmill-dev-analyzing-bugs and .opencode/skills/opsmill-dev-analyzing-bugs in your project.
Going by SKILL.md and its folder, Opsmill Dev Analyzing Bugs needs the command-line tools its instructions call (git and gh). Compatibility (from SKILL.md): Works in any git repo; anchors discovery on the OpsMill `dev/` layout with codebase fallback. `gh` is optional, used only for issue numbers/URLs..
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. 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.
Opsmill Dev Analyzing Bugs is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.1k 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 Opsmill Dev Analyzing Bugs: OpenROAD Bug Fixer (The-OpenROAD-Project/OpenROAD, 3.2k stars), Octocode Code Research (bgauryy/octocode, 946 stars), CI Triage (Mentra-Community/MentraOS, 2.4k stars) and Triagebot Action Bug Triage (withastro/astro, 63k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
opsmill (a GitHub organization) maintains it in opsmill/infrahub, which has 529 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on October 7, 2026.
Source: opsmill/infrahub on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.