Persist, version, and iterate on LLM-generated UI (widgets, HTML, markdown).

Apache-2.0Auto-check passed

Install Artifacts

skills CLI
$ npx skills add Sidiora-Labs/centra-gideon-agent --skill artifacts -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Sidiora-Labs/centra-gideon-agent artifacts --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Sidiora-Labs/centra-gideon-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/runtime/gideon/extensions/skills/bundled/artifacts .claude/skills/artifacts && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
artifacts
GitHub stars
181
Token cost
~1.2k tokens
SKILL.md length
559 words
Files
1
Skills in repo
24
Repo updated
First seen
Licence
Apache-2.0

At a glance

Persist, version, and iterate on LLM-generated UI (widgets, HTML, markdown).

  • Works in 4 steps: Always artifact_list before… → Re-emitting a saved widget requires its… → Iterate-without-a-slug decision tree.… → …
  • Iterate on a previously-rendered widget — anything that should outlive the chat scrollback
  • SKILL.md covers Mental model, Tools, Rules (follow these) and Don't, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Artifacts is an agent skill from Sidiora-Labs/centra-gideon-agent. Persist, version, and iterate on LLM-generated UI (widgets, HTML, markdown). Load when the user wants to save, find, update, or iterate on a previously-rendered widget — anything that should outlive the chat scrollback.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: The companion AI agent that learns, adapts and gets the work done no matter the task. The licence is Apache-2.0.

When your agent uses it

  • Iterate on a previously-rendered widget — anything that should outlive the chat scrollback

Example prompts

  • “/artifacts”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Always artifact_list before artifact_save(kind="widget"). Check
  2. Re-emitting a saved widget requires its slug. When you render the HTML of
  3. Iterate-without-a-slug decision tree. The user says "iterate on that" but
  4. Metadata-only updates don't bump content. Changing just description/tags

What it can do on your machine

Read from SKILL.md and the folder at commit 2176d5b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Artifacts loads about 1.2k tokens when it runs. Until then it costs about 57 tokens; SKILL.md has 559 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~57
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Sidiora-Labs/centra-gideon-agent at commit 2176d5b, republished under its Apache-2.0 licence (© Sidiora-Labs). 559 words, ~1,182 tokens.

Download SKILL.mdSave it as .claude/skills/artifacts/SKILL.md (or your agent's skills folder).
name
artifacts
description
Persist, version, and iterate on LLM-generated UI (widgets, HTML, markdown). Load when the user wants to save, find, update, or iterate on a previously-rendered widget — anything that should outlive the chat scrollback.
triggers
artifact, save widget, save this, iterate, iterate on, update the widget, change the widget, version, library, find widget, what have we built, iterate again…

Artifacts (@gideon-core/artifact_*)

An Artifact is a named, versioned piece of generated content — a widget, HTML tool, dashboard, markdown doc, SVG, or JSON — that persists beyond the chat scrollback and can be reopened and iterated on by name in a later session. The Artifacts library lists them; each lives at /artifacts/<slug> in the dashboard.

Without artifacts, a widget you render scrolls away and is gone. With them, the user can say "iterate on that dashboard" three days later and you can fetch the current version, change it, and save a new checkpoint.

Mental model

  • slug — the stable handle (e.g. sales-dashboard). Derived from the name, or you pass an explicit one. Everything references an artifact by slug.
  • version — every artifact_update snapshots a new numbered version (like a commit). The live version is what /artifacts/<slug> shows; old snapshots are kept up to MAX_VERSIONS = 50 (FIFO-pruned beyond that).
  • kind — widget (default), html, markdown, svg, json, text, infographic (AntV declarative DSL → SVG — see the infographic-syntax skill), document (editorial long-form HTML — see the editorial-document skill).

Tools

ToolUse
artifact_listList saved artifacts (name/slug/kind/version/tags). Filter by tag, kind, or text q.
artifact_saveSave new content. Returns the slug — the handle for later.
artifact_getFetch content by slug (pass version=N for a historical snapshot; omit for live).
artifact_updateUpdate by slug → new version snapshot. New content, or metadata only.
artifact_versionsList the numbered snapshots of a slug.
artifact_deleteDelete an artifact + its history by slug (does not touch any source file).

artifact_save/artifact_update take content inline via content= or from a file via content_file= (absolute path — a Workspace/cwd file).

Show full SKILL.md (299 more words)Show less

Rules (follow these)

  1. Always artifact_list before artifact_save(kind="widget"). Check whether a matching widget already exists. If it does, artifact_update it instead of creating a near-duplicate.

  2. Re-emitting a saved widget requires its slug. When you render the HTML of a saved artifact again in chat, put its slug on the tag so the dashboard links the rendered widget back to the library entry: <widget title="…" slug="sales-dashboard">…</widget>.

  3. Iterate-without-a-slug decision tree. The user says "iterate on that" but you don't have a slug:

    • It was saved earlier this session → you have the slug; artifact_get → change → artifact_update.
    • It was rendered but never saved → save it yourself now (artifact_save), then iterate. Never tell the user "it wasn't saved, so I can't iterate" — saving is your job, do it silently.
    • You're unsure which artifact → artifact_list (filter by q/kind) and pick by name, or ask only if genuinely ambiguous.
  4. Metadata-only updates don't bump content. Changing just description/tags via artifact_update is fine and still snapshots — but don't re-send identical content just to touch metadata.

Don't

  • Don't save throwaway one-off widgets the user didn't ask to keep. Cost discipline: a quick chart inline is fine unsaved.
  • Don't create a second artifact when one already covers it — update instead.
  • Don't delete an artifact to "replace" it — artifact_update is the replace.
  • Don't reference a slug you haven't confirmed exists (artifact_get/list first).

Worked example

User: "Save this as the team dashboard." (after you rendered a widget)

  1. artifact_list(kind="widget", q="team dashboard") → none.
  2. artifact_save(name="Team Dashboard", kind="widget", content="<the HTML>") → returns slug="team-dashboard".
  3. Tell the user: saved → /artifacts/team-dashboard.

User (next day): "Add a burndown chart to the team dashboard."

  1. artifact_get(slug="team-dashboard") → current HTML.
  2. Add the chart (Chart.js from jsDelivr — see the widgets skill for CSP/theme).
  3. artifact_update(slug="team-dashboard", content="<new HTML>") → new version.
  4. Re-render in chat with <widget title="Team Dashboard" slug="team-dashboard">….

© Sidiora-Labs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in runtime/gideon/extensions/skills/bundled/artifacts of Sidiora-Labs/centra-gideon-agent.

Open the folder on GitHubat commit 2176d5b

Compare with similar skills

Artifacts next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Artifacts compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Artifacts this skillSidiora-Labs/centra-gideon-agent181—~1.2kAutomated safety check: PassApache-2.0
Makepad Widgetssickn33/agentic-awesome-skills47k2 repos~1.7kAutomated safety check: PassMIT
Contact Widgetnexu-io/open-design100k—~1.6kAutomated safety check: PassApache-2.0
Swift Actor Persistenceaffaan-m/ECC275k4 repos~1.2kAutomated safety check: PassMIT
Session Persistruvnet/ruflo74k—~415Automated safety check: NotesMIT
Iterative Retrievalaffaan-m/ECC275k7 repos~1.6kAutomated safety check: PassMIT

Similar skills

  • Makepad Widgets

    sickn33/agentic-awesome-skills

    Version: makepad-widgets (dev branch) | Last Updated: 2026-01-19 Check for updates: https://crates.io/crates/makepad-widgets

    47k GitHub starsUsed in 2 repos~1.7k tokens
    Auto-check passed
  • Contact Widget

    nexu-io/open-design

    Self-contained floating chat widget with welcome screen, social links, meeting button, and message input.

    100k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Thread-safe data persistence in Swift using actors — in-memory cache with file-backed storage, eliminating data races by design.

    275k GitHub starsUsed in 4 repos~1.2k tokens
    MobileAuto-check passed
  • Session Persist

    ruvnet/ruflo

    Persist and restore agent sessions across conversations with state snapshots

    74k GitHub stars~415 tokensUpdated today
    Auto-check: notes
  • Pattern for progressively refining context retrieval to solve the subagent context problem.

    275k GitHub starsUsed in 7 repos~1.6k tokens
    Agent WorkflowsAuto-check passed
  • サブエージェントのコンテキスト問題を解決するために、コンテキスト取得を段階的に洗練するパターン. An agent skill from affaan-m/ECC.

    275k GitHub starsUsed in 2 repos~1.1k tokens
    Auto-check passed

More from Sidiora-Labs/centra-gideon-agent

All 24 skills in this repo
  • Best Of N

    Sidiora-Labs/centra-gideon-agent

    Sample several candidate answers in parallel, judge them against stated criteria, and present the winner with the runners-up kept one click away.

    181 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Document Authoring

    Sidiora-Labs/centra-gideon-agent

    Author a real document — a report, proposal, slide deck, spec, or paper — by settling audience, claim, and structure before drafting prose, then writing to that structure.

    181 GitHub stars~970 tokensUpdated today
    Auto-check passed
  • Editorial Document

    Sidiora-Labs/centra-gideon-agent

    Write long-form editorial documents as clean, semantic HTML saved as an artifact (kind=document) — reports, briefs, explainers, proposals, write-ups.

    181 GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Gideon API

    Sidiora-Labs/centra-gideon-agent

    The operator's manual for DRIVING Gideon's API and tools — how to find an exact tool/route signature, the mandatory verify-after-mutate loop, and what NOT to hand-roll.

    181 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Infographic Syntax

    Sidiora-Labs/centra-gideon-agent

    Author infographics with the AntV declarative DSL — pick a template, fill a small indented data tree, and save as an artifact (kind=infographic) that renders to crisp SVG and streams as you write it.

    181 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Research Campaign

    Sidiora-Labs/centra-gideon-agent

    Run a multi-cycle research campaign — grill the question, decompose it into answerable sub-questions, investigate each against sources, then synthesize with confidence and gaps stated.

    181 GitHub stars~1.3k tokensUpdated today
    Auto-check passed

Questions about Artifacts

What does Artifacts do?

Persist, version, and iterate on LLM-generated UI (widgets, HTML, markdown). Artifacts is an agent skill from Sidiora-Labs/centra-gideon-agent. Persist, version, and iterate on LLM-generated UI (widgets, HTML, markdown).

When should I use Artifacts?

Artifacts fits situations like: iterate on a previously-rendered widget — anything that should outlive the chat scrollback.

How do I install Artifacts in Claude Code?

Run `npx skills add Sidiora-Labs/centra-gideon-agent --skill artifacts -a claude-code`. Or copy the skill folder (runtime/gideon/extensions/skills/bundled/artifacts in Sidiora-Labs/centra-gideon-agent) into .claude/skills/artifacts in your project. Claude Code loads it when a task matches its description.

How do I install Artifacts in Codex?

Run `npx skills add Sidiora-Labs/centra-gideon-agent --skill artifacts -a codex`. Or copy the skill folder (runtime/gideon/extensions/skills/bundled/artifacts in Sidiora-Labs/centra-gideon-agent) into .agents/skills/artifacts in your project. Codex loads it when a task matches its description.

Can I use Artifacts in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Sidiora-Labs/centra-gideon-agent --skill artifacts -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/artifacts, .gemini/skills/artifacts, .github/skills/artifacts and .opencode/skills/artifacts in your project.

What does Artifacts need to run?

SKILL.md names no scripts, command-line tools or credentials: Artifacts is instructions for the agent only.

Does Artifacts access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Artifacts safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Artifacts use?

Artifacts is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Artifacts use?

About 1.2k tokens (SKILL.md is roughly 4.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Artifacts?

Skills that share tags, products or a category with Artifacts: Makepad Widgets (sickn33/agentic-awesome-skills, 47k stars), Contact Widget (nexu-io/open-design, 100k stars), Swift Actor Persistence (affaan-m/ECC, 275k stars) and Session Persist (ruvnet/ruflo, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Artifacts?

Sidiora-Labs (a GitHub organization) maintains it in Sidiora-Labs/centra-gideon-agent, which has 181 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 8, 2026.

Source: Sidiora-Labs/centra-gideon-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.