README
Builds complex multi-component claude.ai HTML artifacts using React 18, TypeScript, Vite, Tailwind CSS, and shadcn/ui. Bundles everything into a single self-contained HTML file for use as a claude.ai artifact.
Prerequisites
| Dependency | Install | Purpose |
|---|---|---|
| Node.js 18+ | required | Vite dev server and build |
| pnpm / npm | required | package manager |
| bash | required | initialization and bundle scripts |
Scripts
| File | Purpose |
|---|---|
scripts/init-artifact.sh | Scaffold a new React + Tailwind + shadcn/ui project |
scripts/bundle-artifact.sh | Build and bundle the project to a single HTML file |
scripts/shadcn-components.tar.gz | Pre-built shadcn/ui component bundle (unpacked by init script) |
Quick Start
# 1. Initialize the project
bash scripts/init-artifact.sh my-artifact
cd my-artifact
# 2. Develop — edit src/ files normally
# The init script sets up:
# - React 18 + TypeScript via Vite
# - Tailwind CSS 3.4.1 with shadcn/ui theming
# - 40+ shadcn/ui components pre-installed
# - Radix UI dependencies
# - Path alias @/ configured
# - Parcel bundler configured for single-HTML output
# 3. Bundle to a single HTML file
bash ../scripts/bundle-artifact.sh
# 4. The output file is ready to paste into claude.ai as an artifact
Stack
| Tool | Version | Role |
|---|---|---|
| React | 18 | UI framework |
| TypeScript | 5+ | type safety |
| Vite | auto-detected | dev server |
| Tailwind CSS | 3.4.1 | utility styles |
| shadcn/ui | latest | component library |
| Parcel | latest | single-HTML bundler |
Design Notes
Avoid “AI slop” patterns: excessive centered layouts, purple gradients, uniform rounded corners, and Inter font. Use varied layouts and typography to produce distinctive interfaces.
SKILL.md
When to Activate
- User needs a multi-component claude.ai HTML artifact with state management or routing
- User wants to use shadcn/ui or Radix UI components in an artifact
- User asks to build a complex React app that bundles to a single HTML file
- User asks to share an interactive React demo as a claude.ai artifact
Skip When
- Simple single-file HTML or JSX artifact — author directly or use codi-frontend-design
- Static poster, illustration, or visual art — use codi-canvas-design
- Production Next.js or web app development (not a bundled artifact) — use codi-frontend-design
- Pure HTML fixed-aspect layout (Instagram post, slide deck) — use codi-box-validator with a content-factory flow
To build powerful frontend claude.ai artifacts, follow these steps:
- Initialize the frontend repo using
${CLAUDE_SKILL_DIR}[[/scripts/init-artifact.sh]] - Develop your artifact by editing the generated code
- Bundle all code into a single HTML file using
${CLAUDE_SKILL_DIR}[[/scripts/bundle-artifact.sh]] - Display artifact to user
- (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 ${CLAUDE_SKILL_DIR}[[/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 ${CLAUDE_SKILL_DIR}[[/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
.parcelrcconfig 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
- shadcn/ui components: https://ui.shadcn.com/docs/components