标签 rsync 下的文章

antigravity 也支持 skills 了,skills 逐渐成为大家的共识。随之而带的带来一个问题,每个工具的 skills 都是在自己的文件结构中去创建和 copy,而且 skills 也是可能需要优化和更新的,导致管理起来挺烦,所以想到基于主工具 claude code 来自动同步 skills 到其它各 ai 工具的想法。

opencode 自身就会加载 claude code 的 skills,所以没必要同步

Step 1

准备好 fswatch,监听 ~/.claude/skills 的变化

brew install fswatch

Step 2

准备一个 sync_skills.sh:

#!/bin/bash
fswatch -o ~/.claude/skills | while read f; do
    rsync -a --delete --exclude-from=~/.codex/skills/.exclude-list ~/.claude/skills/ ~/.codex/skills/
    rsync -a --delete --exclude-from=~/.gemini/skills/.exclude-list ~/.claude/skills/ ~/.gemini/skills/
    rsync -a --delete --exclude-from=~/.gemini/antigravity/skills/.exclude-list ~/.claude/skills/ ~/.gemini/antigravity/skills/
done

其中 --exclude-from 是为了在某些工具中想要排除一些 skills 的同步,比如有一些 skills 只能用于某个工具里,就可以创建一个.exclude-list 文件,把要排除的 skills 文件夹名丢进去,一行一个。

Step 3

如果想每次重启后自动运行,还可以创建一个 ~/Library/LaunchAgents/com.user.sync_claude_codex_skills.plist

里面的 xxx 换成自己的

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.user.sync_claude_codex_skills</string>

    <key>ProgramArguments</key>
    <array>
        <string>/bin/bash</string>
        <string>/Users/xxx/sync_skills.sh</string>
    </array>

    <key>RunAtLoad</key>
    <true/>

    <key>KeepAlive</key>
    <true/>

    <key>StandardOutPath</key>
    <string>/tmp/sync_skills.stdout</string>

    <key>StandardErrorPath</key>
    <string>/tmp/sync_skills.stderr</string>

    <key>EnvironmentVariables</key>
    <dict>
        <key>PATH</key>
        <string>/opt/homebrew/bin:/usr/local/bin:/bin:/usr/bin</string>
    </dict>
</dict>
</plist>

然后终端执行:

launchctl load ~/Library/LaunchAgents/com.user.sync_claude_codex_skills.plist

📌 转载信息
原作者:
Terran_Wu
转载时间:
2026/1/16 18:48:31