playbook/antigravity-awesome-skills/docs_zh-CN/skill-anatomy.md

532 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 技能结构指南
## 什么是技能?
技能是专门的教学文档指导AI助手如Claude Code、Gemini、Cursor如何完美执行特定任务。
每个技能都是一个自包含的markdown文件包含AI理解上下文所需的所有必要信息、分步指导和相关代码示例。
---
## 技能文件结构
### 目录结构
```
skills/
├── skill-name/ # 技能目录
│ ├── SKILL.md # 主要技能文件(必需)
│ ├── examples/ # 示例目录(可选)
│ │ ├── basic-usage.md # 基础使用示例
│ │ └── advanced-scenarios.md # 高级场景示例
│ ├── resources/ # 资源目录(可选)
│ │ ├── templates/ # 代码模板
│ │ ├── checklists/ # 检查清单
│ │ └── references/ # 参考资料
│ └── scripts/ # 辅助脚本(可选)
│ ├── validate.py # 验证脚本
│ └── helper.sh # 辅助脚本
```
### 文件命名规则
- **目录名**:小写字母,连字符分隔(如:`react-patterns`
- **主文件**:总是命名为 `SKILL.md`(大写)
- **示例文件**:使用有意义的名称,`.md` 扩展名
- **脚本文件**:使用适合文件扩展名(`.py`、`.sh`、`.js`
---
## SKILL.md 文件格式
### 1. 前置内容YAML Frontmatter
```yaml
---
name: skill-name # 必需:技能名称
description: "简要技能描述" # 必需一句话描述200字符以内
category: development # 必需:技能分类
risk: safe # 必需风险级别safe/medium/high
source: community # 必需来源community/official
date_added: "2024-01-15" # 必需添加日期YYYY-MM-DD格式
author: your-username # 可选:作者
tags: [react, frontend, patterns] # 可选标签列表最多5个
tools: [claude, cursor, gemini] # 可选:支持工具列表
---
```
**字段说明:**
| 字段 | 必需 | 格式 | 说明 |
|------|------|------|------|
| `name` | ✅ | 小写+连字符 | 技能标识符,用于`@skill-name`调用 |
| `description` | ✅ | 引号字符串 | 简洁描述,说明技能用途 |
| `category` | ✅ | 小写字符串 | 技能分类(见分类列表) |
| `risk` | ✅ | safe/medium/high | 风险级别,影响使用警告 |
| `source` | ✅ | community/official | 来源标识,官方或社区 |
| `date_added` | ✅ | YYYY-MM-DD | 技能添加日期 |
| `author` | ❌ | 字符串 | 贡献者用户名 |
| `tags` | ❌ | 数组 | 搜索和分类标签 |
| `tools` | ❌ | 数组 | 支持的AI工具列表 |
### 2. 技能内容结构
```markdown
# 技能标题
## 概述
2-4句话解释这个技能的作用和为什么存在。
## 何时使用此技能
- 当您需要[具体场景1]时使用
- 在处理[具体场景2]时使用
- 当用户询问[具体场景3]时使用
## 工作原理
### 步骤1[操作名称]
详细的操作说明...
### 步骤2[操作名称]
更多的操作说明...
## 示例
### 示例1[用例标题]
```javascript
// 代码示例或配置
```
### 示例2[用例标题]
```python
# Python示例代码
```
## 最佳实践
- 实践建议1
- 实践建议2
- 避免的陷阱
## 相关技能
- `@related-skill-1` - 关系说明
- `@related-skill-2` - 关系说明
## 常见问题
**Q: 常见问题?**
A: 详细回答...
## 限制和注意事项
- 技能限制1
- 使用注意事项1
```
---
## 技能分类系统
### 开发类Development
**前端开发Frontend**
- `frontend` - 通用前端开发
- `react` - React框架
- `vue` - Vue框架
- `angular` - Angular框架
- `css` - CSS和样式
- `javascript` - JavaScript语言
**后端开发Backend**
- `backend` - 通用后端开发
- `api` - API设计和开发
- `database` - 数据库相关
- `microservices` - 微服务架构
- `nodejs` - Node.js开发
- `python` - Python后端
**移动开发Mobile**
- `mobile` - 通用移动开发
- `react-native` - React Native
- `flutter` - Flutter框架
- `ios` - iOS开发
- `android` - Android开发
**测试Testing**
- `testing` - 通用测试
- `unit-testing` - 单元测试
- `e2e-testing` - 端到端测试
- `performance-testing` - 性能测试
- `security-testing` - 安全测试
### DevOps和基础设施DevOps & Infrastructure
**部署Deployment**
- `deployment` - 通用部署
- `docker` - 容器化
- `kubernetes` - 容器编排
- `ci-cd` - 持续集成/部署
- `cloud` - 云服务
**监控Monitoring**
- `monitoring` - 系统监控
- `logging` - 日志管理
- `observability` - 可观测性
- `performance` - 性能优化
### 安全类Security
**安全审计Security Audit**
- `security` - 通用安全
- `pen-testing` - 渗透测试
- `vulnerability` - 漏洞扫描
- `compliance` - 合规检查
**安全实施Security Implementation**
- `authentication` - 身份认证
- `authorization` - 授权控制
- `encryption` - 加密技术
- `secure-coding` - 安全编码
### AI和机器学习AI & Machine Learning
**AI开发AI Development**
- `ai` - 通用AI开发
- `llm` - 大语言模型
- `prompt-engineering` - 提示工程
- `ai-safety` - AI安全和伦理
**机器学习Machine Learning**
- `machine-learning` - 机器学习
- `data-science` - 数据科学
- `ml-ops` - 机器学习运维
- `model-training` - 模型训练
### 业务和产品Business & Product
**产品管理Product Management**
- `product` - 产品管理
- `planning` - 项目规划
- `requirements` - 需求分析
- `user-research` - 用户研究
**商业分析Business Analysis**
- `analytics` - 数据分析
- `metrics` - 指标分析
- `reporting` - 报告生成
- `business-intelligence` - 商业智能
### 工具和效率Tools & Productivity
**开发工具Dev Tools**
- `git` - 版本控制
- `editor` - 编辑器配置
- `terminal` - 终端和CLI
- `productivity` - 生产力工具
**文档Documentation**
- `documentation` - 文档编写
- `technical-writing` - 技术写作
- `api-docs` - API文档
- `tutorials` - 教程编写
---
## 质量标准
### 内容质量
**✅ 必须满足:**
- 描述清晰准确,无歧义
- 示例可运行,代码正确
- 步骤完整,逻辑清晰
- 涵盖常见使用场景
**🎯 鼓励添加:**
- 高级用法示例
- 常见错误处理
- 性能优化建议
- 最佳实践总结
### 格式规范
**✅ 必须遵守:**
- 前置内容完整且有效
- 正确的分类和标签
- 一致的代码块格式
- 正确的技能引用(`@skill-name`
**🎯 推荐实践:**
- 添加目录结构说明
- 包含相关技能链接
- 提供故障排除指南
- 添加性能指标
### 技术质量
**✅ 安全要求:**
- 代码安全,无已知漏洞
- 输入验证完整
- 错误处理适当
- 不包含敏感信息
**✅ 性能要求:**
- 算法高效,复杂度合理
- 资源使用优化
- 内存泄漏防护
- 扩展性考虑
---
## 技能示例
### 简单技能示例
```yaml
---
name: git-commit-check
description: "检查Git提交消息格式和内容质量"
category: git
risk: safe
source: community
date_added: "2024-01-15"
tags: [git, commit, quality]
tools: [claude, cursor, gemini]
---
```
```markdown
# Git提交检查
## 概述
此技能用于检查Git提交消息的格式规范和内容质量确保提交历史清晰可读。
## 何时使用此技能
- 当您需要验证提交消息格式时使用
- 在提交前进行质量检查时使用
- 当团队需要统一提交标准时使用
## 工作原理
### 步骤1格式检查
验证提交消息是否遵循规范格式:
- 类型标签feat/fix/docs等
- 空行分隔
- 简洁标题50字符内
- 详细描述(如需要)
### 步骤2内容检查
检查提交内容的质量:
- 是否包含必要信息
- 语法是否正确
- 是否有拼写错误
## 示例
### 示例1标准提交
```
feat: 添加用户认证功能
- 实现JWT认证
- 添加登录/登出页面
- 更新用户模型
```
### 示例2修复提交
```
fix: 修复登录页面重定向问题
解决用户登录后不能正确跳转到首页的bug
```
## 最佳实践
- 使用约定式提交格式
- 保持消息简洁明了
- 包含相关Issue编号
- 避免敏感信息泄露
```
### 复杂技能示例
```yaml
---
name: react-performance-optimization
description: "React应用性能优化和调试"
category: frontend
risk: medium
source: community
date_added: "2024-01-15"
tags: [react, performance, optimization]
tools: [claude, cursor, gemini]
---
```
```markdown
# React性能优化
## 概述
此技能提供React应用性能优化的系统性方法包括识别瓶颈、应用优化策略和验证改进效果。
## 何时使用此技能
- 当React应用加载缓慢时使用
- 在用户体验需要优化时使用
- 当进行性能评估时使用
- 当准备生产部署时使用
## 工作原理
### 步骤1性能评估
识别性能瓶颈:
- 使用React DevTools Profiler
- 分析组件渲染时间
- 检查内存使用情况
- 识别重渲染问题
### 步骤2优化策略
应用优化技术:
- 组件懒加载
- React.memo优化
- 状态结构优化
- 副作用优化
### 步骤3验证改进
确认优化效果:
- 重新运行性能测试
- 对比优化前后指标
- 确保功能完整性
- 监控生产表现
## 示例
### 示例1组件优化
```javascript
// 优化前
function TodoList({ todos, onToggle }) {
return (
<div>
{todos.map(todo => (
<TodoItem
key={todo.id}
todo={todo}
onToggle={onToggle}
/>
))}
</div>
)
}
// 优化后
const TodoItem = React.memo(({ todo, onToggle }) => {
return <div onClick={() => onToggle(todo.id)}>{todo.text}</div>
})
function TodoList({ todos, onToggle }) {
const memoizedToggle = useCallback(onToggle, [])
return (
<div>
{todos.map(todo => (
<TodoItem
key={todo.id}
todo={todo}
onToggle={memoizedToggle}
/>
))}
</div>
)
}
```
### 示例2路由懒加载
```javascript
// 优化前
import Home from './pages/Home'
import Profile from './pages/Profile'
import Settings from './pages/Settings'
// 优化后
const Home = lazy(() => import('./pages/Home'))
const Profile = lazy(() => import('./pages/Profile'))
const Settings = lazy(() => import('./pages/Settings'))
function App() {
return (
<Router>
<Suspense fallback={<div>Loading...</div>}>
<Route path="/" element={<Home />} />
<Route path="/profile" element={<Profile />} />
<Route path="/settings" element={<Settings />} />
</Suspense>
</Router>
)
}
```
## 最佳实践
- 先测量,再优化
- 专注于用户感知的性能
- 避免过早优化
- 持续监控性能指标
- 平衡优化和代码可维护性
```
---
## 贡献指南
### 创建新技能
1. **选择分类**:参考分类系统确定合适分类
2. **创建目录**:遵循命名规范创建技能目录
3. **编写内容**按照格式要求编写SKILL.md
4. **添加示例**:提供实际可运行的示例代码
5. **验证质量**:运行质量检查工具
### 验证命令
```bash
# 验证技能格式
npm run validate:skill skills/your-skill-name/
# 验证前置内容
npm run validate:frontmatter skills/your-skill-name/
# 生成技能索引
npm run index
```
### 提交流程
1. Fork仓库
2. 创建特性分支
3. 添加技能文件
4. 运行验证测试
5. 提交Pull Request
---
## 质量保证
### 自动化检查
- **格式验证**:确保前置内容格式正确
- **链接检查**:验证内部链接有效
- **分类验证**:检查分类和标签合规
- **重复检测**:避免技能重复
### 人工审核
- **内容准确性**:确保技术信息正确
- **实用性评估**:评估技能实用价值
- **用户体验**:确保易于理解和使用
- **社区价值**:评估对社区的贡献
### 持续改进
- **用户反馈**:收集使用反馈
- **性能监控**:监控技能使用效果
- **定期更新**:根据技术发展更新内容
- **质量提升**:持续改进技能质量
---
这个结构指南确保了技能的一致性、可维护性和高质量。遵循这些指导方针您可以创建出对AI开发社区有价值的实用技能。
如果您有任何疑问或需要指导,请随时联系维护团队。🚀