一份写得好的SKILL.md,能让一个普通的大模型瞬间变成某个领域的专家,而一份写得差的SKILL.md,即使是最强大的模型也会变得笨拙不堪。这不是夸张,而是无数开发者在实践中得出的结论。 正文部分是SKILL.md的主体,它详细描述了技能的使用方法和执行步骤。 正确的做法是,先理解SKILL.md的编写原则和底层逻辑,然后根据自己的技能的特点,编写适合自己的SKILL.md。只有这样,才能写出真正高质量的技能文档。 但真正能够写出高质量SKILL.md的开发者并不多。很多开发者只是停留在表面,没有深入理解SKILL.md的本质和编写技巧。 如果你能够掌握SKILL.md的编写艺术,你就能够在这个生态中脱颖而出,创造出真正有价值的技能。
其核心载体是 SKILL.md —— 一个纯 Markdown 文件,既可被人类阅读,也能被 AI 和系统解析,自动注册为可用工具。 本文将详解 SKILL.md 的设计哲学、语法规范、解析机制与工程价值。 一、为什么需要 SKILL.md? 二、SKILL.md 核心设计:三段式结构 每个 SKILL.md 文件包含三个标准化区块: # 查询用户订单状态 根据用户 ID 和订单号,从内部数据库获取订单当前状态。 六、安全与权限控制 SKILL.md 虽然易写,但安全不容妥协: 1. Shell 命令审批 所有 Shell 技能默认需用户审批(即使写在 SKILL.md 中) 开放不等于放任。
一、规范层:SKILL.md到底定义了什么要构建Skill,先要看懂规范。 1.2SKILL.md的格式SKILL.md由两部分组成:YAMLfrontmatter(顶部元数据)+Markdown正文。 不要把整本ISO标准塞进SKILL.md正文——那会被Tier2全量加载。把规范放references/,SKILL.md里只写"何时去读哪一节"。 AP4:把密钥写进SKILL.md或脚本❌在SKILL.md/scripts里写API_KEY:sk-xxx。✅走环境变量MCPserver自管OSkeychain。 为什么致命:SKILL.md会被加载进context,等价于打印到日志。AP5:声明的工具与实际使用不符❌SKILL.md说"调用GitHubAPI",但allowed-tools没声明。
Skills 扩展机制正是解决这一痛点的核心——它将领域 SOP、输出模板、常见坑点固化为 SKILL.md 文件,让 AI 像“拥有你 10 年经验的同事”一样工作。 对话导入:聊天框输入“导入技能”或拖拽 SKILL.md 文件。 本地手动加载(开发者首选): mkdir -p ~/.workbuddy/skills拷贝 SKILL.md 文件 → 重启 WorkBuddy 即可。 安全与迭代:优先官方 SkillHub,本地自定义仅授权必要目录;SKILL.md 放入 Git 维护。 欢迎在腾讯开发者社区分享你的 models.json 配置、SKILL.md 模板或实战案例,一起完善 WorkBuddy 生态。
https://github.com/moltbot/skills/tree/main/skills/steipete/gog/SKILL.md # 1. https://github.com/moltbot/skills/blob/main/skills/julianengel/remind-me/SKILL.md 05 社交媒体:Twitter 阅读 /moltbot/skills/blob/main/skills/thesethrose/therapy-mode/SKILL.md https://github.com/moltbot/skills/ blob/main/skills/itsflow/weekly-synthesis/SKILL.md 08 YouTube 视频理解 装了两个 YouTube 相关的 skill,可以直接读取视频字幕和内容 https://github.com/moltbot/skills/blob/main/skills/thesethrose/marketing-mode/SKILL.md 做出海的同学应该知道,SEO
我的理解:这种模式看着最简单,但写好 SKILL.md 的难度不低。 把 SKILL.md 写好就行了。 这和直觉完全相反。 9.1 真正的公式 Skill 的执行力 = SKILL.md body 质量 × (Agent 基础工具 + skill_run 沙箱能力) SKILL.md 的 body 文本是"灵魂"——它决定了 需要 LLM 操作特定文件格式 脚本执行型 写预制脚本放 scripts/,SKILL.md 写使用说明 需要 LLM 灵活组合 API 库调用型 写 Python 库放 core/,SKILL.md 当 API 文档 知识量大,不同任务需要不同文档 渐进加载型 SKILL.md 做路由表,详细文档独立存放 需要 LLM 执行复杂多步骤工作流 编排型 SKILL.md 定义流水线 + 脚本工具链 +
强调一下:没有装Skill的OpenCode像一坨`于是就需要自己配置和安装Skill为每个技能名称创建一个文件夹,并在其中放入SKILL.md。 OpenCode会搜索以下位置:项目配置:.opencode/skills/<name>/SKILL.md全局配置:~/.config/opencode/skills/<name>/SKILL.md项目 Claude兼容:.claude/skills/<name>/SKILL.md全局Claude兼容:~/.claude/skills/<name>/SKILL.md项目代理兼容:.agents/skills /<name>/SKILL.md全局代理兼容:~/.agents/skills/<name>/SKILL.md完整的目录类似下面这样:
1.一句话搞懂:SKILL.md到底是什么?SKILL.md是一套给AI用的"标准作业程序(SOP)打包规范"。 2.为什么我们需要SKILL.md?在SKILL.md出现之前,我们让AI干活的方式只有一种:写提示词(Prompt)。 Step1:建文件夹新建一个文件夹,命名为exchange-rate-tool(必须用小写和短横线)Step2:写SKILL.md在文件夹里新建一个名为SKILL.md的文件,复制下面的内容:markdown SKILL.md把流程拆解得清清楚楚:逻辑错了?改SKILL.md算错了?改脚本查错了?改参考资料能定责,才能真正上线商用。9.全网最值得收藏的SKILL资源库不要重复造轮子! 在你开始写第一个SKILL.md之前,先去这些地方看看别人是怎么写的:直接拿来用的技能超市AgentSkills(agentskills.io):SKILL.md标准的制定者,里面有很多标准化的硬技能定义
以你的 mp-read 为例,SKILL.md 的 frontmatter 是: name: mp-read description: >- Extract plain text from Tencent </agent_skill> </available_skills> 注意:此时 SKILL.md 的正文还没有被读取。 /mp-read/SKILL.md\">\n Extract plain text from Tencent MP (mp.weixin.qq) articles... \n---\n'\n```\n\n(...完整 SKILL.md 内容...)" } ], "tools": [ "(同上,Shell、Read 等工具定义)" ] } 到这一步,SKILL.md Skill 的全部"魔法"都发生在 system prompt 的措辞和 SKILL.md 文件的编写质量上——本质上是一种 prompt engineering + 文件系统的组合。
# PDF 阅读│ ├── markdown-reader/SKILL.md # Markdown 阅读│ ├── docx-reader/SKILL.md # Word 文档阅读│ ├── web-scraper/SKILL.md # 网页抓取与摘要│ ├── translator/SKILL.md # 多语言翻译│ ├── csv-analyzer /SKILL.md # 数据分析与图表│ ├── code-reviewer/SKILL.md # 代码审查与 Git│ ├── content-writer/SKILL.md # 文案/ 周报/会议纪要│ └── cron-reminder/SKILL.md # 待办事项与日程└── MEMORY.md # 长期记忆三、能力扩展:联网搜索 + 9 Git 操作、日志分析内容创作类Skill能力content-writer文案生成、周报总结、会议纪要、邮件撰写添加 Skill 非常简单,在 workspace/skills/ 下建个目录,写一个 SKILL.md
Skill标准Skill核心包含SKILL.md,其余可包含附录文件、脚本、模版文件等展开代码语言:XMLAI代码解释my-skill/├──SKILL.md#Required:metadata+instructions #Anyadditionalfilesordirectories在Skill.md中,可包含如下内容FieldRequiredConstraintsnameYes最多64个字符。 这个问题在社区经常提问,比如#4314、#4337通过上述的源码,也不难发现系统启动的时候的确只加载了SKILL.md文件,而且只加载了元数据,真正的SKILL.md的内容是等到模型调用read_skill 的读取,后者提供了Shell命令执行的能力,这样当模型读取了SKILL.md之后,如果需要执行SKILL.md中描述的脚本或引用文件,就可以调用Shell工具去执行了对于脚本而言,模型可能输出bash/ 模型就能够正确地调用read_skill工具去读取B和C的SKILL.md文件,并且根据SKILL.md中的描述去访问对应的资源文件,这样就大大简化了嵌套技能开发的复杂度,同时也提升了技能的复用性和组合能力部分市场上的
SKILL.md - 大脑(必需) 这是 Skill 的核心文件,包含YAML Frontmatter(元数据)和 Markdown 指令(工作手册)两部分: 1.1 YAML Frontmatter( — 匹配到 Skill 后,读取对应的 SKILL.md 文件 第4步:解析 YAML Frontmatter — 解析文件头部元数据,获取 Skill 名称、描述等 第5步:注入指令到 AI 上下文 — 将 SKILL.md 内容注入 AI 的"工作记忆",从此刻起 AI 就"学会"了这个 Skill 第6步:AI 执行指令 — AI 按 SKILL.md 中的指令逐步工作:加载设计规范 → 设计布局 AI 会自动:读取当前 SKILL.md → 分析问题 → 修改 description → 保存更新。这就是 agent_created: true 的作用——允许 AI 自动更新 Skill。 /:模板和示例放在 references/,SKILL.md 专注于"怎么做" 测试边界条件:测试各种输入,确保 Skill 正确处理或用错误处理兜底 十、总结与展望 Skill 是 WorkBuddy
命名:必须完全是“SKILL.md”(大小写敏感),不能写成“skill.md”、“SKILL.MD”; 不要在Skill文件夹里放README.md,所有说明都写在 SKILL.md 或 references 第三步:撰写“核心菜谱”——SKILL.md的关键内容 这是最核心的一步,相当于“写清楚菜谱的封面和步骤”,分为两部分:YAML前端(必写)和主体指令(必写)。 1. 小技巧:用Claude自带的 skill-creator 技能,可以快速生成 SKILL.md 模板,还能帮你检查问题、推荐触发短语,新手可以直接用它上手。 善用“渐进式披露”,控制Skill大小 不要把所有细节都写在 SKILL.md 里,比如详细的 API 文档、风格规范,可以放在 references/ 文件夹里,在 SKILL.md 里只写“参考references 常见坑:90%的人都会踩,提前规避 整理了 4 个最常见的错误,帮你少走弯路: SKILL.md 命名错误:写成“skill.md”、“SKILL.MD”,导致上传失败 → 严格写成 “SKILL.md
三、Skill 的组成:解剖一个完整的 Skill 让我们看看一个典型的 Skill 目录结构: ~/.workbuddy/skills/my-skill/ ├── SKILL.md # 核心文件(必需 SKILL.md — 核心文件(必需) 这是 Skill 的大脑,包含两部分: 1.1 YAML Frontmatter(元数据): --- name: diagram-builder description — 匹配到 Skill 后,读取对应的 SKILL.md 文件 第4步:解析 YAML Frontmatter — 解析文件头部元数据,获取 Skill 名称、描述等 第5步:注入指令到 AI 上下文 — 将 SKILL.md 内容注入 AI 的"工作记忆",从此刻起 AI 就"学会"了这个 Skill 第6步:AI 执行指令 — AI 按 SKILL.md 中的指令逐步工作:加载设计规范 → 设计布局 AI 会自动:读取当前 SKILL.md → 分析问题 → 修改 description → 保存更新。这就是 agent_created: true 的作用——允许 AI 自动更新 Skill。
它是一个 Chrome 扩展,可以从当前网页提取字体、颜色、间距、圆角、阴影、动效等样式信号,然后生成 DESIGN.md 或 SKILL.md。 DESIGN.md 和 SKILL.md 有什么区别 扩展可以生成两类文件。 DESIGN.md 更像设计说明书,适合人看,也适合放进项目里作为设计上下文。 可以粗略这样分: DESIGN.md -> 设计说明 SKILL.md -> Agent 执行规则 一个偏说明,一个偏执行。 它做的事更小:把生成的 SKILL.md 写进对应工具约定的技能目录。 .agents/skills/design-system/SKILL.md 只管视觉风格——颜色、间距、圆角这些。
Skills 的级别 目前,Qoder 支持两种级别的 Skill: 类型 路径 作用域 用户级 ~/.qoder/skills/{skillName}/SKILL.md 所有项目 项目级 {projectPath }/.qoder/skills/{skillName}/SKILL.md 仅当前项目 如何选择? 用户级 skill 路径生成在 ~/.qoder/skills/{skillName}/SKILL.md 2. 项目级 skill 路径生成在 {projectPath}/.qoder/skills/{skillName}/SKILL.md 方式二:手动创建 1、创建 Skill 文件夹 第二步:创建 SKILL.md 文件 第三步:编写 SKILL.md 规则内容 第四步:测试技能 其次,你还可以让 AI 帮你封装
Skills = 一套结构化知识包 包含: - SKILL.md(技能说明书) - 脚本、示例、测试用例、运维手册…… - 甚至可能是你上次加班时口述的“应急锦囊.zip” 最初由 Anthropic 召唤 Copilot,注入灵魂 在 VS Code 里唤出 Copilot Chat,输入: Create me a SKILL.md (put the skill into the SKILL.md 你的 SKILL.md 已从“空文件”进化为: # Istio Observability Helper ## Purpose Help engineers quickly diagnose traffic ` directory that has examples for this skill 几分钟后,你的技能包膨胀为: .github/skills/istio-observability/ ├── SKILL.md 三步开启你的“技能化编程”之旅 步骤 动作 哲学意义 1️⃣ 装 VS Code Insiders + 启用 Agent Skills 承认世界在变 2️⃣ 创建 .github/skills/ + SKILL.md
即ReAct 循环驱动技能执行,框架基于 ReAct(Reason + Act) 模式,LLM 根据 SKILL.md 自主判断是否触发技能、调用工具、迭代执行,无需硬编码流程。 3,技能使用介绍 3.1,技能定义和调用 技能是业务能力单元,通过声明式配置(SKILL.md)面向特定场景,封装的一组工具调用逻辑。 • 特点:有状态、场景化、高内聚、LLM 可直接理解与触发。 • 目录结构(文件系统注册,无需代码): nanobot/workspace/skills/ └── 自定义技能名/ # 技能唯一标识(英文小写,无空格) ├── SKILL.md /nanobot/skills/tmux/SKILL.md</location> <requires>CLI: tmux</requires> </skill> ... To use a skill, read its SKILL.md file using the read_file tool.
├── code-review/ │ ├── SKILL.md │ └── checklist.md └── pdf-tools/ ├── SKILL.md ├── split_pdf.py SkillParser - 技能解析器 SkillParser 负责解析 SKILL.md 文件的 YAML Frontmatter: public sealed class SkillParser { Learn: SKILL.md shows the actual script path and argument format 4. Execute: Use the exact command format from SKILL.md ``` Remember: **Read first, then 技能设计原则 单一职责:每个技能专注于一个领域 清晰描述:description 字段要足够描述技能用途 详细指令:SKILL.md 正文要包含完整的使用说明 示例驱动:提供具体的使用示例 2.
实操参考图:命令执行参考图:文件目录参考图:简单的需求分析在正式写SKILL.md之前,我们要先把SkillForge的需求拆一下。这次要做的SkillForge,不是用来处理某个具体业务任务的。 把这些想清楚之后,再去写SKILL.md,就不会把它写成一大段混在一起的提示词。编写Skill入口:SKILL.md下面,我们来创建下SKILL.md文件。 在终端的当前目录(外层的skill-forge)下继续执行下如下命令:展开代码语言:TXTAI代码解释touchskill-forge/SKILL.md现在,用VSCode打开上面的SKILL.md文件 先用Codex试跑一次写完SKILL.md之后,我们先不要急着补评分规则和测试脚本。我们可以先用Codex跑一次SKILL.md,看看这个入口文件是否已经能被Agent理解。 如果这一步能跑通,说明这个最小版SKILL.md已经能作为入口文件继续往下扩展。接下来再补rubric.md、eval-cases.json和质量门禁脚本。