OpenLogi macOS Permissions Triage
AprilNEA/OpenLogi
Decides whether an OpenLogi device problem on macOS is a privacy-permission (TCC) problem, using agent log lines, and says which identity needs which grant.
Implements and validates the fix for a bug once a failing reproduction test exists.
$ npx skills add opsmill/infrahub --skill opsmill-dev-fixing-bugs -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install opsmill/infrahub opsmill-dev-fixing-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-fixing-bugs .claude/skills/opsmill-dev-fixing-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-fixing-bugs" agent skill from https://github.com/opsmill/infrahub/tree/stable/.agents/skills/opsmill-dev-fixing-bugs into .claude/skills/opsmill-dev-fixing-bugs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "opsmill-dev-fixing-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-fixing-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-fixing-bugs -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install opsmill/infrahub opsmill-dev-fixing-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-fixing-bugs .agents/skills/opsmill-dev-fixing-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-fixing-bugs" agent skill from https://github.com/opsmill/infrahub/tree/stable/.agents/skills/opsmill-dev-fixing-bugs into .agents/skills/opsmill-dev-fixing-bugs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "opsmill-dev-fixing-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-fixing-bugs -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install opsmill/infrahub opsmill-dev-fixing-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-fixing-bugs .cursor/skills/opsmill-dev-fixing-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-fixing-bugs" agent skill from https://github.com/opsmill/infrahub/tree/stable/.agents/skills/opsmill-dev-fixing-bugs into .cursor/skills/opsmill-dev-fixing-bugs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "opsmill-dev-fixing-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-fixing-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-fixing-bugs -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install opsmill/infrahub opsmill-dev-fixing-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-fixing-bugs .gemini/skills/opsmill-dev-fixing-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-fixing-bugs" agent skill from https://github.com/opsmill/infrahub/tree/stable/.agents/skills/opsmill-dev-fixing-bugs into .gemini/skills/opsmill-dev-fixing-bugs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "opsmill-dev-fixing-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-fixing-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-fixing-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-fixing-bugs .github/skills/opsmill-dev-fixing-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-fixing-bugs" agent skill from https://github.com/opsmill/infrahub/tree/stable/.agents/skills/opsmill-dev-fixing-bugs into .github/skills/opsmill-dev-fixing-bugs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "opsmill-dev-fixing-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-fixing-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-fixing-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-fixing-bugs .opencode/skills/opsmill-dev-fixing-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-fixing-bugs" agent skill from https://github.com/opsmill/infrahub/tree/stable/.agents/skills/opsmill-dev-fixing-bugs into .opencode/skills/opsmill-dev-fixing-bugs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "opsmill-dev-fixing-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-fixing-bugsImplements and validates the fix for a bug once a failing reproduction test exists.
Opsmill Dev Fixing Bugs is an agent skill from opsmill/infrahub. Implements and validates the fix for a bug once a failing reproduction test exists. TRIGGER when: a bug has a failing reproduction test and you are ready to make it pass, implementing the root-cause fix, the final step of the bug-fixing pipeline. DO NOT TRIGGER when: no reproduction test exists yet → opsmill-dev-test-driving-bugs; still diagnosing, or asked to fix a bug with no analysis or reproduction test yet → opsmill-dev-analyzing-bugs.
Its SKILL.md is about 3.4k 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; detects format/lint/test/changelog commands from the project rather than assuming a toolchain. gh and a GitHub remote are needed only…
It sits in Development, covering Root cause analysis and Debugging. It works with 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.
9 steps, taken from the step headings 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:
gituvghruffnpxprettiernpmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, uv, gh, npx and npm, 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.
Works in any git repo; detects format/lint/test/changelog commands from the project rather than assuming a toolchain. `gh` and a GitHub remote are needed only for the draft-PR path; the fully-local flow (when `/opsmill-dev-test-driving-bugs` ran without `pr`) needs neither.
From compatibility in the SKILL.md frontmatter.
Opsmill Dev Fixing Bugs loads about 3.4k tokens when it runs. Until then it costs about 117 tokens; SKILL.md has 1,844 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). 1,844 words, ~3,429 tokens.
.claude/skills/opsmill-dev-fixing-bugs/SKILL.md (or your agent's skills folder).$ARGUMENTSYou are a senior engineer implementing a bug fix. Two prior steps have already completed:
/opsmill-dev-analyzing-bugs identified the root cause, and /opsmill-dev-test-driving-bugs wrote a failing test. Your job is to
fix the root cause. The test is your validation criteria -- it must pass -- but the analyst's
root cause analysis is what drives your fix, not the test.
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) does not persist across separate Bash calls -- re-derive
shell values you reuse. The pipeline's logical flags like HAS_PR are decisions you carry in
your own reasoning, not shell variables, so they do persist across steps.Start from the analysis artifact, not a reconstructed slug. Discover it with Glob for
.bug-analysis-*.md in the repo root:
/opsmill-dev-analyzing-bugs <issue> first." and STOP.<key> best matches $ARGUMENTS; if still ambiguous,
list them and ask which to use.Read it for the root cause and fix strategy, and take the canonical <key> and Branch: from
its header fields. (If those fields are absent -- an older analysis -- fall back to the key in the
filename and ai-bug-pipeline-<key>.) Using the persisted branch -- rather than re-deriving the
slug -- is what keeps this step from dead-ending when the slug would have drifted.
Find the draft PR opened by /opsmill-dev-test-driving-bugs on that branch:
gh pr list --head "<branch>" --json number,title,body,headRefName --jq '.[0]'If a PR exists (/opsmill-dev-test-driving-bugs ran with pr), set HAS_PR=true and validate it:
AGENT_TEST_COMPLETE. If not, inform the developer:
"No AGENT_TEST_COMPLETE marker found. Run /opsmill-dev-test-driving-bugs first." and STOP.AGENT_FIX_COMPLETE. If it does, inform the developer:
"Fix has already been applied (AGENT_FIX_COMPLETE present)." and STOP.Bind <branch> once, here: set <branch> to the PR's headRefName. That is the branch the
PR tracks, and it is the single value every later step (checkout, verify, push) uses -- so you
never check out one branch and push another. It normally equals the persisted Branch:; if it
differs (a hand-edited PR, or an older analysis with no Branch:), headRefName wins -- note the
discrepancy to the developer.
git fetch origin
git checkout "<branch>" # <branch> is now the PR's headRefNameIf no PR exists, /opsmill-dev-test-driving-bugs was run without pr (fully local). Don't dead-end -- check
whether the branch itself exists:
git rev-parse --verify "<branch>" 2>/dev/null || git rev-parse --verify "origin/<branch>" 2>/dev/nullHAS_PR=false, check it out (git checkout "<branch>"), and read its
diff against the default branch to find the test commit. Proceed -- there is no marker to
validate in local mode./opsmill-dev-test-driving-bugs <issue> first." and STOP.Follow steps 1--9.
Read the analyst's fix strategy. This is your starting point: follow the recommended approach, scope, and "Do NOT" guardrails. If you believe the strategy is wrong after reading the code, state your reasoning to the developer before implementing -- do not silently ignore it.
Read the failing test in the PR diff. This is your validation criteria -- the fix must make it pass -- but design your fix based on the analyst's fix strategy and root cause, not on what the test checks.
Before writing any code, reason explicitly about the fix and state it to the developer:
git add path/to/file) -- never git add . or git add -A.Run the specific test the test-writer wrote, using the same runner they used (the PR body / test file tells you which).
git diff shows no changes to the test file(s) from the
test-writer's PR. If you accidentally modified a test file, revert those changes.Gate (T2-verify · P1): paste the actual test-run output proving PASS. Do not write "the test passes" without it. See
../quality-gates/gates/primitives/evidence-before-done.md.
Run the project's pre-CI checks before pushing. Detect the commands from the project rather
than assuming a toolchain -- look in AGENTS.md, a Makefile/invoke/tasks file,
pyproject.toml, or package.json scripts. Apply them in this order, fixing and committing
issues as separate commits (do NOT amend previous commits):
uv run invoke format, ruff format, npx biome check --write .,
prettier --write). If formatting changed source files, re-run the later phases.ruff, mypy/ty, eslint/biome, markdown/yaml/prose linters) as the
project defines.uv run invoke backend.test-unit,
npm run test). Run the broader suite the project expects for a change of this size.Stage any files changed by generation by name -- never git add . / git add -A.
Changelog: if the project has a changelog mechanism, add an entry for this fix:
[tool.towncrier] config or a changelog.d/newsfragments dir): create a
fragment named after the issue, e.g.
uv run towncrier create -c "<user-facing description>" <issue_number>.fixed.md. When there is
no issue number (free-text bug), towncrier has no number to anchor on -- use its issue-less
form with a + prefix, e.g. +<key>.fixed.md (in the free-text case <key> is the slug, with
no issue prefix).dev/guidelines/changelog.md describing another process: follow it.CHANGELOG.md: add a line under the appropriate section.Write changelog text from the user's perspective, past tense, one sentence, no jargon. Commit the generated/edited file. If the project has no changelog mechanism, skip this and note it.
Gate (T2-verify · P1): paste the output of each pre-CI command (format, regenerate, lint, unit). A claim of "clean" without output fails the gate.
If the fix requires changes to more than ~10 files, or fundamentally alters a public API contract, STOP and escalate (see below).
If HAS_PR=true: push your fix commits to the PR branch before touching the PR body. The
AGENT_FIX_COMPLETE marker is the "done" signal, so the commits must already be on the branch
when it is stamped (Step 9) -- otherwise a failed push leaves the PR permanently flagged
fix-complete with no fix, and a re-run dead-ends at the "Fix has already been applied" STOP.
git push -u origin "<branch>"<branch> is the value bound during setup (the PR's headRefName) -- the same branch you checked
out, so the push always lands on the branch the PR tracks.
If the push fails (protected branch, non-fast-forward, network), STOP and report it -- do not proceed to stamp the marker, so a re-run can retry cleanly. Otherwise continue to Step 9.
If HAS_PR=false (local mode): do NOT push. Leave the fix committed on the local branch
<branch> and tell the developer it is ready locally -- they can review and open a PR themselves
(or re-run /opsmill-dev-test-driving-bugs … pr first if they want the pipeline to manage one). You are done -- skip
Step 9.
HAS_PR=true)Ship gate (T2 · P2 + P3) — run before any PR edit or marker stamp. Run the ship gate per
../quality-gates/gates/primitives/independent-judge.md(judge → on-FAIL STOP → R2 degrade → write receipt on PASS, all defined there). R1 criteria: the.bug-analysis-<key>.mdfile verbatim (the root cause + fix strategy — NOT your summary). Artifact:git diff <default-branch>...HEAD. Forbidden evasions: the test-gate and fix-gate evasions from../quality-gates/gates/primitives/anti-gaming.md.
With the commits already pushed, finalize the PR last:
fix: <short description> (closes #<issue number>) (omit the
closes clause if there is no issue)..github/pull_request_template.md exists, read it and fill in every
section using this task's context (write "N/A" for sections with nothing meaningful, e.g.
Screenshots -- do not skip or invent). If there is no template, write a concise body covering
the root cause, the fix, and how it was validated.<!-- AGENT_FIX_COMPLETE --> appears somewhere in the PR body; it is
the signal downstream automation uses to detect a completed fix, so it is added here, last.gh pr edit to apply the title and body.If at any point you determine that:
then inform the developer explaining your findings and STOP. Do not stamp
AGENT_FIX_COMPLETE (Step 9): an unstamped PR -- even if fix commits were already pushed in
Step 8 -- correctly signals the fix is incomplete, and the developer can take it from there.
Gates for this skill follow ../quality-gates/gates/gate-model.md. fixing-bugs is Tier 2 — it
ships a fix and stamps a completion marker.
| Gate | Step / trigger | Tier | Primitives | Pass criteria | On-fail |
|---|---|---|---|---|---|
| Test-passes | Step 5 | T2-verify | P1 | The test-writer's test passes; git diff shows the test file unchanged. Paste the test run. | STOP; revisit fix |
| Pre-CI | Step 6 | T2-verify | P1 | Format/lint/unit all clean. Paste each command's output. | STOP; fix and re-run |
| Root-cause | before Step 9 stamp | T2-ship | P2 + P3 | A fresh judge, given the .bug-analysis-<key>.md verbatim (R1) and git diff <base>...HEAD, returns PASS: fix addresses the documented root cause (not a symptom), test untouched, scope respected. | STOP; do NOT stamp AGENT_FIX_COMPLETE; fix and re-judge |
| 🚩 Red flag | Do instead |
|---|---|
| Designing the fix from what the test checks | The analyst's root cause drives the fix; the test is only the validation gate |
| Editing the test file to make it pass | Never touch the test-writer's test — fix the production code |
| Papering over a design flaw with a guard clause | If the root cause is structural, fix it properly even if that means a larger change |
| Refactoring code unrelated to the root cause | Keep the change scoped; escalate if it must exceed ~10 files or change a public API |
git add . / git add -A | Stage changed files by name |
Stamping AGENT_FIX_COMPLETE before the push lands | In PR mode, push in Step 8 before stamping; the marker is the "done" signal, written last in Step 9 |
© 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-fixing-bugs of opsmill/infrahub.
Open the folder on GitHubat commit af1c6c8
Opsmill Dev Fixing 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 Fixing Bugs this skillopsmill/infrahub | 529 | — | ~3.4k | Automated safety check: Pass | Apache-2.0 | |
| OpenLogi macOS Permissions TriageAprilNEA/OpenLogi | 23k | — | ~2.5k | Automated safety check: Notes | Apache-2.0 | |
| Bug Finder for daisyUIsaadeghi/daisyui | 43k | — | ~2.3k | Automated safety check: Pass | MIT | |
| Root Cause Debugginggarrytan/gstack | 136k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Graph-Based Bug Tracingtirth8205/code-review-graph | 32k | 1 repos | ~287 | Automated safety check: Pass | MIT | |
| Systematic DebuggingChrisWiles/claude-code-showcase | 6.1k | 3 repos | ~1.2k | Automated safety check: Pass | None |
AprilNEA/OpenLogi
Decides whether an OpenLogi device problem on macOS is a privacy-permission (TCC) problem, using agent log lines, and says which identity needs which grant.
saadeghi/daisyui
Investigates suspected bugs in the daisyUI monorepo through read-only analysis, then writes a decision-ready fix plan in tmp/bugs without changing any product code.
garrytan/gstack
Investigates bugs, errors and stack traces in phases and requires a root-cause hypothesis to be confirmed before any fix is written.
tirth8205/code-review-graph
Traces a bug through a code knowledge graph, following callers, callees and execution flow before opening source files, within a small token budget.
ChrisWiles/claude-code-showcase
Applies a four-phase debugging routine that finds the root cause of a bug or failing test before any fix is written.
addyosmani/agent-skills
Applies a stop-the-line rule and a step-by-step triage when tests fail, builds break or something stops working, aiming at the root cause instead of guesses.
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).
Works with
Categories
Implements and validates the fix for a bug once a failing reproduction test exists. Opsmill Dev Fixing Bugs is an agent skill from opsmill/infrahub. Implements and validates the fix for a bug once a failing reproduction test exists.
Opsmill Dev Fixing Bugs fits situations like: : a bug has a failing reproduction test and you are ready to make it pass; implementing the root-cause fix; the final step of the bug-fixing pipeline; : no reproduction test exists yet → opsmill-dev-test-driving-bugs.
Run `npx skills add opsmill/infrahub --skill opsmill-dev-fixing-bugs -a claude-code`. Or copy the skill folder (.agents/skills/opsmill-dev-fixing-bugs in opsmill/infrahub) into .claude/skills/opsmill-dev-fixing-bugs in your project. Claude Code loads it when a task matches its description.
Run `npx skills add opsmill/infrahub --skill opsmill-dev-fixing-bugs -a codex`. Or copy the skill folder (.agents/skills/opsmill-dev-fixing-bugs in opsmill/infrahub) into .agents/skills/opsmill-dev-fixing-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-fixing-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-fixing-bugs, .gemini/skills/opsmill-dev-fixing-bugs, .github/skills/opsmill-dev-fixing-bugs and .opencode/skills/opsmill-dev-fixing-bugs in your project.
Going by SKILL.md and its folder, Opsmill Dev Fixing Bugs needs the command-line tools its instructions call (git, uv, gh, ruff, npx and prettier). Our summary lists: Node.js. Compatibility (from SKILL.md): Works in any git repo; detects format/lint/test/changelog commands from the project rather than assuming a toolchain. `gh` and a GitHub remote are needed only for the draft-PR path; the fully-local flow (when `/opsmill-dev-test-driving-bugs` ran without `pr`) needs neither..
SKILL.md contains no URLs. Its commands use git, uv, gh, npx and npm, 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.
Opsmill Dev Fixing 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 3.4k tokens (SKILL.md is roughly 14k 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 Fixing Bugs: OpenLogi macOS Permissions Triage (AprilNEA/OpenLogi, 23k stars), Bug Finder for daisyUI (saadeghi/daisyui, 43k stars), Root Cause Debugging (garrytan/gstack, 136k stars) and Graph-Based Bug Tracing (tirth8205/code-review-graph, 32k 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.