
很多人已经开始被这个问题卡住了。AI越来越强但你让它做点具体的事——发一封邮件、整理一份周报、分析一组数据——它要么答非所问要么步骤混乱要么每次都要重新解释一遍。你换个问法它换个答法。结果不可控、流程不可复现、经验不可积累。本质问题是你在用“对话”驱动AI而不是用“流程”驱动AI。2025年10月Anthropic发布了Agent Skills协议。两个月后Agent Skills作为开放标准被发布OpenAI、GitHub、VS Code、Cursor均已跟进。全栈测开岗位需求暴涨340%懂AI的测试工程师比不懂的薪资高出30%到50%。Skill正在成为2026年AI工程化最核心的抓手。这篇文章从零开始搓一个能用的Agent Skill。不讲概念堆砌只讲动手路径。目录一、Skill是什么给Agent的工作交接SOP二、为什么需要Skill从“对话”到“流程”三、核心机制拆解三层渐进式加载四、手把手实战从零搓一个邮件发送Skill五、工程落地启示Skill能帮你解决什么问题六、一个值得你认真回答的问题一、Skill是什么给Agent的工作交接SOP先说清楚概念。Skill本质上是一个文件夹skill-name/├── SKILL.md # 核心指令文件必须├── reference.md # 详细参考资料可选├── scripts/ # 可执行脚本可选│ └── main.py└── resources/ # 额外资源文件可选SKILL.md是核心。它包含YAML格式的元数据名称和描述和Markdown格式的详细指令。用更通俗的话说Skill就像给Agent准备的工作交接SOP大礼包。你把自己的工作流程、判断标准、注意事项、可复用脚本——全部打包成一个文件夹。Agent遇到相关任务时自动加载这个“说明书”按你的方式执行。核心在于Skill把“隐性经验”变成了“显性资产”。 你不再需要每次重复解释“怎么做”Agent自己会读。MCP模型上下文协议解决的是“Agent怎么调用外部工具”的问题。Skill解决的是“Agent怎么按你的流程做事”的问题。MCP管“手”Skill管“脑子里的流程”。二、为什么需要Skill从“对话”到“流程”不用Skill的时候你让AI发一封邮件“帮我写一封邮件主题是项目进度同步收件人是张三内容说项目延期了……”AI生成内容。你复制粘贴。打开邮箱。发送。下次同样的任务重新来一遍。换个问法AI给你换个写法。本质是每次都在从零启动每次都在消耗认知资源。用Skill之后你输入“发项目进度邮件给张三”。Agent自动加载邮件Skill按你预设的模板生成内容、调用邮件API、发送。一次封装永久复用。Skill解决的核心问题有三个流程标准化。 同样的任务每次执行方式一致。不会因为提问方式不同而产生不同结果。知识可复用。 你的经验被封装成Skill后团队所有人都能用。不用再口口相传“这个事儿应该怎么做”。上下文优化。 Skill采用渐进式加载不相关的技能不占上下文。你装100个SkillAgent只加载当前任务需要的那个。可截图传播的观点Prompt是“对话”Skill是“流程”。对话不可控流程可复现。三、核心机制拆解三层渐进式加载这是Agent Skills最精妙的设计。不理解这个就不理解Skill为什么能装海量信息却不怕撑爆上下文。第一层元数据Metadata每个SKILL.md文件开头的YAML部分只有name和description。Agent启动时预加载所有已安装技能的元数据到系统提示中。不占多少token但让Agent知道“我有这些技能可用”。第二层技能主体SKILL.md内容Agent判断某个技能与当前任务相关时才完整加载该技能的SKILL.md内容。包含详细指令、注意事项、示例。这时候才消耗上下文。第三层附加文件和脚本更复杂的情况——需要运行Python脚本、读取参考文档——Agent按需加载或执行。SKILL.md通过Markdown链接引用这些文件只有需要时才加载。这套机制让Skill可以包含海量信息却不怕超出上下文窗口限制。无关任务时不占上下文相关任务时逐步加载。传统方式是一次性把所有指令塞进PromptSkill是把指令做成“可检索的知识库”。四、手把手实战从零搓一个邮件发送Skill理论够了。动手。目标 创建一个邮件发送Skill。用户说“发邮件给XX内容是XXX”Agent自动生成邮件、调用API发送。Step 1创建Skill目录Agent Skills是开放标准在不同平台放不同位置Claude Code.claude/skills/Cursor/Codex.agents/skills/GitHub Copilot.github/skills/这里以Cursor为例在项目根目录创建mkdir -p .agents/skills/send-emailcd .agents/skills/send-emailStep 2编写SKILL.md创建SKILL.md文件name:send-emaildescription:SendemailsviaSMTPorGmailAPI.Usewhenuseraskstosendanemail,notifysomeone,orshareamessageviaemail.version:1.0.0Send Email Skill触发条件当用户请求发送邮件时触发包括但不限于-“发邮件给[收件人]”-“通知[某人]关于[某事]”-“发送项目进度邮件”执行流程步骤1提取邮件信息从用户输入中提取-收件人to必填邮箱地址-主题subject可选默认来自AI助手的邮件-正文body必填邮件内容-抄送cc可选步骤2生成邮件内容如果正文不完整按以下模板补全-开头问候语“您好或Hi”-主体用户提供的核心内容-结尾签名“此致\nAI助手”步骤3发送邮件调用scripts/send.py脚本发送邮件。-脚本路径scripts/send.py-参数格式JSON{to:...,subject:...,body:...}注意事项-邮件正文不超过1000字超出则提示用户精简-发送成功后返回邮件ID和发送时间-发送失败则返回具体错误信息不重试示例用户“发邮件给zhangsanexample.com说项目进度延期了”→提取收件人、生成正文、调用脚本发送→返回“邮件已发送至zhangsanexample.com邮件ID:xxx”Step 3编写发送脚本创建scripts/send.py#!/usr/bin/env python3“”邮件发送脚本 - 被Agent Skill调用“”import smtplibimport jsonimport sysfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartdef send_email(to, subject, body):“”通过SMTP发送邮件“”# 配置实际使用时从环境变量读取SMTP_SERVER “smtp.gmail.com”SMTP_PORT 587SENDER_EMAIL “your-emailgmail.com”SENDER_PASSWORD “your-app-password”try: msg MIMEMultipart() msg[From] SENDER_EMAIL msg[To] to msg[Subject] subject msg.attach(MIMEText(body, plain)) server smtplib.SMTP(SMTP_SERVER, SMTP_PORT) server.starttls() server.login(SENDER_EMAIL, SENDER_PASSWORD) server.send_message(msg) server.quit() return {success: True, message: f邮件已发送至 {to}} except Exception as e: return {success: False, error: str(e)}ifname “main”:# 从命令行参数读取JSONif len(sys.argv) 2:print(json.dumps({“error”: “缺少参数”}))sys.exit(1)try: params json.loads(sys.argv[1]) result send_email( toparams.get(to), subjectparams.get(subject, 来自AI助手的邮件), bodyparams.get(body) ) print(json.dumps(result)) except Exception as e: print(json.dumps({error: str(e)}))Step 4测试Skill在Cursor中打开Agent模式输入“发邮件给testexample.com测试一下我的邮件Skill”Agent应该自动识别任务匹配send-email技能加载SKILL.md获取执行流程提取收件人和正文调用scripts/send.py发送邮件返回发送结果如果没触发检查两件事SKILL.md的description是否准确描述了触发场景Skill目录是否放在正确位置.agents/skills/Step 5进阶——让Skill自我进化Skill-Creator是一个“元Skill”专门帮用户创建和优化Skill。在Agent中运行/skill-creator它会引导你完成整个创建流程——起脚手架、写描述、组织脚本、打包。更高级的是skill-creator-improvement技能。当Agent发现可复用的经验、修正过的命令模式、更快的操作路径时它会直接更新Skill的## Gotchas章节。Skill会自我进化。五、Skill能帮你解决什么问题对测试工程师把测试用例封装成Skill你现在写100个测试用例每次手工执行。换成Skill——把等价类划分、边界值分析、场景法这些测试设计方法封装成Skill。Agent接收需求文档自动生成测试用例。从“小时级手撸”到“分钟级闭环”。对开发工程师把代码规范封装成Skill团队有代码规范文档30页。新成员记不住老成员也会忘。封装成Skill——Agent生成代码时自动加载规范生成符合团队标准的代码。不用Review时一遍遍纠正。对产品/运营把重复工作流封装成Skill每周发周报、每月写总结、每次上线发公告——全部封装成Skill。输入关键数据Agent按你的格式输出完整文档。Skill的本质是把“人的经验”变成“AI的肌肉记忆”。六、一个值得你认真回答的问题回到文章开头的场景。你每天让AI帮你做的事情——写邮件、整理文档、生成用例、分析数据——如果全部封装成Skill你的工作效率能提升多少但问题不是“怎么封装”而是另一件事你现在的日常工作流程能被清晰地写成一份“别人照着做就能完成”的SOP文档吗如果写不出来那AI也学不会。Skill只是工具真正稀缺的是“把隐性经验显性化”的能力。评论区聊聊——你第一个想封装的Skill是什么