关于 promptify
promptify 是将用户请求改写为清晰、具体提示词的 skill,供 AI 模型生成目标内容。它按请求完整度选择直接改写、标注假设、结构化澄清或拆分任务,并提供自检流程。
主要功能
- 01分析意图与缺失约束
- 02按请求完整度选择处理方式
- 03按四块模式组织提示词
- 04明确成功标准与输出格式
- 05交付前执行质量自检
适用场景
- 01将模糊请求转成明确提示词
- 02为复杂目标拆分多个提示词
- 03为缺少背景的请求标注假设
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ ravnhq/ ai-toolkit --skill promptify安装后在 Claude Code 中输入/promptify确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/prompt-blueprints.mdrules/_sections.mdclarity-be-specific.mdclarity-break-down-tasks.mdclarity-surface-missing-info.mdconstraints-state-assumptions.mdcontent-examples-only-when-needed.mdcontent-minimal-fluff.mdquality-self-check.mdstructure-four-block-pattern.mdstructure-include-success-criteria.mdstructure-provide-context.mdstructure-specify-format.md详细介绍
Promptify
将用户请求转换为详细、精确且针对 AI 模型优化的提示词。
核心任务
将用户请求改写为清晰、具体且完整的提示词,引导 AI 模型无歧义地生成所需输出。将输出视为规范性语言,而非随意的自然语言。
工作流
用户输入规则: 每当此技能需要用户做出决定、表达偏好或补充说明时,都必须使用
AskUserQuestion工具,并提供结构化选项——绝不能通过自由文本提问。此规则适用于步骤 2 中的澄清问题流程和步骤 7 中的交付方式选择。
1. 分析
仔细阅读用户请求。识别以下内容:
- 核心意图和期望结果
- 缺失的背景信息(受众、领域、环境)
- 未明确说明的限制条件(长度、语气、格式)
- 预期输出格式
2. 决定输出模式
根据分析结果选择处理方式:
- 请求清晰且完整 — 直接生成改写后的提示词
- 存在 1-2 个次要缺漏 — 使用标记为
[Assumption: X]的占位符补充,并继续处理 - 存在重大缺漏(未知受众、范围或技术栈)— 通过
AskUserQuestion工具提问(使用结构化选项,而非自由文本),然后再改写 - 存在多个不同目标 — 拆分为多个提示词
3. 组织结构
使用四部分模式组织提示词。请参阅 rules/structure-four-block-pattern.md。
- 背景 - 背景信息、受众、领域
- 任务 - AI 必须执行的工作
- 限制条件 - 边界、规则、限制
- 输出格式 - 回复的确切结构
并非每个提示词都需要包含全部四部分。仅使用有助于提升清晰度的部分。对于常见提示词类型,请从 references/prompt-blueprints.md 中的模板开始。
4. 起草
应用 rules/ 中的规则,完善提示词:
- 将模糊措辞替换为可衡量的要求
- 将缺失信息明确列为占位符或问题(请参阅
rules/clarity-surface-missing-info.md) - 加入成功标准,定义优秀答案必须包含或避免的内容
- 明确标记所有假设
- 仅在期望输出确实存在歧义时加入示例
- 指定确切格式(标题、项目符号样式、长度)
- 将复杂任务拆分为编号的连续步骤
5. 自检
交付前,根据规则检查清单检查草稿(请参阅 rules/quality-self-check.md):
- 不含模糊限定词(be-specific)
- 明确列出缺失信息(surface-missing-info)
- 定义成功标准(include-success-criteria)
- 标记假设(state-assumptions)
- 指定格式(specify-format)
- 仅在存在歧义时使用示例(examples-only-when-needed)
- 不含填充内容或客套话(minimal-fluff)
如果任何一项未通过,修正问题并重新检查。清单全部通过或完成两轮完善后(以先发生者为准)停止。
6. 输出
以清晰标注的 Markdown 代码块向用户提供最终提示词。除提示词本身外,不添加任何说明。
7. 交付
提供提示词后,使用 AskUserQuestion 工具(不要以文字列出问题)询问用户接下来如何处理,并提供以下选项:
- 立即执行 — 将生成的提示词作为新的指令,并根据当前对话上下文继续处理。运用常规判断决定最佳后续操作:复杂任务先制定计划,简单任务直接实施,或在需要时提出澄清问题。
- 保存到文件 — 将提示词写入当前工作目录中的 Markdown 文件(例如
promptify-<timestamp>.md,其中<timestamp>为 epoch 秒数)。告知用户文件路径。
写作指南
结构
- 先用一个简短段落概述整体任务
- 仅在适当的位置使用标题(##、###、####)划分章节(不要使用一级标题)
- 灵活使用 粗体、斜体、项目符号(
-)和编号列表(1.、2.)来组织内容 - 不要使用表情符号
- 项目符号一律使用
-,不要使用*
语言
- 使用朴素、直接、准确的语言
- 避免修饰、客套或刻意的文采
- 将语言视为规范或代码,而非自然语言
- 所有指令都要清晰明确
内容
- 保持提示词简洁:长度为原始请求的 0.75 到 1.5 倍
- 不要添加或编造输入中没有的信息
- 不要加入不必要的复杂内容或冗长表述
示例
正向触发
用户:“将此内容转成提示词:根据我们的调查结果文档审查所有技能。”
预期行为:运用 promptify 指南,遵循其工作流程,并返回可执行的内容。
非触发
用户:“生成 JSON 格式的模拟客户数据。”
预期行为:不要优先使用 promptify;选择更相关的技能,或直接处理请求。
故障排除
技能未触发
- 错误:预期会选择该技能,但实际没有。
- 原因:请求措辞没有明确匹配技能描述中的触发条件。
- 解决方法:使用描述中的明确领域或任务关键词重新表述,然后重试。
指南与其他技能冲突
- 错误:同一任务中多项技能的指令发生冲突。
- 原因:加载的技能存在范围重叠。
- 解决方法:明确指出当前步骤以哪项技能为准,并优先采用其工作流程。
输出过于笼统
- 错误:结果缺少具体、可执行的细节。
- 原因:任务输入没有提供背景、约束、目标格式或成功标准。
- 解决方法:补充具体约束(环境、范围、格式、成功标准),然后重新运行。