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 dbtlr/artifacts --skill artifactgit clone --depth 1 https://github.com/dbtlr/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/dbtlr/artifacts/artifact)<a href="https://agentmods.dev/skills/dbtlr/artifacts/artifact"><img src="https://agentmods.dev/badge/skills/dbtlr/artifacts/artifact/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/dbtlr/artifacts/artifact"><img src="https://agentmods.dev/badge/skills/dbtlr/artifacts/artifact.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.00047 | $0.01780 |
| Opus 5.5 | $0.00019 | $0.00712 |
| Sonnet 5.5 | $0.00009 | $0.00356 |
| Haiku 4.5 | $0.00005 | $0.00178 |
Grade A, and why
artifact 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 20d 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 — 102 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Artifact — Share Documents and Files via Persistent Links
Publish a document or file to the Artifacts server and hand back the returned URL. Artifacts are immutable: once published, an artifact never changes. A revision or variation is a new artifact in the same collection, so every earlier version keeps its own working link.
Why This Skill Exists
Documents produced mid-task — a plan, a design doc, a status update, a diagram — are easiest to review as a rendered page with a link, especially when working with the user remotely. Artifacts gives every such document a stable URL; this skill teaches the decisions an agent has to make before writing one: which collection it belongs to, and which template and metadata to use.
Core Workflow
Step 1: Look for an existing artifact or collection first
Before creating anything, call list_collections and list_artifacts (pass project if you know it) to find earlier versions of the same document or file.
- A revision is a new artifact. There is no update. To revise a plan, status report, or design doc, publish the full new version with
add_artifactand give it the samecollectionas the earlier versions. Share the new link; the old links keep showing the old versions. - Start from the latest version when editing. Call
get_artifactwithincludeContent: trueon the newest artifact in the collection, edit the result, and publish the complete document as a new artifact. - Offer variations side by side. When the user should choose between alternatives, publish one artifact per variation in one collection.
- Do not republish unchanged content. If an existing artifact already says what the user needs, share its link.
Step 2: Choose metadata
- title — short and human-scannable; it's what shows up in list views. ("Q3 Migration Plan", not "Plan for migrating the thing we discussed.")
- project — a stable string per repo or initiative, reused across every artifact in that body of work (matches what
list_artifactsfilters on in Step 1). Pick it once and keep it consistent so Step 1 keeps finding the right artifacts. - description — one line, written for the list view, not the document body.
- collection — shared metadata for related independent artifacts. Set one on any document that may be revised later, because an artifact cannot be moved into a collection after it is published. Reuse one value for a document, its revisions, and its images so another agent can rediscover the set. A collection does not own its members.
What ships with it
4 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.
- 20d ago Changed 26a9e5b439d8
- 21d ago Changed · +8 lines 654176914752
- 1mo ago First seen · 94 lines · 47 tokens per session scan A c28471c59e91
artifact is a skill published in the GitHub repository dbtlr/artifacts (0 stars, last pushed 11d ago), licensed MIT. It adds 47 tokens to every session and 1,780 once invoked, about $0.0002 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-08-31.
Other skills, from other repositories
contract-analyzer
Extract contract parties, clauses, dates, and model-assessed risks using processdocument. Use when the user supplies contract text, Markdown, or a PDF/image for analysis.
pdf-invoice-extractor
Extract typed invoice data from supplied text, Markdown, or a PDF/image through processdocument. Use for invoice totals, line items, due dates, and extraction anomalies.
book-mirror
Take any book (EPUB/PDF), produce a personalized chapter-by-chapter analysis with two-column tables. Left column preserves the chapter content; right column maps every idea to the reader's actual life using brain context. Output is a single brain page at media/books/ -personalized plus an optional PDF via brain-pdf.
brain-pdf
Generate a publication-quality PDF from any brain page via the host agent's PDF renderer. Strips YAML frontmatter, sanitizes emoji, applies running headers and page numbers. Brain page is always the source of truth; PDF is a rendering.
nano-pdf
Use nano-pdf to apply edits to a specific page in a PDF using a natural-language instruction.
local-doc-to-markdown
Convert local PDF, Word (.doc/.docx), PowerPoint (.ppt/.pptx), Excel (.xls/.xlsx), OpenDocument, RTF, EPUB, and CSV to GitHub-Flavored Markdown via the anydoc MCP server. Triggers include convert pdf to markdown, read docx, powerpoint to md, excel to markdown, office files in repo, and local document convert without…