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.
npx agentmods add skills/mimfort/rag_for_git/report-bugnpx skills add mimfort/rag_for_git --skill report-buggit clone --depth 1 https://github.com/mimfort/rag_for_gitWhat 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.
| Model | Per session | Once 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 |
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.
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.
- Decide whether it is ours. Pick
kindfrom 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 → stillllm_behaviour, but setcaused_by_skill_instruction=True(a prompt bug is our bug). Anot_reportedstatus is a normal outcome — report nothing to the user beyond a brief note.
- ours:
- Pick severity.
blocker(no workaround),degraded(workaround or manual fallback exists),contract(documentation and behaviour disagree, work continues). Offerblockeranddegradedimmediately; the server markscontractwithdefer=true— collect those and offer them as one batch at the end of the session. - Preview (never skip). Call
withoutreport_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>)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. - Show and ask. Show the returned
issue_textin full, verbatim — no summary, no abridgement — plus the target repository, theenvironment_keyslist, and theidentity_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. - Publish only on an explicit yes. Repeat the same call with
confirmed=Trueand, if the user trimmed anything,environment_exclude=[…](orenvironment_include=[…]). In a headless, cron or background run there is no human to approve: passnon_interactive=True, which makes the server return afallbackmarkdown 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 thefallback_urlso the user can post it by hand. This is not a session failure — continue the work that was interrupted.
- 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.
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.
- 3d ago First seen · 64 lines · 65 tokens per session scan A f3644b1595a3
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.
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.
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…
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'.
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).
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 +…
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…