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 skills add vanducng/skills --skill miucrgit clone --depth 1 https://github.com/vanducng/skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/vanducng/skills/miucr)<a href="https://agentmods.dev/skills/vanducng/skills/miucr"><img src="https://agentmods.dev/badge/skills/vanducng/skills/miucr/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/vanducng/skills/miucr"><img src="https://agentmods.dev/badge/skills/vanducng/skills/miucr.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00152 | $0.16535 |
| Opus 5 | $0.00076 | $0.08267 |
| Sonnet 5 | $0.00030 | $0.03307 |
| Haiku 4.5 | $0.00015 | $0.01654 |
Grade C, and why
miucr scanned grade C with 2 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 5d 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.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
curl -fsSL https://cr.miu.sh/install.sh | sh # asset-aware latest Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -fsSL https://cr.miu.sh/install.sh | sh # asset-aware latest How it starts
The opening of the file, as written. The whole thing — 824 lines — stays where its author put it; the contents beside it link to each section on GitHub.
miucr: owned AI code-review CLI (v0.65.0)
miucr (the miu-cr project) is a fast, pure-Go (CGO_ENABLED=0) AI code reviewer.
It keeps the correctness-critical parts deterministic (file selection, context assembly,
line-anchoring, severity gating, dedupe) and uses the LLM only for judgment (finding bugs,
proposing fixes). It runs five review ways:
- Local review:
miucr reviewover a staged diff, a commit, or a ref range. - GitHub PR review:
miucr review --pr(dry-run by default;--postreacts 👀, upserts ONE summary issue comment, and posts inline comments as a PR review). - serve daemon: HMAC webhook (default) and/or opt-in poll trigger; optional REST API + GitHub App auth.
- MCP server:
miucr mcpexposesreview_run/review_getover stdio to any agent host. - Evaluation:
miucr evalcompares miu-cr and other reviewer commands against JSON expected findings.
Review behavior worth knowing (design choices that prevent noise):
- One upserted summary, posted first.
--postwrites ONE summary issue comment, edited in place on re-runs (never stacked), and acknowledges the PR with 👀. If no summary exists yet, it also creates a shortReview runningplaceholder before the LLM starts; on later commits it keeps the prior completed summary visible until the new result is ready. The final summary replaces that same comment and is posted BEFORE the inline review so it anchors on top (overview → details). Inline findings are a separate PR review.review_idis NOT shown in the comment (it only resolves on the local store; it stays in the JSON envelope). On a fatal review failure after miucr's internal retries,--postupserts that SAME summary comment with a visible GitHub alert instead of failing silently: operational/provider/infrastructure failures (agent.unavailable,provider.rate_limited,quota.exceeded,review.timeout,github.unavailable, etc.) render as[!WARNING], while unknowninternal.errorfailures render as[!CAUTION]; a later successful run replaces it with findings. - The summary is a per-finding lifecycle ledger, not just the latest run. Below a concise ≤5-bullet "What changed" summary, it renders two always-visible tracking tables - ⚠️ Open (N) and ✅ Resolved (N) - each finding tracked by its line-independent fingerprint across commits: a Priority column (P0-P4), status (
open/resolved/reopened), the origin commit it was first raised on and the resolved commit it disappeared on (both linked), priority before→after for escalations, and first-seen / resolved timestamps. A clean review uses natural all-clear prose likeReview passed! No findings on the first review pass.orReview passed! 3 findings resolved. Good cleanup.The deterministic note gets stronger as more findings are cleared and adapts to focused vs broad diffs. The footer isLast reviewed commit+ review attempts + the miu-cr release. Lifecycle state is storeless: it lives in a hidden<!-- miu-cr-ledger:<base64> -->marker inside the comment (like the runs counter), so it survives ephemeral CI with no DB. A finding resolves only when it is absent AND its file is still in the diff (absence off-diff ≠ fix). - Inline comments persist; resolving the threads is left to you / your coding agent. Each finding's inline comment is posted ONCE and deduped across re-runs via a hidden
<!-- miucr:fp=… -->marker, so a re-review never re-posts or deletes it. miucr does NOT click "Resolve conversation": when a finding is fixed, GitHub auto-marks the thread Outdated and the summary ledger moves it to ✅ Resolved, but the inline thread itself stays open for the developer/coding agent to resolve. A host config may opt intothread_resolution_sync.mode: pollto mirror manual GitHub "Resolve conversation" state into the summary (the Resolved row shows a clean💬 conversationmarker linked to the discussion thread, distinct from a commit-resolved row'sopen → resolvedSHA arrow); this never starts an LLM review and never feeds approval. So an agent acting on a review should read the inline threads, apply the fixes, reply on each handled inline thread with what changed and why, then resolve the thread. - Repeat-run stability is deterministic inputs + low-variance generation. For the same repo/ref/config, file selection, context assembly, rules, anchoring, gating, fingerprints, and comment dedupe are deterministic. SDK-backed Anthropic/OpenAI calls use
temperature: 0; exact model output can still vary, so PR posting is idempotent rather than duplicate-prone. - One-click suggestions and approvals are explicit write actions.
--suggestemits a native GitHub```suggestionblock ONLY for findings at or above the suggestion floor (medium) when the patch deterministically replaces the exact anchored line(s) and the model is certain of a grounded mechanical fix (a cited rule or an obvious best practice). It NEVER guesses an unverifiable value (a URL, path, route, ID, version, config key, API signature); such concerns become a verification-question in the rationale instead.--patch-repair(requires--suggest) runs one focused 2nd LLM pass to recover a repairable near-miss patch.--approval clean|thresholdsubmits APPROVE only when the policy and safety gates pass; the first approval body is short (LGTM) and links to the code review summary unless--approval-note noneis set. Approval is head-SHA scoped: a later clean push can be approved again bodyless, threshold re-approvals carry the threshold note, and the same commit is not approved twice. Permission/self-approval failures warn and degrade rather than failing the review. -o prettyis the human-readable local format;-o jsonis for agents;-o sariffor editors/CI.- Multi-provider profiles. Add a named provider (e.g. z.ai/glm) with
kind,base_url,model,auth, and eitherauth_envorauth_command; select with--provider <name>. Built-in kinds:anthropic,openai(ChatGPT-plan OAuth viamiucr login). Transient GitHub/network errors auto-retry with backoff. Optionally cap a provider instance's usage with[providers.<name>.quota](dimension = tokens|requests,limit,window = <Go duration like 5h/24h>|monthly); uncapped by default, fail-closed, over-quota → typedquota.exceeded. - Thinking on by default; deterministic fallback. Capable models (Claude, gpt-5/o-series, codex, z.ai GLM 4.5+) review with extended thinking/reasoning (deeper analysis; temperature is omitted because thinking forces temp 1). Models without thinking (gpt-4o, plain glm-4 chat) sample at temperature 0 for stable, reproducible findings. Both are config-exposed:
[review].thinking(auto|off|low|medium|high, default auto) and[review].temperature(0-2, default 0). SetMIUCR_TRACE_REASONING=trueto capture that reasoning into the review trace (miucr trace <id>).
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.
- 5d ago First seen · 824 lines · 152 tokens per session scan C c7d306414a94
miucr is a skill published in the GitHub repository vanducng/skills (7 stars, last pushed 5d ago), licensed MIT. It adds 152 tokens to every session and 16,535 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-04.
Other skills, from other repositories
spec-finish
Post-implementation completion workflow for Spec-backed Plans. Use after spec-implement completes to validate, review, create stacked commits, and open a PR via code-pull-request. Triggers only with an active Spec-backed Plan after spec-implement completes, including when the user says "finish", "done", or "complete"…
summarize-changes
Summarizes uncommitted changes and flags anything risky. Use when the user asks what changed, wants a commit message, or asks to review their diff.
work-unit-commits
Plan commits as reviewable work units. Trigger: implementation, commit splitting, chained PRs, or keeping tests and docs with code.
pr-review
Address feedback left on a GitHub pull request: fetch unresolved review threads, make agreed Elixir/Phoenix code fixes, reply, and resolve. Use for a PR URL/number or reviewer comments. NOT for pre-PR review, findings triage, or CI monitoring.
phx-pr-review
Address feedback left on a GitHub pull request: fetch unresolved review threads, make agreed Elixir/Phoenix code fixes, reply, and resolve. Use for a PR URL/number or reviewer comments. NOT for pre-PR review, findings triage, or CI monitoring.
resolve-pr-comments
Evaluate, fix, answer, and reply to GitHub pull request review comments and conversation comments. Handles both change requests (fix or skip) and reviewer questions (explain using reasoning recalled from past Claude Code transcripts). Use when the user asks to "resolve PR comments", "fix review comments", "address PR…