恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Skill 技能实战:用 SKILL.md 与 allowed-tools 构建可版本化的 Prompt 工作流

  • 首页
  • 资讯中心
  • /
  • Skill 技能实战:用 SKILL.md 与 allowed-tools 构建可版本化的 Prompt 工作流

相关资讯

Windows WSL Codex CLI 全自动运行配置:config.toml 与 PATH 一次改到 TaoToken 2026/10/1 7:07:54
抖音运营群里的干货刷过去就没了?抖音聊天记录导出归档攻略,把每日刷屏变成可检索的玩法库 2026/10/1 7:07:54
数据流架构:破解AI芯片内存墙的工程实践指南 2026/10/1 7:02:54

最新资讯

DeepSeek弹性计算精读:从vLLM部署到API接入的工程实践指南
Lucebox专攻DeepSeek V4:DSpark草稿模型、MoE专家并行与ROCmFPX量化达成42 tok/s
Expo DESIGN.md 实战拆解:基于 awesome-design-md 仓库的 React Native 开发者平台设计令牌体系
NuvioTV观影记录同步:Trakt、Simkl与Letterboxd(MDBList)接入完全教程
企业基于 Anthropic Claude 系列模型开发业务应用,有哪些云平台适合接入和部署?
净资产收益率ROE详细说明

今日推荐

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

本周热门

从像素到笔画:srt-whiteboard-animation骨架笔迹追踪实现(Zhang-Suen细化+8邻接追踪)
网站建设的英语怎么说?别只背单词,看完这套安全完整流程才敢上线
新手入门看这篇:建设网站加盟避坑指南与SEO实操

本月精选

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

Skill 技能实战:用 SKILL.md 与 allowed-tools 构建可版本化的 Prompt 工作流

发布时间:2026/10/1 7:07:54
Skill 技能实战:用 SKILL.md 与 allowed-tools 构建可版本化的 Prompt 工作流 1. 从散落 Prompt 到可版本化技能包Skill 工程化落地要解决什么如果你和我一样日常有一批固定套路的 AI 任务——比如把零散工作记录汇总成周报、把接口文档转成测试用例、把一段代码按团队规范做重构——那你大概率经历过这样的循环每次都要重新敲一遍几乎相同的提示词改两个字又忘了上次的约束条件换台机器或者换个项目之前调好的那套 Prompt 就找不到了。这就是 Prompt 的天然短板它是临时的、易失的、不可复用的。而 Skill 技能要解决的正是这件事——把一段稳定的 Prompt 连同它的元信息、权限声明、参考资料一起打包成一个文件夹让 Agent 在需要时自动加载。你可以把它理解成「给 AI 装插件」Prompt 是每次口头交代Skill 是写进说明书里、随时可查、可迭代、可回滚的工程资产。这篇文章面向的是需要把零散 Prompt 沉淀为可复用技能包的开发者。我会从 SKILL.md 的目录结构讲起给出 allowed-tools 权限声明的可复制配置片段演示 SemVer 版本管理怎么打版最后带你走一遍技能加载与权限校验的验证动作。全程围绕一个核心检索词展开Skill 技能如何从 Prompt 工程化落地为可版本化的技能包。先说清楚 Skill 和 Prompt 的本质区别这决定了你后面怎么设计目录。Prompt 是「一次性指令」每次对话都要重写既占上下文又容易漏掉约束Skill 是「长久指令包」通过渐进式加载机制按需注入不占用日常对话空间。Anthropic 把 Skill 规范作为开放标准发布后Claude Code、OpenAI Codex、GitHub Copilot、VS Code、Cursor、Gemini CLI 等一批 Agent 产品都采纳了这套机制所以你现在学它迁移成本很低。我自己的体感是当你有超过三个「每次都要重复交代」的任务时就该考虑把它们 Skill 化了。下面进入实操。2. TaoToken 前置准备把模型接入和 Key 管理先理顺在动手写 SKILL.md 之前得先保证你的 Agent 能稳定调用模型。Skill 本身只是指令包真正执行推理的还是背后的模型服务。我实测下来用 TaoToken 做统一接入比较省心它兼容主流 API 协议Claude Code、Cline、Codex 这类工具都能直接对接省去每个工具单独配一遍的麻烦。第一步是拿到 API Key。打开控制台地址 https://taotoken.net/api-keys 登录后创建一个新的 Key复制出来先存到安全的地方。注意别把 Key 直接写进 SKILL.md 或任何会提交到 Git 的文件里后面讲 allowed-tools 和敏感信息处理时会再强调这一点。第二步是确认 Base URL。TaoToken 的 API 入口是 https://taotoken.net/api 注意这个地址不带任何查询参数配置时原样填入即可。很多工具要求 Base URL 以/v1结尾或者不带尾部斜杠具体看工具要求但根地址就是上面这个。第三步是选模型。如果你主要做编码类 Skill建议用 Claude 系列或 Codex 系列如果偏文本汇总、报告生成通用对话模型就够。模型 ID 要填准确比如claude-sonnet-4-5这类填错了会直接报 model not found。这里有个我踩过的坑有些工具比如 Cline的配置界面里Provider 要选「OpenAI Compatible」而不是「Anthropic」然后把 Base URL 填 TaoToken 的地址Key 填刚创建的 Key。选错 Provider 会导致请求发到官方端点而不是你的中转地址直接 401。如果你用的是 Claude Code配置方式略有不同它读的是环境变量或 settings 文件。下面第三节我会给出具体的 JSON 配置片段。先把 Key 和 Base URL 准备好我们进入配置环节。顺便提一句如果你打算长期跑编码类 Agent 任务可以了解下 Coding Plan 这类套餐按量或包月都有比单次调用划算。地址在 https://taotoken.net/api 的套餐页里能找到这里不展开。3. 可复制配置SKILL.md 结构、allowed-tools 与 settings 片段这一节是全文的技术核心我会给出可以直接复制粘贴的配置。先看 Skill 的目录结构这是所有工具通用的约定skill-name/ ├── SKILL.md # 必需入口文件含 YAML frontmatter ├── scripts/ # 可选可执行脚本 ├── templates/ # 可选代码/文档模板 ├── references/ # 可选详细参考资料 └── assets/ # 可选静态资源SKILL.md 的 frontmatter 字段里name和description是必填的。name必须和文件夹名一致只能用小写字母、数字和连字符不能有连续连字符。description最多 1024 字符要写清楚「做什么 何时使用」因为 Agent 就是靠它来匹配意图的。下面是一个完整的 SKILL.md 示例我以「工作周报生成」这个场景来写--- name: weekly-report description: | 将零散的工作记录汇总成结构化周报。当用户提到周报工作总结本周汇报 或需要把多条工作条目整理成报告时使用。输出包含日期、字数统计、错别字检查。 allowed-tools: - read_file - write_file metadata: version: 1.0.0 tags: [report, summary] --- ## 目标 把用户提供的工作条目整理成一份 500 字左右的周报。 ## 输入 - 工作条目列表用户直接粘贴或从文件读取 - 报告日期范围 ## 执行流程 1. 读取并去重工作条目 2. 按「本周完成 / 进行中 / 下周计划」三段归类 3. 生成正文控制在 500 字上下 4. 检查错别字并标注 ## 输出契约 - 文件落点./reports/weekly-YYYY-MM-DD.md - 格式Markdown含标题、日期、三段正文注意allowed-tools这里我用了列表形式但规范里它其实是空格分隔的字符串。不同工具解析方式略有差异Claude Code 更推荐空格分隔allowed-tools: read_file write_file权限声明的原则是「最小必要」只声明这个 Skill 真正需要的工具绝对不要用通配符*一把梭。比如周报 Skill 只需要读文件和写文件就不该给它run_terminal或删除文件的权限。这是安全底线。接下来是工具侧的配置。以 Claude Code 为例它的 settings 文件里要配 Base URL 和 Key。找到~/.claude/settings.json用户级或项目根目录的.claude/settings.json写入{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: 你的Key } }如果你用的是 Cline 或 Codex配置项名称不同但三件套是一样的Base URL、Key、Model ID。Codex 读的是~/.codex/auth.json结构大致如下{ OPENAI_API_KEY: 你的Key, OPENAI_BASE_URL: https://taotoken.net/api }Model ID 在工具的模型选择里填比如claude-sonnet-4-5。这三件套缺一不可少任何一个都会在请求阶段报错。Skill 文件夹放哪里用户级和项目级只是路径不同。Claude Code 用户级是~/.claude/skills/项目级是项目根/.claude/skills/。Windows 下用户级是C:\Users\用户名\.claude\skills\。放对目录重启工具就能识别。4. 验证请求技能加载与权限校验的完整动作配置写完必须验证。我分两步走先验证模型连通再验证 Skill 加载和权限生效。第一步验证模型请求能通。在终端里直接发一个最小请求curl https://taotoken.net/api/v1/messages \ -H Content-Type: application/json \ -H x-api-key: 你的Key \ -H anthropic-version: 2023-06-01 \ -d { model: claude-sonnet-4-5, max_tokens: 64, messages: [{role: user, content: 回复 OK}] }如果返回里有content字段且文本是「OK」说明 Base URL 和 Key 都没问题。如果返回 401说明 Key 错了或没带上如果返回 model not found说明 Model ID 拼错了。第二步验证 Skill 被加载。把weekly-report文件夹放到~/.claude/skills/下重启 Claude Code然后在对话里输入/skills或直接问「列出可用的 Skills」。你应该能在列表里看到weekly-report。如果没看到先检查文件夹名和 frontmatter 里的name是否完全一致——这是最常见的加载失败原因。第三步验证权限校验。这一步很多人会跳过但它恰恰是 allowed-tools 的价值所在。我故意在周报 Skill 里只声明了read_file和write_file然后触发它去执行一个需要终端权限的操作比如「用这个 Skill 生成周报并执行 shell 命令统计字数」。正常情况应该被拦截提示该 Skill 没有run_terminal权限。如果它真的执行了说明你的权限声明没生效要回去检查 frontmatter 格式。第四步验证渐进式加载。Skill 规范的三层加载机制是这样的L1 目录层在会话启动时只加载name和description每个 Skill 约 50-100 tokensL2 指令层在 Skill 被激活时才加载完整 SKILL.md body建议控制在 5000 tokens 以内L3 资源层在指令引用时才按需读取scripts/、references/里的文件。你可以通过观察上下文占用来间接验证没触发 Skill 时上下文里应该只有描述没有正文。触发 Skill 有三种方式命令触发/weekly-report、提示词触发「使用 weekly-report 这个 Skill」、自主触发模型根据 description 自动匹配。自主触发最不稳定因为它依赖模型判断所以 description 里的关键词一定要写全。5. 本篇常见错排查401、local proxy failed、reading choices、OAuth排错这块我按真实报错来对照这些都是我在配置过程中实际撞过的。401 Unauthorized最常见。原因通常是 Key 没填、填错或者 Base URL 指向了官方端点而不是 TaoToken。检查settings.json里的ANTHROPIC_API_KEY和ANTHROPIC_BASE_URL是否成对出现。还有一种情况是 Key 有空格或换行复制时带进去了删掉重贴。local proxy failed / connection refused这个报错说明工具在尝试连本地代理端口但你根本没起代理。检查工具的网络配置里是不是残留了http://127.0.0.1:xxxx这类地址清掉让它直连 Base URL。reading choices 相关报错通常出现在 OpenAI 兼容协议的工具里说明返回结构不符合预期。检查 Model ID 是否填成了 Anthropic 的模型名却用了 OpenAI 协议或者反过来。Cline 里 Provider 选「OpenAI Compatible」时模型名要按对应格式填。OAuth 相关报错Claude Code 有时会走 OAuth 登录流程如果你已经用 API Key 配置了要确保没有同时启用 OAuth。检查是否有~/.claude/.credentials.json之类的残留文件必要时清掉重新用 Key 登录。Skill 无法触发先确认name和文件夹名一致再确认description里包含了用户可能说的关键词。比如用户说「帮我写周报」你的 description 里得有「周报」这个词否则模型匹配不到。YAML 解析失败frontmatter 里的特殊字符比如冒号、引号没转义。用 YAML 校验工具过一遍或者把 description 用|块标量包起来。脚本无法执行检查scripts/下文件的权限和相对路径。Skill 里引用脚本要用相对路径别写绝对路径否则换台机器就废了。排查顺序建议先 curl 验证模型通不通再看 Skill 列表有没有加载最后测权限拦截。三步定位基本能覆盖九成问题。6. SemVer 版本管理与安全边界让技能包可回滚、可审计Skill 一旦被多个项目复用版本管理就必须跟上。SemVer 的格式是MAJOR.MINOR.PATCH比如1.2.3。规则很直白MAJOR 是不兼容的变更MINOR 是向下兼容的功能新增PATCH 是向下兼容的问题修复。放到 Skill 场景里如果你改了输出契约的字段名导致下游解析失败那就是 MAJOR 升级如果你新增了一个可选的输入参数老用法不受影响那是 MINOR如果只是修了错别字检查的 bug那是 PATCH。版本号写在 frontmatter 的metadata.version里metadata: version: 1.2.0 tags: [report, summary]更新 Skill 的最佳实践我总结成四条修改前先备份旧版本文件夹更新metadata.version字段在references/下维护一个CHANGELOG.md记录每次变更测试验证通过后再正式启用。这样即使新版本出问题你也能快速回滚到上一个可用版本。安全边界这块allowed-tools 是第一道闸。只声明实际需要的工具敏感操作比如删除文件、执行任意命令要格外谨慎。第二道闸是敏感信息处理绝对不要在 SKILL.md 或脚本里硬编码 API Key、密码。正确做法是通过环境变量读取比如在输入说明里写「apiKey 通过环境变量 MY_API_KEY 读取」让运行时注入。第三道闸是脚本安全审查scripts/下的每一个脚本不要执行来源不明的代码对用户输入做校验和过滤。最后说下 CTA 分流方便你按需深入。如果你在排错或接入阶段卡住了去 API Keys 页面 https://taotoken.net/api-keys 重新确认 Key接入文档在 https://taotoken.net/api 的文档区。如果你想先验证模型效果再决定怎么配可以直接用模型对话功能试跑一段 Prompt。如果你打算长期跑编码类 Agent 任务Coding Plan 会更划算入口同样在 https://taotoken.net/api 的套餐页。把 Skill 当成代码资产来管你的 Prompt 工作流才算真正工程化。从今天起挑一个你重复最多的任务把它写成第一个 SKILL.md 吧。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号