关于 write-skill
用于设计精简、面向具体任务的 Agent 技能,涵盖范围澄清、SKILL.md 编写与检查,适合希望保持调用说明和操作细节简洁的技能作者。
主要功能
- 01澄清能力、触发条件、边界与工具需求
- 02创建 kebab-case 名称和操作卡式 SKILL.md
- 03仅为重复的确定性工作添加辅助文件
- 04检查描述、长度、指针和目录更新
适用场景
- 01根据需求起草 Agent 技能
- 02精简过长的 SKILL.md
- 03检查技能触发条件与使用边界
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ wilbeibi/ wilbeibi-skills --skill write-skill安装后在 Claude Code 中输入/write-skill确认已加载。
详细介绍
write-skill
在 skills/<name>/ 下创建精简的技能,仅在调用时加载所需行为。
工作流
- 仅澄清缺失的要点:能力、触发条件、非触发条件、工具/脚本需求和可移植性。
- 选择一个唯一的 kebab-case 名称。
- 将
SKILL.md写成操作卡:运行什么、何时运行、输出代表什么,以及需要注意哪些陷阱。 - 只有在能减少重复的确定性工作时,才添加辅助文件。
- 压缩一次;在 README 中添加一行;除非有人要求,否则不要提交。
模板
---
name: <kebab-case>
description: <Concrete capability.> Use when <real phrases, file types, tools, or contexts>. Do NOT use <negative triggers if broad>.
---
# <name>
<One-line operational contract.>
## Usage / Commands / Routing
```bash
scripts/tool_or_helper.py <arg>
```
## Notes
- <What output shape means, or how to consume it.>
- <Hard rule, setup failure, safety boundary, or common mistake.>
描述
描述是路由入口;先优化它。
- 使用 1-3 个句子,以第三人称、现在时撰写。
- 第一句说明具体能力。
- 第二句以
Use when ...开头,列出实际触发词、文件类型、工具或上下文。 - 对于审查、搜索、文档、macOS、git 或浏览器等宽泛领域,添加
Do NOT use ...。 - 避免使用营销词、时效性说法,以及重复的“应在……时使用此技能”表述。
正文
保留:
- 可运行的命令或精确的工作流步骤;
- 常见的首次使用阻碍所需的环境检查;
- 精简的输出约定;
- 路由边界和安全注意事项;
- 每条命令或每个概念一个有力示例。
删除:
- 重复描述内容的概述文字;
- 不影响 Agent 行为的安装/贡献/隐私/故障排除章节;
- 复制的 CLI 帮助、架构、标志目录或生成的文档;
- 重复的提示词示例和预设分析;
- README、参考文档或辅助脚本中已有的细节。
工具技能
- 将确定性工作放入
scripts/或现有可执行文件中。 - 让
SKILL.md列出可调用项、输出格式和注意事项。 - 使用
Run <tool> --help for all flags;只保留不明显的标志。 - 尽量控制在 30-60 行。若环境配置步骤较长,将就绪检查保留在正文中,并将操作说明移到下一级文件。
工作流技能
- 保留视角、决策顺序和输出约定。
- 除非完整模板本身是技能的核心价值,否则避免使用僵化的完整模板。
- 对审查类技能,先列出发现;摘要和赞扬可选。
- 将理念、示例和来源说明拆分到
references/REFERENCE.md。如果示例本身就是指令(例如输出格式类技能),则将示例保留在正文中。
目标范围
共享技能面向 Codex、Claude Code 和 Pi。任务知识、验收标准和可执行辅助工具应保持通用。对于可重复操作,优先使用已有 CLI。仅在必要时隔离特定 harness 的行为,并明确声明其依赖。 技能名称和描述应简短且针对具体任务。针对特定模型的修正应放在本地设置或相关参考文档中,并以观察到的失败为依据,不要将其作为通用规则。 需要考虑顺序或安全时,提供详细步骤;否则说明预期结果和边界。
当用户选择仅显式激活时,对 Claude/Pi 在 frontmatter 中使用 disable-model-invocation: true,对 Codex 在 agents/openai.yaml 中使用 policy.allow_implicit_invocation: false。
保留现有元数据和本地覆盖项。调用控制不授予操作权限。应让自动有用的运维技能易于发现;在实际受限操作处要求批准。
跨技能指引:否定式指引(Do NOT use for charts (use dataviz))在目标技能不存在时会无害地失效;肯定式指引(run X first)则会悬空,因此必须指向 skills/ 中的某个技能。
最终检查
- 名称采用唯一的 kebab-case。
- 描述包含具体的
Use when ...触发条件和必要的Do NOT use ...限制。 SKILL.md不超过约 120 行;对于工具包装器,最好控制在 30–60 行。- 调用辅助工具,而不是在说明文字中重复其内容。
- 正向的跨技能指引应指向
skills/中存在的技能。 - 仅适用于 Agent 或操作系统的要求应在
compatibility:中声明,而不是绕过这些要求。 - 如果技能的用途或调用方式发生变化,请更新现有目录条目。
评论
支持 Markdown