Files
2026-06-24 18:32:50 +08:00

148 lines
4.6 KiB
Markdown
Raw Permalink 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.
# rules-skills
本项目是一个 AI 编程辅助知识库,用于集中存放和管理常用的 **Rules(规则)****Skills(技能)**
---
## 目录
- [概念定义](#概念定义)
- [核心区别](#核心区别)
- [目录结构](#目录结构)
- [使用方法](#使用方法)
- [书写规范](#书写规范)
- [文件命名规范](#文件命名规范)
---
## 概念定义
### Rule(规则)
**Rule** 是全局性的约束条件,用于划定 AI 的行为边界和输出规范。它告诉 AI "应该怎么做" 以及 "不应该做什么"。
- **作用范围**:全局生效,影响 AI 的所有响应
- **核心目的**:确保 AI 输出符合团队规范、编码标准或项目约束
- **典型场景**
- 代码风格规范(如必须使用某种命名约定)
- 安全约束(如禁止输出敏感信息)
- 输出格式要求(如必须包含特定字段)
- 行为边界(如遇到不确定时必须询问而非猜测)
### Skill(技能)
**Skill** 是可复用的原子化能力单元,用于执行特定任务或完成特定目标。它告诉 AI "具体做什么" 以及 "如何一步步完成"。
- **作用范围**:按需调用,仅在触发时生效
- **核心目的**:封装可复用的任务执行流程,提高效率和一致性
- **典型场景**
- 代码审查流程
- 特定框架的项目初始化
- 标准化的文档生成
- 重复的代码重构模式
---
## 核心区别
| 维度 | Rule(规则) | Skill(技能) |
|------|-------------|--------------|
| **本质定位** | 约束与边界 | 能力与动作 |
| **作用时机** | 全局持续生效 | 按需触发执行 |
| **内容形式** | 原则性、声明式描述 | 步骤化、流程化指导 |
| **使用方式** | 自动应用,无需显式调用 | 需要显式触发或调用 |
| **生命周期** | 长期稳定,少变更 | 随需求迭代,可增减 |
| **典型内容** | "必须使用驼峰命名"、"禁止硬编码密钥" | "1. 分析代码 2. 找出问题 3. 给出建议" |
### 类比理解
- **Rule** 像是交通规则:红灯停、绿灯行,所有车辆(AI 输出)都必须遵守。
- **Skill** 像是驾驶技能:倒车入库、侧方停车,需要时按步骤执行。
---
## 目录结构
```
rules-skills/
├── rules/ # 存放所有 Rule 文件
│ ├── example-rule.md
│ └── ...
├── skills/ # 存放所有 Skill 文件
│ ├── example-skill.md
│ └── ...
└── README.md # 本文件
```
---
## 使用方法
### 使用 Rule
Rule 通常配置在 AI 工具的全局设置或项目配置中,自动生效:
1. 将需要的 Rule 文件内容复制到 AI 工具的规则配置区
2. 或在项目配置中引用 Rule 文件路径
3. AI 在处理所有请求时自动遵循这些规则
### 使用 Skill
Skill 需要显式触发,常见方式:
1. **命令触发**:在对话中直接引用 Skill 名称,如 `/skill-name``@skill-name`
2. **文件引用**:将 Skill 内容粘贴到对话中,让 AI 按步骤执行
3. **工具集成**:在支持 Skill 的 AI 平台中配置为可调用工具
---
## 书写规范
### Rule 书写规范
1. **明确性**:每条规则应清晰、无歧义,避免模糊表述
2. **可验证性**:规则应能被明确判断是否符合(是/否)
3. **必要性**:只写真正需要的规则,避免过度约束
4. **优先级**:如有多条规则冲突,应标明优先级
5. **格式统一**:建议使用 "必须..."、"禁止..."、"应该..." 等明确措辞
### Skill 书写规范
1. **步骤清晰**:将任务拆分为明确的步骤,每步一个动作
2. **输入输出定义**:明确 Skill 需要什么输入,产生什么输出
3. **可复用性**:设计时考虑通用性,避免过度绑定具体场景
4. **错误处理**:包含常见异常情况的应对方式
5. **示例说明**:提供 1-2 个使用示例,帮助理解
---
## 文件命名规范
### Rule 文件
- 使用 **kebab-case**(短横线连接)
- 格式:`{领域}-{具体规则}.md`
- 示例:
- `code-style-java.md`
- `security-sensitive-data.md`
- `response-format-json.md`
### Skill 文件
- 使用 **kebab-case**(短横线连接)
- 格式:`{动作}-{目标}.md``{领域}-{动作}.md`
- 示例:
- `review-code-java.md`
- `generate-api-doc.md`
- `refactor-extract-method.md`
---
## 贡献指南
1. 新增 Rule 或 Skill 前,先检查是否已有类似内容
2. 遵循上述书写规范和命名规范
3. 将文件放入对应的 `rules/``skills/` 目录
4. 保持内容简洁,聚焦单一职责
5. 定期回顾和维护,移除过时内容