保姆级教程:从零手搓一个 Agent Skill,让AI变成你的专属助手

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 本文详解AI工程化新范式——Agent Skill:将隐性经验封装为可复用、可复现、可进化的标准化流程。通过实战手搓邮件Skill,揭示其三层渐进加载机制与落地路径,助你告别低效对话,迈向流程驱动的AI协作新时代。

很多人已经开始被这个问题卡住了。

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个Skill,Agent只加载当前任务需要的那个。

可截图传播的观点:Prompt是“对话”,Skill是“流程”。对话不可控,流程可复现。

三、核心机制拆解:三层渐进式加载
这是Agent Skills最精妙的设计。不理解这个,就不理解Skill为什么能装海量信息却不怕撑爆上下文。

第一层:元数据(Metadata)
每个SKILL.md文件开头的YAML部分,只有name和description。Agent启动时预加载所有已安装技能的元数据到系统提示中。不占多少token,但让Agent知道“我有这些技能可用”。

第二层:技能主体(SKILL.md内容)
Agent判断某个技能与当前任务相关时,才完整加载该技能的SKILL.md内容。包含详细指令、注意事项、示例。这时候才消耗上下文。

第三层:附加文件和脚本
更复杂的情况——需要运行Python脚本、读取参考文档——Agent按需加载或执行。SKILL.md通过Markdown链接引用这些文件,只有需要时才加载。

11a05af5-f1d4-4c60-8ee6-018b46f6a635.png

这套机制让Skill可以包含海量信息却不怕超出上下文窗口限制。无关任务时不占上下文,相关任务时逐步加载。传统方式是一次性把所有指令塞进Prompt,Skill是把指令做成“可检索的知识库”。

四、手把手实战:从零搓一个邮件发送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-email
cd .agents/skills/send-email
Step 2:编写SKILL.md

创建SKILL.md文件:


name:send-email
description:SendemailsviaSMTPorGmailAPI.Usewhenuseraskstosendanemail,notifysomeone,orshareamessageviaemail.

version:1.0.0

Send Email Skill

触发条件

当用户请求发送邮件时触发,包括但不限于:
-"发邮件给[收件人]"
-"通知[某人]关于[某事]"
-"发送项目进度邮件"

执行流程

步骤1:提取邮件信息

从用户输入中提取:
-收件人(to):必填,邮箱地址
-主题(subject):可选,默认"来自AI助手的邮件"
-正文(body):必填,邮件内容
-抄送(cc):可选

步骤2:生成邮件内容

如果正文不完整,按以下模板补全:
-开头:问候语("您好"或"Hi")
-主体:用户提供的核心内容
-结尾:签名("此致\nAI助手")

步骤3:发送邮件

调用scripts/send.py脚本发送邮件。
-脚本路径:scripts/send.py
-参数格式:JSON{"to":"...","subject":"...","body":"..."}

注意事项

-邮件正文不超过1000字,超出则提示用户精简
-发送成功后返回邮件ID和发送时间
-发送失败则返回具体错误信息,不重试

示例

用户:"发邮件给zhangsan@example.com,说项目进度延期了"
→提取收件人、生成正文、调用脚本发送
→返回:"邮件已发送至zhangsan@example.com,邮件ID:xxx"
Step 3:编写发送脚本

创建scripts/send.py:

!/usr/bin/env python3

"""
邮件发送脚本 - 被Agent Skill调用
"""

import smtplib
import json
import sys
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

def send_email(to, subject, body):
"""
通过SMTP发送邮件
"""

# 配置(实际使用时从环境变量读取)
SMTP_SERVER = "smtp.gmail.com"
SMTP_PORT = 587
SENDER_EMAIL = "your-email@gmail.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)}

if name == "main":

# 从命令行参数读取JSON
if len(sys.argv) < 2:
    print(json.dumps({"error": "缺少参数"}))
    sys.exit(1)

try:
    params = json.loads(sys.argv[1])
    result = send_email(
        to=params.get("to"),
        subject=params.get("subject", "来自AI助手的邮件"),
        body=params.get("body")
    )
    print(json.dumps(result))
except Exception as e:
    print(json.dumps({"error": str(e)}))

Step 4:测试Skill

在Cursor中打开Agent模式,输入:

“发邮件给test@example.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是什么?

相关文章
|
5天前
|
人工智能 弹性计算 运维
|
3天前
|
缓存 人工智能 安全
GPT-5.6 Terra与GPT-5.5性能实测:成本减半后的跑分对比与快速迁移指南
GPT-5.6 Terra 的定价为每百万 token 输入 2.50/输出 15。GPT-5.5 则是 5/ 30。Terra 的每一项费率,包括 $0.25/M 的缓存读取,都恰好是 GPT-5.5 的一半,因此在任何工作负载组合下,Terra 都固定 便宜 2.0x。以每天 10 万次请求、3K token 提示词计算,大约是 Terra 每天 2,000,GPT−5.5每天 4,000,即每月约 60,000对 120,000。问题在于:OpenAI 没有发布任何针对 Terra 的编码基准。那个著名的 91.9% Terminal-Bench 数字是 Sol 在 Ul
|
2天前
|
SQL 人工智能 自然语言处理
大模型内容安全实时防护:恶意Prompt注入拦截、越权阻断与熔断机制方案.166
本文系统阐述大模型输入安全防护体系,涵盖提示词注入、恶意Prompt拦截、越权阻断与输入熔断四大核心风险及应对方案。提出四层防护架构(预处理、检测、鉴权、熔断),结合规则引擎、语义识别与RBAC权限控制,实现全链路实时防护,保障业务合规、数据安全与服务稳定。
215 1
|
26天前
|
Linux 程序员 数据格式
【2026最新】Notepad++下载、安装和使用一篇搞定(附中文版安装包)
Notepad++ 是一款免费开源、轻量高效的 Windows 文本编辑器,支持 C/Python/HTML 等 80+ 语言语法高亮、代码折叠、正则替换、编码转换及插件扩展,专为程序员与文本处理用户打造,完美替代系统记事本。(239字)
|
10天前
|
人工智能 编解码 物联网
2026 最新Stable Diffusion 本地部署教程 下载安装使用详细图解(含官网安装包)
Stable Diffusion(SD)是2022年发布的开源文生图模型,由Stability AI等联合开发。支持文生图、图生图、局部重绘等,依托VAE降低算力需求,可在消费级显卡运行。本文提供秋葉aaaki制作的Windows整合包(含图形界面与插件),开箱即用,零配置启动。
|
11天前
|
人工智能 缓存 安全
Claude Code 封号真实原因曝光,这次彻底不装了,直接针对国内开发者的账号下手?
Claude Code 封号潮背后:逆向扒出客户端隐写区域标记,Anthropic 政策收紧叠加 DeepSeek 7 月涨价,国产替代更紧迫。
|
20天前
|
存储 人工智能 监控
QoderWork完全指南:从入门到精通,把“AI实习生”变成你的全能工作搭档
阿里云2026年推出的桌面端AI工作助手QoderWork,不止聊天,更可动手干活:本地运行、安全可控,支持文件整理、数据分析、PPT生成、网页开发等;内置专家套件、多Agent协作与自定义Skills,让AI真正成为你身边的“AI实习生”。
|
17天前
|
人工智能 JSON 自然语言处理
让教学更智慧:用阿里云百炼工作流,自动生成中小学教材内容#小有可为#有温度的AI
通过可视化工作流编排,将大模型推理能力转化为标准化的教学内容生成引擎。教师只需输入教材标题和适用学段,即可自动获得结构完整、符合课程标准的章节内容,大幅降低备课门槛,助力教育资源均衡化。
510 127
|
3天前
|
人工智能 缓存 JSON
刚刚 GPT-5.6 发布,吊打 Claude 5 和 Grok 4.5?一手实测来啦!
GPT-5.6 刚发布,跑分号称超越 Fable 5,真的假的?附一手实测,让 3 个最强 AI 编程模型 GPT-5.6 Sol、Claude Fable 5、Grok 4.5 在 Cursor 里同时一把梭开发网页游戏,看看最新模型到底谁更能打。
240 0