Web artifacts builder skill

Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui).

by anthropics·Apache-2.0 license·★ 177,518 Stars on the repo·GitHub ↗

Use now

Files of Web artifacts builder

anthropics/main1 file shown
SKILL.md
Show the full text74 lines

Web 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

1---
2name: web-artifacts-builder
3description: Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
4license: Complete terms in LICENSE.txt
5---
6 
7# Web Artifacts Builder
8 
9To build powerful frontend claude.ai artifacts, follow these steps:
101. Initialize the frontend repo using `scripts/init-artifact.sh`
112. Develop your artifact by editing the generated code
123. Bundle all code into a single HTML file using `scripts/bundle-artifact.sh`
134. Display artifact to user
145. (Optional) Test the artifact
15 
16**Stack**: React 18 + TypeScript + Vite + Parcel (bundling) + Tailwind CSS + shadcn/ui
17 
18## Design & Style Guidelines
19 
20VERY IMPORTANT: To avoid what is often referred to as "AI slop", avoid using excessive centered layouts, purple gradients, uniform rounded corners, and Inter font.
21 
22## Quick Start
23 
24### Step 1: Initialize Project
25 
26Run the initialization script to create a new React project:
27```bash
28bash scripts/init-artifact.sh <project-name>
29cd <project-name>
30```
31 
32This creates a fully configured project with:
33- ✅ React + TypeScript (via Vite)
34- ✅ Tailwind CSS 3.4.1 with shadcn/ui theming system
35- ✅ Path aliases (`@/`) configured
36- ✅ 40+ shadcn/ui components pre-installed
37- ✅ All Radix UI dependencies included
38- ✅ Parcel configured for bundling (via .parcelrc)
39- ✅ Node 18+ compatibility (auto-detects and pins Vite version)
40 
41### Step 2: Develop Your Artifact
42 
43To build the artifact, edit the generated files. See **Common Development Tasks** below for guidance.
44 
45### Step 3: Bundle to Single HTML File
46 
47To bundle the React app into a single HTML artifact:
48```bash
49bash scripts/bundle-artifact.sh
50```
51 
52This 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.
53 
54**Requirements**: Your project must have an `index.html` in the root directory.
55 
56**What the script does**:
57- Installs bundling dependencies (parcel, @parcel/config-default, parcel-resolver-tspaths, html-inline)
58- Creates `.parcelrc` config with path alias support
59- Builds with Parcel (no source maps)
60- Inlines all assets into single HTML using html-inline
61 
62### Step 4: Share Artifact with User
63 
64Finally, share the bundled HTML file in conversation with the user so they can view it as an artifact.
65 
66### Step 5: Testing/Visualizing the Artifact (Optional)
67 
68Note: This is a completely optional step. Only perform if necessary or requested.
69 
70To 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.
71 
72## Reference
73 
74- **shadcn/ui components**: https://ui.shadcn.com/docs/components

Discussion

Alternatives

shadcn/uiManages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI, including chat interfaces. Provides project context, component docs, and usage examples. Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for "shadcn init", "create an app with --preset", or "switch to --preset".Coding · MITCreate STYLE_GUIDE.mdThis prompt assists users in creating a comprehensive STYLE_GUIDE.md for their projects. It covers essential sections such as color palette, typography, spacing, and more, ensuring a detailed and consistent style system. Users can also include example component design references.Coding · CC0-1.0Frontend developer skillThis prompt is designed for an elite frontend development specialist. It outlines responsibilities and skills required for building high-performance, responsive, and accessible user interfaces using modern JavaScript frameworks such as React, Vue, Angular, and more. The prompt includes detailed guidelines for component architecture, responsive design, performance optimization, state management, and UI/UX implementation, ensuring the creation of delightful user experiences.Coding · CC0-1.0React modernizationUpgrade React applications to latest versions, migrate from class components to hooks, and adopt concurrent features. Use when modernizing React codebases, migrating to React Hooks, or upgrading to latest React versions.Coding · MIT