skills有什么用# 1 skill技能是智能体完成特定任务的标准化、可复用能力模块是连接大模型 “大脑” 与实际执行的 “手脚” # 2 一句话总结 Skill 给 AI 提前写好的一套固定做事流程让它遇到某类问题不用瞎想直接按步骤干完 本质还是提示词方法脚本 --》预设提示词 --》已经写好的方法、脚本 # 3 Agent Skills 给智能体用的「标准化技能包」 -智能体是人---》skill--》一些功能可以强化人 -下班回家走路30分钟走回家 -下班回家人自行车技能--》骑回家--》10分钟 -由 Anthropic 发起开放标准跨平台通用 -本质一个文件夹内置指令、脚本、资源Agent 可自动发现、加载、执行 -解决AI 缺上下文、不可靠、不可复用、跨平台不兼容问题使用skill好处1 不用重复教 AI同样的事做 100 遍也不用重新说一遍流程。2 AI 不会乱搞、更稳定有 Skill 约束它就按步骤来不会胡说八道。3 可以像搭积木一样组合: 搜索 Skill 总结 Skill 写 PPT Skill→ 直接拼成一个 “自动做调研汇报” 的超级技能。4 可以共享、可以卖你写的 Skill 别人也能用像插件一样。Skill发展1 “Skills”这一技术概念最早是由 AI 公司 Anthropic(Claude) 提出的2 推出时间约 2025 年 10 月3 背景Anthropic 在其大模型 Claude 的生态中为了解决模型在处理复杂任务时缺乏标准化、难以复用的问题提出了 Agent Skills 规范。4 定义它将特定的能力如代码审查、发送邮件、数据分析封装成标准的文件夹结构包含 SKILL.md 说明书和脚本让 AI 能够像人类专家调用工具箱一样按需加载和执行特定技能。5 地位这一规范迅速被开发者社区接受成为了 Agent 开发工具如 Trae、OpenClaw等中实现“AI 自主行动”的行业标准-Trae AI编辑器Cursor是一类东西--》自动写代码的智能体-OpenClaw龙虾数字员工--》智能体6 2026年3月skill 社区生态爆发,开发者开始广泛分享自定义 Skills如 GitHub 私有技能库Skills 成为提升开发效率 10 倍的神器官方Skill# 1 Skill官方https://github.com/anthropics/skills# 2 Claude官方对skill的文档https://support.claude.com/zh-CN/articles/12512176-%E4%BB%80%E4%B9%88%E6%98%AF%E6%8A%80%E8%83%BD# 3 Agent skill 标准文档https://agentskills.io/home# 4 Agent skill 仓库https://github.com/agentskills/agentskills主流Skill仓库1 skillsmphttps://skillsmp.com/zh/search2 腾讯SkillHubhttps://skillhub.tencent.com/3 阿里魔搭社区 (ModelScope)https://www.modelscope.cn/skills标准文件# 一个合规的 Skill 必须遵循以下目录结构my-skill/ # 1. 技能根目录命名有严格要求见下文├── SKILL.md # 【必需】核心文件包含元数据YAML和指令Markdown├── scripts/ # 【可选】可执行代码Python/Bash用于处理确定性任务│ └── run_task.py├── references/ # 【可选】参考文档、API 手册供 AI 查阅│ └── api-docs.md└── assets/ # 【可选】静态资源图片、模板文件等└── template.json# 补一嘴没有问题my-skill/├── SKILL.md├── run_task.py核心规范SKILL.md1 SKILL.md 由两部分组成YAML 元数据头部和 Markdown 指令正文-头部(YAML元数据)和正文(Markdown格式)1.1 头部(YAML元数据) -位于文件最顶部用 --- 包裹。这是 AI 判断“是否加载此技能”的依据。---name: my-skill-name # 【必填】必须与文件夹名完全一致仅允许小写字母、数字、连字符(-)description: 当用户需要处理 PDF 文件时触发包括提取文本、合并文档或填写表单。# 【必填】描述技能的功能和触发场景version: 1.0.0 # 【可选】版本号author: your-name # 【可选】作者---1.2 命名严格规范只能包含小写字母 (a-z)、数字 (0-9)、连字符 (-)。禁止包含下划线 (_)、大写字母、空格。错误示例send_email (错), SendEmail (错)正确示例send-email (对)2 Markdown 指令 (正文)这是 AI 执行任务的“操作手册”。建议包含以下模块角色定义你现在的身份如“资深 Python 工程师”。触发条件明确何时使用该技能。执行步骤分步骤描述逻辑1. 读取文件 - 2. 调用脚本 - 3. 输出结果。工具使用说明如何调用 scripts/ 中的代码。案例一最小合法Skill--- name: pdf-merger description: 将多个 PDF 文件合并为一个文件。当用户要求合并 PDF 或整理文档时使用。 --- PDF 合并专家 角色 你是一位专业的文档处理助手擅长使用 Python 脚本处理 PDF 文件。 触发条件 当用户提到“合并 PDF”、“把这几个文件合在一起”或“整理文档”时触发。 执行步骤 1. **确认文件**询问用户需要合并哪些文件路径或者检查用户是否已上传。 2. **调用脚本**使用 python process.py 脚本将文件列表作为参数传入。 3. **验证结果**检查脚本输出确认合并后的文件是否生成且可打开。 4. **反馈用户**告知用户合并成功并提供输出文件的路径。 注意事项 - 如果文件不存在请提示用户检查路径。 - 合并后的文件名默认为 merged_output.pdf。 脚本调用 python process.py --action {action} --input {file}案例二带脚本Skill1 作用可以将多个pdf合并成一个文件 的技能2 目录结构pdf-merger -SKILL.md -process.pyskills文件的头部---name: pdf-mergerdescription: 将多个 PDF 文件合并为一个文件。当用户要求合并 PDF 或整理文档时使用。---PDF 合并专家角色你是一位专业的文档处理助手擅长使用 Python 脚本处理 PDF 文件。触发条件当用户提到“合并 PDF”、“把这几个文件合在一起”或“整理文档”时触发。执行步骤1. **确认文件**询问用户需要合并哪些文件路径或者检查用户是否已上传。2. **调用脚本**使用 python process.py 脚本将文件列表作为参数传入。3. **验证结果**检查脚本输出确认合并后的文件是否生成且可打开。4. **反馈用户**告知用户合并成功并提供输出文件的路径。注意事项- 如果文件不存在请提示用户检查路径。- 合并后的文件名默认为 merged_output.pdf。脚本调用python process.py --action {action} --input {file} import sys from PyPDF2 import PdfMerger def merge_pdfs(pdf_list, output): merger PdfMerger() for pdf in pdf_list: merger.append(pdf) merger.write(output) merger.close() print(f成功合并 {len(pdf_list)} 个文件到 {output}) if __name__ __main__: # 简单示例接收命令行参数 files sys.argv[1:] if files: merge_pdfs(files, merged_output.pdf)发送邮件SkillSkill.md--- name: sendemail description: 用于发送电子邮件。当用户明确要求发送邮件、通知或消息给某人时使用。支持指定收件人、主题和正文内容。 --- # 邮件发送技能 ## 用法 使用系统提示符中提供的技能目录绝对路径运行捆绑的 Python 脚本 bash ../.venv/Scripts/python send_email.py --to recipientexample.com --subject 您的主题 --body 邮件内容 - to (必填): 收件人的电子邮件地址 - subject (必填): 邮件主题 - body (必填): 邮件正文内容 ## 示例 bash ../.venv/Scripts/python send_email.py --to 616564099qq.com --subject 会议提醒 --body 请在明天下午3点准时参加会议。 如果发送成功将返回成功消息如果失败则返回错误描述。 ## 依赖项 需要标准 Python 库中的 smtplib 和 email 模块通常包含在标准安装中。send_email.py邮件发送工具。 通过 SMTP 协议根据命令行参数发送电子邮件。 import argparse import smtplib from email.mime.text import MIMEText SMTP_SERVER smtp.qq.com SMTP_PORT 587 SENDER_EMAIL 你们的邮箱 SENDER_AUTH_CODE 获取的密钥 def send_email(to_email: str, subject: str, content: str) - str: 根据提供的参数发送电子邮件。 参数 ---------- to_email : str 收件人的电子邮件地址。 subject : str 邮件的主题行。 content : str 邮件的主要内容。 返回: 成功消息或错误描述字符串。 try: # 构建邮件 msg MIMEText(content, plain, utf-8) msg[From] SENDER_EMAIL msg[To] to_email msg[Subject] subject # 发送 with smtplib.SMTP(SMTP_SERVER, SMTP_PORT) as server: #加密 server.starttls() #登录 server.login(SENDER_EMAIL, SENDER_AUTH_CODE) #发送邮件 server.sendmail(SENDER_EMAIL, to_email, msg.as_string()) return f✅ 发送成功 → {to_email} except Exception as e: print() return f❌ 发送失败{str(e)} def main() - None: 邮件发送命令行工具的主入口点。 #构建命令行输入长编码来实现参数输入 parser argparse.ArgumentParser(description通过 SMTP 发送电子邮件) parser.add_argument(--to, typestr, requiredTrue, help收件人电子邮件地址) parser.add_argument(--subject, typestr, requiredTrue, help邮件主题) parser.add_argument(--body, typestr, requiredTrue, help邮件正文内容) args parser.parse_args() #将命令行数据提取发送邮件 result send_email(args.to, args.subject, args.body) print(result) if __name__ __main__: main()开通邮箱发送功能邮箱配置注意Gmail 需要开启“允许低安全性应用访问”或者使用应用专用密码App Password。QQ 邮箱和 163 邮箱需要在设置里开启SMTP服务并获取授权码作为 EMAIL_PASSWORD。企业邮箱可能需要不同的 SMTP 服务器地址请查阅官方文档。邮箱提供商SMTP 服务器端口TLS端口SSLGmailsmtp.gmail.com587465Outlook/Hotmailsmtp.office365.com587465QQ 邮箱smtp.qq.com587465163 邮箱smtp.163.com25465Yahoosmtp.mail.yahoo.com587465qq邮箱通过右上角设置中的安全设置就可以找到了Trae中使用Skill# 1 获取天气和发送邮件 两个技能写好了 -可以共享、可以卖你写的 Skill 别人也能用像插件一样 -CursorTraeLangChainOpenClaw。。智能体只要支持skill的使用我们写的技能就能给它用 # 2 以 Trae为例测试 -1 安装Trae--》注册账号登录 -2 在d盘创建一个文件夹skill_test -3 在Trae中打开项目 -4 设置--》规则和技能--》创建技能 -全局所有项目都可以用 -项目只有当前项目可用 -5 把我们写的技能压成zip -6 导入到Trae中 -7 跟Trae交互就会调用我们的技能Deep Agent使用skill三者区别维度LangChainLangGraphDeepAgent定位LLM 应用基础组件库Agent 工作流编排引擎高阶自主智能体框架抽象层级低组件级中流程级高任务级核心能力模型 / 工具集成、简单链图结构、状态管理、持久化、多 Agent自动规划、文件系统、子 Agent、开箱即用执行模式线性 Chain 为主有向图节点 边支持循环 / 分支基于 LangGraph 的自主执行开发难度低几行代码中需定义图结构极低一行创建适用场景简单问答、RAG、基础工具调用复杂流程、多 Agent、生产级可靠性长周期自主任务、代码工程、深度研究依赖关系独立基础库可独立也可与 LangChain 结合强依赖 LangChain LangGraphDeepAgentSkills -skills -get-weather -get_weather.py -SKILL.md -sendemail -sendemail.py -SKILL.md -.env -run_email_skills.py -run_weather_skills.pyfrom deepagents import create_deep_agent from langgraph.checkpoint.memory import MemorySaver from deepagents.backends.filesystem import FilesystemBackend from langchain_openai import ChatOpenAI import os from dotenv import load_dotenv load_dotenv() # 1 创建model model ChatOpenAI( modelos.getenv(MODEL_NAME), api_keyos.getenv(API_KEY), base_urlos.getenv(BASE_URL), ) # 2 短期记忆--》存状态 checkpointer MemorySaver() agent create_deep_agent( model model, backendFilesystemBackend(root_dirrD:\project\PythonProject\DeepAgentSkill), skills[rD:\project\PythonProject\DeepAgentSkill\skills], checkpointercheckpointer, ) result agent.invoke( { messages: [ { role: user, content: 北京天气如何, } ] }, config{configurable: {thread_id: 12345}}, ) print(result) print(result[messages][-1])