artifacts

A storage system for keeping generated widgets, HTML, Markdown, and documents as named items with stable URLs and version history.

In plain words
What is it for?
Use it to save, find, update, and iterate on dashboards, widgets, documents, reports, and other generated content.
Why use it?
It prevents useful generated work from disappearing into chat history and lets you return to earlier versions.

Skill for Claude CodeCodex

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 skills/kirodotdev/kirocrew/artifacts
Any agent
npx skills add kirodotdev/KiroCrew --skill artifacts
Clone the repo
git clone --depth 1 https://github.com/kirodotdev/KiroCrew

Made for: Claude Code, Codex.

Per session 52 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,075 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. 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.00052 $0.04075
Opus 5 $0.00026 $0.02037
Sonnet 5 $0.00010 $0.00815
Haiku 4.5 $0.00005 $0.00407

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

Security

Grade B, and why

artifacts scanned grade B with 1 finding 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 2d 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.

Subtle steeringmediumPrompt injection

Instructions that bias recommendations or shape behaviour without the user noticing.

Critical: **never tell the user "the widget wasn't saved, so I can't
src/kiro_crew/builtin_skills/artifacts/SKILL.md · 373 lines

How it starts

The opening of the file, as written. The whole thing — 373 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Artifacts (@kirocrew-core/artifact_*)

A widget rendered inline in chat (<mcwidget>) is transient — it scrolls away with the conversation. An artifact is a widget (or other content) that's been given a stable identity, a version history, and a URL the user can open from /artifacts/<slug> in the dashboard.

Artifacts exist so the user can build a library of durable, named work — useful UIs (CR queue, pipeline health, ticket triage, dashboards) and substantial documents (plans, design docs, analyses, reports) alike — to return to, iterate on across sessions without losing prior versions, or share with peers for feedback. The library is curated: it holds work worth keeping, not a mirror of every file or a copy of the chat.

Mental model

Concept Means
Slug URL-safe identifier like cr-queue (auto-derived from name). Stable across versions. The user references artifacts by slug.
Version Monotonic integer. Every content change bumps it. The 50 most-recent versions are retained; older ones get pruned (configurable via MAX_VERSIONS).
Save Persist the artifact for the first time. Picks a slug, returns it.
Update / Iterate Modify content of an existing artifact. Bumps version, preserves history.
List / Find Discover what's saved. Filter by tag, kind, name substring.

Tools

Tool Purpose
artifact_save Create a new artifact, returns slug
artifact_get Load content + metadata (optional version)
artifact_update Modify content/metadata; bumps version on content change
artifact_list Filter by tag, kind, q (name substring)
artifact_versions List version numbers for a slug
artifact_delete Permanently remove

All under the @kirocrew-core MCP server.

When to save proactively

When you produce work worth keeping — something the user would plausibly want later — save it:

  • A widget with its own identity (CR queue, pipeline dashboard, ticket card): save it without asking, and note it in one line — "Saved as artifact cr-queue."
  • A substantial document (plan, design, analysis, report, reference): if you wrote it to a workspace file, save it file-backed (artifact_save with source_path, and kind="markdown" for markdown); if it lives only inline in chat, offer to save it.

Read the full file on GitHub · 373 lines

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. 2d ago First seen · 373 lines · 52 tokens per session scan B 6d710a0505bf

Subscribe to this mod's changes

artifacts is a skill published in the GitHub repository kirodotdev/KiroCrew (3,532 stars, last pushed today), licensed Apache-2.0. It adds 52 tokens to every session and 4,075 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it B with 1 finding (subtle steering). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.