report-bug

A workflow for reporting defects in the code-review tool or its add-ons as anonymized GitHub issues. It requires the user's explicit approval before sending a report.

In plain words
What is it for?
Use it when a reviewer tool breaks its stated contract, an instruction cannot be carried out, or a documented rule fails repeatedly and the problem belongs to the tooling.
Why use it?
It separates failures in the review tooling from bugs in the user's own project. It also passes observations to an anonymizer so sensitive repository details are not manually copied into the report.

Skill for Claude CodeCodex

Part of the rag-reviewer plugin — 14 skills, 2 hooks shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/mimfort/rag_for_git/report-bug
Any agent
npx skills add mimfort/rag_for_git --skill report-bug
Clone the repo
git clone --depth 1 https://github.com/mimfort/rag_for_git

Made for: Claude Code, Codex.

Or install rag-reviewer, the plugin that ships this one along with the rest of its 14 skills, 2 hooks.

Per session 65 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,050 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00065 $0.01050
Opus 5 $0.00032 $0.00525
Sonnet 5 $0.00013 $0.00210
Haiku 4.5 $0.00006 $0.00105

Measured 3d ago against content hash f3644b1595a3, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

report-bug scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugin/skills/report-bug/SKILL.md · 64 lines

How it starts

The opening of the file, as written. The whole thing — 64 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Report Bug

Reply in Russian. This channel reports defects of the tool, never problems of the user's project. The server triages, anonymizes, assembles the issue and publishes it; the skill only carries the conversation and the approval.

The plugin runs on commercial codebases. Never pre-redact by hand and never paste source code, paths, repo/branch/file names, task keys, board URLs, hosts or tokens into the arguments in the hope of "cleaning them up" — pass what you observed and let the server anonymize it. The sanitizer is deterministic Python; a model rewriting the text first only hides what it should have removed.

  1. Decide whether it is ours. Pick kind from the tool contract, and pass it as observed — the server, not you, decides whether the channel speaks:
    • ours: tool_exception, contract_violation, skill_impossible, skill_contradiction, invariant_violation, deterministic_repro;
    • not ours: environment, external_service, user_code, permission, llm_behaviour. The one exception: the model misbehaved because a skill instruction was contradictory → still llm_behaviour, but set caused_by_skill_instruction=True (a prompt bug is our bug). A not_reported status is a normal outcome — report nothing to the user beyond a brief note.
  2. Pick severity. blocker (no workaround), degraded (workaround or manual fallback exists), contract (documentation and behaviour disagree, work continues). Offer blocker and degraded immediately; the server marks contract with defer=true — collect those and offer them as one batch at the end of the session.
  3. Preview (never skip). Call
    report_bug(kind=<kind>, summary=…, expected=…, actual=…, steps=[…], severity=<level>,
               tool=<mcp tool name>, skill_step=<skill and step>, error_class=<exception class>,
               details=…, repo=<owner/name>, branch=<branch>,
               client_environment={"orchestrator_model": …, "subagent_models": …,
                                   "mode": "subagent|inline", "cli": …, "cli_version": …},
               scale={"clusters": N, "files": N, "findings": N, "tasks": N},
               index_drift=<int or null>)
    
    without confirmed. Nothing is published. Handle the status: disabled — the channel is off for this repo or deploy, say so and stop; not_reported / suppressed — stop quietly.
  4. Show and ask. Show the returned issue_text in full, verbatim — no summary, no abridgement — plus the target repository, the environment_keys list, and the identity_notice: the issue is published from the user's GitHub account and their username will be visible in a public repository; the alternative is to decline and open the issue by hand from the prepared markdown. Offer to trim the Environment block: any lines, or the whole block. Then ask for an explicit yes.
  5. Publish only on an explicit yes. Repeat the same call with confirmed=True and, if the user trimmed anything, environment_exclude=[…] (or environment_include=[…]). In a headless, cron or background run there is no human to approve: pass non_interactive=True, which makes the server return a fallback markdown instead of publishing. Never publish autonomously in any mode.
    • published — report the issue URL.
    • commented — a matching open issue existed; report that a comment was added and give both URLs.
    • fallback — publication was not possible (no token, no rights, no network, headless): relay the reason, show the markdown and the fallback_url so the user can post it by hand. This is not a session failure — continue the work that was interrupted.
  6. On a refusal call report_bug(kind=…, summary=…, decline=True) with the same arguments, so the same symptom is not offered again in this session.

Every read is fail-open, and the confirmed=True call is the only write. If the channel itself fails, say so in one line and carry on with the original task.

Read the full file on GitHub · 64 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 64 lines · 65 tokens per session scan A f3644b1595a3

Subscribe to this mod's changes

report-bug is a skill published in the GitHub repository mimfort/rag_for_git (21 stars, last pushed 3d ago), licensed MIT. It adds 65 tokens to every session and 1,050 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

graft

This repo is indexed by graft/. For ANY task here, whether understanding how something works, finding where code lives, tracing what calls a symbol or what a change breaks, or scoping an edit, get your context from graft before grepping or reading source files.

trailhq/Graft · 56 tokens

roam

Codebase comprehension via roam-code CLI. Use when exploring codebases, planning modifications, debugging failures, assessing PR risk, or checking architecture health. Triggers on: understanding project structure, pre-change safety checks, finding symbols/files, blast radius analysis, affected tests, health scoring…

Cranot/roam-code · 86 tokens

code-graph

This skill should be used when understanding code structure, finding dependencies between functions/classes, tracing call graphs, or exploring code relationships. Trigger phrases include 'code graph', 'call graph', 'who calls', 'what calls', 'find dependencies', 'code structure', 'inheritance', 'find paths'.

FalkorDB/code-graph · 64 tokens

agentmap

Use for TypeScript/JavaScript codebase navigation — symbol lookup, blast radius, reuse checks, and repo orientation. Prefer agentmap before serial grep when exploring imports, exports, or where a symbol lives. Package is @raymondchins/agentmap (not the unrelated npm package agentmap).

raymondchins/agentmap · 64 tokens

m1nd-operator

Use when the user mentions m1nd or when repo investigation, search, review, docs/spec work, or risky change prep should go through m1nd first before grep, glob, or manual file reads. Covers m1nd-first routing, L1GHT and universal document ingestion, risky edit preparation, document-to-code binding, the served owner +…

maxkle1nz/m1nd · 111 tokens

m1nd-first

Use when investigating a repository, searching for implementation, reviewing changes, working from specs/docs, or preparing a risky code change in an environment where m1nd is available. This doctrine makes m1nd the first investigative layer before grep, glob, or manual file reads, except when the task is pure…

maxkle1nz/m1nd · 78 tokens