关于 skill-creation
面向 Agent Skill 作者的编写指南,介绍单文件独立型与多主题路由型两种结构,并规定文件组织、元数据和内容约束。
主要功能
- 01独立型与路由型结构
- 02结构选择判断规则
- 03SKILL.md 模板
- 04前置元数据要求
- 05正文编写约束
适用场景
- 01确定新 Skill 的结构
- 02按子主题组织指令
- 03检查 Skill 元数据与正文
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ naykel76/ skills-and-guidelines --skill skill-creation安装后在 Claude Code 中输入/skill-creation确认已加载。
详细介绍
两种模式——任选其一
技能要么是独立技能(Standalone Skill),要么是路由技能(Routed Skill)。两者互斥,切勿混用。
**判断规则:**此技能是否涵盖多个不同的子主题,且每个子主题都需要自己的指令文件?如果是 → 路由技能。如果不是 → 独立技能。
不确定时,先从独立技能开始。
模式 1:独立技能
一个 SKILL.md 文件。不包含 rules/ 目录。
适用于涵盖单一聚焦主题、可放入一个文件的技能。
结构
skill-name/
└── SKILL.md
模板
---
name: skill-name
description: >-
Use this skill whenever [condition]. Do not wait for an explicit
request — if [condition], this skill applies.
---
## Rules
- Directive one
- Directive two
## Workflow
1. Step one
2. Step two
模式 2:路由技能
一个用作路由器的 SKILL.md,以及一个 rules/ 目录,其中每个子主题对应一个文件。
适用于涵盖多个不同子主题的技能,这些子主题放在一个文件中会使文件臃肿,而且所有子主题具有相同的触发条件。
结构
skill-name/
├── SKILL.md
└── rules/
├── topic-one.md
└── topic-two.md
rules/ 目录规则
- 每个文件涵盖一个聚焦的子主题
- 文件名使用与子主题对应的 kebab-case 格式(例如
file-uploads.md) - 默认不要加载所有规则文件——Agent 根据当前任务只读取相关文件
- 规则文件不存在时,不要引用它;或在同一次更改中创建该文件
模板
---
name: skill-name
description: >-
Use this skill whenever [condition]. Do not wait for an explicit
request — if [condition], this skill applies.
---
# Skill Title
One-line context for what this skill governs.
## Non-Negotiable Constraint
State the single most important rule here — the one that must be followed
regardless of which rule file is read. Omit this section if no such rule exists.
## Rule Files
Read the relevant rule file before proceeding. Summaries below are for
navigation only — the rule files take precedence.
### Topic One → `rules/topic-one.md`
- Key directive
- Key directive
### Topic Two → `rules/topic-two.md`
- Key directive
- Key directive
Frontmatter(两种模式通用)
name——使用 kebab-case 格式,并与文件夹名称一致description——触发机制,而非摘要- 始终使用 YAML 块标量(
>-)——切勿写成内联字符串 - 按照“在 [条件] 时使用此技能……”的格式编写
- 以“不要等待明确请求——如果满足 [条件],则适用此技能。”结尾;除非此技能仅在被明确触发时才有效
- 不要包含实现说明或流程指导——仅写触发条件
- 始终使用 YAML 块标量(
正文(两种模式通用)
-
使用尽可能少的指令,确保任务可靠完成。不要添加推测性的边缘情况,也不要重复继承的指导中已有的规则。
-
更新时,先修改现有措辞,再添加章节或流程。
-
保存前,删除所有不会改变 Agent 应采取行动的内容。
-
编写指令,而非描述——告诉 Agent 要做什么,而不是介绍技能的内容
-
在
SKILL.md中保留触发条件和不可妥协的约束 -
如果引用外部文档,请明确写出其路径
评论
支持 Markdown