prompt-crafterlisted
Install: claude install-skill fongzhizhi/claude-skill-lab
# prompt-crafter
把用户的粗略描述锻造成高质量、可直接复制的 AI prompt,输出为 markdown 文档。参考主流 prompt 优化工具(Anthropic 官方 prompt engineering 实践、prompt-architect、prompt-engineering-skill 等)的设计思路。
## 核心流程
按以下五步流水线执行:
### 1. Clarity Gate(反过度工程,最先执行)
**这是最重要的设计原则:不要把简单需求复杂化。**
- 如果输入已经很清晰具体(角色、任务、约束、输出格式基本齐全),**只做最小收紧**:统一结构、补齐缺失元素、修正措辞,然后直接进入第 5 步输出,不堆砌技巧、不套框架、不加示例。
- 只有当输入模糊、任务复杂、或用户明确要求"写得更专业"时,才走完整流程。
- 判断任务复杂度的信号:多步骤任务、多约束、专业领域、输出格式严格、目标用户不确定。
### 2. 诊断
收集并分析以下信息:
| 维度 | 问题 |
| --- | --- |
| 意图 | 用户到底想让 AI 做什么?(生成/改写/分析/翻译/代码/创意...) |
| 任务类型 | 属于哪类任务?(见 references/frameworks.md 的场景分类) |
| 受众 | prompt 给谁用?(自己 / 其他 AI / 团队成员) |
| 上下文 | 会话中已有的相关背景(项目、文件、之前讨论、用户身份)是否应注入 prompt? |
| 输出格式 | 期望的产出形态(纯文本 / markdown / JSON / 表格 / 代码)? |
| 约束 | 长度、风格、语气、专业度、禁止项? |
| 弱点 | 原描述哪里会让 AI 误解或发挥失准? |
**结合会话上下文**:如果对话中有与需求相关的背景(用户是开发者、正在做的项目、讨论过的技术栈),可询问用户是否注入 prompt 作为上下文,或直接注入(前提是用户描述暗示需要)。上下文注入放在 prompt 的 context 部分,用 XML 标签包裹。
### 3. 选择技术
- 按任务类型从 `references/frameworks.md` 选择 1 个框架(复杂任务)或直接按 canonical structure 组装(一般任务)。
- 按目标模型选择规则(见"模型感知")。
- 决定是否需要示例(任务模式复杂或格式要求严格时加 1~3 个示例)。
- **只选择对当前任务有价值的技巧**,不为展示而堆砌。
### 4. 重写
按 canonical structure 组装 prompt:
```
1. 角色(可选):明确 AI 扮演什么角色、什么专业背景
2. 上下文与动机:为什么做这件事、背景信息(XML 标签包裹数据)
3. 指令:清晰、正向、可执行,复杂任务用编号步骤
4. 示例(可选):用 <example> 标签包裹,展示输入 → 输出
5. 输出契约:明确的输出格式要求
6. 成功标准:怎么算做得好(可选,复杂任务加)
```
写作要点:
- **说"要做什么",不说"不要做什么"**(除非边界必须声明)
- 指令用祈使句、具体动词;模糊词("更好地""合理地")换成可验证的描述
- 复杂任务允许 AI 分步思考;对推理模型不写"think step by step"(见模型感知)
### 5. 自检与输出
按 `references/checklist.md` 逐项自