Code Design Rationale Investigator
cursor/plugins
Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.
Find the root cause, implement a focused fix, and prove behavior with targeted tests and recordings.
$ npx skills add omnigent-ai/omnigent --skill resolve-author-fix -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install omnigent-ai/omnigent resolve-author-fix --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/omnigent-ai/omnigent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/dev/resolve-agent/skills/resolve-author-fix .claude/skills/resolve-author-fix && 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 "resolve-author-fix" agent skill from https://github.com/omnigent-ai/omnigent/tree/main/dev/resolve-agent/skills/resolve-author-fix into .claude/skills/resolve-author-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resolve-author-fix", 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/omnigent-ai/omnigent/tree/main/dev/resolve-agent/skills/resolve-author-fixType 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 omnigent-ai/omnigent --skill resolve-author-fix -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install omnigent-ai/omnigent resolve-author-fix --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/omnigent-ai/omnigent.git skills-src && mkdir -p .agents/skills && cp -r skills-src/dev/resolve-agent/skills/resolve-author-fix .agents/skills/resolve-author-fix && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "resolve-author-fix" agent skill from https://github.com/omnigent-ai/omnigent/tree/main/dev/resolve-agent/skills/resolve-author-fix into .agents/skills/resolve-author-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resolve-author-fix", 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 omnigent-ai/omnigent --skill resolve-author-fix -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install omnigent-ai/omnigent resolve-author-fix --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/omnigent-ai/omnigent.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/dev/resolve-agent/skills/resolve-author-fix .cursor/skills/resolve-author-fix && 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 "resolve-author-fix" agent skill from https://github.com/omnigent-ai/omnigent/tree/main/dev/resolve-agent/skills/resolve-author-fix into .cursor/skills/resolve-author-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resolve-author-fix", 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/omnigent-ai/omnigent.git --path dev/resolve-agent/skills/resolve-author-fix--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 omnigent-ai/omnigent --skill resolve-author-fix -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install omnigent-ai/omnigent resolve-author-fix --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/omnigent-ai/omnigent.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/dev/resolve-agent/skills/resolve-author-fix .gemini/skills/resolve-author-fix && 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 "resolve-author-fix" agent skill from https://github.com/omnigent-ai/omnigent/tree/main/dev/resolve-agent/skills/resolve-author-fix into .gemini/skills/resolve-author-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resolve-author-fix", 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 omnigent-ai/omnigent resolve-author-fixInstalls 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 omnigent-ai/omnigent --skill resolve-author-fix -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/omnigent-ai/omnigent.git skills-src && mkdir -p .github/skills && cp -r skills-src/dev/resolve-agent/skills/resolve-author-fix .github/skills/resolve-author-fix && 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 "resolve-author-fix" agent skill from https://github.com/omnigent-ai/omnigent/tree/main/dev/resolve-agent/skills/resolve-author-fix into .github/skills/resolve-author-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resolve-author-fix", 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 omnigent-ai/omnigent --skill resolve-author-fix -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install omnigent-ai/omnigent resolve-author-fix --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/omnigent-ai/omnigent.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/dev/resolve-agent/skills/resolve-author-fix .opencode/skills/resolve-author-fix && 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 "resolve-author-fix" agent skill from https://github.com/omnigent-ai/omnigent/tree/main/dev/resolve-agent/skills/resolve-author-fix into .opencode/skills/resolve-author-fix/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resolve-author-fix", 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.
resolve-author-fixFind the root cause, implement a focused fix, and prove behavior with targeted tests and recordings.
Resolve Author Fix is an agent skill from omnigent-ai/omnigent. Find the root cause, implement a focused fix, and prove behavior with targeted tests and recordings.
Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Root cause analysis. The repository describes itself as: Omnigent is an open-source AI agent framework and meta-harness: orchestrate Claude Code, Codex, Cursor, Pi, and custom agents — swap harnesses without rewriting, enforce policies… The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 2e1cd15. 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:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, 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.
Resolve Author Fix loads about 3.3k tokens when it runs. Until then it costs about 30 tokens; SKILL.md has 1,944 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 omnigent-ai/omnigent at commit 2e1cd15, republished under its Apache-2.0 licence (© omnigent-ai). 1,944 words, ~3,255 tokens.
.claude/skills/resolve-author-fix/SKILL.md (or your agent's skills folder).No candidate PR exists, so you fix it yourself. Steps 2B.1–2B.5 below are the full author flow; then open a PR in Step 3.
Complete the shared repro audit before changing product code. Reuse its recorded behavioral baseline rather than trusting the recovered verdict or rerunning an unchanged audit. If the test, base, or relevant environment changes, repeat the audit. Ticket-only mode instead establishes its targeted fail→pass proof in 2B.4. The failure-quality checks below elaborate the shared requirement; they do not replace patch inspection or excuse the review path from the same audit.
It must fail because the buggy behavior is observed — a wrong value, an error toast, a traceback, a bad HTTP response, a missing/incorrect UI affordance.
It must not fail merely because it references something that does not exist
yet — an AttributeError/ImportError on a symbol the fix would add, an
element-not-found for UI the fix would introduce, a 404 on a route the fix would
register. That is an existence-check, not a reproduction: it would go green
the moment the symbol exists, regardless of whether the behavior is correct. If
the test fails that way:
test_audit) so a reviewer knows the
original repro test was an existence-check and you corrected it.If the test PASSES on the unfixed tree, it may be stale or unreliable; do not
assume main has fixed the bug. A recovered verdict is a statement
about main AT REPRO TIME, not now. Verify the way repro-agent would: re-drive
enough of the journey to confirm the behavior is genuinely correct on the
current tree, and hunt for the fixing commit (git log on the code the
evidence points at). When it is really fixed, do not manufacture work: stop
with outcome nothing_to_fix, name the fixing commit in root_cause, and
recommend closing the ticket in your prose summary. If the test passes but the
journey still misbehaves, the test was too loose — treat it like the
existence-check case above: rewrite it until it fails on the real, still-live
behavior, and flag the rewrite in test_audit.
For a compound bug, do this for every facet whose verdict is reproduced.
Facets already already_fixed need no transition (note them skipped). Record, per
live facet, the exact fail reason — the "from" half of your fail→pass proof.
Apply resolve-investigate: match the reported path and configuration, check
competing explanations, and find the historical rationale. State the supported
cause before editing. If policy must change, distinguish that proposal from
repairing an implementation defect and retain unresolved choices for PR review.
Fix the root cause, not the symptom. Change the code the bug lives in, matching surrounding conventions, as small as the root cause allows. Do not touch the test to make it pass; the code must change to satisfy it.
Choose which tests belong in the final PR. Search existing tests by behavior and fixture, and read the nearest scenarios. If one already drives the relevant setup and state transition, fold the missing assertions into it; parameterize configuration variants when useful. Apply this to recovered Repro tests too: archive the original, then consolidate its regression assertions into the existing scenario. Keep a separate test when a distinct ordering or boundary would make that extension misleading. Keep investigation history in evidence and test comments short. Reuse unchanged coverage when sufficient; there is no requirement for a new test file or both a new e2e and a smaller test.
When existing coverage is insufficient, start with an edit to the nearest
compatible scenario: preserve its existing assertions and add the regression
input, seed records, or missing assertion. Leave sufficient coverage unchanged.
Needing richer data does not make its journey incompatible. Keep a separate
scenario only for a concrete ordering, lifecycle, or isolation conflict; name
that conflict and the nearest existing test in test_audit. Before final
verification, compare the setups and consolidate any compatible duplication.
Moving a reproduction into an existing file is not consolidation.
Each reported facet needs reliable coverage, not coverage at every layer. Keep the input and edge-case matrix at the lowest reliable layer. At a higher layer, use a representative regression input for each distinct boundary the lower tests cannot expose; do not replay the whole matrix there. A new helper does not automatically need direct unit tests when its real callers already exercise its contract. Retain a helper test only for behavior those caller checks miss. For every added layer, briefly identify the regression that would escape the other selected checks if that layer were omitted.
Retain an e2e when it protects a distinct production boundary that lower-level
coverage would miss, and explain that boundary briefly in test_audit. Do not
mock away the failure, skip configurations, or supply already-correct objects
in place of testing serialization, startup, process, or browser wiring.
For documentation/instruction-only changes, existing contract/bundle checks
may suffice; do not add a standalone module of sentence assertions or fabricate
a behavioral failure.
Preserve investigation-only reproduction source and logs before omitting a
test introduced for this task from the final diff. Do not delete existing
repository coverage just to reduce LOC. Stage evidence in
.omnigent/repro-evidence/ with original paths, commands, exact tested revision,
and results, or cite an intact CI repro baseline/bundle. This worktree-local
directory alone does not survive worktree deletion. Record the retrieval
location and retention status in test_audit:
repro-evidence/ inside the GitHub Actions artifact resolve-bundle-<run-id>.
This includes ticket-only and skip_push runs; it needs no upstream Repro
bundle. Record the workflow run URL, artifact name, and path within it. The
workflow uploads after the session, so mark that upload pending until it is
confirmed; a staged directory is not proof of a successful upload. Retrieval
is subject to the artifact's retention period.skip_push mode keep this local; do not publish evidence as a workaround.
If no such destination is available, preserve the worktree and report the
unresolved retention requirement instead of claiming a durable archive.Keep this archive separate from the permanent tests. On retries, preserve the selection and retained evidence instead of reinstating the omitted source.
test_omni_2812_*.py, no OMNI-2812/#4458 in symbol names
or comments). Prefer the observable defect: e.g.
test_mid_stream_error_surfaces_as_abort.py, not test_omni_2812_*. This
applies to a reproduction test introduced by this task too — if its
test_path has a ticket-numbered name or ticket references in code,
rename it and strip the references as part of the fix. A reader six months
from now shouldn't need to chase a ticket to know what the test guards.
The bug link belongs in the PR body (Step 3.4), not in code. Reusing a
pre-existing test does not require an unrelated rename or comment cleanup.Run the selected permanent checks on the exact committed candidate, including unchanged tests; they do not need a new commit to qualify. Record fail→pass proof with the same assertions for the live behavioral bug, plus the required preservation checks. Keep the audited reproduction evidence even when its source is artifact-only; CI may also rerun the archived original independently. Complete the shared impact assessment for the final diff:
skip/xfail, or narrowing the test to dodge the bug.Prove new tests are hermetic — re-run them in a hostile environment. A test
that passes only because the machine happens to be clean is flaky, not green, and
an LLM review is the wrong tool to catch it — running it is. For any test you
added or edited that asserts an environment-derived value is absent, None, or
at its default (e.g. a config/host/token/endpoint reported as unset), re-run it
once with the relevant ambient variables exported and confirm it still passes.
Set whichever variables the code-under-test reads — and their sibling names — to
non-empty values on the test command, e.g. VAR=x SIBLING=x <your test command>.
If the test flips under them, its fixture doesn't isolate the environment — fix
the fixture to clear every relevant var (not just the one you first thought
of), then re-run both clean and hostile. This is a required check whenever the
diff touches env-derived defaults; note it in the handoff (hermetic_check).
If any live facet can't be made to pass with a real fix, say so honestly rather than shipping a hollow green.
Record the result after the fix. Use the recovered reproduction test and
journey to prepare the recording, even if the earlier run left no video.
See dev/recording-lanes.md for setup and recording
steps, including OMNIGENT_E2E_RECORD_DIR (--video on does not work here).
omnigent host with an
expired login and capture the corrected error message.recordings/<slug>/after-<facet>.<ext> with
kind: "after", and include it in the PR Demo section and handoff.recordings: [] and describe the before/after result
in your evidence and the PR Demo section.recordings: [] and name the specific blocker in
recording_unavailable_reason. Do not block the fix or PR because footage is
missing or rejected; explain the gap and continue. Only report clips you
actually produced.Build the SPA before starting the recorder. If you are inside a server-spawned
runner (OMNIGENT_RUNNER_ID is set), strip the inherited runner/host variables
as described in dev/recording-lanes.md. If the recorder reports online: false,
retry with those variables removed before reporting an environment blocker.
© omnigent-ai, 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 dev/resolve-agent/skills/resolve-author-fix of omnigent-ai/omnigent.
Open the folder on GitHubat commit 2e1cd15
Resolve Author Fix 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 |
|---|---|---|---|---|---|---|
| Resolve Author Fix this skillomnigent-ai/omnigent | 11k | — | ~3.3k | Automated safety check: Pass | Apache-2.0 | |
| Code Design Rationale Investigatorcursor/plugins | 10k | 9 repos | ~2.6k | Automated safety check: Pass | None | |
| 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 | |
| Review PRapache/shardingsphere | 21k | — | ~6.4k | Automated safety check: Pass | Apache-2.0 |
cursor/plugins
Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.
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.
apache/shardingsphere
Review Apache ShardingSphere or user-authorized downstream pull requests and PR discussions from public or authorized repository evidence.
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.
omnigent-ai/omnigent
Brings up the Omnigent server and Postgres as a Docker compose stack on any Docker host, and covers the Dockerfile's runtime and host build targets for extending it to a new platform.
omnigent-ai/omnigent
Scans Python agent code for framework imports and recommends the matching Omnigent executor type, or says when the framework is not natively supported yet.
omnigent-ai/omnigent
Runs the Omnigent load test with real hosts and multi-turn sessions against a mocked LLM, then explains the latency results from summary.md.
omnigent-ai/omnigent
Spins up an isolated Omnigent server, runner and mock model to prove a user-facing behavior or bug fix with recorded evidence instead of reasoning from code.
omnigent-ai/omnigent
Spins up a local Omnigent server and exercises the Antigravity (Gemini) SDK harness end to end: building agents, running real turns, smoke tests and bug-bashing.
omnigent-ai/omnigent
Gives patterns for generating a minimal, valid Omnigent agent directory: the config.yaml fields, the right executor type, and the files each agent needs.
Categories
Find the root cause, implement a focused fix, and prove behavior with targeted tests and recordings. Resolve Author Fix is an agent skill from omnigent-ai/omnigent. Find the root cause, implement a focused fix, and prove behavior with targeted tests and recordings.
Resolve Author Fix fits situations like: tasks that involve Root cause analysis.
Run `npx skills add omnigent-ai/omnigent --skill resolve-author-fix -a claude-code`. Or copy the skill folder (dev/resolve-agent/skills/resolve-author-fix in omnigent-ai/omnigent) into .claude/skills/resolve-author-fix in your project. Claude Code loads it when a task matches its description.
Run `npx skills add omnigent-ai/omnigent --skill resolve-author-fix -a codex`. Or copy the skill folder (dev/resolve-agent/skills/resolve-author-fix in omnigent-ai/omnigent) into .agents/skills/resolve-author-fix 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 omnigent-ai/omnigent --skill resolve-author-fix -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/resolve-author-fix, .gemini/skills/resolve-author-fix, .github/skills/resolve-author-fix and .opencode/skills/resolve-author-fix in your project.
Going by SKILL.md and its folder, Resolve Author Fix needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, 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.
Resolve Author Fix 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.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 Resolve Author Fix: Code Design Rationale Investigator (cursor/plugins, 10k stars), OpenLogi macOS Permissions Triage (AprilNEA/OpenLogi, 23k stars), Bug Finder for daisyUI (saadeghi/daisyui, 43k stars) and Root Cause Debugging (garrytan/gstack, 136k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
omnigent-ai (a GitHub organization) maintains it in omnigent-ai/omnigent, which has 10,691 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 9, 2026.
Source: omnigent-ai/omnigent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.