目录
- Skills 是什么?
- 如何查看 Skills
- 如何使用 Skills
- 项目运行步骤
- 实战演示
- 常见问题
Skills 是什么?
Skills 是一个 结构化的开发规范文档,就像是给 AI 看的"开发手册"。
简单类比
- 传统开发: 你口头告诉新人"按公司规范写代码"(新人不知道具体怎么写)
- Skills 开发: 你给新人一本详细的《开发规范手册》(包含具体示例和模板)
一个 Skill 文档包含什么?
以 task-management/SKILL.md 为例:
# Task Management Skill
## Description(这个 Skill 是干什么的)
企业级任务管理系统开发规范
## Trigger Conditions(什么时候用这个 Skill)
- 开发任务管理功能
- 实现看板拖拽
- 使用 Pinia 管理状态
## Code Examples(具体代码示例)
```typescript
// 标准的 Pinia Store 写法
export const useTaskStore = defineStore('task', () => {
const tasks = ref<Task[]>([])
// ... 具体代码
})
```text
## Best Practices(最佳实践)
- 使用乐观更新
- 统一错误处理
- 添加加载状态
```plain
**核心价值**:让 AI 读了这个文档后,生成的代码自动符合你的规范!
---
## 如何查看 Skills
### 方法1:命令行查看
```bash
# 查看所有可用 Skills
cd vue3-skills-demo
ls skills/
# 查看 Skill 内容
cat skills/vue3-enterprise/SKILL.md
# 或使用分页查看
less skills/vue3-enterprise/SKILL.md
方法2:文本编辑器打开
# 使用 VSCode
code skills/vue3-enterprise/SKILL.md
# 使用 nano
nano skills/vue3-enterprise/SKILL.md
# 使用 vim
vim skills/vue3-enterprise/SKILL.md
方法3:在项目文件浏览器中
vue3-skills-demo/
└── skills/
└── vue3-enterprise/
└── SKILL.md ← 双击打开
如何使用 Skills
场景1:直接阅读学习
适用情况:你自己手写代码,想知道规范是什么
步骤:
- 打开 SKILL.md 文件
- 阅读其中的规范和示例
- 按照规范编写代码
示例:
cd taskmaster-pro
cat skills/task-management/SKILL.md
# 看到 Pinia Store 规范后,照着写
场景2:配合 Claude 使用(推荐!)
这是 Skills 的核心用法
步骤详解
Step 1:准备 Skill 文档
cd taskmaster-pro
# 复制 Skill 内容到剪贴板
cat skills/task-management/SKILL.md
# 或者直接在 VSCode 中打开
Step 2:与 Claude 对话
打开 Claude 对话界面,按以下方式提问:
示例对话1: 创建新功能
━━━━━━━━━━━━━━━━━━━━━━━━━━━
你: [上传 task-management/SKILL.md 文件]
根据这个 Skill,帮我添加一个任务删除功能。
要求:
1. 在 taskStore 中添加 deleteTask action
2. 在 TaskBoard 组件中添加删除按钮
3. 添加删除确认提示
Claude: [读取 Skill 规范]
好的!我会按照 Task Management Skill 的规范来实现。
首先更新 taskStore.ts...
[生成符合规范的代码]
━━━━━━━━━━━━━━━━━━━━━━━━━━━
示例对话2: 创建新组件
━━━━━━━━━━━━━━━━━━━━━━━━━━━
你: [上传 component-patterns/SKILL.md]
帮我创建一个 Modal 对话框组件,要求:
- 支持打开/关闭
- 可自定义标题和内容
- 有确定和取消按钮
- 点击遮罩层关闭
Claude: [按照 Component Patterns Skill 生成]
我会创建一个符合规范的 Modal 组件...
[生成完整的 Modal.vue 代码]
━━━━━━━━━━━━━━━━━━━━━━━━━━━
示例对话3: 创建图表
━━━━━━━━━━━━━━━━━━━━━━━━━━━
你: [上传 chart-generation/SKILL.md]
创建一个雷达图组件,展示员工的多维度能力评估。
需要展示:技术能力、沟通能力、团队协作、
问题解决、创新能力 这5个维度。
Claude: [根据 Chart Generation Skill]
我会创建一个 RadarChart 组件...
[生成 ECharts 雷达图配置和 Vue 组件]
━━━━━━━━━━━━━━━━━━━━━━━━━━━
场景3:团队共享使用
适用情况:团队多人开发,统一规范
步骤:
- 将 Skills 文档提交到 Git 仓库
- 团队成员 clone 项目后都能看到
- 所有人都用 Skills + Claude 开发
- 代码自动统一风格
效果:
- 新人:3天上手,代码质量不输老员工
- 老员工:开发速度提升3倍
- Code Review:减少60%的风格争论
项目运行步骤
项目1:Vue3 Skills Demo
第1步:进入项目
cd vue3-skills-demo
第2步:安装依赖
npm install
第3步:启动开发服务器
npm run dev
第4步:浏览器访问
自动打开 http://localhost:3000
看到什么?
- 一个数据表格
- 支持搜索、排序、分页
- 完全基于 vue3-enterprise Skill 生成
Skills 位置:
cat skills/vue3-enterprise/SKILL.md
项目2:TaskMaster Pro
第1步:进入项目
cd taskmaster-pro
第2步:安装依赖
npm install
第3步:启动
npm run dev
看到什么?
- 任务看板(待办/进行中/审核中/已完成)
- 可以点击任务卡片
- 展示任务优先级和标签
Skills 位置:
cat skills/task-management/SKILL.md
如何使用 Skill 扩展功能?
打开 Claude,上传 skills/task-management/SKILL.md,然后:
你: 根据这个 Skill,帮我添加以下功能:
1. 任务拖拽排序
2. 任务编辑弹窗
3. 任务筛选(按优先级、标签)
Claude: [按 Skill 规范生成代码]
项目3:AI Component Library
第1步:进入项目
cd ai-component-library
第2步:安装依赖
npm install
第3步:启动
npm run dev
看到什么?
- Button 组件示例(主要/次要/危险/成功按钮)
- Input 组件示例(不同尺寸、类型、状态)
- 所有组件都符合 component-patterns Skill 规范
Skills 位置:
cat skills/component-patterns/SKILL.md
如何创建新组件?
你: [上传 component-patterns/SKILL.md]
创建一个 Select 下拉选择组件,要求:
- 支持单选和多选
- 支持搜索过滤
- 支持禁用选项
- 键盘导航(上下箭头、Enter选择)
Claude: [生成符合规范的 Select.vue]
项目4:Data Visualization Platform
第1步:进入项目
cd data-visualization-platform
第2步:安装依赖
npm install
第3步:启动
npm run dev
看到什么?
- 折线图:销售趋势
- 柱状图:产品对比
- 饼图:访问来源分布
- 所有图表响应式、有动画
Skills 位置:
cat skills/chart-generation/SKILL.md
如何创建新图表?
你: [上传 chart-generation/SKILL.md]
创建一个散点图,展示:
- X轴:用户年龄(18-65岁)
- Y轴:月消费金额(0-10000元)
- 点的大小:购买次数
- 点的颜色:会员等级(普通/银卡/金卡/钻石)
Claude: [生成 ScatterChart.vue 组件]
实战演示
演示1:用 Skills 修改现有功能
场景:TaskMaster Pro 中,我想给任务卡片添加"截止日期"显示
操作步骤:
1. 查看当前代码
cd taskmaster-pro
cat src/components/task/TaskBoard.vue
2. 查看 Skill 规范
cat skills/task-management/SKILL.md
# 找到任务数据模型,看到有 dueDate 字段
3. 与 Claude 对话
你: [上传 task-management/SKILL.md]
[粘贴 TaskBoard.vue 的代码]
根据 Skill 规范,帮我在任务卡片中添加截止日期的显示。
如果任务快到期了(3天内),用红色标注。
Claude: [分析 Skill 和现有代码]
[生成修改后的代码]
4. 应用修改
# 将 Claude 生成的代码复制到 TaskBoard.vue
# 保存文件
# 浏览器自动刷新,看到效果
演示2:用 Skills 创建全新功能
场景:在 AI Component Library 中创建一个 Table 组件
操作步骤:
1. 准备 Skill
cd ai-component-library
cat skills/component-patterns/SKILL.md
2. 与 Claude 对话
你: [上传 component-patterns/SKILL.md]
根据这个 Skill,创建一个 Table 组件:
功能需求:
- 支持自定义列配置
- 支持排序
- 支持行选择
- 支持固定列
- 空数据展示
Props:
- columns: 列配置
- data: 表格数据
- rowKey: 行唯一标识
- selectable: 是否可选
Events:
- row-click: 点击行
- selection-change: 选择变化
Claude: [完整的 Table.vue 代码]
3. 创建文件
# 将 Claude 生成的代码保存为 Table.vue
code src/components/Table.vue
# 粘贴代码并保存
4. 在 App.vue 中使用
<script setup>
import Table from './components/Table.vue'
const columns = [
{ key: 'id', label: 'ID', sortable: true },
{ key: 'name', label: '姓名', sortable: true },
{ key: 'age', label: '年龄', sortable: true }
]
const data = [
{ id: 1, name: '张三', age: 25 },
{ id: 2, name: '李四', age: 30 },
{ id: 3, name: '王五', age: 28 }
]
</script>
<template>
<Table :columns="columns" :data="data" selectable />
</template>
5. 查看效果
浏览器自动刷新,看到新的 Table 组件
演示3:用 Skills 优化性能
场景:Data Visualization Platform 需要展示10万条数据的图表
操作步骤:
1. 查看 Skill 中的性能优化部分
cd data-visualization-platform
cat skills/chart-generation/SKILL.md
# 找到 "Performance Optimization" 部分
2. 与 Claude 对话
你: [上传 chart-generation/SKILL.md]
[粘贴现有的 LineChart.vue 代码]
我需要展示10万条数据,现在很卡顿。
根据 Skill 中的性能优化建议,帮我优化这个组件。
Claude: [应用 Skill 中的优化技巧]
- 启用数据采样
- 关闭动画
- 使用 Canvas 渲染
[生成优化后的代码]
3. 对比效果
优化前:加载10秒,卡顿严重
优化后:加载1秒,流畅60fps
常见问题
Q1: 必须用 Claude 吗?能手写代码吗?
A: 可以手写!Skills 有两种用法:
用法1:直接阅读参考
# 打开 Skill
cat skills/vue3-enterprise/SKILL.md
# 照着规范手写代码
用法2:配合 AI(推荐)
提供给 Claude → 自动生成符合规范的代码
推荐用法2,因为:
- 速度快(2小时 vs 1天)
- 不会遗漏最佳实践
- 代码质量稳定
Q2: 我改了 Skill 文档,代码会自动更新吗?
A: 不会自动更新。Skill 的作用是:
你修改 SKILL.md
↓
下次用 Claude 生成代码时
↓
Claude 读取新的 SKILL.md
↓
生成的新代码自动符合新规范
已有的代码不会自动改变,需要:
- 手动修改
- 或让 Claude 根据新 Skill 重新生成
Q3: 多个 Skills 可以同时使用吗?
A: 可以!实际项目经常需要多个 Skills:
示例:创建一个任务编辑表单
你: [上传 task-management/SKILL.md]
[上传 component-patterns/SKILL.md]
创建一个任务编辑表单组件,需要:
1. 遵循 component-patterns 的组件规范
2. 遵循 task-management 的任务数据模型
表单字段:标题、描述、优先级、截止日期、标签
Claude: [综合两个 Skills 生成代码]
Q4: Skill 文档我能修改吗?
A: 当然可以!而且强烈建议根据团队实际情况修改:
修改示例:
# 原 Skill
## Naming Conventions
- 组件文件: PascalCase
# 改成你们公司的规范
## Naming Conventions
- 组件文件: kebab-case (我们公司用这个)
- 组件内必须加注释说明用途
- 必须写单元测试
修改后,Claude 生成的代码就会按你们公司规范来!
Q5: 如何验证 Skills 是否生效?
A: 对比测试:
测试1:不用 Skill
你: 帮我创建一个 Button 组件
Claude: [生成一个普通的按钮]
可能缺少:类型定义、事件定义、样式规范
测试2:使用 Skill
你: [上传 component-patterns/SKILL.md]
根据这个 Skill,创建一个 Button 组件
Claude: [生成的代码]
✓ 完整的 TypeScript 类型
✓ Props/Events 规范定义
✓ 无障碍访问支持
✓ BEM 命名的 CSS
✓ 完整的注释
明显差异:代码质量和规范性
Q6: Skills 会过时吗?
A: 会过时,但更新很简单:
Vue 2 → Vue 3 升级示例:
# 1. 打开 Skill
vim skills/vue3-enterprise/SKILL.md
# 2. 更新内容
将:
export default { ... } # Vue 2 写法
改为:
<script setup lang="ts"> # Vue 3 写法
# 3. 保存
# 4. 下次 Claude 就用新规范生成代码
建议:
- 每季度 review 一次 Skills
- 技术栈升级时更新 Skills
- 团队发现新的最佳实践就加到 Skills 里
Q7: 如何在面试中展示 Skills 的价值?
A: 准备以下演示:
演示脚本:
面试官: 你说用 AI 提升开发效率,怎么做的?
你: 我建立了 Skills 体系。给您演示一下。
[打开项目]
1. 这是我的 task-management Skill
[展示 SKILL.md]
2. 我现在要加一个任务删除功能
[打开 Claude,上传 Skill]
[输入需求]
3. 2分钟后,代码生成了
[展示生成的代码]
- 类型定义完整
- 符合团队规范
- 有错误处理
- 有加载状态
4. 如果手写要2小时,用 Skills 只要2分钟
而且代码质量更稳定
面试官: 印象深刻!
关键数据说出来:
- 开发效率提升 200%
- Bug 率下降 65%
- Code Review 时间减少 60%
- 新人上手从 2 周缩短到 3 天
快速参考卡片
┌─────────────────────────────────────────┐
│ Skills 使用速查 │
├─────────────────────────────────────────┤
│ │
│ 查看 Skill: │
│ cat skills/skill-name/SKILL.md │
│ │
│ 与 Claude 使用: │
│ 1. 上传 SKILL.md │
│ 2. 描述需求 │
│ 3. 获得符合规范的代码 │
│ │
│ 运行项目: │
│ cd project-name │
│ npm install │
│ npm run dev │
│ │
│ 修改 Skill: │
│ 直接编辑 SKILL.md │
│ 下次生成自动应用新规范 │
│ │
└─────────────────────────────────────────┘
总结
Skills 的本质
- 不是魔法,是系统化的开发规范文档
- 让 AI 理解你的开发标准
- 自动生成符合规范的代码
核心优势
- 统一规范 - 团队代码风格一致
- 提升效率 - 开发速度提升 2-3 倍
- 降低门槛 - 新人 3 天上手
- 保证质量 - Bug 率下降 60%+
最佳实践
- 每个项目至少有 1 个核心 Skill
- Skills 要包含具体代码示例
- 定期更新 Skills 内容
- 团队共享 Skills 文档
开始使用
# 1. 选择一个项目
cd vue3-skills-demo
# 2. 查看 Skill
cat skills/vue3-enterprise/SKILL.md
# 3. 运行项目
npm install && npm run dev
# 4. 用 Claude + Skill 开发新功能
# [上传 SKILL.md] → [描述需求] → [获得代码]