当前位置: 首页 > article >正文

给 AI 装“技能”:Agent Skills 完全指南

给 AI 装“技能”Agent Skills 完全指南你的 AI 助手终于可以不只是“会说话”而是真正“会做事”了想象一下这个场景你帮我处理一下这张发票 PDF把里面的金额、日期、发票号提取出来。通用 AI我无法直接读取 PDF 文件但你可以把内容粘贴给我……装了“发票处理技能”的 AI自动识别任务 → 调用专用脚本 → 输出结果字段值发票号码INV-2024-0123价税合计12,800.00销售方XX科技有限公司这就是Agent Skills的魅力——它让你的 AI 从“只能聊天”进化到“能动手干活”。2025年12月18日Anthropic 将 Agent Skills 正式发布为开放标准。一套标准化的文件夹规范让 agent 像装 App 一样加载专业技能。标准一出行业跟进速度惊人——Microsoft 在 VS Code 和 GitHub 里直接集成OpenAI 在 ChatGPT 和 Codex CLI 里采用了几乎一模一样的架构Cursor、Goose 等编码工具也纷纷跟进。截至 2026 年初Atlassian、Figma、Canva、Stripe、Notion、Zapier 等厂商都已经为自家平台构建了相应的 skills。一、Agent Skills 是什么一句话定义Agent Skills 是一套标准化格式用于将 AI 指令、脚本和资源打包成可复用、可发现的模块。如果你用过 AI 编程助手可能遇到过这样的问题今天让 AI 帮你生成了一份符合公司规范的 PPT明天换了一个对话AI 就“忘”了这些规范你得从头再说一遍。Skills 解决的就是这个问题——它把“这件事该怎么做”的知识固化下来让 AI 每次都能按同一套标准执行。它和 MCP 是什么关系很多第一次接触 Skills 的人会问“不是已经有 MCP 了吗” 这两个概念确实容易混淆但定位完全不同MCP 解决的是「模型能用什么」Skills 解决的是「模型该怎么用」。打个比方MCP是“工具箱”——它给 AI 接上了手和眼让 AI 能够连接数据库、调用 API、读写文件Skills是“操作手册”——它告诉 AI拿到这个工具后应该按照什么流程、什么标准去用两者是互补关系不是替代关系。一个强大的 Agent 通用模型 MCP 连接外部工具 Skills 提供操作流程。核心设计渐进式披露Skills 最精妙的设计是渐进式披露Progressive Disclosure——它把信息分成三层按需加载层级内容何时加载大小限制第一层元数据name description始终在上下文中~100 词第二层SKILL.md 正文详细指令、流程说明技能被触发时 500 行推荐第三层附加资源脚本、参考文档、模板按需加载无限制这意味着即使你有 100 个 skills 安装在系统中AI 启动时也只加载它们的元数据每个 skill 仅 30-50 个 tokens只有当某个 skill 被判定为“相关”时才会加载它的完整内容。这种设计既保证了能力丰富又避免了上下文窗口被撑爆。二、一个 Skill 长什么样每个 Skill 就是一个文件夹包含一个必需的SKILL.md文件和若干可选的资源文件my-invoice-skill/ # 技能根目录 ├── SKILL.md # 【必需】核心定义文件 ├── scripts/ # 【可选】可执行脚本 │ └── extract_invoice.py ├── references/ # 【可选】参考文档 │ └── field_mapping.md └── assets/ # 【可选】静态资源 └── output_template.xlsxSKILL.md 文件结构SKILL.md采用YAML Frontmatter Markdown 正文的双层结构---name:invoice-extractor# 必需技能唯一标识小写字母连字符最长64字符description:从 PDF 发票中提取关键字段。当用户需要“解析发票”或“提取账单信息”时使用。license:MIT# 可选许可证声明compatibility:需要 python3 及 PyPDF2# 可选运行环境要求allowed-tools:Bash(python:*)# 可选授权使用的工具---关于 licenselicense: MIT表示该技能以 MIT 开源许可证发布任何人都可以免费使用、修改和分发。如果只是个人或公司内部使用这行可以删除或改为Proprietary。Frontmatter 之后是 Markdown 格式的技能说明包括角色定位、核心流程、输出格式、异常处理和示例对话。接下来我们就看一个完整的示例。三、完整示例发票信息提取技能以下是一个可直接运行的完整 Skill它封装了一个 Python 脚本用于从 PDF 中提取发票信息。1. SKILL.md--- name: invoice-extractor description: 从 PDF 发票中提取关键字段发票号、日期、金额、销售方等。当用户需要“解析发票”、“提取发票信息”或“识别 PDF 中的账单数据”时使用。 compatibility: 需要 python3 及依赖库 PyPDF2、pdfplumber allowed-tools: Bash(python:*) --- # 发票信息提取技能 ## 角色 你是一名专门处理财务文档的数据提取助手。你的任务是调用指定的 Python 脚本从用户提供的发票 PDF 中提取结构化数据。 ## 核心流程 1. **确认文件路径**获取用户要处理的 PDF 文件路径。 2. **执行提取脚本**运行以下命令调用核心逻辑。 bash python scripts/extract_invoice.py --pdf 用户提供的文件路径 --output invoice_result.json读取结果命令执行成功后读取生成的invoice_result.json文件。呈现给用户将 JSON 内容转换为易于阅读的 Markdown 表格。输出格式要求提取状态明确告知用户解析是否成功。数据表格使用 Markdown 表格展示提取到的字段。示例输出表格字段值发票号码INV-2024-0123开票日期2024-03-15价税合计12,800.00销售方名称XX科技有限公司购买方名称YY贸易有限公司异常处理若脚本执行失败请将错误信息原文告知用户并建议检查 PDF 是否清晰可读或是否为扫描件。若 JSON 中success字段为false直接向用户显示error字段的内容。示例对话用户帮我提取D:/发票/3月办公费.pdf里的发票信息。助手好的我现在使用发票提取技能处理该文件。内部执行python scripts/extract_invoice.py --pdf D:/发票/3月办公费.pdf --output invoice_result.json处理完成提取结果如下字段值发票号码24332000000123456789开票日期2024-03-10价税合计3,580.00销售方名称晨光文具股份有限公司购买方名称上海XX信息技术有限公司### 2. scripts/extract_invoice.py 脚本需要遵循**标准化接口**和**结构化输出**的规范这样才能被 AI 可靠地调用 python #!/usr/bin/env python3 # scripts/extract_invoice.py import argparse import json import sys import os def main(): parser argparse.ArgumentParser(description提取 PDF 发票信息) parser.add_argument(--pdf, requiredTrue, help发票 PDF 文件路径) parser.add_argument(--output, defaultinvoice_result.json, help输出 JSON 文件路径) args parser.parse_args() # 检查输入文件是否存在 if not os.path.exists(args.pdf): result {success: False, error: f文件不存在{args.pdf}} with open(args.output, w, encodingutf-8) as f: json.dump(result, f, ensure_asciiFalse, indent2) print(json.dumps(result, ensure_asciiFalse)) sys.exit(1) # 在这里调用你的实际提取逻辑 # 以下为模拟数据请替换为真实的 PDF 解析代码 try: extracted_data { 发票号码: 24332000000123456789, 开票日期: 2024-03-10, 价税合计: 3,580.00, 销售方名称: 晨光文具股份有限公司, 购买方名称: 上海XX信息技术有限公司 } result {success: True, data: extracted_data} except Exception as e: result {success: False, error: f解析失败{str(e)}} # # 输出结果到 JSON 文件 with open(args.output, w, encodingutf-8) as f: json.dump(result, f, ensure_asciiFalse, indent2) # 同时向 stdout 打印结果方便 AI 直接读取 print(json.dumps(result, ensure_asciiFalse)) if __name__ __main__: main()关键规范脚本输出必须是 JSON 格式且必须包含success布尔字段。这样 AI 才能正确判断执行结果。日志输出请使用sys.stderr避免污染 stdout。四、如何部署和使用部署位置Skills 可以放在两个位置位置路径示例作用范围项目级项目根目录/.claude/skills/仅当前项目可用可随代码提交用户级~/.claude/skills/所有项目均可用.claude/skills/ ├── invoice-extractor/ │ ├── SKILL.md │ └── scripts/ │ └── extract_invoice.py └── another-skill/ └── SKILL.md调用方式Skills 支持两种调用方式自动触发AI 根据description字段自动判断是否使用该技能。当用户说“帮我提取发票”时AI 会自动加载invoice-extractor技能。手动调用部分工具支持直接输入/加技能名来调用如/invoice-extractor。常用工具工具说明skill-creatorAnthropic 官方提供的元 Skill能引导你一步步生成完整的 Skill 文件OpenSkills开源工具可将 Skills 系统引入 Cursor、Windsurf 等其他 AI 编码工具五、最佳实践与避坑指南结合大量开发者的实践经验以下是几个关键建议✅ 应该做的description 写清楚“何时用”这是 AI 判断是否触发 skill 的唯一依据务必包含触发场景关键词。脚本输出必须是 JSONAI 只能可靠地解析结构化数据。示例对话写一个在 SKILL.md 中加入## 示例段落能显著提升 AI 执行的准确度。大文档放到 references/SKILL.md 正文推荐不超过 500 行详细的参考文档放到 references 目录在需要时用链接引用。解释“为什么”而不只是“做什么”现代 AI 理解原理后能更好地应对边缘情况。❌ 需要避免的指令塞太多一次性把全部细节都写进 SKILL.md 正文会导致 AI “晕掉”——信息过载反而降低执行质量。忽略安全校验脚本中避免直接拼接用户输入执行rm -rf等危险命令建议做路径白名单校验。日志污染 stdoutprint(正在处理...)这类日志会混入 JSON 输出导致 AI 解析失败。六、总结Agent Skills 让 AI 从“泛泛而谈”走向“专业做事”。它把领域知识、操作流程和执行脚本打包成一个可复用的模块让 AI 每次都能按同一套高标准完成任务。MCP 给 AI 装上了手脚Skills 教会了 AI 怎么走路。一个精心编写的 Skill就像一份传承下来的“老师傅秘籍”——新人AI拿到它就能立刻按最高标准干活。现在去创建你的第一个 Skill 吧你会发现让 AI 真正“会做事”其实只需要一个文件夹和一个 Markdown 文件。

相关文章:

给 AI 装“技能”:Agent Skills 完全指南

给 AI 装“技能”:Agent Skills 完全指南你的 AI 助手终于可以不只是“会说话”,而是真正“会做事”了想象一下这个场景:你:帮我处理一下这张发票 PDF,把里面的金额、日期、发票号提取出来。通用 AI:我无法…...

3分钟快速上手:CardEditor卡牌批量生成器终极使用指南

3分钟快速上手:CardEditor卡牌批量生成器终极使用指南 【免费下载链接】CardEditor 一款专为桌游设计师开发的批处理数值填入卡牌生成器/A card batch generator specially developed for board game designers 项目地址: https://gitcode.com/gh_mirrors/ca/Card…...

用Cooledit Pro给全志T113-S3音频调试当‘耳朵’:手把手教你量化解决录音尖锐失真

用Cooledit Pro量化调试全志T113-S3音频失真问题的工程实践 在嵌入式音频开发中,工程师常常会遇到录音质量不理想的问题——声音尖锐、失真或带有底噪。这类问题往往难以通过主观听感或简单示波器测量准确定位。本文将介绍如何利用专业音频分析软件Cooledit Pro作为…...

ComfyUI-Manager终极实战指南:掌握AI绘画节点管理的核心技术

ComfyUI-Manager终极实战指南:掌握AI绘画节点管理的核心技术 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various…...

解锁Wallpaper Engine资源宝库:RePKG逆向工程工具深度指南

解锁Wallpaper Engine资源宝库:RePKG逆向工程工具深度指南 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg RePKG是一个专为Wallpaper Engine设计的C#开源工具&#xff0…...

从‘眼睛’到‘脚感’:四足机器人如何融合视觉与振动传感器实现全地形识别?

四足机器人的多模态地形感知:视觉与振动传感器的协同进化 当一只山羊在悬崖峭壁上如履平地时,它不仅仅依靠视觉判断岩石的纹理——足底的触觉反馈、关节的受力变化、身体的平衡调整都在瞬间完成数据融合。这正是现代四足机器人试图复制的生物智慧。在野…...

构建WebRTC实时语音交互系统:从语音采集到智能响应全流程解析

1. WebRTC实时语音交互系统架构解析 实时语音交互系统听起来高大上,但拆解后你会发现它就像一条精心设计的流水线。我在实际项目中搭建过多个类似系统,核心架构通常包含五个关键环节:音频采集→网络传输→语音识别→AI处理→语音合成。每个环…...

别再手动推导了!用MATLAB内置函数spline搞定三次样条插值(附完整代码对比)

工程实战:MATLAB三次样条插值的高效实现与避坑指南 在工程数据分析与科学计算领域,平滑曲线的生成是个永恒话题。想象一下这样的场景:你刚完成一组材料强度实验,采集了10个离散数据点,现在需要向客户展示一条连续的性…...

VS2019配置Eigen库终极避坑指南:从下载到编译零报错

1. 为什么选择Eigen库? 如果你正在用C做矩阵运算、线性代数相关的开发,Eigen库绝对是你的首选。我第一次接触Eigen是在研究生期间做机器人运动学仿真,当时试过好几种数学库,最后发现Eigen不仅性能强悍,而且接口设计非常…...

避坑指南:用高德DistrictSearch获取乡镇级GeoJSON数据的3个关键技巧

高德DistrictSearch获取乡镇级GeoJSON数据的实战避坑指南 当我们需要在可视化项目中展示精确到街道层级的行政区划数据时,高德地图的DistrictSearch API是一个强大的工具。但在实际开发中,从接口调用到最终渲染,每个环节都可能遇到意想不到的…...

UE4 Niagara粒子系统实战:从入门到精通的核心模块与技巧

1. Niagara粒子系统入门指南 第一次打开UE4的Niagara编辑器时,我完全被那些复杂的参数和模块搞懵了。但经过几个项目的实战,我发现这套粒子系统其实就像搭积木一样有趣。Niagara是UE4中取代传统Cascade的全新粒子系统,最大的特点是采用了模块…...

计算机毕业设计:Python粮食产量与气候监测分析系统 Django框架 数据分析 可视化 爬虫 机器学习 大数据 深度学习(建议收藏)✅

博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ > 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与…...

【Unity每篇一个知识点】音频压缩实战:从格式选择到性能调优

1. 音频压缩基础与Unity支持格式 做游戏开发的朋友都知道,音频资源往往是包体大小的"重灾区"。我去年接手的一个手游项目,光是背景音乐就占了200MB的空间。后来通过合理的压缩策略,最终把音频体积压到了30MB以内,而且玩…...

从X-AnyLabeling到YOLO:一站式JSON标签转换实战指南(附Python脚本)

1. 为什么需要JSON到YOLO的标签转换 当你用X-AnyLabeling标注完几百张行人姿态图片后,发现YOLO模型根本不认这些JSON文件,这时候你就需要格式转换了。这就像你写了一封情书,对方却只收电报——不是内容不对,只是格式不匹配。 我去…...

快速搭建企业级Spring Boot OAuth2认证系统的终极指南

快速搭建企业级Spring Boot OAuth2认证系统的终极指南 【免费下载链接】oauth2-server spring boot (springboot 3) oauth2 server sso 单点登录 认证中心 JWT,独立部署,用户管理 客户端管理 项目地址: https://gitcode.com/gh_mirrors/oau/oauth2-server 在数字化转型浪…...

发那科系统全套PMC梯形图设计与维修详解:刀库、进给轴、主轴及外围程序等全方位指导

发那科系统整套PMC梯形图设计调试维修 FANUC全套PMC设计 发那科标准PLC 详情从图2开始!!! 内容很全 请仔细看完: 1.刀库程序设计(斗笠 圆盘 夹臂 机械手 伞型 都包括) 2.刀架程序(电动 液…...

【网络协议实战】——GNS3与Wireshark联动的抓包分析指南

1. 为什么需要GNS3与Wireshark联动 刚开始接触网络协议时,我总感觉那些抽象的概念离实际操作很遥远。直到发现了GNS3和Wireshark这对黄金组合,才真正把书本上的协议变成了看得见摸得着的实验数据。GNS3能模拟真实网络设备,而Wireshark就像一台…...

从DIY树莓派到量产智能硬件:工程师如何根据项目选对芯片(CPU/MPU/MCU/SoC实战指南)

从DIY树莓派到量产智能硬件:工程师如何根据项目选对芯片 在智能硬件开发领域,芯片选型往往决定了项目的成败。我曾见过一个团队花费半年时间基于高性能SoC开发了一款环境监测设备,最终却因功耗问题不得不推倒重来;也见证过创客用5…...

西门子恒压供水系统程序:详细注释与图纸,一拖多泵组合,水箱无负压模式切换,画面随选更新,PLC...

西门子恒压供水程序,有详细的注释和图纸,一拖多2-6泵自由组合,水箱无负压共18种模式自由选择,画面根据选择自动切换画面,pld由plc调节不限变频器型号,西门子smart sr20am03最多提供3十1辅泵,sma…...

简单理解:单个环形缓冲区 vs 双缓冲区 对比表

对比项单个大环形缓冲区双缓冲区(双缓冲)解决的核心问题数据不会溢出、不会满保证读到完整一整包、不被打断读写方式一边写、一边读,同时进行写 A 时读 B,写 B 时读 A,互不干扰数据完整性可能读到一半旧一半新&#xf…...

ESP32低功耗实战:5种唤醒方式对比(含代码避坑指南)

ESP32低功耗实战:5种唤醒方式深度解析与代码避坑指南 在物联网设备开发中,电池供电的设备对功耗控制有着极高的要求。ESP32作为一款广泛应用于物联网领域的芯片,其低功耗特性尤为突出。本文将深入解析ESP32的5种主要唤醒方式,通过…...

STM32H7实战:CANFD协议从理论到代码的深度解析

1. CANFD协议基础:从CAN到CANFD的进化之路 CANFD(Controller Area Network Flexible Data-rate)是传统CAN协议的升级版本,最早由博世公司在2012年提出。我在汽车电子项目中第一次接触CANFD时,最直观的感受就是数据传输…...

尝试使用302重定向加速国外服务器速度

既然你有公网IP,那完全可以用 302 重定向 实现流量不经过国外服务器,而且配置非常简单。方案:Nginx 返回 302在国外服务器的 Nginx 配置中,关键配置如下:nginxserver {listen 80;server_name your-domain.com;location…...

别再死记硬背了!一张图搞定华为数通里的网络类型与拓扑(附实战场景联想)

华为数通实战指南:网络类型与拓扑的图形化记忆法 刚接触华为数通认证的学习者,常被各种网络类型和拓扑结构搞得晕头转向。LAN、MAN、WAN这些概念看似简单,但一到实际应用场景就容易混淆;星型、网状、树形等拓扑结构虽然能背下来&a…...

llama-cpp-python架构解析:从C++原生绑定到高性能LLM推理的工程实践

llama-cpp-python架构解析:从C原生绑定到高性能LLM推理的工程实践 【免费下载链接】llama-cpp-python Python bindings for llama.cpp 项目地址: https://gitcode.com/gh_mirrors/ll/llama-cpp-python 在本地大语言模型部署领域,开发者常面临性能…...

二维码修复终极指南:5步使用QrazyBox恢复损坏的二维码

二维码修复终极指南:5步使用QrazyBox恢复损坏的二维码 【免费下载链接】qrazybox QR Code Analysis and Recovery Toolkit 项目地址: https://gitcode.com/gh_mirrors/qr/qrazybox 你是否曾经遇到过这样的情况:重要的会议签到二维码被咖啡渍污染&…...

Sunshine游戏串流服务器:构建低延迟跨平台游戏共享的技术架构与实践指南

Sunshine游戏串流服务器:构建低延迟跨平台游戏共享的技术架构与实践指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine是一款自托管的游戏串流服务器&#x…...

3步掌握FakeLocation:安卓应用级虚拟定位终极指南

3步掌握FakeLocation:安卓应用级虚拟定位终极指南 【免费下载链接】FakeLocation Xposed module to mock locations per app. 项目地址: https://gitcode.com/gh_mirrors/fak/FakeLocation 你是否曾想过在手机上"瞬移"到世界任何角落?&…...

终极指南:如何在Ubuntu 24.04 LTS上解决Realtek 8851BE无线网卡驱动问题

终极指南:如何在Ubuntu 24.04 LTS上解决Realtek 8851BE无线网卡驱动问题 【免费下载链接】rtw89 Driver for Realtek 8852AE, an 802.11ax device 项目地址: https://gitcode.com/gh_mirrors/rt/rtw89 rtw89项目是一个专门为Realtek 885x系列WiFi 6/7设备开发…...

云从科技携手华为共筑“中国网谷”AI产业新高地

2026年3月,十四届全国人大四次会议审议通过的政府工作报告首次提出“打造智能经济新形态”,明确要求“深化拓展‘人工智能’,促进新一代智能终端和智能体加快推广”“实施超大规模智算集群、算电协同等新基建工程”。这一顶层设计标志着人工智…...