AgentSkillsCN

web-artifacts-builder

利用 React 18、TypeScript、Vite、Tailwind CSS 以及 shadcn/ui,将复杂的多组件 claude.ai HTML 产物打包为单文件交付物。适用于“创建复杂产物”、“构建带路由的 React 产物”、“使用 shadcn/ui 组件”、“打造有状态的 Web 应用产物”,或“构建多组件前端”。提供初始化脚本、开发工作流,以及 Parcel 打包工具,助您打造具备状态管理与现代组件的精巧单 HTML 产物。适用于 claude.ai 产物的开发,尤其适合那些需要超越简单 HTML/JSX 的复杂性场景。

SKILL.md
--- frontmatter
name: web-artifacts-builder
description: |
  Builds elaborate multi-component claude.ai HTML artifacts using React 18, TypeScript, Vite,
  Tailwind CSS, and shadcn/ui bundled into single-file deliverables. Use when asked to "create
  complex artifact", "build React artifact with routing", "use shadcn/ui components", "create
  stateful web app artifact", or "build multi-component frontend". Provides initialization
  scripts, development workflow, and Parcel bundling to create sophisticated single-HTML artifacts
  with state management and modern components. Works with React/TypeScript stack for claude.ai
  artifacts requiring complexity beyond simple HTML/JSX.
license: Complete terms in LICENSE.txt

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