Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add aiocean/claude-plugins/plugin install aio-html-artifactsWrote 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/aiocean/claude-plugins/aio-html-report)<a href="https://agentmods.dev/skills/aiocean/claude-plugins/aio-html-report"><img src="https://agentmods.dev/badge/skills/aiocean/claude-plugins/aio-html-report/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/aiocean/claude-plugins/aio-html-report"><img src="https://agentmods.dev/badge/skills/aiocean/claude-plugins/aio-html-report.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.00116 | $0.04908 |
| Opus 5.5 | $0.00046 | $0.01963 |
| Sonnet 5.5 | $0.00023 | $0.00982 |
| Haiku 4.5 | $0.00012 | $0.00491 |
Grade A, and why
aio-html-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 1mo 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 — 183 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Evidence-led HTML report
A report is one page whose first screen states the answer and whose deeper layers let a reader who distrusts you check it.
Reference routing
Seven rows load every time. Every other row states a condition you can answer no to — from the request text, the contract keys, the material in hand, or the validator's output. A row whose condition does not match is a row not read, and leaving it unread is the design. Measured on a plain incident-report request against the files on disk, 2026-08-13: 198 KB if every row fires, 112 KB with these conditions applied, of which 89 KB is the always set. The references/data-story.md row postdates that measurement and carries its own cost: 15 KB when a chart is judged against a threshold or an event, 21 KB when the page also holds two or more views, measured 2026-08-13. Paths are relative to ${CLAUDE_PLUGIN_ROOT}.
A short artifact takes tier= brief and six rows. Under 600 body words and outside the incident and decision-record spines — a weekly status, a standup note, a one-question explainer — read references/base-layer.html, references/layout-primitives.css, references/voices.css, the one voice file, the ## Pick the spine block at the top of skills/aio-html-report/references/report-structures.md, and references/copy-craft.md §The verdict sentence + §The claim heading; add references/captions.md § for the evidence type when a figure or table ships. Measured on the weekly-status request against the files on disk, 2026-08-13: 49,956 B, against 94,468 B for the same request at full tier — a 47% cut, and the two files it drops whole are references/artifact-grammar.md and references/evidence-and-confidence.md, whose load-bearing halves at this size are the claim markup listed below and the constraints already inside the base layer. ${CLAUDE_PLUGIN_ROOT}/examples/weekly-status-brief.html is the shipped one: 282 body words, 0 error 0 warn.
| Open | When |
|---|---|
references/base-layer.html |
always — paste it as the document skeleton, then diverge |
references/layout-primitives.css |
always — paste into <style>, compose with the primitives |
references/voices.css |
always — the rules every voice obeys, and the five-row chooser you pick from |
references/voices/<the voice you picked>.css |
always, exactly one file — the token block for the name in the contract's voice= |
references/artifact-grammar.md |
always — job, reading ladder, encoding, spine, proof placement, interaction tier, constraints, completion |
skills/aio-html-report/references/report-structures.md |
always, before structure= and spine= go in the contract — the selector, the SCQA opener, answer-first placement, the MECE and "so what" tests |
references/copy-craft.md |
always — the verdict sentence, the claim headings, and the paragraph shape are what this genre is |
skills/aio-html-report/references/report-spines.md |
the selector returned a spine name — read that one ### section, which is about 2.4 KB of the file's 33 KB. A subject that is latency, an experiment, a rollout, or a benchmark opens one more ### from Four data-narrative skeletons at the end of the same file, 2.6 to 4.3 KB, which supplies that subject's evidence sections inside the spine already chosen |
references/evidence-and-confidence.md |
a claim you did not run a command to establish, a forecast, or a number quoted from someone else |
references/captions.md |
a <figure>, a <table> with a header row, a chart, a diagram, or a screenshot goes in the page — read the one ### block for that evidence type plus The alt / figcaption / prose partition, about 4 KB of the file's 13 KB |
references/encoding-and-charts.md |
three or more numeric values across time or category get plotted |
references/data-story.md |
a plotted series is judged against a threshold, a target, a dated event, or a named window, or the page holds two or more views of the same measure the reader moves between — read Annotate the point plus The annotation asserts a reading for the six marks, the ledger and the entailment run, about 15 KB of the file's 27 KB; the second case adds Pick the structure and Sequence the views, about 6 KB more |
references/diagrams-css.md |
the shape is already named — a flow, a timeline, a phase strip, a sequence, or code with numbered callouts |
references/diagrams.md |
a structure to draw whose medium is still open, or an inline <svg> you are about to hand-write |
references/microcopy.md |
the page ships a <button>, a form field, or an export action. A <summary> on its own takes one rule and no file: it names what is behind it — "Full stack trace (42 lines)", "Why we rejected the Redis approach" — because a disclosure label is announced in isolation, the way link text is |
references/interaction-budget.md |
a <script> that does more than hold a JSON data island. The beforeprint listener pasted from references/base-layer.html does not count — it is mandatory whenever the page holds a <details>, so counting it would make this row unconditional |
references/typography-and-voice.md |
the request names a brand, a company style, or a look to match; or you change a value inside the voice block |
references/copy-delint.md |
the validator printed a finding whose id starts copy., or the request says the writing reads like AI |
references/worked-examples.md |
a drafted section that would have come out the same for any subject in this genre |
references/revising.md |
a file already exists at the target path |
references/live-collaboration.md |
the request names commenting, asking, or chatting inside the page |
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 1mo ago First seen · 183 lines · 116 tokens per session scan A 4722788461ca
aio-html-report is a skill published in the GitHub repository aiocean/claude-plugins (4 stars, last pushed 2d ago), licensed MIT. It adds 116 tokens to every session and 4,908 once invoked, about $0.0005 per session on Opus 5.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-03.
Other skills, from other repositories
office-docx
Use when the user asks to create, edit, inspect, polish, verify, or deliver Word .docx documents, Google Docs-targeted drafts, business briefs, forms, reports, tables, checklists, redraft-ready document sections, or PDF/Word source-to-DOCX transformations.
office-pptx
Use when the user asks to create, inspect, verify, polish, or deliver PowerPoint .pptx decks, Google Slides-targeted deck artifacts, strategy narratives, operating reviews, pitch decks, teaching decks, section slides, bullet slides, or source-to-PPTX transformations.
chat-complex-documents
Chat with and search your complex documents — ask questions, extract tables and fields, and get answers grounded in the source. Connects the hosted Unstructured Transform MCP server to parse, structure, and enrich PDFs, Word/Excel/PowerPoint, images, scanned files, emails, and 60+ other formats into clean, AI-ready…
memstack-business-invoice-generator
Use this skill when the user says 'invoice', 'generate invoice', 'create invoice', 'bill client', 'line items', 'payment terms', or needs professional invoices with tax calculations and payment instructions. Do NOT use for contracts or financial projections.
eval-skills
Audit a project or library of skills for metadata, trigger boundaries, workflow completion criteria, local resource closure, instruction economy, tool scope, effort, and routing evidence. Use before shipping skills, after importing a skill collection, or when a skill triggers too often or not at all.
source-command-audit-whitepapers
Audit version freshness, FR/EN parity, and metadata quality of all whitepapers and recap cards.