# writeskillprompt

## 规则（Rules）

# 技能提示词编写规则

## 模板结构
1. **标题**：`# 技能名称`，一级标题
2. **步骤标题**：`## 执行步骤`
3. **子步骤标题**：`### 步骤N：标题`
4. **输出行**：`**输出**: 产出物说明`
5. **失败行**：`**失败**: 失败处理说明`

## 必备章节
6. **五要素缺一不可**：描述、步骤、输出、失败、禁止行为
7. **描述放在JSON中**：技能描述不写在 skill.md 中，写在 skill.json 的 description 字段

## 关于工具
8. **工具名不写在 skill.md 中**，而是写在 skill.json 的 tools 数组里，这样系统才能校验
9. **每步写明工具和参数**，否则不可执行

## 禁止"基本信息"章节
10. **skill.md 中禁止写"基本信息"章节**（如名称、描述、依赖工具等）
11. 所有元数据（name、title、description、tools、version）都放在 skill.json 中

## 表述
12. **禁止模糊表述**：不用"根据需要处理""按实际情况调整"等。用条件分支替代
13. **子步骤内不用过渡词**：编号已表顺序

## 字数
14. **500-1000字**：超1500加载不全，不足500内容不全
15. **超1500字拆分**：详细内容移入参考部分，主体用 `>` 引用

## MECE
16. **重叠>50%合并**，否则智能体选择混乱
17. **重叠20%-50%抽公共**，否则重复内容易漏改

## 示例
18. **示例完整可运行**，禁止"代码略""参考上文"

## 方法（Methods）

# 智能体提示词编写方法

**描述**: 按流程编写技能提示词，确保结构完整、可执行、字数合规

## 步骤

### 1. 参考同类
查看同分类技能提示词，了解写法和粒度。留意上下游依赖。

### 2. 分析需求
明确四要素：场景、输入、输出、依赖工具。

### 3. 编写本体
按模板逐章编写。

```
# 技能名称

## 执行步骤
### 步骤N：步骤标题
> 步骤标题 = 为什么要产出这个部分
1. 读取编写规范、方法、技巧
2. 保存成文本文件或其他文件

**输出**: 产出物说明
**失败**: 失败处理说明

## 输出成果
1. 成果1

## 禁止行为
- ❌ 禁止...
```

> ⚠️ 注意：
> 1. 工具名称不写在 skill.md 中，而是写在 skill.json 的 tools 数组里
> 2. skill.md 中不写"基本信息"章节，所有元数据在 skill.json 中

## 技巧（Tips）

# 技能提示词编写技巧

## 模板写法
1. **描述要精炼**：一句话说清"什么场景+解决什么问题"，50字内
2. **子步骤标题用动宾结构**：如"分析需求""编写本体""检查字数"
3. **子步骤内用动词开头**：如"列出""对比""统计"

## 参考
4. **只看同分类**：不同分类写法差异大
5. **关注上下游**：被引用时在输出中注明格式

## MECE
6. **重叠<20%注明分工**：在禁止行为中写"本技能不处理XXX，由【技能名】负责"
7. **功能矩阵辅助**：画技能×功能点矩阵，标记重叠区域

## 表述
8. **自问"我能照着做吗？"**：不能执行就是模糊表述
9. **用具体命名替代泛指**：如"保存为`{项目名}_检查报告_v{版本号}`"

## 瘦身
10. **超1500字逐步移出**：先移模板→再移清单→再移示例，达标即停
11. **优先删过渡词**："首先""然后""最后"在编号面前是冗余

## 常见问题

| 问题 | 原因 | 解决 |
|------|------|------|
| 步骤无法执行 | 缺工具或参数不明确 | 补充工具和参数 |
| 功能重叠 | 未做MECE检查 | 合并/拆分/注明分工 |
| 字数超标 | 未做字数检查 | 瘦身移出到参考部分 |
| 调用错技能 | 未注明分工边界 | 写明本技能不处理什么、由谁处理 |
