OpenParable
Skip to content
← Back to skills

Create Artifacts

Documents
create-artifacts

Create Artifacts is an Agent Skill for documents published in the theexperiencecompany/gaia repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Create rich file artifacts (documents, code, reports, HTML pages) that appear as interactive cards in chat when placed in artifacts/.

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/theexperiencecompany/gaia/blob/HEAD/apps/api/app/agents/skills/builtin/create-artifacts/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/create-artifacts, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

Create Artifacts

When to Use

Activate when the user asks for standalone files that are better as viewable/downloadable outputs than inline chat text:

  • Reports, briefs, plans, strategy docs
  • Code files or multi-file deliverables
  • HTML pages/templates
  • Structured exports (CSV, JSON, YAML)

When Not to Use

  • Short conversational answers
  • Small snippets that fit in normal response text
  • Cases where the user explicitly asks for inline output

Core Rule

Files are shown to the user only when they are in artifacts/ for the current session.

Use: vfs_write("artifacts/file-name.ext", content)

This auto-resolves to the session-scoped location.

Prerequisites

If vfs_write is not already available, bind it before proceeding:

retrieve_tools(exact_tool_names=["vfs_write", "vfs_cmd"])

Preferred Workflow (Robust)

For substantial work, use a two-step flow:

  1. Write privately in files/ or notes/
  2. Move the polished result into artifacts/

Example:

vfs_write("files/draft-plan.md", draft_content)
# iterate, refine, validate
vfs_cmd("mv files/draft-plan.md artifacts/final-plan.md")

This ensures users only see final artifacts, not intermediate drafts.

Important Safety Rules

  1. Never put temporary/scratch/debug files in artifacts/
  2. Never put partial or broken output in artifacts/
  3. Use descriptive filenames with clear extensions
  4. Always provide a short summary in the assistant response describing what was created

Format Preference

  1. HTML (.html) by default for user-facing artifacts that should look polished
  2. Markdown (.md) only when the user asks for Markdown or plain docs
  3. Language-specific code extensions for code
  4. Text (.txt) only when formatting is unnecessary

HTML Quality Standard

When generating HTML artifacts, prioritize quality over speed:

  1. Use semantic structure (header, main, section, article, footer)
  2. Make layout responsive (desktop + mobile)
  3. Ensure clear visual hierarchy (headings, spacing, readable body text)
  4. Use cohesive styling with thoughtful typography, color, and contrast
  5. Deliver production-like output (no placeholder text, no broken sections)

Response Pattern

After creating an artifact, briefly tell the user:

  • What file was created
  • What it contains
  • Why it is useful

Keep this concise and practical.