维护中Skill / 插件公开

Codex Skill 批量迁移到 WorkBuddy Skill 系统 Skill

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

更新于 2026年9月22日发布于 2026年9月22日AI资源库进阶
下载渠道
暂无
文件信息
资料包
资料数量
持续更新
访问方式
公开查看
Codex Skill 批量迁移到 WorkBuddy Skill 系统 Skill 封面
AI 提示词 · 图片 / 视频生成
收藏

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"
done

Step 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,匹配会失败造成假阴性;统一用 Python lstrip().startswith("---")。
  • 备份目录不要排除漏:*.backup.* 后缀的目录是历史备份,混入会翻倍。
  • 同名冲突先人工确认:保留哪一侧要过目一遍 SKILL.md 内容,别盲信 rsync 的 --ignore-existing。

验收

  • 复制成功数量 = 源目录数 − 排除项 − 冲突保留项。
  • 验证脚本 FAIL = 0。
  • 随机抽 3 条在 WorkBuddy 里能正常触发/展示。

评论建议

欢迎反馈资料质量、链接状态或希望补充的内容,管理员会持续维护。

常见问题

下载链接失效怎么办?
请优先切换其他网盘渠道,并反馈失效链接。

会员能下载所有资料吗?
页面标注为会员专享的资料支持会员下载,具体以当前页面显示为准。

相关资源