From artyfacts
Save agent work product — documents, research, specs, plans, reports, analyses, decisions, proposals, guides, meeting notes, reviews — as durable artifacts in Artyfacts so it outlives the chat. Use this skill whenever you produce a multi-paragraph written deliverable the user would want to reference later. Trigger on phrases like "save," "file," "write up," "document," "capture," "preserve," "note," "summarize," "jot down," or whenever you are about to output a long-form document inline. Do not ask the user what format they want — Artyfacts is the format.
How this skill is triggered — by the user, by Claude, or both
Slash command
/artyfacts:artyfactsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Artyfacts is the user's filing cabinet for agent work product that should outlive this chat. When you produce a document, analysis, plan, research finding, spec, decision, review, or any multi-paragraph written deliverable, store it as an artifact instead of dumping it inline and moving on.
Artyfacts is the user's filing cabinet for agent work product that should outlive this chat. When you produce a document, analysis, plan, research finding, spec, decision, review, or any multi-paragraph written deliverable, store it as an artifact instead of dumping it inline and moving on.
The thesis: agent work shouldn't live in chat logs. Code belongs in the repo. Everything else belongs in Artyfacts.
Use it whenever your response would produce:
A good heuristic: if your response would contain more than a couple paragraphs of structured content (headings, bullet lists, analysis, recommendations), it is an artifact. Create it proactively — don't wait to be asked.
Do not use this skill for:
The Artyfacts connector exposes a set of MCP tools. Your client may surface them as bare names (save_document_as_artifact), with a namespace prefix (artyfacts:save_document_as_artifact), or with double underscores (mcp__artyfacts__save_document_as_artifact). Use whichever form your client shows — the semantics are identical.
The Artyfacts connector requires the user to authenticate once before any tool call will succeed. If a tool call fails with an authentication or 401 error, stop and tell the user: "The Artyfacts connector needs to be authenticated. Run /mcp, select artyfacts, and complete WorkOS sign-in. Then ask me to try again." Do not retry repeatedly or fabricate a response — auth is a one-time, user-driven step. Once it's done, every subsequent tool call in this and future sessions will work.
Call search_artifacts with a short query to see if an artifact on this topic already exists. If it does, update the existing one (see step 4) rather than creating a duplicate.
Call save_document_as_artifact with:
title — the deliverable's title, as the user would recognize itartifact_type — one of document, research, plan, spec, decision, review, guidesummary — one to two sentences: what this is, why it mattersDo not paste the full document body into this call. The body goes in sections (step 3).
For each heading in the document:
start_section with the heading to signal you're beginning a new section.update_section with the full body text of that section.Sections are the unit of editable content — each heading gets its own section. This two-phase pattern (start_section then update_section) is how new sections are written.
If you found a match in step 1 and the user wants updates:
edit_section — signal intent, then apply the edit.start_section + update_section.After saving, tell the user the artifact was created or updated, and link to it. Do not re-paste the document body into chat — the artifact is the canonical copy.
For images, use the dedicated image tools — never paste base64 into a markdown section.
attach_image_from_url — use whenever the image is reachable by URL. This is the preferred path.attach_image — inline bytes (base64). Works for small, known-good bytes, but has a low practical ceiling: long payloads get abbreviated in transit and produce corrupt images. Prefer the URL path when you have the choice.When you need to inspect or edit work that's already filed:
get_artifact — returns the artifact's structure (title, section headings, metadata). Note: by default this does not include section bodies. Pass include_bodies: true to get the full text, or call get_section for a single section's body.list_artifacts / list_sections — enumerate without fetching content.Artyfacts isn't single-player. Artifacts can be shared with specific people, entire folders can be shared, and anything can be surfaced via public link. When the user asks to share, invite, grant access, or publish an artifact, use the sharing tools rather than describing the action.
Read before you share. Call list_artifact_access first to see who already has access and at what permission level. Don't re-invite someone who already has access, and don't downgrade or change someone's permission without confirming.
create_share_link — generate a public share URL. Use when the user says "share this" without naming a person. revoke_share_link kills an existing link.share_artifact_with_user — invite a specific person by email to a single artifact.share_folder_with_user — invite a person to an entire folder (all current and future artifacts in it).list_team_members — enumerate org members when you need to look up who to share with.list_artifact_access — see current collaborators and permission levels on an artifact.update_collaborator_permission — change an existing collaborator's role.remove_artifact_collaborator — revoke a user's access.set_artifact_visibility — flip an artifact between private, org-visible, and public. Use sparingly — prefer share links for one-off external sharing.Treat every artifact as a shared document with history:
Artifacts are durable. Write so someone reading in six months can pick up cold.
Complete sentences. No shorthand from the conversation that produced it. No "as we discussed" — the reader may not have been there.
attach_image_from_url (preferred) or attach_image for raw bytes.list_artifact_access first.| Situation | Tool |
|---|---|
| Looking for an existing artifact | search_artifacts |
| Creating a new artifact | save_document_as_artifact |
| Adding a new section | start_section then update_section |
| Revising an existing section | edit_section |
| Grouping artifacts | create_folder, move_artifact |
| Reading back what's saved | list_artifacts, get_artifact (pass include_bodies: true for content), list_sections, get_section |
| Attaching an image | attach_image_from_url (preferred), attach_image (small inline bytes only) |
| Sharing via public link | create_share_link, revoke_share_link |
| Sharing with a specific person | share_artifact_with_user, share_folder_with_user |
| Looking up org members | list_team_members |
| Checking or changing who has access | list_artifact_access, update_collaborator_permission, remove_artifact_collaborator |
| Changing artifact visibility | set_artifact_visibility |
npx claudepluginhub artygracie/artyfacts-ai --plugin artyfactsProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.