artifacts-builder
npx machina-cli add skill ECNU-ICALK/AutoSkill/artifacts-builder --openclawArtifacts Builder
To build powerful frontend claude.ai artifacts, follow these steps:
- Initialize the frontend repo using
scripts/init-artifact.sh - Develop your artifact by editing the generated code
- Bundle all code into a single HTML file using
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 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
.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
Source
git clone https://github.com/ECNU-ICALK/AutoSkill/blob/main/SkillBank/Common/AwesomeClaudeSkills/artifacts-builder/SKILL.mdView on GitHub Overview
The artifacts-builder provides tools to create elaborate claude.ai HTML artifacts using React, Tailwind CSS, and shadcn/ui. It is designed for complex artifacts that need state management, routing, or UI components, not for simple single-file HTML/JSX artifacts.
How This Skill Works
Initialize a React-based project with scripts/init-artifact.sh, develop your artifact by editing the generated code, and then bundle everything into a single HTML file with scripts/bundle-artifact.sh. The bundle.html inlines all JavaScript, CSS, and dependencies so you can share a self-contained artifact in Claude conversations.
When to Use It
- When you need a multi-view, stateful UI inside Claude, not a static page.
- When your artifact requires routing between components or views.
- When you want to leverage shadcn/ui components and Tailwind styling.
- When you need a single, shareable HTML artifact created by bundling.
- When you want a repeatable project setup using the provided init and bundle scripts.
Quick Start
- Step 1: Initialize Project - Run bash scripts/init-artifact.sh <project-name> and cd <project-name>.
- Step 2: Develop Your Artifact - Edit the generated files to implement your UI and logic.
- Step 3: Bundle to Single HTML - Run bash scripts/bundle-artifact.sh to produce bundle.html (requires index.html in the root).
Best Practices
- Follow the Design & Style Guidelines to avoid AI slop (avoid centered layouts, purple gradients, uniform rounded corners, and the Inter font).
- Use the initialization script to create a consistent repo scaffold for every artifact.
- Bundle only after development with bundle-artifact.sh to inline assets and dependencies.
- Ensure index.html exists in the project root before bundling.
- Test the final bundle.html in Claude, and optionally verify with Playwright or Puppeteer if needed.
Example Use Cases
- A multi-step product tour with internal routing between steps.
- A data-driven dashboard with interactive panels and stateful controls.
- A guided questionnaire that preserves user responses across views.
- A help center with navigable topics and embedded UI components.
- A step-by-step tutorial with themed UI built from shadcn/ui components.