首页/文章/Skill 改了一处别处还是旧的?在新加坡 Mac mini 上放一份权威 Skills 目录

Skill 改了一处别处还是旧的?在新加坡 Mac mini 上放一份权威 Skills 目录

· Zumac.Ai

多工具各一份副本,改完总有一处还是旧的

同时用 Claude Code、Cursor、Codex(或同类 agent)时,同一条工作流 Skill 往往被拷进三个目录:A 工具改了「提交前先跑测试」,B 工具还是上周的旧条文,C 工具甚至缺了半段安全检查。表面都能跑,结果却不一致——这就是目录漂移,不是模型忽然变笨。

根因很简单:没有「一份权威源」。各工具只认自己期望的路径;人靠记忆去同步,迟早漏一次。更稳的做法是:在常开的新加坡 Mac mini 上放唯一权威 Skills 目录,用符号链接或受控同步接到各工具路径,再用 git 把内容钉死,并定期校验「期望路径」是否仍指向同一份内容。

Claude 账号由你自己开通并登录,请遵守 Anthropic 的服务条款与支持地区规则。本文只谈如何搭一个稳定合规的使用环境,不涉及共享或转卖账号。Zumac.Ai 与 Anthropic 没有官方合作关系。具体路径以你本机当前版本为准。

准备清单

  • 一台常开的 Mac mini(整机独享),已装 Claude Code,并用你自己的账号登录
  • 若也用 Cursor / Codex,同一台机器上已安装并可打开终端
  • 终端能 SSH 进机器;需要桌面时用 UU 远程连接
  • 一个私有 git 仓库(或本机 git 仓库)用来版本化权威 Skills 目录

安装第三方 Skill 前先扫一遍内容与来源,见 安装 Skill 前先扫描;和项目级 CLAUDE.md 的分工见 Skills 与 CLAUDE.md。隐藏注入与异常空白字符见 Skill 隐藏注入排查。

步骤一:定一份权威目录,只在这里改

在 Mac mini 上选一个不随某个 IDE 配置目录迁移的位置,例如:

mkdir -p ~/canonical-skills
cd ~/canonical-skills
git init
# 把现有各工具里的 Skill 文件先汇总进来(只保留你确认要用的)
# 例如:deploy.md、pr-checklist.md、mcp-tools.md …
git add .
git commit -m "canonical skills: baseline"

约定三条规矩(写进仓库 README.md 即可):

  1. 只改 ~/canonical-skills,禁止直接改各工具目录里的副本。
  2. 每次改完立刻 git commit(短说明写清「改了哪条规则」)。
  3. 新会话或换工具前,先 git status:有未提交改动就先处理,再开干。

权威目录可以按工具分子夹(claude/、cursor/、codex/),也可以扁平放共用 Skill、再在各工具侧用短包装文件引用——关键是源只有一份。

步骤二:查清各工具真正读取的路径

不同工具、不同版本期望路径可能不同。先在本机核实,不要凭记忆:

# Claude Code:常见用户级或项目级 Skills / 指令目录(以你本机文档与设置为准)
ls -la ~/.claude 2>/dev/null
ls -la .claude 2>/dev/null

# Cursor:常见为项目规则或用户规则目录(以当前版本设置为准)
ls -la ~/.cursor 2>/dev/null
ls -la .cursor 2>/dev/null

# Codex 或其他 CLI:查官方「skills / instructions / AGENTS」配置项后列出实际目录

把「工具名 → 期望路径」记进 ~/canonical-skills/PATHS.md,升级客户端后重核一次。路径写错时,符号链接再漂亮也等于没接上。

步骤三:用符号链接接到期望路径(优先)

目标:各工具打开的还是「自己的路径」,磁盘上却指向同一份权威内容。

# 示例:把 Claude Code 用户级 skills 指到权威目录
# 先备份旧目录,避免误删
mv ~/.claude/skills ~/.claude/skills.bak.$(date +%Y%m%d) 2>/dev/null || true
ln -s ~/canonical-skills/claude ~/.claude/skills

# Cursor / Codex 同理:备份 → ln -s 权威子目录 → 期望路径
# ln -s ~/canonical-skills/cursor <Cursor期望路径>
# ln -s ~/canonical-skills/codex  <Codex期望路径>

验收:

readlink ~/.claude/skills
# 应输出 ~/canonical-skills/claude 或等价绝对路径
ls -la ~/.claude/skills
# 列出的文件应与权威目录一致

若某工具拒绝跟随符号链接(少数版本或沙箱策略会这样),改用步骤四的受控同步,不要强行拷贝后两边手改。

步骤四:不能 symlink 时,用「单向同步 + 禁止回写」

# 以 rsync 为例:权威 → 工具目录(单向)
rsync -a --delete ~/canonical-skills/claude/ <Claude期望路径>/

# 同步后立刻只读化工具侧目录(可选,防手滑回写)
# chmod -R a-w <Claude期望路径>

再加一条项目或用户规则:发现工具目录有本地改动,先 diff 回权威目录并 commit,再重新同步;禁止在工具目录长期「就地改」。 把这条写进 Claude Code 的项目规则,比口头提醒可靠。

定时同步可用 launchd 或 cron,但建议仍以「改完权威目录立刻同步」为主,定时任务只做兜底。

步骤五:用 git 与校验脚本证明「没有漂移」

权威目录进 git 之后,漂移变成可检测状态:

cd ~/canonical-skills
git status --porcelain
# 应为空;非空 = 有人改了权威目录却没提交,或同步脚本写回了不该写的文件

再加一个轻量校验(保存为 ~/canonical-skills/verify-no-drift.sh):

#!/bin/bash
set -euo pipefail
ROOT="$HOME/canonical-skills"
fail=0

# 1) 权威目录工作区干净
if [[ -n "$(git -C "$ROOT" status --porcelain)" ]]; then
  echo "DRIFT: canonical git dirty"; fail=1
fi

# 2) 期望路径仍是 symlink 且指向权威(按 PATHS.md 逐条检查)
# 示例:
expected="$HOME/.claude/skills"
target="$(readlink "$expected" 2>/dev/null || true)"
if [[ "$target" != "$ROOT/claude" && "$target" != "$HOME/canonical-skills/claude" ]]; then
  echo "DRIFT: $expected -> ${target:-NOT_A_LINK}"; fail=1
fi

# 3) 若用 rsync 副本:对关键文件做校验和对比
# shasum -c ... 

exit "$fail"
chmod +x ~/canonical-skills/verify-no-drift.sh
~/canonical-skills/verify-no-drift.sh && echo OK

建议:每天开机或开长任务前跑一次;CI 或 LaunchAgent 也可挂同一脚本。校验失败就停——先修链接或重同步,再让 agent 干活。

建议验收清单

  1. 只有 ~/canonical-skills(或你选定的权威路径)允许编辑 Skill 正文。
  2. Claude Code / Cursor / Codex 的期望路径均为 symlink,或为单向 rsync 出的只读副本。
  3. git status 干净;verify-no-drift.sh 退出码为 0。
  4. 故意改权威目录一处后,三个工具读到的条文一致;故意改工具目录一处后,校验脚本能报警。
  5. 升级任一客户端后,重核 PATHS.md 并再跑校验。

和 Zumac.Ai 怎么配合

Skills 权威目录要长期存在、随时可 SSH 上去改与校验;笔记本合盖、换机、系统睡眠,都会让「哪份才是真的」重新混乱。把权威仓库、符号链接和校验脚本放在常开的新加坡 Mac mini 上,Claude Code 与其它 agent 都连同一台机器,漂移问题会从「靠记忆同步」变成「一条脚本能证明」。Zumac.Ai 提供位于新加坡家庭宽带上的实体 Mac mini,整机独享,7×24 在线,支持 SSH 与 UU 远程连接。新客户整机租用 ¥999/月起(季付 ¥2,697.30,半年付 6 送 1 ¥5,994,年付 12 送 2 ¥11,988);已购买客户续费保持原价。订购与开通走 panel.zumac.ai;方案说明见 首页费用区;使用问题见 帮助中心。需要人工协助可联系 Telegram @singatao。实际延迟取决于你本地的网络线路。

多工具可以并存,权威源只能有一份——放在不关机的新加坡 Mac mini 上,用链接或单向同步接进去,再用 git 证明没有漂移。

Zumac.Ai 新加坡 Mac mini M6,整机独享,¥999/月起,联系 Telegram @singatao。
查看方案与费用 · 帮助中心

返回首页 · 更多文章

Telegram 客服