SuperAPI AI 工具集

write-a-skill

智能体与模型

查看项目

更新于 10-16 07:46

技能介绍

用途

write-a-skill 用于编写单个新技能:产出一个 SKILL.md,以及可选的捆绑参考资料(references)和脚本(scripts),遵循 Anthropic 的渐进式披露约定。它面向的是在已有技能树中为某一项能力撰写技能文档的场景。

范围界定

  • write-a-skill:在已有技能树内,为一项能力编写一个 SKILL.md。
  • Repo onboarding:为整个仓库做入门引导,搭建 AGENTS.md 和项目约定。
  • skill-creator:skill-creator:本技能所应用的上游方法论;如需权威契约,请查阅它。

编写循环

  1. 收集需求——在起草前先明确决策:
    • 能力边界:该技能覆盖什么任务,明确不覆盖什么?
    • 触发短语:哪些用户短语或上下文应加载它?
    • 确定性:是否有操作足够确定,可以放进脚本,而不是每次重新生成文字?
    • 捆绑参考资料:要包含哪些文档、模式或示例?
    • 静态保证上下文:语言家族(Rust、TypeScript、Python、Kotlin、Go、OCaml 等)——影响测试章程范围。
  2. 起草 SKILL.md——按下方契约撰写。正文保持简洁、面向决策。
  3. 与用户评审——呈现草稿,暴露有歧义的决策,并精炼。
  4. 验证——运行任何捆绑的 evals.json 用例;有针对性地重读 SKILL.md,确认描述触发条件和正文一致。

目录布局

skill-name/
  SKILL.md              # 契约;必需
  references/           # 按需加载的更深层文档
    REFERENCE.md
    EXAMPLES.md
  scripts/              # 确定性辅助脚本
    helper.{ts,py,sh}
  evals.json            # 触发 / 行为评估

SKILL.md 中的引用路径使用 references/X.md,绝不使用 ./X.md。

SKILL.md 契约

---
name: skill-name
description: <what the skill does>. <when to trigger it — concrete phrases or contexts>.
---

<One-line imperative summary of the skill's posture.>

## <Section> — terse decision-oriented prose

<Body in imperative voice with brief why. ≤200 lines.>

Frontmatter 规则:

  • name——kebab-case,与目录一致。
  • description——强触发:说明做什么以及何时触发。最多 1024 字符。第三人称。第一句陈述能力;第二句陈述触发条件。
  • disable-model-invocation: true——若源中存在则原样保留;不要编造。

三级渐进式披露

  1. 描述(frontmatter)——harness 用来决定是否加载的唯一文本。触发条件必须具体。
  2. SKILL.md 正文——被选中后加载一次。保持 ≤200 行;把深度内容下放到 references。
  3. references/ 和 scripts/——当正文链接到它们时按需加载。

强触发描述示例

  • 弱:Helps with documents.
  • 强:Extract text and tables from PDF files, fill forms, merge documents. Trigger when user mentions PDFs, forms, or document extraction.

脚本与文字

当操作是确定性的、否则每次调用都会重新生成相同代码时,添加脚本。当工作是模型每次都必须重新进行的上下文推理时,跳过脚本。

语气与禁用工具

使用祈使语气或第三人称。不要用“you/your”称呼对象。英语要求:语法正确的英语,保留冠词。禁用工具不得出现:优先使用 bat -P -p -n、fd、git grep、ast-grep、srgn、hyperfine、difft、eza、rip,而非其被禁用的对应工具。