home / skills / dy9759 / text2knowledgecards / artifacts-builder-aitemplates

This skill helps you build, bundle, and share multi-component Claude artifacts with React, Tailwind, and shadcn/ui, delivering self-contained HTML artifacts.

This is most likely a fork of the artifacts-builder skill from openclaw
npx playbooks add skill dy9759/text2knowledgecards --skill artifacts-builder-aitemplates

Review the files below or copy the command above to add this skill to your agents.

Files (5)
SKILL.md
3.0 KB
---
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
---

# 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
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
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

- **shadcn/ui components**: https://ui.shadcn.com/docs/components

Overview

This skill is a suite of tools to create elaborate, multi-component Claude.ai HTML artifacts using a modern React + TypeScript frontend stack. It scaffolds a full project, provides a bundling pipeline that inlines all assets into a single HTML file, and includes Tailwind CSS and shadcn/ui components out of the box. Use it when your artifact needs state, routing, component libraries, or advanced UI patterns.

How this skill works

The skill initializes a Vite-based React project with TypeScript, Tailwind, and shadcn/ui via an init script, then lets you develop the app using standard React tooling. When ready, a bundle script uses Parcel and html-inline to produce a single self-contained bundle.html that includes all JavaScript, CSS, and assets. The final HTML can be shared in a Claude conversation as a full-featured artifact.

When to use it

  • You need multi-page routing, client-side state, or complex component composition.
  • The artifact relies on shadcn/ui or Radix UI components for polished controls.
  • You want a single self-contained HTML file to share inside Claude.
  • The design requires advanced layout, accessibility, or interactions beyond a single-file snippet.
  • You plan to reuse shared components, aliases, or a typed codebase (TypeScript).

Best practices

  • Run bash scripts/init-artifact.sh <name> to scaffold a properly configured project before development.
  • Keep an index.html at project root—bundle script requires it.
  • Avoid common "AI slop": no excessive centered layouts, purple gradients, uniform rounded corners, or default Inter overuse.
  • Develop and iterate locally with Vite, then run bash scripts/bundle-artifact.sh to produce bundle.html.
  • Delay automated visual testing until after an initial artifact is shared to reduce latency; test on demand with Playwright/Puppeteer if needed.

Example use cases

  • Interactive multi-step forms with validation, autosave, and conditional flows.
  • Data dashboards with client-side charts, filters, and paginated lists.
  • Small single-page web apps that require routing, context/state, and modal workflows.
  • A polished UI demo using shadcn/ui components and custom theming.
  • Embedded mini-apps that need keyboard accessibility and complex component interactions.

FAQ

Do I have to use Parcel and the bundle script?

Yes—use bash scripts/bundle-artifact.sh to produce a single inlined bundle.html; the script installs Parcel and html-inline, configures .parcelrc, and inlines assets automatically.

Should I run visual tests before sharing the artifact?

Testing is optional. To reduce turnaround, share the artifact first and run Playwright/Puppeteer tests only if issues are reported or if you need to validate complex interactions.