组合写作指令
通过组合来自语气与语调、风格和格式轴上的分类法条目,来组合出一条写作指令。
使用方法
/writing-style-catalog:writing-instruction-builder [voice=<id>] [tone=<id>] [style=<id>] [format=<id>] [topic=<text>] [audience=<text>]
所有参数都是可选的。如果省略,该技能将选择合理的默认值。
参数
voice- 语气条目 ID(例如,pragmatic-architect、pastoral、columnist)tone- 语调条目 ID(例如,candid、warm、matter-of-fact)style- 风格条目 ID(例如,problem-solution、devotional-reflection)format- 格式条目 ID(例如,adr、blog-post-long-form、slack-message)topic- 要写的主题或题目(可选,用于生成更具体的组合指令)audience- 目标受众(可选,默认为一般受众)
技能功能
- 验证每个提供的条目 ID 是否存在于分类法目录中
- 从每个匹配的条目中读取
llm_instruction_phrasing - 按照固定的优先级顺序(先是语气,然后是语调,再是风格,最后是格式)组装成组合指令字符串
- 检查所选条目之间的关系字段,并对任何冲突发出警告(不阻止组合)
- 返回已组合好的指令,可直接粘贴到任何 LLM 提示中使用
实现
组合功能由本技能文件夹中的辅助脚本 scripts/build-instruction.py 实现。它从插件根目录的 taxonomy/ 目录读取目录,因此该目录会随插件一同发布。斜杠命令接受 key=value 参数;脚本本身接受 --flag value 参数。可以直接运行脚本以在无斜杠命令的情况下进行组合,例如:
python scripts/build-instruction.py --voice pragmatic-architect --tone candid --format adr
冲突感知的组合
构建器会读取每个所选条目的 avoid_with 和 pairs_well_with 关系并报告,因此组合是一种经过检查的保证,而非盲目拼接。规则(参见 ADR 0016):
- 冲突是对称的。 如果 任一 条目在
avoid_with中列出了另一个条目,则会标记一对冲突,因此警告永远不会取决于记录链接的是哪个作者。 - 仅警告,不阻止。 冲突对仍然可以组合(你可能想要一种刻意的张力);构建器会发出警告,并应用语气 -> 语调 -> 风格 -> 格式的优先级,使优先级较高的轴起主导作用。
- 肯定关系。
pairs_well_with匹配会作为确认性注释呈现。
组合后的指令打印到标准输出;冲突警告和肯定性注释打印到标准错误,因此标准输出保持干净,便于管道传输。例如,将 pragmatic-architect 语气与 reverent 语调(后者在 avoid_with 中列出了前者)配对,仍然会返回指令并打印:
warning: conflict - pragmatic-architect (voice) and reverent (tone) are marked avoid_with.
Composing anyway with voice -> tone -> style -> format precedence; expect tension.
示例
用 pragmatic-architect 语气和 candid 语调组合一份 ADR:
/writing-style-catalog:writing-instruction-builder voice=pragmatic-architect tone=candid format=adr
组合一份 pastoral 风格的灵修文章:
/writing-style-catalog:writing-instruction-builder voice=pastoral tone=reverent style=devotional-reflection format=devotional-entry topic="The discipline of rest"
可用条目
不传参数运行以查看按轴分组的全部可用条目。