1. 为什么要在 Trae 和 Cursor 之间共享 Skill 目录如果你同时用 Trae 和 Cursor 写代码大概率会遇到一个很烦的场景在 Trae 里精心调好的一套自定义 Skill换到 Cursor 里就没了。手动复制文件夹能顶一阵子但改一次就要同步一次时间长了根本记不住哪边是最新版磁盘里还躺着好几份重复内容。我试过最省事的办法是用 Windows 自带的mklink做目录软链接。它不需要装任何第三方同步工具也不占额外空间Trae 里改完 SkillCursor 那边立刻就能读到。原理很简单软链接对程序来说就是一个真实文件夹读写都会落到源目录上所以只有一份文件两边共用。这篇就围绕三件事展开用mklink /D把 Trae 的 Skill 目录映射到 Cursor 的 Skill 目录给出一份 TaoToken 统一 Key 的settings.json配置骨架让两个编辑器走同一条 API 通道最后验证 Skill 是否同步生效、Key 调用是否正常。适合已经在用 Trae 和 Cursor、想减少重复维护的开发者小白照着敲命令也能跑通。2. 前置准备TaoToken 统一 Key 与目录确认在动mklink之前先把两样东西确认好一个是 Skill 目录的真实路径一个是统一的 API Key。Key 这块我用 TaoToken 来统一管理官网入口在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册后在控制台生成一个 KeyTrae 和 Cursor 都填同一个省得两边各维护一套。先确认 Trae 的 Skill 目录。默认位置一般在用户目录下的.trae-cn\skills比如C:\Users\Administrator\.trae-cn\skills再确认 Cursor 的 Skill 目录。Cursor 默认会在用户目录下找.claude\skills作为全局技能位置C:\Users\Administrator\.claude\skills注意如果.claude\skills已经存在且里面有你手动放的文件先重命名备份因为mklink不能覆盖一个已存在的真实目录。确认它是空的或者不存在再往下走。Key 的获取路径是控制台里的 API Keys 页面生成后先复制到记事本备用。TaoToken 的 API 基地址是https://taotoken.net/api这个地址后面会写进两个编辑器的配置里。如果你还没生成 Key可以先到 API Keys 页面建一个https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content3. 可复制配置mklink 命令与 settings.json 骨架3.1 用 mklink /D 建立目录软链接创建目录软链接需要管理员权限普通命令行会报「你没有足够的权限执行此操作」。按Win X选「终端(管理员)」或「命令提示符(管理员)」。先确认目标目录不存在然后执行下面这条命令。把用户名替换成你自己的mklink /D C:\Users\Administrator\.claude\skills C:\Users\Administrator\.trae-cn\skills参数含义对照如下参数作用mklinkWindows 内置的链接创建命令/D声明创建的是目录软链接不是文件链接第一个路径链接位置即 Cursor 要读的 Skill 目录第二个路径源目录即 Trae 里真实的 Skill 目录执行成功会返回一行提示为 C:\Users\Administrator\.claude\skills C:\Users\Administrator\.trae-cn\skills 创建的符号链接看到这行就说明链接建好了。之后往 Trae 的 skills 目录里加、删、改文件Cursor 的.claude\skills会同步反映不需要重新链接。3.2 Cursor 的 settings.json 配置骨架Cursor 的配置可以放在用户级settings.json里。打开命令面板搜索「Open User Settings (JSON)」把下面这段填进去。Key 换成你在 TaoToken 控制台生成的那串{ cursor.ai.apiKey: sk-你的TaoTokenKey, cursor.ai.baseUrl: https://taotoken.net/api, cursor.ai.model: claude-sonnet-4-20250514, cursor.skills.path: C:\\Users\\Administrator\\.claude\\skills }注意JSON 里反斜杠要写成双反斜杠\\否则会被当成转义字符解析失败。路径也可以写成正斜杠C:/Users/Administrator/.claude/skills两种都行。3.3 Trae 的 settings.json 配置骨架Trae 的配置思路一致同样指向 TaoToken 的 API 通道Key 用同一个。这样两个编辑器调用的是同一套额度不用来回切换账号{ trae.ai.apiKey: sk-你的TaoTokenKey, trae.ai.baseUrl: https://taotoken.net/api, trae.ai.model: claude-sonnet-4-20250514, trae.skills.path: C:\\Users\\Administrator\\.trae-cn\\skills }两边的baseUrl都指向https://taotoken.net/apiapiKey填同一个值。模型名按你实际要用的填这里只是示例。配置改完记得重启编辑器让设置重新加载。4. 验证 Skill 同步与 Key 调用是否正常4.1 验证软链接是否生效最直接的办法是在 Trae 的 skills 目录里新建一个测试 Skill 文件然后去 Cursor 的目录看它是否出现。先在 Trae 目录建文件echo test C:\Users\Administrator\.trae-cn\skills\hello-skill.md再到 Cursor 的目录列一下dir C:\Users\Administrator\.claude\skills如果能看到hello-skill.md说明软链接工作正常。反过来在 Cursor 目录里改这个文件Trae 目录里也会同步变化因为本质上是同一个文件。还可以用dir看链接属性带SYMLINKD标记的就是目录软链接dir C:\Users\Administrator\.claude | findstr skills4.2 验证 Key 调用是否正常配置写好后用一条最简请求确认 Key 和通道都通。在命令行里用 curl 发一个对话请求curl https://taotoken.net/api/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer sk-你的TaoTokenKey \ -d { model: claude-sonnet-4-20250514, messages: [{role: user, content: 回复 ok}] }返回里能看到choices字段和模型输出就说明 Key 有效、通道正常。如果返回 401多半是 Key 复制时带了空格返回 404 就检查baseUrl有没有写错。想先在网页里确认模型能不能正常对话可以到模型对话页面试一句https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content4.3 在编辑器里跑一次真实调用命令行通了之后回到 Cursor 或 Trae随便打开一个文件让 AI 补全或对话一次。如果 Skill 目录里的自定义技能能被识别、AI 回复正常说明「软链接 统一 Key」这条链路整体打通了。两个编辑器都测一遍确认行为一致。5. 本篇常见错误排查5.1 mklink 报「你没有足够的权限」这是最常见的一个。mklink创建软链接必须管理员权限普通 CMD 或 PowerShell 都会失败。解决办法就是按Win X选管理员终端重新执行命令。如果还是不行检查系统是否开启了开发者模式部分 Windows 版本对符号链接有额外限制。5.2 目标目录已存在导致链接失败mklink不会覆盖已存在的真实目录会直接报错。先确认.claude\skills是不是已经存在if exist C:\Users\Administrator\.claude\skills echo 已存在如果存在且里面有内容先重命名备份比如改成skills_bak再执行mklink。确认新链接生效后再把备份里的文件按需合并进 Trae 的源目录。5.3 删链接时误删了源文件这是个容易踩的坑。删除软链接目录时如果用rd /s直接删某些情况下会连带影响源目录。正确做法是只删链接本身不动源目录rmdir C:\Users\Administrator\.claude\skillsrmdir对目录软链接只移除链接不会递归删源目录里的文件。删之前最好先确认源目录里的 Skill 有备份心里有底。5.4 配置改了但编辑器没生效settings.json改完不重启编辑器可能还在用旧配置。先完全退出再打开。另外 JSON 语法错误会导致整个配置被忽略可以用在线 JSON 校验工具过一遍重点看逗号和双反斜杠。Key 前后有空格也会导致鉴权失败复制时留意。5.5 Skill 在 Cursor 里识别不到先确认软链接确实指向了 Trae 的目录用dir看SYMLINKD标记。再确认 Cursor 配置里的skills.path和链接位置一致。如果 Skill 文件格式本身有问题编辑器也可能跳过拿一个最简单的 md 文件测试排除是内容格式的锅。6. 长期编码与 Agent 场景的 Key 管理建议如果你不只是偶尔用一下而是把 Trae 和 Cursor 当成日常主力甚至跑一些长时间编码或 Agent 任务那 Key 的管理方式值得再想一层。统一到一个 Key 的好处是额度集中、账单清晰但也要注意别把 Key 硬编码进会提交到仓库的文件里。settings.json属于本地用户配置一般不会进版本库相对安全如果团队协作要共享配置模板记得把 Key 换成占位符。对于需要长期跑、调用量比较大的编码场景可以了解一下 Coding Plan它更适合持续性的开发任务配合统一 Key 用起来更顺https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content接入细节和参数说明可以对照官方文档里面有完整的接口列表和字段解释https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content回到mklink这件事本身它解决的是「一份 Skill 两处用」的问题配合统一 Key 就把「一份配置两处用」也解决了。两个编辑器之间不再需要手动同步改一处两边都生效。真正跑起来之后你会发现省下的不是那点磁盘空间而是每次改完 Skill 还要记得复制粘贴的那份心力。