个人维护的 CodeBuddy / WorkBuddy 技能(Skill)集合仓库。每个技能是一个独立、可单独打包的目录。 本仓库是管理仓库——持续新增技能,用总导航 + 技能总表 + 模板 + 维护规则管理(与 knowledge-base 同模式)。
🔗 关联管理仓库:knowledge-base(个人经验库)——本仓管"技能",那边管"经验",互相引用。
| 技能 | 说明 | 档位 | 最后更新 | 入口 |
|---|---|---|---|---|
| singing-segment-detector | 从混合视频/音频(谈话+背景音+唱歌)提取所有唱歌片段时间戳(JSON+SRT,带置信度) | fast(零重依赖)/ accurate(人声分离+模型) | 2026-07 | → |
| es3-syntax-checker | 检查 AE .jsx 源码的 ES3 违禁语法(const/let/箭头函数/模板字符串/class/展开/JSON),6 类模式逐行扫描 + JSON 输出 | 零重依赖(纯 Python) | 2026-08 | → |
| c4d-sdk-compat-checker | 检查 C4D .pyp 源码的 2026 SDK 兼容性(移除 API/positional-only/参数名变更),静态扫描 + 替代建议 | 零重依赖(纯 Python) | 2026-08 | → |
| miniprogram-cloud-quota-guard | 审查小程序云开发代码的配额风险模式(全量拉取/头像 N+1/无去重快照/轮询/count 分页),输出分级建议 | 零重依赖(纯 Python) | 2026-08 | → |
新增技能后,必须在本表加一行(技能 | 说明 | 档位 | 日期 | 入口)。
codebuddy-skills/
├── README.md # 本文件:总导航(技能总表 + 使用 + 维护规则)
├── DEVELOPMENT.md # 管理规范:新增技能流程 + 关键踩坑记录
├── CHANGELOG.md # 版本变更记录
├── 技能模板/ # 空白技能模板(新增技能从这里复制)
└── <skill-name>/ # 每个技能一个顶层目录
├── SKILL.md # 技能元数据(YAML frontmatter)+ 工作流
├── scripts/ # 可执行脚本
└── references/ # 参考资料(按需加载进上下文)
两种方式,任选其一:
方式 A:直接用源码目录
将某个 <skill-name>/ 整个目录复制到你的技能加载目录(CodeBuddy 的 skills 目录)即可,无需解包。
方式 B:用打包好的 .skill
# 校验
python3 <skill-creator>/scripts/quick_validate.py <skill-name>
# 打包(产物:<skill-name>.skill,本质是 zip)
python3 <skill-creator>/scripts/package_skill.py <skill-name>导入后,用自然语言描述需求即可触发,例如:
"从这段视频里找出所有唱歌的时间戳"
- 复制
技能模板/目录 → 按 kebab-case 命名(<skill-name>/) - 写
SKILL.md:description是最关键字段——写清「做什么 + 何时用 + 触发场景」,这是技能能否被准确触发的关键 - 实现
scripts/:优先零重依赖,重依赖做成可选降级(不装时自动降级并告警,不抛错) - 校验:
quick_validate.py必须通过(注意 frontmatter 里<>:会炸 YAML) - 打包:
package_skill.py - 更新本 README 技能总表加一行
详细流程 + 9 条踩坑记录见 DEVELOPMENT.md。
- 新增技能:复制模板 → 写 SKILL.md → 实现 → 校验 → 打包 → 更新技能总表
- 技能验收口径:召回 ≥ 95% / 精确 ≥ 92% / 可复现(同输入同输出)/ CI 回归稳定(详见 DEVELOPMENT.md 第三节)
- 基线:技能更新后,更新总表「最后更新」列 + CHANGELOG 追加版本
- 隐私红线:技能内容禁止收录凭据、个人信息、本地绝对路径