Get the FREE Ultimate OpenClaw Setup Guide →

artifacts-builder

npx machina-cli add skill davepoon/buildwithclaude/artifacts-builder --openclaw
Files (1)
SKILL.md
3.0 KB

Artifacts Builder

To build powerful frontend claude.ai artifacts, follow these steps:

  1. Initialize the frontend repo using scripts/init-artifact.sh
  2. Develop your artifact by editing the generated code
  3. Bundle all code into a single HTML file using scripts/bundle-artifact.sh
  4. Display artifact to user
  5. (Optional) Test the artifact

Stack: React 18 + TypeScript + Vite + Parcel (bundling) + Tailwind CSS + shadcn/ui

Design & Style Guidelines

VERY IMPORTANT: To avoid what is often referred to as "AI slop", avoid using excessive centered layouts, purple gradients, uniform rounded corners, and Inter font.

Quick Start

Step 1: Initialize Project

Run the initialization script to create a new React project:

bash scripts/init-artifact.sh <project-name>
cd <project-name>

This creates a fully configured project with:

  • ✅ React + TypeScript (via Vite)
  • ✅ Tailwind CSS 3.4.1 with shadcn/ui theming system
  • ✅ Path aliases (@/) configured
  • ✅ 40+ shadcn/ui components pre-installed
  • ✅ All Radix UI dependencies included
  • ✅ Parcel configured for bundling (via .parcelrc)
  • ✅ Node 18+ compatibility (auto-detects and pins Vite version)

Step 2: Develop Your Artifact

To build the artifact, edit the generated files. See Common Development Tasks below for guidance.

Step 3: Bundle to Single HTML File

To bundle the React app into a single HTML artifact:

bash scripts/bundle-artifact.sh

This creates bundle.html - a self-contained artifact with all JavaScript, CSS, and dependencies inlined. This file can be directly shared in Claude conversations as an artifact.

Requirements: Your project must have an index.html in the root directory.

What the script does:

  • Installs bundling dependencies (parcel, @parcel/config-default, parcel-resolver-tspaths, html-inline)
  • Creates .parcelrc config with path alias support
  • Builds with Parcel (no source maps)
  • Inlines all assets into single HTML using html-inline

Step 4: Share Artifact with User

Finally, share the bundled HTML file in conversation with the user so they can view it as an artifact.

Step 5: Testing/Visualizing the Artifact (Optional)

Note: This is a completely optional step. Only perform if necessary or requested.

To test/visualize the artifact, use available tools (including other Skills or built-in tools like Playwright or Puppeteer). In general, avoid testing the artifact upfront as it adds latency between the request and when the finished artifact can be seen. Test later, after presenting the artifact, if requested or if issues arise.

Reference

Source

git clone https://github.com/davepoon/buildwithclaude/blob/main/plugins/all-skills/skills/artifacts-builder/SKILL.mdView on GitHub

Overview

Artifacts Builder provides a suite of tools to create elaborate, multi-component claude.ai HTML artifacts using React, TypeScript, Tailwind CSS, and shadcn/ui. It is designed for artifacts that need state management, routing, or shadcn/ui components, and is not intended for simple single-file HTML or JSX artifacts.

How This Skill Works

Initialize a new React project with the provided scripts, then develop your artifact by editing the generated code. When ready, bundle everything into a single HTML file using bundle-artifact.sh, which inlines all JavaScript and CSS into bundle.html for easy Claude sharing. Stack: React 18 + TypeScript + Vite + Parcel (bundling) + Tailwind CSS + shadcn/ui.

When to Use It

  • You need a multi-component UI with internal state management
  • Your artifact requires routing or navigation between views
  • You want to use shadcn/ui components for a consistent UI
  • You need a self-contained, single HTML artifact to share in Claude conversations
  • You require a repeatable bundling flow to produce a ready-to-share artifact

Quick Start

  1. Step 1: Initialize Project — Run bash scripts/init-artifact.sh <project-name> and cd <project-name>
  2. Step 2: Develop Your Artifact — Edit the generated code to build your UI and interactions
  3. Step 3: Bundle to Single HTML — Run bash scripts/bundle-artifact.sh to produce bundle.html

Best Practices

  • Follow the Design & Style Guidelines to avoid AI slop (avoid overly centered layouts, purple gradients, uniform rounded corners, and the Inter font)
  • Structure your artifact as a multi-file React project (not a single-file HTML/JSX artifact)
  • Ensure you have an index.html at the project root before bundling
  • Bundle with scripts/bundle-artifact.sh to produce a self-contained bundle.html
  • Test the artifact after bundling, using optional testing tools if needed

Example Use Cases

  • A multi-step product tour with internal routing and stateful steps
  • An onboarding flow widget using shadcn/ui components for consistent styling
  • A data-driven dashboard with interactive components and navigation
  • An embedded documentation viewer with searchable sections
  • A feature showcase with interactive demos and inline resources

Frequently Asked Questions

Add this skill to your agents

Related Skills

theme-factory

davepoon/buildwithclaude

Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.

docx

davepoon/buildwithclaude

Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks

obsidian-markdown

davepoon/buildwithclaude

Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes.

pdf

davepoon/buildwithclaude

Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.

xlsx

davepoon/buildwithclaude

Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas

obsidian-bases

davepoon/buildwithclaude

Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of notes, or when the user mentions Bases, table views, card views, filters, or formulas in Obsidian.

Sponsor this space

Reach thousands of developers