Codex Skill 批量迁移到 WorkBuddy Skill 系统 Skill
一键把 ~/.codex/skills 下的 SKILL.md 资产批量迁移到 WorkBuddy 用户级 skill 目录,自动修 frontmatter 兼容、CRLF 转 LF、同名冲突保留 WorkBuddy 现有版,迁移后逐条验证可解析。

Skill / 插件详情
- 解决的问题
- Codex CLI 与 WorkBuddy 两套 skill 目录格式大体兼容但存在三类坑:部分 skill 缺 name/description frontmatter 或缩进错误;Codex 生成文件多为 CRLF,WorkBuddy 解析首行 --- 会失败;同名目录互相覆盖丢失内容。人工逐条迁移费时且易漏。
- 适合人群
- 同时使用 Codex CLI 与 WorkBuddy 的开发者、需要把存量 Codex skill 资产复用到 WorkBuddy 的团队成员
- 安装方法
- # 1. 确认源目录与目标目录 ls ~/.codex/skills/ ls ~/.workbuddy/skills/ # 2. 复制(排除备份与系统目录,同名保留目标侧) rsync -av \ --include='*/' \ --include='SKILL.md' \ --include='name' --include='description' \ --exclude='*.backup.*' \ --exclude='.system' \ --exclude='*' \ ~/.codex/skills/ ~/.workbuddy/skills/ # 3. 批量修 CRLF -> LF 并补 frontmatter(见正文脚本) find ~/.workbuddy/skills -name SKILL.md -print0 | xargs -0 file | grep CRLF # 对 CRLF 文件执行:sed -i '' 's/\r$//' <file> # 4. 逐条验证首行可解析 python3 - <<'PY' import pathlib, sys bad = [] for p in pathlib.Path("~/.workbuddy/skills").expanduser().glob("*/SKILL.md"): head = p.read_text().lstrip() if not head.startswith("---"): bad.append(str(p)) print(f"FAIL: {len(bad)}") [print(" ", x) for x in bad] PY
- 依赖环境
- macOS / Linux shell(rsync、sed、find)Python 3.9+(验证脚本)
- 维护状态
- 活跃维护
Codex Skill 批量迁移到 WorkBuddy Skill 系统 Skill
它解决什么问题
~/.codex/skills/ 与 ~/.workbuddy/skills/ 的 SKILL.md 结构大体一致(目录 + SKILL.md + frontmatter),但直接复制会踩三类坑:
1. frontmatter 缺失或缩进错:部分 Codex skill 没有 frontmatter,或 name/description 字段多了缩进,导致 WorkBuddy 识别失败。 2. CRLF 行尾:Codex 侧文件多为 CRLF,WorkBuddy 解析首行 --- 时可能因 \r 误判。 3. 同名冲突:两边同名目录(如 miaoshou-erp-*)直接覆盖会丢失 WorkBuddy 已有版本。
迁移原则
- 用户级优先:默认迁到
~/.workbuddy/skills/(跨项目可用);仅项目相关 skill 才放{workspace}/.workbuddy/skills/。 - 排除项:
*.backup.*目录、.system隐藏/系统内置目录一律不迁。 - 冲突策略:同名目录保留 WorkBuddy 现有版,不覆盖。
- 可验证:迁移完必须逐条跑首行
---解析验证,不允许"看着对了就完"。
分步操作
Step 1:盘点源目录
ls ~/.codex/skills/ | wc -l
find ~/.codex/skills -name SKILL.md | wc -l
# 找出可能冲突的同名目录
for d in ~/.codex/skills/*/; do
name=$(basename "$d")
[ -d ~/.workbuddy/skills/"$name" ] && echo "CONFLICT: $name"
doneStep 2:复制(保留冲突侧)
用 rsync 的 --ignore-existing 保证不覆盖 WorkBuddy 已有同名目录:
rsync -av --ignore-existing \
--include='*/' \
--include='SKILL.md' \
--exclude='*.backup.*' \
--exclude='.system' \
~/.codex/skills/ ~/.workbuddy/skills/Step 3:修 CRLF
# 找出 CRLF 文件
find ~/.workbuddy/skills -name SKILL.md -print0 \
| xargs -0 file | grep CRLF
# 逐个转换
find ~/.workbuddy/skills -name SKILL.md -print0 \
| xargs -0 sed -i '' 's/\r$//'Step 4:补 frontmatter
对无 frontmatter 或缺字段的文件,补上:
---
name: <目录名>
description: <一句话说明,取自 SKILL.md 正文首段或 README>
---Step 5:验证(必跑)
用 Python 逐条验证(不要 shell grep,macOS 上 \r 会让 ^---$ 误判):
import pathlib
ok = bad = 0
for p in pathlib.Path("~/.workbuddy/skills").expanduser().glob("*/SKILL.md"):
if p.read_text().lstrip().startswith("---"):
ok += 1
else:
bad += 1
print("FAIL:", p)
print(f"PASS {ok} / FAIL {bad}")常见坑
- 不要用 shell `grep '^---$'` 验证:文件若带
\r,匹配会失败造成假阴性;统一用 Pythonlstrip().startswith("---")。 - 备份目录不要排除漏:
*.backup.*后缀的目录是历史备份,混入会翻倍。 - 同名冲突先人工确认:保留哪一侧要过目一遍 SKILL.md 内容,别盲信 rsync 的
--ignore-existing。
验收
- 复制成功数量 = 源目录数 − 排除项 − 冲突保留项。
- 验证脚本 FAIL = 0。
- 随机抽 3 条在 WorkBuddy 里能正常触发/展示。
常见问题
下载链接失效怎么办?
请优先切换其他网盘渠道,并反馈失效链接。
会员能下载所有资料吗?
页面标注为会员专享的资料支持会员下载,具体以当前页面显示为准。
相关资源
AI DevKit:AI 编程智能体的本地控制层
一个 Apache-2.0 开源项目,为 Claude Code、Codex CLI、Gemini CLI、Cursor 等编码智能体提供统一配置、会话控制、记忆检索和工程技能编排。
自研 Skill 源码包:跨境采集上架 + 视频复刻 + 图生视频(三合一)
三个可直接运行的 WorkBuddy 智能体 Skill 完整源码,覆盖「1688/Temu 采品 → 妙手 ERP → TikTok Shop 上架」全链路、1:1 参考视频复刻(换人物换装保留原片节奏)、RunningHub 图生视频批量出片。
agent-skills(addyosmani)
agent-skills 是一个开源项目(分类:ai/agent),能力与安装方式详见其 GitHub 仓库 README。
agentscope(agentscope-ai)
由ModelScope社区开发,是Anthropic Agent Skills协议的开源实现(Beta版本),支持技能的动态加载、自主执行与安全沙箱运行,其AgentSkills模块提供多层次渐进式上下文加载机制,兼容标准技能协议,并允许通过ms-enclave在Docker容器中隔离执行代码。
评论建议
欢迎反馈资料质量、链接状态或希望补充的内容,管理员会持续维护。