VIOLINET Tech · agent skill · 1.0

artifact-vault

Every Claude artifact you make, saved into one private git repo, sorted by app and kind, searchable, and comparable to what you are doing now.

use the arrow keys

The problem

Artifacts pile up as links.

The layout

One branch per app and kind.

dev README + index
photo-app/guides
photo-app/screenshots
photo-app/slides
video-app/features
video-app/docs
images generated test pictures
Each artifact is a folder

title-slug + 4 characters of its id, holding index.html, its files, ARTIFACT.json (link, date, app, kind) and the pictures pulled out of the page.

Save

Claude lists, downloads, sorts.

  • list your artifacts with the Artifact tool
  • read each into a scratch folder
  • ask once which app a title belongs to, only where it cannot tell
  • write a manifest: id, title, date, app
node vault.mjs ingest vault manifest.json \
     --root saved --dry-run
node vault.mjs ingest vault manifest.json \
     --root saved

Re-running is safe: unchanged artifacts make no commit, a changed kind moves the folder to its new branch.

Safety

Keys are replaced on the way in.

Recognised

Google, Anthropic, OpenAI, GitHub, Hugging Face, Slack, AWS, Stripe live keys and private key blocks. The copy keeps REDACTED_<KIND>.

Reported, never printed

You get the kind and the count. Rotate any key it found: it was readable in a published page. scan checks every branch again.

The vault is private. Pushes are never forced.

Search

Find the deck, the guide, the picture.

vault.mjs search vault slides
vault.mjs search vault guides  --app photo-app
vault.mjs search vault features stripe payout
vault.mjs search vault images  restore
vault.mjs list vault --limit 10
vault.mjs get  vault photo-app-user-guide --out ./guide

Words must all appear in the title, app, folder or page text. Images searches generated pictures and the screenshots pulled out of pages.

Compare · features

Is it already written down?

vault.mjs compare vault --features \
  "login with Google; batch export; dark mode"
COVERED batch export
PARTIAL login with Google
MISSING dark mode

Each feature comes back with the closest artifacts and their kind. It matches words, not truth: open the page before you call it documented.

Compare · session and upload

What did we do, and what is this file?

Session

--session summary.txt lists what the session did that nothing in the vault touches, and artifact links you have not saved.

Upload

--upload deck.html says identical, near-duplicate (a newer version), related, or new, and which headings the closest page lacks.

unsaved --list list.txt does the same for the live artifact list: not saved, or changed since.

And more

The rest of the toolbox.

  • stats counts per app and kind
  • gaps apps with no guide, screenshots or slides
  • dupes identical or near-identical pages
  • scan keys in any saved copy
  • show / get one artifact, or copy it out
  • index rebuild the table of contents

Every read command takes --json. Zero dependencies: Node 18 and git.

Limits

What it does not do.

Install

One command.

/plugin marketplace add Violinet-tech/violet-skills
/plugin install violet-skills@violet-skills

# or this skill alone
git clone https://github.com/Violinet-tech/artifact-vault \
  ~/.claude/skills/artifact-vault

Then ask: "Save all my artifacts into a vault." MIT licensed, from VIOLINET Tech.

1 / 1