Skip to content

Repository files navigation

Codex Skills

这是 FumoNull 的个人 Codex Skills 开源仓库。仓库按 skills/<skill-name>/ 组织,可以持续加入新的 Skill,也可以只安装其中一个。

现有 Skills

Skill 功能
migrate-music-libraries 在不同音乐平台之间迁移歌单、收藏歌单、专辑和关注歌手;将来源平台的“我喜欢”创建为目标平台中的独立原序歌单;完整读回验证后生成迁移报告。

安装

方法一:安装单个 Skill(推荐)

PowerShell:

git clone https://github.com/FumoNull/codex-skills.git

$codexHome = if ($env:CODEX_HOME) { $env:CODEX_HOME } else { Join-Path $HOME ".codex" }
$skillHome = Join-Path $codexHome "skills"
New-Item -ItemType Directory -Path $skillHome -Force | Out-Null

Copy-Item `
  -LiteralPath ".\codex-skills\skills\migrate-music-libraries" `
  -Destination $skillHome `
  -Recurse `
  -Force

macOS/Linux:

git clone https://github.com/FumoNull/codex-skills.git
mkdir -p "${CODEX_HOME:-$HOME/.codex}/skills"
cp -R ./codex-skills/skills/migrate-music-libraries \
  "${CODEX_HOME:-$HOME/.codex}/skills/"

安装后重新打开 Codex 任务,或刷新可用 Skills 列表。

方法二:安装仓库中的全部 Skills

PowerShell:

git clone https://github.com/FumoNull/codex-skills.git

$codexHome = if ($env:CODEX_HOME) { $env:CODEX_HOME } else { Join-Path $HOME ".codex" }
$skillHome = Join-Path $codexHome "skills"
New-Item -ItemType Directory -Path $skillHome -Force | Out-Null

Get-ChildItem -Directory ".\codex-skills\skills" |
  Copy-Item -Destination $skillHome -Recurse -Force

macOS/Linux:

git clone https://github.com/FumoNull/codex-skills.git
mkdir -p "${CODEX_HOME:-$HOME/.codex}/skills"
cp -R ./codex-skills/skills/* "${CODEX_HOME:-$HOME/.codex}/skills/"

更新

进入克隆目录并拉取最新内容,然后重新执行上面的复制命令:

git -C .\codex-skills pull

使用跨音乐平台迁移 Skill

在 Codex 中明确调用:

使用 $migrate-music-libraries,把我的网易云音乐完整迁移到 Spotify。

也可以直接描述需求:

把我的酷狗音乐歌单、收藏专辑和关注歌手迁移到 QQ 音乐。
来源平台的“我喜欢”不要写进 QQ 音乐内置的“我喜欢”,
请创建一个独立歌单,并保持来源平台的歌曲顺序。

它会怎样处理“我喜欢”

Skill 将以下规则视为强制约束:

  1. 不直接修改目标平台内置的“我喜欢”或 Favorites。
  2. 在目标平台创建 <来源平台> 我喜欢(原顺序)
  3. 从来源平台提取可靠的添加时间或权威 API 顺序。
  4. 探测目标平台是追加批次、置顶批次,还是会在批次内部倒序。
  5. 使用确定性脚本生成写入批次,不能在生成后重新分批。
  6. 写入完成后读取整个目标歌单,逐位置验证,而不只检查前几首。

迁移范围

  • 自建歌单
  • 收藏或关注的歌单
  • “我喜欢”/Liked Songs/Favorites
  • 收藏专辑
  • 关注歌手
  • 目标平台不支持的功能所需的替代歌单

迁移报告

任务结束后会生成报告,并分别记录:

  • 来源数量
  • 匹配数量
  • 实际写入数量
  • 目标平台读回数量
  • 顺序验证结果
  • 未匹配和存在歧义的歌曲
  • 替代版本、重复歌曲处理和关注失败
  • 需要用户手动清理的测试或旧歌单

只要仍有请求范围未完成或未验证,报告就会标记为“部分完成”或“受阻”,不会把它写成完全成功。

添加自己的 Skill

skills/ 下创建以小写字母、数字和连字符命名的目录:

skills/
└── my-new-skill/
    ├── SKILL.md
    ├── agents/
    │   └── openai.yaml
    ├── scripts/
    ├── references/
    └── assets/

最小 SKILL.md

---
name: my-new-skill
description: Explain what this skill does and the situations that should trigger it.
---

# My New Skill

Write concise, imperative instructions for Codex.

约定:

  • Skill 目录名必须与 frontmatter 中的 name 一致。
  • name 只使用小写字母、数字和连字符。
  • frontmatter 只保留 namedescription
  • 大段平台资料放入 references/,确定性工具放入 scripts/
  • 不提交登录令牌、Cookie、验证码、账号导出或真实迁移清单。
  • 新增 Skill 后运行校验:
python -m pip install -r requirements-dev.txt
python .\tools\validate_skills.py

推送或创建 Pull Request 时,GitHub Actions 也会自动运行同一校验。

开发与验证

python -m pip install -r requirements-dev.txt
python .\tools\validate_skills.py
python .\skills\migrate-music-libraries\scripts\plan_order_batches.py --self-test
python .\skills\migrate-music-libraries\scripts\build_migration_report.py --self-test

隐私与安全

音乐迁移可能涉及私有歌单、手机号、Cookie、OAuth 令牌或设备凭证。本仓库只存放通用工作流和工具,不应提交任何真实账号认证数据或用户音乐资料。发现凭证泄露时,请立即撤销凭证并清理 Git 历史。

许可证

MIT License

About

Personal Codex skills collection with reusable workflows, validation, and tutorials.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages