ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【2026 最新】一篇文章告诉你什么是Skills:用Claude Skills把AI变成你的专属打工人,告别Prompt工程

【2026 最新】一篇文章告诉你什么是Skills:用Claude Skills把AI变成你的专属打工人,告别Prompt工程 1. 从 Prompt 工程到 Claude Skills为什么你的提示词该“退休”了如果你现在还在用一份几百行的系统提示词每次对话都复制粘贴那你大概率已经踩过这几个坑上下文被提示词吃掉一半、模型偶尔“忘记”规则、换个项目就得重写一遍。我从 2024 年开始给团队做 AI Agent 落地最头疼的不是模型能力不够而是提示词没法复用、没法版本管理、没法按需加载。Claude Skills 解决的正是这个问题。你可以把它理解成给 AI 装了一个“技能包”系统平时这些技能躺在磁盘上不占用任何 token只有当任务匹配到某个技能时Agent 才会把对应的SKILL.md加载进上下文。这跟传统 Prompt 工程最大的区别在于——提示词从“每次都要塞进去”变成了“按需调用”。我实测下来一个中等复杂度的项目用 Skills 替代常驻系统提示词后单次对话的输入 token 能降 40% 到 60%。更重要的是你的领域知识、操作流程、脚本工具被封装成了标准化模块换一个 Agent 也能直接复用。这篇文章面向的是想从“手写提示词”转向“技能化编排”的开发者。我会给出可直接复制的SKILL.md模板、目录组织方式以及在 TaoToken 统一 Key/API 通道下完成一次技能调用与结果验证的完整动作。你不需要先成为 Claude 专家跟着做就能跑通。核心检索词先明确Claude Skills 是什么、SKILL.md 怎么写、AI Agent 技能化编排怎么做。这三个问题贯穿全文。2. TaoToken 前置准备统一 Key 与 API 通道配置在写SKILL.md之前得先把调用通道打通。Skills 本身是能力描述文件但真正执行时还是要通过 API 调用模型。我试过在多个平台之间来回切换 Key管理成本很高后来统一走 TaoToken 的 API 通道一个 Key 覆盖模型对话和编码场景。2.1 获取 API Key打开 TaoToken 控制台进入 API Keys 页面创建一个新 Key。建议按用途命名比如claude-skills-dev方便后续排查问题时定位。创建完成后你会拿到一串以sk-开头的密钥。注意这个 Key 只在创建时完整显示一次先复制到安全的地方。2.2 确认 Base URL 与模型 IDTaoToken 的 API 入口是https://taotoken.net/api注意这个地址不加任何 UTM 参数直接用于代码里的base_url。模型 ID 根据你用的场景选择Claude 系列常用的有claude-sonnet-4-20250514这类标识具体以控制台模型列表为准。三件套记牢Base URL API Key Model ID。后面所有配置都围绕这三个值展开。2.3 环境变量配置我不建议把 Key 硬编码在脚本里。用环境变量管理export TAOTOKEN_API_KEYsk-你的密钥 export TAOTOKEN_BASE_URLhttps://taotoken.net/api export TAOTOKEN_MODELclaude-sonnet-4-20250514如果你用的是 Claude Code 或 Cline 这类工具它们通常支持在配置文件里读取这些变量。以 Claude Code 为例配置文件路径和字段名要对齐否则会出现local proxy failed或 401 报错。提示如果你在 Claude Code 里配置Base URL 填https://taotoken.net/apiKey 填环境变量引用Model ID 填控制台确认的值。三者缺一不可少一个就会在请求阶段报错。2.4 验证通道是否通在写 Skills 之前先用一个最小请求确认通道没问题curl -s https://taotoken.net/api/v1/messages \ -H Content-Type: application/json \ -H x-api-key: $TAOTOKEN_API_KEY \ -H anthropic-version: 2023-06-01 \ -d { model: $TAOTOKEN_MODEL, max_tokens: 64, messages: [{role: user, content: 回复 OK}] }如果返回里有content字段且文本是OK说明通道正常。如果返回 401检查 Key 是否复制完整如果返回local proxy failed检查 Base URL 是否写成了带路径的完整地址。这一步看起来简单但我见过太多人跳过验证直接写 Skills结果调试时分不清是通道问题还是技能配置问题。先把通道跑通后面排障会轻松很多。3. SKILL.md 可复制模板与目录组织方式这是全文最核心的部分。SKILL.md的结构决定了 Agent 能不能正确加载和执行你的技能。3.1 目录结构一个标准的 Skill 文件夹长这样my-skill/ ├── SKILL.md # 技能说明书必须大写 ├── scripts/ # 可执行脚本 │ └── run.py └── references/ # 参考资料、模板 └── template.md关键规则SKILL.md必须大写且文件夹名要和SKILL.md里配置区的name字段一致。比如name: weekly-report文件夹就必须叫weekly-report。这个文件夹要放在 Agent 指定的技能目录下项目级通常是.skills/全局级看具体工具的要求。3.2 SKILL.md 配置区模板配置区是技能的“身份证”用 YAML frontmatter 格式写在文件最顶部--- name: weekly-report description: 根据本周的 Git 提交记录和任务清单自动生成结构化周报。当用户提到周报工作总结本周进展时触发。 ---name必须用英文因为它是文件夹名和调用标识。description是触发条件写得越具体Agent 匹配越准。我建议把用户可能说的关键词都列进去比如“周报”“工作总结”“本周进展”这些。3.3 SKILL.md 指令区模板配置区下面是指令区也就是真正写提示词的地方。这里规定技能遵循的规则和流程# 周报生成技能 ## 执行流程 1. 读取 references/template.md 中的周报模板 2. 调用 scripts/collect_commits.py 获取本周 Git 提交记录 3. 按模板结构整理内容分为本周完成进行中下周计划三个板块 4. 输出 Markdown 格式的周报 ## 规则 - 每个板块至少 3 条不足时提示用户补充 - 提交记录按模块分组不要逐条罗列 - 语气正式但不僵硬避免赋能抓手这类词 - 如果本周无提交记录直接告知用户并建议检查仓库路径 ## 输出格式 严格按以下结构输出 ### 本周完成 - [模块名] 具体事项 ### 进行中 - [模块名] 具体事项 ### 下周计划 - [模块名] 具体事项这个模板的关键在于流程要可执行、规则要可判断、输出要可验证。不要写“尽量整理得清晰一些”这种模糊描述Agent 没法判断什么叫“清晰”。3.4 脚本与参考资料scripts/里放可执行代码。比如collect_commits.pyimport subprocess import sys from datetime import datetime, timedelta def get_week_commits(repo_path.): since (datetime.now() - timedelta(days7)).strftime(%Y-%m-%d) result subprocess.run( [git, log, f--since{since}, --prettyformat:%s, --no-merges], cwdrepo_path, capture_outputTrue, textTrue ) if result.returncode ! 0: print(fERROR: {result.stderr}, filesys.stderr) sys.exit(1) commits [line for line in result.stdout.strip().split(\n) if line] for c in commits: print(f- {c}) if __name__ __main__: get_week_commits()references/里放模板文件比如template.md就是上面输出格式那段的独立版本方便 Agent 读取。3.5 在 TaoToken 通道下调用技能技能写好后通过 TaoToken 的 API 通道调用。这里给一个 Python 示例把技能内容作为系统提示注入import os import requests api_key os.environ[TAOTOKEN_API_KEY] base_url os.environ[TAOTOKEN_BASE_URL] model os.environ[TAOTOKEN_MODEL] with open(.skills/weekly-report/SKILL.md, r) as f: skill_content f.read() response requests.post( f{base_url}/v1/messages, headers{ Content-Type: application/json, x-api-key: api_key, anthropic-version: 2023-06-01 }, json{ model: model, max_tokens: 2048, system: skill_content, messages: [{role: user, content: 帮我生成本周周报}] } ) print(response.json()[content][0][text])注意system字段直接放SKILL.md的内容。实际 Agent 框架会自动处理加载逻辑这里手动加载是为了让你看清原理。4. 验证请求与成功结果一次完整的技能调用配置写完了现在跑一次完整调用确认技能真的生效。4.1 准备测试环境先建一个测试仓库造几条提交记录mkdir skill-test cd skill-test git init echo init README.md git add . git commit -m 初始化项目结构 echo api api.py git add . git commit -m 新增用户接口模块 echo fix api.py git add . git commit -m 修复接口参数校验问题4.2 执行技能调用把上面的 Python 脚本保存为run_skill.py确保.skills/weekly-report/SKILL.md存在然后运行python run_skill.py4.3 预期结果成功时你会看到类似输出### 本周完成 - [项目初始化] 完成项目基础结构搭建 - [用户接口] 新增用户接口模块 ### 进行中 - [接口优化] 修复接口参数校验问题 ### 下周计划 - 待补充如果输出结构符合模板、内容来自真实提交记录说明技能调用成功。这里的关键验证点是Agent 是否读取了SKILL.md里的流程和规则。你可以故意改一下模板里的板块名称再跑一次看输出是否跟着变。如果变了说明技能加载生效。4.4 验证按需加载Skills 的核心优势是按需加载。你可以做个小实验在SKILL.md的description里只保留“周报”关键词然后发一条“帮我写个 Python 排序函数”的请求。观察 Agent 是否加载了这个技能——正常情况下不应该加载因为任务不匹配。这个实验能帮你确认技能没有变成“常驻提示词”token 消耗是可控的。5. 本篇常见错误排查401、local proxy failed、reading choices这一节对照真实报错给出排查路径。我踩过的坑基本都在这里了。5.1 401 Unauthorized最常见的原因是 Key 没传对。检查三点第一环境变量是否真的导出了。用echo $TAOTOKEN_API_KEY确认输出不是空。第二请求头字段名是否正确。Anthropic 风格用x-api-keyOpenAI 风格用Authorization: Bearer。用错字段名会直接 401。第三Key 是否被复制时带了空格或换行。建议用echo -n测试。5.2 local proxy failed这个报错通常出现在 Claude Code 或类似工具的配置里。原因是 Base URL 配置不对。检查你的配置文件{ base_url: https://taotoken.net/api, api_key: sk-你的密钥, model: claude-sonnet-4-20250514 }三件套必须齐全。如果只填了 Key 没填 Base URL工具会走默认地址导致连接失败。如果 Base URL 多写了/v1后缀也可能报这个错。TaoToken 的入口就是https://taotoken.net/api不要自己加路径。5.3 reading choices 报错这个错误一般出现在解析响应时。原因是返回结构和你代码里取值的路径不一致。Anthropic 风格的响应是content[0].textOpenAI 风格是choices[0].message.content。如果你用 OpenAI 的解析方式去读 Anthropic 的响应就会报reading choices相关错误。解决办法确认你调用的接口风格然后对齐解析路径。TaoToken 的/v1/messages是 Anthropic 风格用content[0].text。5.4 OAuth 相关报错如果你在 Claude Code 里看到 OAuth 报错通常是因为工具尝试走 OAuth 流程而不是 API Key。检查配置里是否明确指定了 API Key 模式。有些工具需要设置auth_type: api_key之类的字段。5.5 技能不生效如果通道没问题但技能没被加载检查三点第一SKILL.md是否大写。小写的skill.md不会被识别。第二文件夹名是否和name字段一致。不一致会导致加载失败。第三description里的触发词是否覆盖了你的请求。如果用户说“周报”但 description 里只写了“工作总结”可能匹配不上。注意排查时先用最小请求确认通道再确认技能文件结构最后确认触发词。按这个顺序能避免在多个变量之间来回猜。6. 把重复提示词沉淀为可复用技能下一步动作写到这里你已经有了一个能跑的 Skill。接下来最重要的事是把你手头那些重复使用的提示词一个个改造成技能。我的做法是打开你最近一周的对话记录找出那些你复制粘贴超过三次的提示词。每一个都值得做成 Skill。改造时按这个顺序先写description确定触发条件再把提示词拆成“流程 规则 输出格式”三段最后把其中需要执行代码的部分抽到scripts/里。做完三五个技能后你会发现 Agent 的行为变得可预测了。因为每个技能都有明确的边界和输出规范不再依赖你每次临时描述。如果你想让 Agent 长期跑编码任务可以考虑 TaoToken 的 Coding Plan配合 Skills 做技能化编排把常用的代码审查、提交信息生成、周报汇总都封装成独立技能。需要验证模型效果时直接用模型对话页面测试技能触发是否准确。接入文档里有完整的 API 参数说明和配置示例遇到字段不确定的时候对照查一下比在报错里猜要快得多。
返回列表