artifacts-builder

SKILL.md

Artifacts Builder

要构建强大的前端 claude.ai 工件,请按照以下步骤操作:

  1. 使用 scripts/init-artifact.sh 初始化前端仓库
  2. 通过编辑生成的代码来开发您的工件
  3. 使用 scripts/bundle-artifact.sh 将所有代码打包成单个 HTML 文件
  4. 向用户展示工件
  5. (可选)测试工件

技术栈: React 18 + TypeScript + Vite + Parcel (打包) + Tailwind CSS + shadcn/ui

Design & Style Guidelines

非常重要:为避免通常被称为 "AI slop" 的情况,请避免使用过多的居中布局、紫色渐变、统一的圆角和 Inter 字体。

Quick Start

Step 0: 询问主题配色规范(重要)

在调用初始化脚本之前,必须先询问用户项目的主题配色规范。

询问用户以下信息:

  • 主色调:项目使用什么主色调?(例如:蓝色、绿色、紫色、灰色等)
  • 品牌色:如果有具体的品牌色值(HSL、RGB 或十六进制),请提供
  • 设计规范:是否有完整的设计系统规范文件?(如果有,可以基于规范生成完整的主题配置)

如果用户提供了主题配色信息,在调用脚本时通过环境变量传递:

THEME_COLOR=blue bash scripts/init-artifact.sh <project-name>

支持的主题色:slate(默认灰色)、bluegreenviolet

如果用户没有提供主题配色,使用默认的 slate 灰色主题。

Step 1: Initialize Project

运行初始化脚本以创建新的 React 项目:

bash scripts/init-artifact.sh <project-name>
# 或指定主题色
THEME_COLOR=blue bash scripts/init-artifact.sh <project-name>
cd <project-name>

这将创建一个完全配置的项目,包含:

  • ✅ React + TypeScript (通过 Vite)
  • ✅ Tailwind CSS 3.4.1 和 shadcn/ui 主题系统
  • ✅ 路径别名 (@/) 已配置
  • ✅ 预安装 40+ shadcn/ui 组件
  • ✅ 包含所有 Radix UI 依赖项
  • ✅ Parcel 配置用于打包(通过 .parcelrc)
  • ✅ Node 18+ 兼容性(自动检测并固定 Vite 版本)

Step 2: Develop Your Artifact

要构建工件,请编辑生成的文件。请参阅下面的常见开发任务以获取指导。

Step 3: Bundle to Single HTML File

要将 React 应用打包成单个 HTML 工件:

bash scripts/bundle-artifact.sh

这将创建 bundle.html - 一个自包含的工件,所有 JavaScript、CSS 和依赖项都已内联。此文件可以直接在 Claude 对话中作为工件共享。

要求:您的项目必须在根目录中有一个 index.html

脚本的作用

  • 安装打包依赖项(parcel、@parcel/config-default、parcel-resolver-tspaths、html-inline)
  • 创建支持路径别名的 .parcelrc 配置
  • 使用 Parcel 构建(无源映射)
  • 使用 html-inline 将所有资源内联到单个 HTML 中

Step 4: Share Artifact with User

最后,在对话中与用户共享打包的 HTML 文件,以便他们可以将其作为工件查看。

Step 5: Testing/Visualizing the Artifact (Optional)

注意:这是一个完全可选的步骤。仅在必要时或应要求时执行。

要测试/可视化工件,请使用可用工具(包括其他 Skills 或内置工具,如 Playwright 或 Puppeteer)。通常,避免提前测试工件,因为这会在请求和完成工件可见之间增加延迟。如果请求或出现问题,请在展示工件后进行测试。

Reference

Weekly Installs
13
GitHub Stars
247
First Seen
Jan 24, 2026
Installed on
claude-code9
opencode9
github-copilot8
codex8
gemini-cli8
antigravity6