Skill学习

1、概念

skill 是智能体完成特定任务的标准化、可复用能力模块,是连接大模型 "大脑" 与实际执行的 "手脚,

相当于给 AI 提前写好的一套固定做事流程让它遇到某类问题,不用瞎想,直接按步骤干完。

如果没有这个skill,AI每次遇到这个问题,解决方法可能不一样。

由 Anthropic 发起,开放标准,跨平台通用

本质:一个文件夹,内置指令、脚本、资源,Agent 可自动发现、加载、执行

2、使用skill的优点

1、不用重复教 AI同样的事做 100 遍,不用每次复述流程

Skill 把提示词、流程、规则封装起来,调用就直接加载这套逻辑,不用每次对话开头复制一大段指令

2、AI 不会乱搞、有 Skill 约束,它就按步骤来,不会胡说八道

Skill 是**强约束框架**,显著降低乱输出概率,强制按指定步骤、格式、话术执行

3、像搭积木,多个 Skill 组合成复杂超级能力

Agent 模式下可以编排:调用搜索 Skill 拿资料 → 调用总结 Skill 提炼 → 调用 PPT 生成 Skill 输出成品,组装成调研汇报完整链路。

4、可以共享、可以卖你写的 Skill 别人也能用,像插件一样

3、实用网址

Anthropic / Claude 官方生态

1 Skill官方

https://github.com/anthropics/skills

2 Claude官方对skill的文档

https://support.claude.com/zh-CN/articles/12512176-什么是技能

Agent Skills 行业标准 / 规范(2 个)

1、Agent skill 标准文档

https://agentskills.io/home

2、Agent skill 规范文档

https://github.com/agentskills/agentskills

Skills 市场

国外:

1 skills.sh

https://www.skills.sh/

2 skillsmp

https://skillsmp.com/zh/search

国内

1、腾讯SkillHub

https://skillhub.cn/

2、阿里魔搭社区 (ModelScope)

https://www.modelscope.cn/skills

4、Skill文件组成

一个合规的 Skill 必须遵循以下目录结构

my-skill/ # 1. 技能根目录)

├── SKILL.md 【必需】核心文件:包含元数据(YAML)和指令(Markdown)

├── scripts/ 【可选】可执行代码(Python/Bash/nodejs),用于处理确定性任务

│ └── run_task.py # 脚本放在 scripts 目录下

├── references/ #可选】参考文档、API 手册,供 AI 查阅

│ └── api-docs.md

└── assets/ # 可选】静态资源(图片、模板文件等)

└── template.json

Skill.md文件规范

由两部分组成:YAML 元数据(头部)和 Markdown 指令(正文)

1、头部(YAML元数据) :位于文件最顶部,用 --- 包裹。这是 AI 判断"是否加载此技能"的依据。


name: my-skill-name # 【必填】`---` 必须是**文件第一行**,前面不能有空行、不能有任何字符;结束标记 `---` 单独占一行,必须与文件夹名完全一致,仅允许小写字母、数字、连字符(-)

description: # 【必填】描述技能的功能和触发场景,是 Agent 判断是否加载该 skill 的核心匹配依据,不能为空

version: "1.0.0" # 【可选】版本号

author: your-name # 【可选】作者


2、 命名严格规范

只能包含:小写字母 (a-z)、数字 (0-9)、连字符 (-)。

禁止包含:下划线 (_)、大写字母、空格。

3、 Markdown 指令 (正文)

这是 AI 执行任务的"操作手册"。建议包含以下模块:

角色定义:你现在的身份(如"资深 Python 工程师")。

触发条件:明确何时使用该技能。

执行步骤:分步骤描述逻辑(1. 读取文件 -> 2. 调用脚本 -> 3. 输出结果)。

工具使用:说明如何调用 scripts/ 中的代码。

4、最小合法模板

bash 复制代码
---
name: pdf-processor
description: 处理PDF文档,支持文本提取、文档合并、表单填充相关任务。
---
# PDF处理技能
## 使用场景
用户提出PDF提取文本、合并PDF文件、PDF表单填充需求时调用本技能。
## 执行步骤
1. 解析用户需求,确认待处理PDF文件与操作类型
2. 调用scripts目录下对应处理脚本执行任务
3. 校验脚本返回处理结果
4. 整理结果,以清晰格式返回给用户
## 输出格式
【处理任务】
【执行状态】
【结果内容/文件信息】
## 异常处理
- 文件读取失败:返回「PDF文件读取失败,请检查文件完整性」
- 脚本执行报错:重试1次,仍失败直接返回具体错误信息
- 不支持的PDF操作:告知用户当前技能不支持该能力

5、带脚本的skill示例(pdf-processor)

skill.md文件

bash 复制代码
---
name: pdf-processor
description: 处理PDF文档,支持文本提取、文档合并、PDF表单填充。用户要求提取PDF文本、合并PDF、填充PDF表单时启用本技能。
---
# PDF处理专家
## 角色
你是一位专业的文档处理助手,擅长调用scripts下Python脚本完成PDF各类文档处理任务。
## 触发条件
当用户提到"提取PDF文本"、"合并PDF"、"把多个PDF合在一起"、"PDF表单填充"相关需求时触发。
## 执行步骤
1. **确认任务与文件**:识别用户具体操作类型,确认待处理PDF文件路径,检查用户是否已经提供文件。
2. **调用脚本**:使用脚本执行PDF处理,传入操作动作与文件参数。
3. **验证结果**:检查脚本返回输出,确认处理产物正常生成。
4. **反馈用户**:告知任务执行状态,返回处理结果或者输出文件路径。
## 注意事项
- 文件不存在时,提示用户核对文件路径。
- 合并输出默认文件名 `merged_output.pdf`;文本提取直接返回文本内容;表单填充输出 `filled_form.pdf`。
- 遇到加密PDF直接告知用户暂不支持加密文档。
## 脚本调用
python scripts/run_task.py --action {action} --input {file_list}

run_task.py(放到scripts目录下,真正干活的脚步,代码AI生成)

python 复制代码
#!/usr/bin/env python3
"""
scripts/run_task.py
Skill: pdf-processor
actions: merge / extract_text / fill_form
"""
import argparse
import os
from pypdf import PdfMerger, PdfReader, PdfWriter

def merge_pdf(input_files: list[str], out_filename: str = "merged_output.pdf"):
    """合并多个PDF"""
    merger = PdfMerger()
    for fpath in input_files:
        if not os.path.exists(fpath):
            raise FileNotFoundError(f"文件不存在: {fpath}")
        merger.append(fpath)
    merger.write(out_filename)
    merger.close()
    return {"status": "ok", "output_file": out_filename}


def extract_text(input_file: str):
    """提取PDF文本"""
    if not os.path.exists(input_file):
        raise FileNotFoundError(f"文件不存在: {input_file}")
    reader = PdfReader(input_file)
    parts = []
    for page in reader.pages:
        txt = page.extract_text()
        if txt:
            parts.append(txt)
    full_text = "\n".join(parts)
    return {"status": "ok", "text": full_text[:3000]}  # 截断避免超长


def fill_form(input_file: str, out_filename: str = "filled_form.pdf"):
    """简易表单填充占位,pypdf对部分交互式表单兼容性有限"""
    if not os.path.exists(input_file):
        raise FileNotFoundError(f"文件不存在: {input_file}")
    reader = PdfReader(input_file)
    writer = PdfWriter()
    for page in reader.pages:
        writer.add_page(page)
    # 此处可扩展:writer.update_page_form_field_values(page, {"field_name":"value"})
    with open(out_filename, "wb") as f:
        writer.write(f)
    return {"status": "ok", "output_file": out_filename, "note": "表单字段填充逻辑待业务扩展"}


def main():
    parser = argparse.ArgumentParser(description="PDF‑processor skill task runner")
    parser.add_argument("--action", required=True, choices=["merge", "extract_text", "fill_form"])
    parser.add_argument("--input", nargs="+", required=True, help="输入文件,多个空格分隔")
    args = parser.parse_args()

    action = args.action
    input_list = args.input

    try:
        if action == "merge":
            res = merge_pdf(input_list)
        elif action == "extract_text":
            res = extract_text(input_list[0])
        elif action == "fill_form":
            res = fill_form(input_list[0])
        else:
            res = {"status": "error", "msg": f"不支持action:{action}"}
    except Exception as e:
        res = {"status": "error", "msg": str(e)}

    import json
    print(json.dumps(res, ensure_ascii=False))


if __name__ == "__main__":
    main()

使用示例codex中

1、在codex中安装技能(后面讲)

2、使用技能

示例1:

提取demo.pdf里面全部文本

示例2:

把 a.pdf、b.pdf 合并为一个PDF

6、codex中使用pdf-processor技能

6.1、将技能文件压缩zip包

6.2、codex上安装技能

方式一:

将zip包拖拽到codex中,输入帮我全局安装这个技能

方式二:自己安装,解压技能包,放到对应目录下即可

C:\Users\你的用户名\.codex\skills

6.3、校验安装成功

6.4、使用技能

示例:

/pdf-processor(技能)

提取里面的全部文案

6.5、安装线上其他人的skill

方法是类似的,下载zip包,让codex安装或自己手动安装

比如安装:findskill技能

Skill 详情 - Skills管理 - find-skills

相关推荐
田径他爸来了1 小时前
嵌入式学习第30天——软中断,Ip进程间的通信
学习
TechEdu2026062 小时前
[人工智能]Claude、GPT、Gemini、Copilot与Llama:概念、架构、应用与评估
人工智能·ai·llm
长谷深风1112 小时前
为什么你的 Tool 总被模型选错?
java·大数据·ai·llm·ai agent·工具设计·agent设计
Patrick在香港2 小时前
Claude Agent 进阶:4 种工具调用编排模式,让 0820 那 13 个 endpoint 并行起来
python·ai·ai编程
MicrosoftReactor3 小时前
技术速递|GitHub Copilot App 入门指南:管理你的工作
ai·github·copilot·agent
码士集团小青3 小时前
细拆DeepSeek Harness设计思路以及未来定位
ai
白猫不黑3 小时前
网络安全/信息安全专业学习路线与入行指南:从大学到岗位的完整规划
网络·学习·安全·web安全·网络安全·黑客技术
世人万千丶3 小时前
鸿蒙项目实战 - 社区活动编排板:标签云布局算法与自动换行
学习·算法·华为·harmonyos·鸿蒙
赵大仁4 小时前
Next.js AI Route Handler 工程化:超时、流式与鉴权
前端·ai·鉴权·next.js·工程化