// 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.
| name | artifacts-builder |
| description | 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. |
| license | Complete terms in LICENSE.txt |
Toolkit for creating sophisticated, multi-component HTML artifacts optimized for Claude.ai using contemporary frontend technologies including React 18, TypeScript, Vite, Tailwind CSS 3.4.1, and the shadcn/ui component library.
Use this skill when users request complex artifacts requiring:
Do NOT use for:
The initialization process automatically provides:
@/ notationFollow these five steps to create and share artifacts:
Run the initialization script to create a new React project with all dependencies configured:
bash scripts/init-artifact.sh <project-name>
What this does:
Requirements:
shadcn-components.tar.gz file must be present in the scripts/ directory
.claude/skills/artifacts-builder/scripts/ before running init-artifact.shAfter initialization, modify the generated files to build your artifact:
src/App.tsx for your main application logicsrc/components/@/components/ui/Available Components (40+ total):
Import pattern:
import { Button } from '@/components/ui/button'
import { Card, CardHeader, CardTitle, CardContent } from '@/components/ui/card'
import { Dialog, DialogContent, DialogTrigger } from '@/components/ui/dialog'
When development is complete, create a self-contained HTML artifact:
bash scripts/bundle-artifact.sh
What this does:
.parcelrc configuration with TypeScript path alias supportbundle.html with file size informationOutput:
A single bundle.html file containing the complete React application with all dependencies embedded inline, suitable for sharing in Claude conversations.
Use the generated bundle.html file as an artifact in Claude conversations or share it directly with users. The file is:
Test the artifact by opening bundle.html in a browser. Only recommended if issues arise during development or if verification is needed before sharing.
Avoid creating "AI slop" aesthetics. Specifically avoid:
Instead, create intentional, varied designs that match the artifact's purpose and context.
scripts/init-artifact.shInitializes a new React + Vite + shadcn/ui project with full configuration.
Usage: bash scripts/init-artifact.sh <project-name>
Features:
scripts/bundle-artifact.shBundles the React application into a single HTML file.
Usage: bash scripts/bundle-artifact.sh (run from project root)
Requirements:
package.jsonindex.html in project rootOutput: bundle.html in project root
First-time Setup:
shadcn-components.tar.gz from Anthropic's skills repository.claude/skills/artifacts-builder/scripts/chmod +x scripts/*.shSystem Requirements:
"shadcn-components.tar.gz not found"
.claude/skills/artifacts-builder/scripts/"Node.js 18 or higher is required"
Bundle size too large
Path alias not resolving
tsconfig.json and tsconfig.app.json have baseUrl and paths configured.parcelrc includes parcel-resolver-tspathsBasic Usage:
# Initialize project
bash scripts/init-artifact.sh my-dashboard
# Develop application
cd my-dashboard
pnpm dev
# Bundle when ready
bash scripts/bundle-artifact.sh
Using Components:
import { Button } from '@/components/ui/button'
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'
function App() {
return (
<Card>
<CardHeader>
<CardTitle>My Dashboard</CardTitle>
</CardHeader>
<CardContent>
<Button>Click me</Button>
</CardContent>
</Card>
)
}
This skill is licensed under the Apache License 2.0. See LICENSE.txt for complete terms.