Anthropic Skills 中文文档
首页
使用指南
技能列表
  • 🎨 创意与设计
  • 💻 开发与技术
  • 🏢 企业与沟通
  • 📄 文档处理
  • 🔧 元技能
  • GitHub 仓库
  • Claude 官网
  • Skills 官方文档
GitHub
首页
使用指南
技能列表
  • 🎨 创意与设计
  • 💻 开发与技术
  • 🏢 企业与沟通
  • 📄 文档处理
  • 🔧 元技能
  • GitHub 仓库
  • Claude 官网
  • Skills 官方文档
GitHub
  • 技能列表
  • 🎨 创意与设计

    • 🎨 算法艺术生成

      • 📋 概览
      • 📖 完整指南
    • 🖼️ 画布设计

      • 📋 概览
      • 📖 完整指南
    • 🎬 Slack GIF 创建器

      • 📋 概览
      • 📖 完整指南
    • 🎨 主题工厂

      • 📋 概览
      • 📖 完整指南
  • 💻 开发与技术

    • 🎨 Web 组件构建器

      • 📋 概览
      • 📖 完整指南
    • 📦 MCP 服务器构建器

      • 📋 概览
      • 📖 完整指南
    • 🧪 Web 应用测试工具

      • 📋 概览
      • 📖 完整指南
  • 🏢 企业与沟通

    • 🎨 品牌指南

      • 📋 概览
      • 📖 完整指南
    • 📢 企业内部沟通

      • 📋 概览
      • 📖 完整指南
    • 💎 前端设计

      • 📋 概览
      • 📖 完整指南
  • 📄 文档处理

    • 📘 Word 文档处理

      • 📋 概览
      • 📖 完整指南
    • 📕 PDF 文档处理

      • 📋 概览
      • 📖 完整指南
    • 📙 PowerPoint 演示文稿处理

      • 📋 概览
      • 📖 完整指南
    • 📗 Excel 表格处理

      • 📋 概览
      • 📖 完整指南
  • 🔧 元技能

    • 🛠️ Skill 创建器

      • 📋 概览
      • 📖 完整指南
    • 📝 Skill 模板

      • 📋 概览
      • 📖 完整参考

🎨 Web Artifacts Builder - Web 组件构建器

这是什么?

Web Artifacts Builder 是一个完整的工具套件,用于创建复杂的、多组件的 claude.ai HTML artifacts。它基于现代前端技术栈:

  • React 18 + TypeScript - 类型安全的组件化开发
  • Vite - 极速开发体验
  • Tailwind CSS - 实用优先的样式系统
  • shadcn/ui - 40+ 高质量 UI 组件
  • Parcel - 打包成单个 HTML 文件

核心价值:3 个命令,从零到完整的可分享 artifact。

能做什么?

核心功能一览

  • 🚀 一键初始化:自动配置 React + TypeScript + Tailwind + shadcn/ui
  • 🎨 40+ UI 组件:预装 Button、Dialog、Card、Form 等组件
  • 📦 单文件打包:将整个应用打包为一个 HTML 文件
  • ⚡ 极速开发:Vite 提供毫秒级热更新
  • 🎯 类型安全:TypeScript 编译时错误检查

适合谁用?

  • 前端开发者:需要快速原型开发
  • 设计师:想创建交互式设计稿
  • 产品经理:制作可点击的产品演示
  • 教育工作者:创建交互式教学示例

典型使用场景

场景 1:交互式仪表板 📊

需求:创建一个数据可视化仪表板,包含图表、过滤器、数据表格

# 3 个命令搞定
bash scripts/init-artifact.sh dashboard
cd dashboard
# 编辑 src/App.tsx,添加组件和数据
bash scripts/bundle-artifact.sh

结果:生成 bundle.html,包含完整的交互式仪表板

场景 2:表单向导 📝

需求:多步骤注册表单,带验证和进度条

// 使用 shadcn/ui 组件
import { Button } from '@/components/ui/button'
import { Input } from '@/components/ui/input'
import { Progress } from '@/components/ui/progress'

function RegistrationWizard() {
  const [step, setStep] = useState(1)
  
  return (
    <div>
      <Progress value={step * 33} />
      {step === 1 && <PersonalInfo />}
      {step === 2 && <ContactInfo />}
      {step === 3 && <Confirmation />}
      <Button onClick={() => setStep(step + 1)}>下一步</Button>
    </div>
  )
}

价值:无需从零配置,专注业务逻辑

场景 3:单页应用(SPA)🌐

需求:文档网站,包含导航、搜索、多页面

示例:

  • 首页 + 关于页 + 文档页
  • 侧边栏导航
  • 响应式布局

优势:使用 React Router + shadcn/ui,快速实现专业效果

快速开始

3 步创建 Artifact

步骤 1:初始化项目(30 秒)

bash scripts/init-artifact.sh my-app
cd my-app

自动完成:

  • ✅ 创建 React + TypeScript 项目
  • ✅ 安装 Tailwind CSS 和 shadcn/ui
  • ✅ 配置路径别名 @/
  • ✅ 预装 40+ UI 组件

步骤 2:开发应用(5-30 分钟)

编辑 src/App.tsx:

import { useState } from 'react'
import { Button } from '@/components/ui/button'
import { Card, CardHeader, CardTitle, CardContent } from '@/components/ui/card'

function App() {
  const [count, setCount] = useState(0)
  
  return (
    <div className="min-h-screen bg-gray-50 p-8">
      <Card className="max-w-md mx-auto">
        <CardHeader>
          <CardTitle>计数器应用</CardTitle>
        </CardHeader>
        <CardContent>
          <p className="text-4xl font-bold text-center mb-4">{count}</p>
          <Button 
            onClick={() => setCount(count + 1)}
            className="w-full"
          >
            点击增加
          </Button>
        </CardContent>
      </Card>
    </div>
  )
}

export default App

步骤 3:打包并分享(10 秒)

bash scripts/bundle-artifact.sh

输出:bundle.html - 自包含的 HTML 文件

分享:直接将此文件发送给用户,在 Claude 中显示为 artifact

何时使用?何时不用?

✅ 适合使用的场景

  • 复杂交互:需要状态管理(多个组件间共享数据)
  • 使用 shadcn/ui:需要高质量 UI 组件(Dialog、Select、DatePicker 等)
  • 多页面应用:需要路由和导航
  • 大型应用:超过 200 行代码

❌ 不适合的场景

  • 简单静态页面:只有 HTML + CSS,无需 React
  • 单组件展示:一个按钮或表单,直接写 JSX 即可
  • 纯信息展示:不需要交互,用 Markdown 或纯 HTML

原则:如果不需要 React 的状态管理和组件化,就别用这个工具。

设计指南:避免 "AI 风格"

重要提醒

避免常见的 "AI 生成" 风格特征!

❌ 避免的设计

/* 避免过度居中 */
.everything-centered {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

/* 避免紫色渐变 */
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);

/* 避免统一圆角 */
border-radius: 12px; /* 所有元素都是 12px */

/* 避免只用 Inter */
font-family: 'Inter', sans-serif;

✅ 推荐的设计

/* 多样化布局 */
.content-layout {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 2rem;
}

/* 品牌色系统 */
--primary: #3b82f6;
--secondary: #10b981;
--accent: #f59e0b;

/* 变化的圆角 */
.card { border-radius: 8px; }
.button { border-radius: 6px; }
.badge { border-radius: 4px; }

/* 合适的字体 */
font-family: system-ui, -apple-system, sans-serif;

可用的 shadcn/ui 组件

表单组件

  • Button - 按钮(多种样式)
  • Input - 输入框
  • Textarea - 文本域
  • Select - 下拉选择
  • Checkbox - 复选框
  • RadioGroup - 单选按钮组
  • Switch - 开关
  • Slider - 滑块

数据展示

  • Table - 表格
  • Card - 卡片
  • Badge - 徽章
  • Avatar - 头像
  • Progress - 进度条
  • Skeleton - 骨架屏

反馈组件

  • Dialog - 对话框
  • Alert - 警告提示
  • Toast - 轻提示
  • Tooltip - 工具提示

导航组件

  • Tabs - 标签页
  • Dropdown Menu - 下拉菜单
  • Navigation Menu - 导航菜单
  • Breadcrumb - 面包屑

查看所有组件:https://ui.shadcn.com/docs/components

常见问题

Q1: 生成的 HTML 文件太大?

A: 这是正常的,因为包含了所有依赖。如果需要优化:

  • 移除未使用的 shadcn/ui 组件
  • 使用代码分割(对于非常大的应用)
  • 考虑托管在服务器上,而不是内联

Q2: 需要 Node 什么版本?

A: Node 18 或更高。脚本会自动检测并适配 Vite 版本。

Q3: 可以使用其他组件库吗?

A: 可以,但需要手动安装。推荐使用预装的 shadcn/ui。

Q4: 打包后样式丢失?

A: 确保 Tailwind CSS 配置正确,检查 tailwind.config.js 的 content 路径。

下一步

选择您的路径:

  • 深入学习:阅读 📖 完整指南 了解详细配置和高级用法
  • 查看组件:访问 shadcn/ui 文档
  • 学习测试:查看 Webapp Testing 技能

相关技能:

  • Webapp Testing - 测试 Web 应用
  • MCP Builder - 构建 MCP 服务器
  • Frontend Design - 前端设计指南
Next
📖 完整指南