基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
AIHT
内容
精选全部 AI 动态热点榜AI 日报收藏
分类
模型行业编程产品技术观点开源
更多
Agent 接入
返回首页开发者导航
AIHT
精选 / 资讯详情
8.0
热点
AI SCORE
编程提效2026-10-26 16:17

从零编写可跨平台复用的代理技能

dev.to · AI#智能体技能#提示词#标准化
Editor brief · 编辑速览

文章介绍 Agent Skills 的开放标准进展,并以实操方式讲解 SKILL.md 的目录结构、YAML 元数据及辅助资源组织。还解释渐进式加载机制,以及如何让技能在合适的请求中触发。

文章思维导图
Knowledge map
拖拽缩放
AI deep read

AI 深度解读

Agent Skills 值得学的地方,是把反复交代给 AI 的团队流程,整理成可以按需加载的文件。原文以生成 PR 描述为例,从目录、触发说明写到验证方法,给出了一份能照着改的 SKILL.md。

作者还引入了一个变化:据文中转述,Anthropic 已将 Agent Skills 捐赠给基金会。格式走向开放标准,增加了学习它的长期价值;但对程序员更直接的问题是:怎样让技能在该用时被找到,并且按规则做事。

开放标准解决了什么,没解决什么

按原文说法,Anthropic 在 10 月 22 日将 Agent Skills 捐赠给 Agentic AI Foundation。该基金会属于 Linux Foundation 项目,也承载 MCP 和 AGENTS.md。文章援引 Anthropic 公告称,自 2025 年 12 月发布以来,已有超过 70 个 Agent 平台集成该标准,包括 ChatGPT、Cursor、GitHub Copilot 和 VS Code。

这些信息来自原文转述,文章没有提供独立核验过程。

开发者现有文件不用迁移:格式保持不变,规范仍位于 agentskills.io,也不需要加入组织才能使用。作者的判断是,投入编写技能的价值,不再完全依赖某一家厂商的路线。

不过,格式通用不等于使用方式完全一致。原文明确提醒,各工具的技能目录要查各自文档,部分字段的支持情况也有差异。

一个技能就是包含 SKILL.md 的文件夹。文件开头是 YAML frontmatter,至少提供 name 和 description,后面用 Markdown 写指令;目录还可以放 scripts/、references/ 和 assets/。

它通过渐进式披露(progressive disclosure)控制上下文开销:启动时只读名称和描述,规范估算每个技能约占 100 tokens;任务匹配后才加载正文,需要时再读取附带文件。因此,装了几十个技能,并不代表每次都要把几十份完整流程塞进上下文。

技能没触发,先看 description

适合做成技能的任务,需要同时满足三个条件:经常重复、有模型猜不到的约定、结果能够检查。作者选择的 pr-description 就符合:读取当前分支变化,按团队固定格式生成 PR 描述。

在 Claude Code 中,运行 mkdir -p ~/.claude/skills/pr-description 可以创建个人技能目录,对所有项目可用。团队共享则放在仓库的 .claude/skills/pr-description/ 中提交。

名称最多 64 个字符,只能使用小写字母、数字和连字符,不能以连字符开头或结尾,不能出现连续的 --,还必须与文件夹同名。pr-description 合规,PR-Description 和 pr--description 不合规。

但名称正确,只解决了格式问题。

description 决定技能有没有机会被使用,正文决定加载之后怎样执行。

作者建议先写描述,包含「做什么」和「什么时候用」,并覆盖用户实际会说的表达,比如「写 PR 描述」「总结这个分支供评审」「起草 pull request」。

规范对 description 的限制是 1,024 个字符。Claude Code 还会把每项技能的列表文本截断到 1,536 个字符;技能很多时,为了适应预算,可能移除使用较少技能的描述。因此,主要用途应放在前面。原文引用的 Anthropic 最佳实践还建议使用第三人称,比如 Writes...,因为描述会被注入系统提示。

这套写法有实际原因:Agent 选择技能时,尚未读到正文。触发条件只写在正文里,可能根本没有被看到的机会。

一份能用的 SKILL.md,要把哪些约束写死

规范没有强制正文结构,但建议提供步骤、输入输出示例和边界情况,并把 SKILL.md 控制在 500 行以内,长参考材料另放文件。按原文引用的 Claude Code 文档,技能加载后会跨轮次留在上下文中,冗长内容会持续占用空间。

下面是原文完整示例,保存到 ~/.claude/skills/pr-description/SKILL.md,解决「根据分支变化填写团队 PR 模板」的问题:

---
name: pr-description
description: "Writes a pull request description from the current branch's changes, using the team template (summary, changes, testing, risks). Use when the user asks for a PR description, a pull request summary, or wants to open a PR."
---

## PR description

## Steps
1. Run `git log --oneline main..HEAD` and `git diff main...HEAD --stat` to see what changed.
2. Read the diff of the files that changed most.
3. Fill in the template below. Keep each section short.
4. If the branch has no commits ahead of main, say so and stop.

## Template
### Summary
One or two sentences: what this PR does and why.

### Changes
- Bullet per meaningful change, grouped by area.

### Testing
How it was tested. If no tests were added, write "No new tests" and say why.

### Risks
Anything a reviewer should look at closely: migrations, config changes, removed code, public API changes. Write "None found" only if you checked.

## Rules
- Do not invent test results. Only report tests you ran or that exist in the diff.
- Do not mention files that did not change.

重点看最后两条规则:测试结果必须有依据,描述只能涉及实际变化的文件。前面的命令、模板和「没有领先提交就停止」则把执行路径与边界情况固定下来。

随后要分别验证两件事:自然语言请求能不能触发,以及直接输入 /pr-description 能不能运行。原文称,Claude Code 会监听技能目录,新增或修改文件无需重启当前会话。

如果直接调用成功,自然请求失败,作者建议依次检查描述关键词、询问 What skills are available? 确认技能是否列出,再用更接近描述的请求测试。还有一个容易漏掉的原因:按文中说法,YAML 格式错误时,Claude Code 仍可能加载正文,但元数据为空,导致直接调用可用、自动匹配失败。使用 --debug 可以查看解析错误。

误触发则应收窄描述,或在 frontmatter 添加 disable-model-invocation: true,改为仅允许直接调用。项目提供的参考验证器可以检查格式:

skills-ref validate ~/.claude/skills/pr-description

注意这里验证的是规范符合性,不能据此判断 PR 描述是否准确。

我的判断

我认同作者把重点放在描述、执行步骤和验证上。相比每次粘贴长提示词,技能更适合保存稳定的团队约定,也便于随仓库一起维护。

但这是一篇入门教程,作者给出了完整示例和排查路径,没有展示多次运行记录、触发成功率,也没有与普通提示词做对照。标题里的「15 分钟」适合作为上手预期,不能当成效果保证。

示例也有明显前提。它固定以 main 为基准,团队若向其他分支提 PR,就需要调整;只要求读取变化最多文件的 diff,也可能漏掉改动很少却影响很大的配置或公共 API。Testing 部分还应区分「diff 中有测试代码」与「测试已经运行通过」,两者不能混写。

第三方技能的风险同样不能忽略。作者要求检查全部文件,包括脚本、图片和其他资源,留意意外网络请求、异常文件访问和外部 URL 获取的内容。依赖变化也可能改变技能行为。规范中的 allowed-tools 仍是实验字段,各 Agent 支持不同,不能把它当成统一的权限边界。

开放标准降低了格式绑定的顾虑,实际采用时仍需核对工具行为。文章末尾的 6 页速查表,以及包含五个构建教程、十个模板和 30 天计划的 49 页指南,属于延伸材料推广,不能作为上述效果的证据。

能拿来做什么

  • 从团队反复使用的 PR 模板开始,把摘要、变更、测试和风险的填写规则写进技能,并按实际目标分支调整示例命令。
  • 为前端或 Node 仓库补上能检查的边界规则,例如涉及公共 API、配置和删除代码时必须说明风险,测试执行状态必须有依据。
  • 每次修改描述后,都用自然语言请求和 /pr-description 各测一次;触发失败先排查描述、技能列表和 YAML,再修改正文。
  • 安装第三方技能前阅读整个目录,确认脚本、外部请求和工具权限与声明用途一致,再决定是否采用。
Original source

本文由 AI 通读原文后重新编写,观点部分为站内判断,细节以原文为准,来源 dev.to · AI,原文版权归原作者所有。

阅读原文
上一篇
函数名会让逆向代理漏看关键代码
下一篇
本地指令文件诱导编程助手安装恶意包

资讯速览

dev.to · AI · 2026-10-26 16:17

AI 评分 8.0 / 10

相关标签

#智能体技能#提示词#标准化

继续阅读

  • AI 修复静态扫描漏洞,该验收什么
  • 函数名会让逆向代理漏看关键代码
  • 本地指令文件诱导编程助手安装恶意包
  • 只给业务规则,让智能体做黑盒验收
  • 异步视频任务为何无报错却交付失败