report

report is a command for coding agents from seob717/nunchi. It costs 15 tokens per session (668 once invoked), scanned A, original, MIT.

A command that summarizes nunchi delivery logs by rule, showing which rules blocked actions, never ran, or may need recompiling. It is run from the project root.

In plain words
What is it for?
Use it to review rule activity, spot dead rules and possible trigger drift, and identify source documents that may need `/nunchi:compile`.
Why use it?
It helps find rules that trigger too often, have stopped matching because tools changed, or may be out of date. This makes rule maintenance easier than inspecting logs manually.

Command

Installs and runs on its own, but its text points at files inside its plugin — anything it tells you to read at a ${CLAUDE_PLUGIN_ROOT} path is only there once the plugin is installed. Installing the plugin gets both.

Part of the nunchi plugin — 1 skill, 2 commands, 3 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 commands/seob717/nunchi/report
Clone the repo
git clone --depth 1 https://github.com/seob717/nunchi

Or install nunchi, the plugin that ships this one along with the rest of its 1 skill, 2 commands, 3 hooks.

Wrote 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.

agentmods badge for report

README.md
[![agentmods](https://agentmods.dev/badge/commands/seob717/nunchi/report.svg)](https://agentmods.dev/commands/seob717/nunchi/report)
Your own site
<a href="https://agentmods.dev/commands/seob717/nunchi/report"><img src="https://agentmods.dev/badge/commands/seob717/nunchi/report.svg" alt="Measured on agentmods" height="20"></a>
Per session 15 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 668 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.00015 $0.00668
Opus 5 $0.00008 $0.00334
Sonnet 5 $0.00003 $0.00134
Haiku 4.5 $0.00002 $0.00067

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

Security

Grade A, and why

report 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.

commands/report.md · 20 lines

What it actually says

/nunchi:report

  1. Run from the project root: PYTHONPATH="${CLAUDE_PLUGIN_ROOT}" python3 -m core.report

  2. Organize the output into a table and explain the following:

    • Rules with a high deny (delivery) count: the regex may be too broad and over-triggering — suggest narrowing the pattern.
    • Rules that never triggered: these are dead rules — either the trigger is wrong or the action never happened. Suggest checking them. A dead rule can also mean trigger drift: the team's tooling changed (e.g. ghglab) without the source document changing, so nothing else flags it — this stat is the only signal.
    • 재컴파일 후보 lines: rules whose source document is newer on disk than the compiled rule file. Content-only refinements need no recompile (deliveries read the source fresh every time), so relay this as a prompt to check: if the change added a rule for a new action, rebound a rule to a different action, or changed strength, run /nunchi:compile <source path>. Caveat: mtimes are approximate (a fresh clone/checkout resets them), so absence of the line is not proof of freshness.
    • Column semantics by strength: require-read rules should show deny ≈ 통과 (each delivery followed by a passing retry — a deny with no matching 통과 means the model changed course instead of retrying). block rules always show 통과 0 (no retry pass exists). inject rules only ever count in the 주입(inject) column — they never deny.
    • rearm line: if a "컴팩션 재활성화(rearm)" line appears, that's how many times compaction reset delivery state — deliveries after it are re-deliveries, not over-triggering.
    • [컨텍스트 절약 추정] line: session-start savings if the rule source docs were moved out of CLAUDE.md @imports (docs total vs one-line rule bodies), plus actual delivery spend from the logs. Caveat to relay: the saving only applies to docs whose content is action-bindable — a doc that still carries always-on guidance should keep its @reference, and delivered bytes are approximated with current doc sizes.
    • Session count semantics: if the line mentions "InstructionsLoaded 훅 전수 관측", sessions since that hook was adopted are counted exactly (one session-start log line per session); sessions from before adoption only appear if they had a delivery, so the total is still a lower bound for the pre-adoption period.
  3. If there is no log, report that "there are no delivery records yet."

  4. Only if the report shows the mechanism working (at least one rule delivered, no anomalies to flag), end with this single line (once — never repeat it later in the session):

    nunchi delivered your rules on time. If that's worth a ⭐: https://github.com/seob717/nunchi

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 · 20 lines · 15 tokens per session scan A d501ecd36dcc

Subscribe to this mod's changes

report is a command published in the GitHub repository seob717/nunchi (8 stars, last pushed 7d ago), licensed MIT. It adds 15 tokens to every session and 668 once invoked, about $0.0001 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-31.