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 LeeJuOh/claude-code-zero --skill report-managergit clone --depth 1 https://github.com/LeeJuOh/claude-code-zeroWrote 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/leejuoh/claude-code-zero/report-manager)<a href="https://agentmods.dev/skills/leejuoh/claude-code-zero/report-manager"><img src="https://agentmods.dev/badge/skills/leejuoh/claude-code-zero/report-manager.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
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.00041 | $0.03061 |
| Opus 5 | $0.00020 | $0.01530 |
| Sonnet 5 | $0.00008 | $0.00612 |
| Haiku 4.5 | $0.00004 | $0.00306 |
Grade A, and why
report-manager 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 yesterday.
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 — 163 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Report Manager
Manage vision-powers reports — every persisted output (.html, .artifact.html, .md,
.artifact.md): list, open, delete, search, and refine sections.
Paths
| Resource | Path |
|---|---|
| Reports directory | $CLAUDE_PLUGIN_DATA/reports/ (shell env var — use in Bash commands) |
| Plugin scripts | ${CLAUDE_SKILL_DIR}/../../scripts/ |
Operation Detection
Determine the operation from $ARGUMENTS:
| Keywords | Operation |
|---|---|
| list, show, reports, ls | list |
| open, view, browse | open |
| delete, remove, clean, prune | delete |
| search, find, grep | search |
| refine, fix, update, adjust, change section | refine |
Default to list if ambiguous.
list
Single call — returns structured JSON:
node ${CLAUDE_SKILL_DIR}/../../scripts/list-reports.js
Output contains reports_dir, count, and reports[] (each with index, filename, path, type, size, date, and artifact_url when a <report>.artifact.json sidecar exists — issue 007 S4.5).
Format as a numbered table with clickable links. Add an Artifact column only when at least one report in the list has artifact_url (omit the column entirely otherwise — most reports won't have one):
| # | Report | Type | Size | Date | Artifact |
|---|--------|------|------|------|----------|
| 1 | [filename](file:///absolute/path) | type | size | date | [Open](artifact_url) |
| 2 | [filename](file:///absolute/path) | type | size | date | — |
open
- No argument: open the most recent report
- Number: Nth from list output
- Partial name: glob match
$CLAUDE_PLUGIN_DATA/reports/*{arg}*.{html,md}
open <resolved-absolute-path>
Print the file:/// URL for reference. If the resolved report's list-reports.js entry has artifact_url, also print that as "Shared link: ".
delete
Always confirm with AskUserQuestion before deleting.
Filters:
- Specific file: filename or number from list
- Type:
--type diff-visual - Age:
--before 30d - All:
--all
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.
- yesterday First seen · 163 lines · 41 tokens per session scan A 3641dd9c069e
report-manager is a skill published in the GitHub repository LeeJuOh/claude-code-zero (51 stars, last pushed 2d ago), licensed MIT. It adds 41 tokens to every session and 3,061 once invoked, about $0.0002 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-09-06.
Other skills, from other repositories
save-md
Saves a named source to Markdown with provenance and faithful extraction through direct export endpoints. Use when asked to "save this article", "get the markdown", "transcribe this", or "keep this source". A URL supplied as task context alone does not trigger conversion; a chat summary stays in chat.
upload-artifact
Upload a file as a ClosedLoop document (PRD, implementation plan, feature, or template). Reads file content and uploads via MCP without consuming conversation context. Also supports creating new versions of existing documents. Triggers on: "upload artifact", "upload PRD", "upload implementation plan", "upload…
dcf-model
Build discounted cash flow valuation workbooks in Excel.
comps-analysis
Build comparable-company valuation workbooks in Excel.
excel-author
Build auditable financial workbooks headless via openpyxl.
siyuan
Query and edit a SiYuan knowledge base via its API.