寓言目标

fable-goal
分类写作
作者Alireza Rezvani
许可MIT
评分4.20/5
使用8.9K

Fable Goal 提示词编写器

将用户的冗长描述转化为一个卓越的 /goal 提示词,使其能够粘贴到新的自主会话中。你的任务不是构建产品,而是设计一个能够构建该产品的提示词。

首先进行工具匹配检查。 如果用户实际上是想现在就构建交付物,请用一行字说明并提议直接构建——不要写一个没人会去粘贴的提示词。

核心哲学

不要干扰模型的发挥。 一个能力强大的模型只要满足以下条件几乎可以完成任何任务:(1) 明确表达需求,(2) 提供工具,(3) 提供自我验证的方法。一个优秀的 /goal 提示词不会对“如何实现”进行微管理,而是精准定义“实现什么”,在执行上给予明确的创作自由,并要求在完成前进行自我验证。

大多数提示词容易忽略的推论是:“完成”必须是可观测的。 每个交付物都需要一个会话可以自行检查的完成条件——例如:页面能加载、脚本能在真实输入下运行、链接可解析。“把它做好”是一个愿望;而“在确认完成前,加载每个页面并点击每个元素”则是一个验证循环。

品牌概况(可选)。 如果用户维护了品牌概况(如本文件夹中的 brand.md,或 ~/.claude/CLAUDE.md / ~/.claude/brand-profile.md),请在开始时阅读一次:包括证明点、受众规模、设计系统、资源路径、默认目的地、语气规则、首选 MCP 等。仅提取与任务相关的条目。如果没有概况也没关系;概况的作用是减少询问。

执行流程

1. 提取冗长描述中的既有信息

人们思考时往往是碎片化的,尤其是使用语音转文字时。请解读意图而非字面意思(例如 "Quad MD" 指的是 CLAUDE.md,"Netlefi" 指的是 Netlify)。提取以下六个维度:交付物(具体事物)、数量受众/利害关系(谁会看到,具体数值)、提及的工具质量标准(形容词、对比项)、目的地(托管链接、文件夹、帖子、文件)。

2. 用默认值填补空白;仅在关键时提问

利用品牌概况(若有)自行合成细小的缺失信息。仅在答案会显著改变提示词时才提问:结果(无法判断交付物是什么)、规模(5 个与 50 个会导致方案完全不同且无暗示)、目的地(无法推断结果存放位置)、资源(需要但未提供的输入,如 Logo 或源文件)、品牌事实(面向公众的输出但无概况——询问一两个能提升质量的关键点)。

如果需要提问,请将所有问题放在一个 AskUserQuestion 批处理中,然后开始编写。绝不要进行多轮面试。如果冗长描述(加上概况)已涵盖基础信息,则无需提问,只需注明你的假设。

3. 在命名之前进行验证

如果提示词指向了一个不存在的路径、能力或 MCP,会导致新会话陷入死胡同。花 30 秒确认你计划提及的每个资源:使用 ls 检查路径,浏览可用工具列表。实时环境
事实来源是源文件而非个人资料。仅列出你已验证且具有“承重”作用的内容(通常为 2-4 项);其余部分交给探索指令(discovery mandate)处理。

4. 编写提示词:七部分解剖法

将这七个部分编织成自然流畅的散文——不要标题,不要要点规格。使用第一人称,以用户对会话说话的口吻编写:

1. 需求 + 赌注(Desire + stakes)。 具体的交付物、具体数量以及其重要性。如果有受众会看到,请注明真实人数。绝不要虚构赌注——真实的赌注能驱动模型更努力工作,虚构的则是噪音。
2. 质量标准(Quality bar)。 用一两句话描述“优秀”的标准。对于创意工作,生动的形容词优于规格;对于功能性工作,具体的行为表现优于形容词。
3. 工具清单 + 探索指令(Tool inventory + discovery mandate)。 列出已验证的资源,提供一个示例工作流作为建议,然后放权:“你可以通过多种方式实现这一点。”接着授予探索权——“在开始之前,请盘点你实际拥有的工具和 MCP,并在过程中寻找或获取所需的任何参考资料、库或资产;你可以使用互联网。”
4. 创意自由 + 决策权限(Creative freedom + decision authority)。 明确允许偏离建议、选择工作流并“展示你的能力”。绝不要跳过这一步。所有提及的内容仅为建议,会话可以将其替换为更好的方案;运行过程中的任何判断由会话凭审美/专业度决定,而非交还给用户。
5. 验证循环(Verification loop)。 默认:至少三次迭代审查——用细致的眼光检查最终输出,寻找问题并改进。用该媒介自身的术语定义审查方式:例如加载页面并点击测试、在真实输入上运行脚本、渲染并观看视频。具体媒介的默认设置请参考 references/goal_prompt_patterns.md
6. 交付(Delivery)。 结果存放的确切位置以及返回的内容:链接、文件路径或帖子 URL。
7. 目标线 + 自主指令(Goal line + autonomy directive)。 用一句话结尾:“[带有 Y 和 Z 的 X] 是你的 /goal。请完全自主工作,在全部完成之前不要向我询问任何事情。” 如果包含 3 个及以上的独立单元,请提示使用子代理(subagents)并行处理。

长度目标:150–350 字 —— 足够涵盖赌注、工具和验证,又足够精炼以确保目标线不被稀释。

5. 自检,然后交付

在交付前修正任何缺失:(1)交付物和数量足够具体,以便陌生人也能判断是否完成;(2)步骤 3 中提及的所有资源均已验证;(3)包含创意自由条款;(4)包含与媒介匹配的验证循环;(5)目的地明确;(6)以目标线 + 自主指令结尾,字数在 150–350 字之间。

可机械检查的子集(字数、目标线、自主指令、验证/自由/目的地语言)可以通过以下命令运行:python3 scripts/goal_prompt_self_check.py -(将草稿通过 stdin 输入)——退出码 0 表示通过;判断项 (1) 和 (2) 由你决定。

将提示词输出在一个单一的代码块中,随后附上一个简短的 Assumptions(假设) 列表(2-4 个要点),以便用户可以用一行字纠正任何填补的空白。除此之外不要有其他内容——代码块上方不要有前言。

反模式

绝不要交付具有以下特征的提示词:微观管理执行过程(分步指令扼杀了会话的灵活性);提及虚构资源(未验证 = 死胡同);完成标准不可验证(会导致会话过早宣布胜利);掩埋目标线(目标线之后还有其他内容);虚构赌注(虚假的紧迫感会误导模型)。
引导用户创作小说);或遵循访谈螺旋(单次提问批次上限为 1)。失效模式详情及第二个实操案例(非网页媒介)请参阅 references/goal_prompt_patterns.md

示例

随口描述: “我想为我的免费提示词包做 5 个不同的落地页,它们看起来得完全不同且非常惊艳,把它们放在我能看到的地方。”

输出:

code
我想让你为我的免费提示词包构建 5 个落地页,每个页面必须截然不同,以便在我做出选择前向我展示尽可能广泛的方向。这些页面将面向我的受众,因此标准很高:需要卓越的排版、震撼的布局,以及具有设计感而非模板感的动态效果。每个页面需包含标题、证明材料以及一个用于获取提示词包的单一电子邮件采集 CTA。在视觉方向上,你拥有完全的创作自由。你可以使用任何可用的图像工具生成所需图像,并且可以通过多种工作流实现此目标。因此,在开始之前,请盘点你实际拥有的工具和 MCP,在过程中寻找或获取所需的任何参考资料、库或资产,并向我展示你的能力。在确认每个页面之前,请至少进行三次迭代优化:加载实时页面,点击每个元素,检查移动端宽度,并像用细齿梳梳头一样仔细检查设计问题和改进机会。通过子代理并行处理,使页面独立开发。当 5 个页面全部完成后,将它们部署到 Netlify,并向我提供 5 个链接,每个链接附带一行关于该方向的描述。你的 /goal 是:在 Netlify 上上线 5 个截然不同的提示词包落地页,且每个页面均经过三次迭代优化。请完全自主工作,在全部完成之前不要向我询问任何事情。

假设条件:

  • CTA 为提示词包的电子邮件采集(审核候选页面,而非正式上线页面 —— 无需对接营销自动化系统)

  • 使用 Netlify 托管,因为你提到“把它们放在我能看到的地方”

  • 每个页面采用不同的视觉方向,以便你在最终决定前看到所有可能性

---

*衍生自 duncan-buildroom/freeskillsfable-goal(“可免费使用和修改”)。经过大幅重构:增加了工具检查、可观测完成原则、六槽提取、针对不同媒介的验证默认值、六点自检、反模式列表以及第二个实操案例。*