尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
掌握技能开发:用 skill-creator 与 SKILL.md 把工具制造工具的艺术落到 TaoToken 实践
1. 为什么我劝你别再手写 Skill 了如果你最近在 Trae 里折腾过技能包大概率经历过这个循环翻官方文档、对着目录结构发呆、写完 SKILL.md 发现触发词写得太窄、脚本跑起来报依赖缺失、改完再导入再试……一个下午就没了。问题不在于你不会写而在于你在用「手工」的方式做一件本该「自动化」的事。skill-creator 就是来解决这个问题的。它是 Anthropic 开源的一个元技能专门用来创建新技能、修改已有技能、跑评估、做基准测试、优化 description 的触发准确率。一句话概括它的定位用工具制造工具。你不再需要从零手搓 SKILL.md而是把「我要一个把 Markdown 转 Word 的技能」这个意图丢给它它帮你生成目录结构、元数据、脚本骨架和参考文档。这篇面向的是在 Trae 中构建可复用技能包的开发者。我会把 skill-creator 与 SKILL.md 的协作方式拆开讲清楚SKILL.md 的目录结构与元数据模板长什么样、skill-creator 的生成流程怎么配置、以及 markdown_to_word 这个技能从定义到调用的完整验证动作。全程可跟做代码和配置都能直接复制。先明确一个认知SKILL.md 不是普通文档它是技能的「契约」。YAML 前置元数据里的 name 和 description 决定了技能什么时候被触发主体内容决定了技能被触发后怎么执行scripts 和 references 决定了执行时的确定性能力。三级加载机制是这样的——元数据始终在上下文里约 100 字SKILL.md 主体在技能触发时才加载理想情况少于 500 行捆绑资源按需加载且脚本可以不加载直接执行。理解这个机制你才知道为什么 description 要写得又准又全。2. TaoToken 前置把模型调用通道先打通在 Trae 里跑 skill-creator本质上是让模型帮你生成技能文件。模型调用需要一个稳定的通道我用的是 TaoToken。它的官网是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 入口是 https://taotoken.net/api 。注意 API 地址不带 UTM 参数配置时别把查询串带进去。你需要准备三件套Base URL、API Key、Model ID。Base URL 填 https://taotoken.net/api API Key 在控制台的 API Keys 页面生成Model ID 按你实际要用的模型填。这三件套在后面的 Trae 配置、Cline MCP、Codex auth.json 里都会反复出现先记牢。生成 Key 的入口在这里 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 。进去之后创建一个新 Key复制出来保存好页面关掉就看不到了。如果你还没决定用哪个模型可以先到模型对话页面试一下 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 确认模型能正常响应再往下走。这里有个容易踩的坑很多人把 Base URL 写成 https://taotoken.net/api/ 带尾斜杠某些客户端会拼出 //v1/chat/completions 导致 404。统一不带尾斜杠。另外 Key 不要硬编码进脚本提交到仓库用环境变量或者本地配置文件。配置完成后建议先用一个最小请求验证通道。你可以用 curl 直接打curl https://taotoken.net/api/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer $TAOTOKEN_API_KEY \ -d { model: 你的Model ID, messages: [{role: user, content: 回复 ok}] }返回里有 choices 数组且 content 是 ok说明通道没问题。这一步别跳过后面 skill-creator 生成失败时你才能快速判断是通道问题还是技能配置问题。3. 可复制配置SKILL.md 模板与 skill-creator 生成流程这一节是全文的核心。我会先给你 SKILL.md 的标准目录结构和元数据模板再给你 skill-creator 的生成配置最后把 markdown_to_word 的完整配置片段贴出来。3.1 SKILL.md 目录结构与元数据模板标准技能目录长这样skill-name/ ├── SKILL.md (必需) │ ├── YAML 前置元数据 (name, description 必需) │ └── Markdown 说明文档 └── 捆绑资源 (可选) ├── scripts/ 可执行代码用于确定性/重复性任务 ├── references/ 必要时加载到上下文的文档 └── assets/ 输出中使用的文件模板、图标、字体SKILL.md 的 YAML 前置元数据模板直接复制改--- name: markdown_to_word description: 将 Markdown 文件或内容转换为 Word 文档。当用户需要将 Markdown 转换为 Word 格式时调用支持文件路径或直接提供 Markdown 内容即使没有明确使用转换一词只要表达了将 Markdown 转为 Word 的意图也应该触发此技能。 ---description 的写法有讲究。它要同时覆盖「做什么」和「什么时候触发」。上面这段里前半句是功能描述后半句是触发条件还特意补了「即使没有明确使用转换一词」来扩大触发面。skill-creator 的优化功能主要就是帮你调这段文字。3.2 skill-creator 的生成配置在 Trae 的 SOLO 模式里把 skill-creator 的 SKILL.md 上传导入技能类型选全局。然后在对话框里给它一段生成指令我实测下来这段配置最稳{ task: create_skill, skill_name: markdown_to_word, skill_goal: 将 Markdown 文件或内容转换为 Word 文档支持标题、段落、列表、粗体、斜体、链接、代码块、引用、表格, input_modes: [file_path, raw_content], output_dir: .trae/outputs, dependencies: [markdown, python-docx], generate: { skill_md: true, scripts: [main.py], references: [conversion-rules.md] }, test_cases: [ 转换这个 Markdown 文件F:\\work\\MCP\\skillTest\\.trae\\outputs\\test.md, 把以下 Markdown 转换为 Word# 测试文档 ## 章节 1 这是一段测试文本。 ] }如果你用的是 TOML 风格的配置部分客户端支持等价写法[skill] name markdown_to_word goal 将 Markdown 文件或内容转换为 Word 文档 input_modes [file_path, raw_content] output_dir .trae/outputs [skill.dependencies] packages [markdown, python-docx] [skill.generate] skill_md true scripts [main.py] references [conversion-rules.md]把这段丢给 skill-creator它会在当前目录下生成完整的技能包。生成完之后你检查三件事SKILL.md 的 description 是否覆盖了触发词、scripts/main.py 的依赖检查逻辑是否完整、references/conversion-rules.md 的格式映射表是否齐全。3.3 markdown_to_word 的完整配置片段生成出来的 SKILL.md 主体关键部分是这样的# Markdown 转 Word 工具 (markdown_to_word) ## 用途 将 Markdown 文件或内容转换为 Word 文档支持基本的 Markdown 语法和格式转换。 ## 触发条件 - 用户需要将 Markdown 转换为 Word 格式 - 关键词Markdown 转 Word、转换 Markdown 为 Word、md 转 docx ## 执行逻辑 1. 参数校验检查用户输入是否包含 Markdown 文件路径或 Markdown 内容 2. 依赖检查确保必要的依赖已安装若未安装则自动安装 3. 转换配置设置转换参数包括输出路径、样式等 4. 执行转换调用转换脚本将 Markdown 转换为 Word 5. 结果返回返回转换结果和文件保存位置 ## 输入格式 1. Markdown 文件路径例如 f:\path\to\file.md 2. 直接提供 Markdown 内容将 Markdown 内容直接粘贴 ## 输出格式 转换成功 保存位置[文件路径] 文件大小[文件大小] 转换时间[转换时间]scripts/main.py 的核心逻辑是依赖检查加格式处理。依赖检查部分import subprocess import sys def check_dependencies(): required_packages [markdown, python-docx] for package in required_packages: try: __import__(package) except ImportError: print(f{package} 未安装正在自动安装...) try: subprocess.run( [sys.executable, -m, pip, install, package], checkTrue ) print(f{package} 安装成功) except subprocess.CalledProcessError: print(f{package} 安装失败请手动安装后重试。) return False return True格式处理部分用正则去掉 Markdown 标记避免转换后 Word 里还留着**bold**这种符号import re def process_markdown_text(text): text re.sub(r\*\*(.*?)\*\*, r\1, text) # 粗体 text re.sub(r\*(.*?)\*, r\1, text) # 斜体 text re.sub(r\[(.*?)\]\((.*?)\), r\1, text) # 链接 text re.sub(r(.*?), r\1, text) # 行内代码 return text表格处理是单独一套逻辑先检测表格行再解析成二维数组最后创建 Word 表格def is_table_line(line): if re.match(r^\|?-\|?-\|?, line): return True if | in line: return True return False def parse_table(lines): table_data [] for line in lines: line line.strip() if not line: continue if re.match(r^\|?-\|?-\|?, line): continue cells [cell.strip() for cell in line.strip(|).split(|)] table_data.append(cells) return table_datareferences/conversion-rules.md 里放格式映射表方便后续维护| Markdown 元素 | Word 格式 | |--------------|----------| | # Heading 1 | 标题 1 样式 | | ## Heading 2 | 标题 2 样式 | | **bold** | 粗体文本 | | *italic* | 斜体文本 | | - 列表项 | 无序列表 | | 1. 列表项 | 有序列表 | | 引用 | 引用样式 | | 表格 | Word 表格 |这三件套配齐技能包就完整了。注意 scripts 里的路径和 references 里的引用要一致否则 skill-creator 打包时会报找不到资源。4. 验证请求从定义到调用的完整动作配置写完不算完得跑通验证。我按「定义→生成→导入→调用→检查输出」五步走一遍。第一步定义。在 Trae 的 SOLO 模式对话框里把 3.2 的 JSON 配置贴进去让 skill-creator 生成技能包。生成完成后当前目录下应该出现 markdown_to_word/ 文件夹里面有 SKILL.md、scripts/main.py、references/conversion-rules.md。第二步生成后自检。打开 SKILL.md 确认 YAML 前置元数据的 name 和 description 都在description 里包含「Markdown 转 Word」「md 转 docx」这类触发词。打开 scripts/main.py 确认 check_dependencies 函数存在且能自动装包。第三步导入 Trae。在 Trae 设置里找到「规则和技能」技能栏目选创建上传 SKILL.md 做智能解析。技能类型选全局这样所有项目都能用。第四步调用。在对话框里输入转换这个 markdown 文件F:\work\MCP\skillTest\.trae\outputs\test.mdTrae 会自动匹配到 markdown_to_word 技能并执行。如果没触发说明 description 的触发词不够回去补。第五步检查输出。转换成功后输出目录下会出现 test.docx。用 Word 打开检查标题层级对不对、表格有没有变成 Word 表格、粗体斜体有没有残留标记、代码块内容是否完整。如果你想绕过 Trae 直接验证脚本本身可以手动跑python scripts/main.py --file F:\work\MCP\skillTest\.trae\outputs\test.md预期输出转换成功 保存位置F:\work\MCP\skillTest\.trae\outputs\test.docx 文件大小25.6 KB 转换时间2.3秒如果输出里有「保存位置」和「文件大小」说明脚本逻辑通了。这一步能帮你把「技能触发问题」和「脚本执行问题」分开定位。再补一个直接传内容的验证python scripts/main.py --content # 测试文档\n## 章节 1\n这是一段测试文本。这条命令不依赖文件路径适合快速验证格式处理逻辑。跑通这两条技能的核心能力就验证完了。5. 本篇常见错排查这一节按真实报错来。你在 Trae 里跑 skill-creator 或调用技能时大概率会遇到下面几种。401 Unauthorized。这是 Key 的问题。检查三件事Key 有没有复制完整前后不能有空格、Base URL 是不是 https://taotoken.net/api 不带尾斜杠、请求头是不是Authorization: Bearer key。如果 Key 是在别的环境生成的确认它没被删除或过期。重新生成一个 Key 再试。local proxy failed。这个报错通常出现在客户端配置了本地代理但代理没起来。检查你的客户端网络设置把代理关掉直连。如果必须走代理确认代理端口和客户端配置一致。这个报错和 TaoToken 本身无关是本地网络层的问题。reading choices 报错。典型信息是cannot read property choices of undefined或reading choices。这说明返回体里没有 choices 字段通常是请求没成功。先看 HTTP 状态码如果是 4xx 就是请求参数问题如果是 5xx 就是服务端问题。常见原因是 Model ID 填错了或者 messages 格式不对。用第 2 节的 curl 命令先验证通道。OAuth 相关报错。如果你用的是 Claude Code 类客户端可能会遇到 OAuth token 过期。这类客户端需要重新走授权流程。注意区分API Key 认证和 OAuth 认证是两套机制别混用。用 API Key 的话在配置里明确指定认证方式。技能不触发。输入了转换指令但 Trae 没调用技能。九成是 description 写得太窄。回去把触发词补全比如加上「md 转 docx」「Markdown 导出 Word」这类同义表达。skill-creator 的优化功能就是干这个的把失败案例喂给它让它重写 description。依赖安装失败。脚本里自动装 markdown 和 python-docx 时报错。先确认 pip 能用再确认网络能访问包源。如果自动装一直失败手动装pip install markdown python-docx装完再跑脚本跳过自动安装逻辑。表格转换错乱。转换后 Word 里表格列数不对或内容串行。检查 Markdown 表格的竖线数量是否一致parse_table 函数按竖线分割列数不齐会错位。另外确认表格分隔线行|---|---|被正确跳过。文件权限被拒绝。保存 docx 时报 PermissionError。通常是目标文件被 Word 占用。脚本里已经做了处理检测到权限错误会自动生成带计数器的新文件名比如 test_1.docx。如果还不行关掉占用文件的程序再试。编码错误。报 UnicodeDecodeError。确认 Markdown 文件是 UTF-8 编码保存的。Windows 下用记事本另存为时选 UTF-8别选 ANSI。6. 把技能包用起来从单技能到技能生态跑通 markdown_to_word 只是起点。skill-creator 真正的价值在于它让你能批量生产技能并且每个技能都遵循同一套结构规范。这意味着技能之间可以组合。比如你可以再生成一个 pdf_to_markdown 技能和 markdown_to_word 串起来就得到了一条「PDF→Markdown→Word」的转换链。再生成一个 batch_rename 技能就能批量处理输出文件。每个技能独立开发、独立测试、独立导入但组合起来能解决复杂问题。几个实操建议。第一description 一定要写触发条件别只写功能。第二scripts 里的依赖检查别省换台机器跑就知道它的价值了。第三references 里的规则文档要跟着脚本一起更新否则维护时会脱节。第四测试用例至少准备三条文件路径输入、内容输入、边界情况空文件或超大文件。第五技能类型优先选全局避免每个项目重复导入。如果你要长期做技能开发建议把模型调用通道固定下来。TaoToken 的 Coding Plan 适合这种持续编码场景 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。接入文档在这里 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面有各客户端的配置示例。Claude Code 相关的接入参考 https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaude-code-anthropicutm_campaignrewrite 。最后说个我踩过的坑第一次生成技能时我把 output_dir 写成了相对路径结果脚本在不同工作目录下跑输出文件散落各处。后来统一改成绝对路径或者用脚本所在目录做基准来拼路径问题就没了。技能包的路径处理能绝对就别相对。
RELATED

相关推荐

每天300万沙箱:DeepSeek Agent训练场架构拆解与反作弊实践

每天300万沙箱:DeepSeek Agent训练场架构拆解与反作弊实践

Agent训练圈这两天最抓眼球的消息,是DeepSeek公开的一套Agent训练场架构思路。单日跑300万个沙箱环境,这个数字真不是拿来做公关的——它大概率就是训练线上真实跑出来的量。300万/天意味着什么?平摊下来每秒大约要创建35个沙箱,如…

📅 2026/10/15 11:00:37
Java外卖平台架构设计与高并发实践

Java外卖平台架构设计与高并发实践

1. 项目概述:从零搭建餐饮外卖平台的技术实践 去年接手公司餐饮系统重构项目时,我选择了"苍穹外卖"作为内部代号。这个基于Java技术栈的外卖平台,完整实现了从用户下单到骑手配送的全流程数字化管理。不同于简单的CRUD练习项目&…

📅 2026/10/15 10:55:36
设计思维实战:顶点计划全流程拆解与避坑指南

设计思维实战:顶点计划全流程拆解与避坑指南

1. 项目缘起与核心定位1.1 这个“顶点计划”到底在做什么“顶点计划”这个名字听起来挺唬人,其实说白了就是一个用设计思维(Design Thinking)去解决真实问题的综合实践项目。它不是一个纯理论课程,也不是那种交完报告就完事的作业…

📅 2026/10/15 10:55:36
MORE NEWS

更多资讯

📰

帝国CMS后台轻松保留Word图文混排:粘贴配置与常见问题排查

1. 为什么Word文档一粘贴进编辑器就“变脸”做整站维护这些年,被问得最多的一个场景,就是后台编辑器里粘贴Word内容。明明Word里排得整整齐齐的图文混排内容,一到编辑器里就成了“缺胳膊少腿”的状态:图片变成红叉、表格挤成一团、…

📰

从DEM到山地晕渲图:地形图核心参数、制图流程与进阶技巧

做地形图不难,做出一张能让人愿意多看几眼、愿意反复放大推敲的地形图,才是真正花时间的地方。很多刚接触GIS的人一上来就问“晕渲图怎么生成”,好像这是一个一键就有的神奇功能。我最初也这么以为,直到某次项目汇报前整晚返工&am…

📰

用 lab 命令行提交并盯完一次训练:Transformer Lab CLI 任务执行完整指南

用 lab 命令行提交并盯完一次训练:Transformer Lab CLI 任务执行完整指南 【免费下载链接】transformerlab-app The open source research environment for AI researchers to seamlessly train, evaluate, and scale models from local hardware to GPU clusters. …

📰

JVM类加载机制深度解析与性能优化实战

1. JVM类加载机制深度解析在Java虚拟机执行引擎的核心架构中,类加载机制如同精密运转的齿轮组,承担着将字节码转化为运行时数据结构的关键使命。作为从业十余年的JVM调优专家,我见证过太多因类加载问题导致的性能瓶颈和诡异故障。本文将聚焦类…

📰

微信小程序电商闭环实战:云开发+支付+后台全链路代码

简介:这是一份面向微信小程序开发者的学习型实战代码资源,聚焦小程序商店类应用的全栈实现,适用于希望掌握小程序生态内应用分发平台开发逻辑的中初级开发者。资源包含57个文件,涵盖9个JS业务逻辑文件、8个WXML页面结构文件、8个W…

📰

2026年软著申请工具评测与使用指南

1. 软著申请工具的价值与选择逻辑 在数字化内容创作爆发的时代背景下,软件著作权保护已成为开发者必备的生存技能。我经手过上百个软著申请案例,发现90%的申请延误都源于材料格式错误和流程不熟悉。专业工具的价值就在于将复杂的法律文书工作转化为标准化…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬