10分钟
五、九大使用 Skills 技巧
5.1 模块化任务分解边界清晰,职责单一,一个 Skills 专注一件事
核心原则:
- 将复杂任务拆分成多个独立的 Skills ,每个 Skills 只负责一个明确的功能
- 避免创建"万能 Skills",保持单一职责原则,方便维护和组合使用,灵活应对不同场景
示例:
❌ 不好: 创建一个 "web-development" Skill 处理所有前端任务
✅ 好的: 分别创建 "react-component-builder"、"api-integration"、"ui-styling" 等专项 Skill5.2 提供清晰的触发条件 - 让 AI 知道何时使用
核心原则:
- 在 description 中清晰描述技能的适用场景、结合精确关键词和语义理解,通过触发条件激活相关 Skills ,避免误触发
- 使用"当用户提到 X 时"、"适用于 Y 场景"等明确表述
示例:
## 触发条件
- 用户提到"小红书"、"发布笔记"
- 需要生成符合小红书风格的内容
- 涉及小红书 API 调用或数据处理5.3 热数据前置 - 高频信息优先加载
核心原则:
- 识别 80% 场景下会用到的"热数据",放在核心指令层
- 20% 的边缘场景数据作为"冷数据",外部存储
示例:
## ? 热数据(核心指令层)
### 最常用的 3 个 API
```python
# 1. 发布笔记(使用率 85%)
create_note(title, content, images)
# 2. 上传图片(使用率 80%)
upload_image(file_path)
# 3. 获取笔记状态(使用率 60%)
get_note_status(note_id)
```
## ❄️ 冷数据(外部引用)
- 完整 API 列表(50+ 接口) → 存储在 `api_reference.md`
- 历史版本兼容性 → 存储在 `CHANGELOG.md`
- 高级配置参数 → 使用时通过 `read_file` 工具获取5.4 参考官方 Skills 模版案例,示例代码分级,借助 AI 快速生成
核心原则:
- 参考官方模版,在 Skills 中提供完整的代码示例和配置模板,核心层只提供 1-2 个最简示例(< 10 行代码)
- 完整教程、高级用法作为外部资源引用
示例:
## ? 快速开始(核心层)
```python
# 30 秒上手
from xhs import Client
client = Client(api_key="your_key")
client.create_note("标题", "内容", ["image.jpg"])
```
## ? 完整教程(外部资源)
- 高级配置 → `examples/advanced_usage.py`
- 批量操作 → `examples/batch_processing.py`
- 最佳实践 → `docs/best_practices.md`
(AI 会根据用户需求自动读取相应文件)5.5 三层信息架构 - 渐进式披露内容
核心原则:
- 将 Skills 内容分为三层:元数据(Meta)、核心指令(Instruction)、参考资源(Reference)
- 只在需要时逐层加载,避免一次性塞入所有信息
示例:
## ? 元数据层 (≤200 tokens, 始终加载)
**触发词:** 小红书、RED、发布笔记
**适用场景:** 内容发布、数据分析
**依赖:** Python 3.8+, requests
---
## ? 核心指令层 (触发时加载)
### 基础发布流程
1. 认证 → 2. 上传图片 → 3. 创建笔记
### 关键 API
- `create_note(title, content, images)`
- `upload_image(file_path)`
---
## ? 参考资源层 (按需加载)
- 完整 API 文档 → 使用 `web_fetch` 工具获取
- 错误码对照表 → 遇到错误时查询
- 高级配置示例 → 用户明确需要时提供5.6 组合优先 - 设计可被调用的 Skills
核心原则:
- Skills 应该像"乐高积木",可以被自由组合和复用
- 通过参数传递配置,而不是写死在代码中
- 提供稳定的接口(合约),确保向后兼容
示例:
# Brand Content Generator (正确示范)
## 触发条件
- 用户提到"生成品牌内容"、"营销文案"
- 其他 Skill 调用本 Skill 的内容生成能力
## 接口定义(合约)
### 输入参数
```typescript
interface BrandConfig {
// 必填参数
companyName: string; // 公司名称
topic: string; // 内容主题
// 可选参数(有默认值)
brandColor?: string; // 品牌色,默认 #000000
slogan?: string; // 品牌口号,默认为空
targetAudience?: string; // 目标用户,默认"大众"
contentStyle?: string; // 内容风格,默认"专业"
platform?: string; // 发布平台,默认"小红书"
}
```
### 输出格式
```typescript
interface GeneratedContent {
title: string; // 标题
content: string; // 正文
hashtags: string[]; // 话题标签
style: object; // 样式配置
metadata: object; // 元数据
}
```
## 使用示例
### 示例 1:直接调用(腾讯)
```python
result = generate_brand_content({
"companyName": "腾讯科技",
"topic": "AI 编程助手发布",
"brandColor": "#006EFF",
"slogan": "用户为本,科技向善",
"targetAudience": "开发者",
"contentStyle": "科技感"
})
```5.7 识别何时应该创建 Skills - 四大黄金信号
核心原则:
- 核心原则: 使用高频 × 任务复杂度 x 团队规模 = Skill 价值,例如:
- 同一任务频繁执行;
- Prompt 较长(超过 2000 字);
- 团队协作、知识共享;
- 任务包含脚本执行或模板生成。
- 例如一次性小任务,不建议使用
示例:
频率:每天 1 次,每周 5 次
重复内容:
1. 从数据库提取昨日数据
2. 计算 10+ 个指标(DAU、留存率、转化率...)
3. 生成 Excel 报表
4. 发送邮件给管理层
5. 上传到共享文件夹
每次手动输入:
"帮我生成昨日数据报表,需要包括:
- DAU、MAU、留存率
- 新增用户、活跃用户
- 转化漏斗各环节数据
- 同比、环比分析
- 生成 Excel 格式
- 发送给 boss@company.com
..."
(每次输入 200+ 字,耗时 2 分钟)5.8 动态上下文管理 - 用完即释放
核心原则:
- Skills 执行完任务后,主动提示 AI 释放详细文档
- 使用"会话状态标记"避免重复加载
示例:
# 上下文管理策略
## 任务开始
1. 加载核心指令层
2. 根据用户需求按需加载参考资源
## 任务完成
3. 提示 AI: "详细文档已使用完毕,可释放上下文"
4. 保留元数据层,以便后续快速重新激活
## 多轮对话优化
- 使用 `.skill_cache.json` 记录已加载的资源
- 避免同一会话中重复加载相同文档5.9 Skills 的测试与版本管理 - 像对待代码一样对待 Prompt
核心原则:
- Prompt = Code,必须可测试、可回滚
- Skills 是软件工程资产,不是一次性文档
- 必须有测试用例验证行为
- 必须有版本控制支持回滚
示例:
1. 明确的契约
输入: source_path , output_format , include_examples
输出: 成功/失败的标准 JSON 格式
错误码: PARSE_ERROR , UNSUPPORTED_FRAMEWORK
2. 完整的测试 (87% 覆盖率)
单元测试: 路由解析、请求体解析、错误处理
集成测试: 多文件项目、认证识别
E2E 测试: 真实 50+ 端点项目
3. 版本控制
遵循语义化版本管理
v1.0.0: 稳定版
v0.9.0-beta: 实验版,基础功能
清晰的升级路径和迁移指南
学员评价