用途:把用户级智能体指令与一个远程 Git 仓库保持同步,仓库中只保存一份规范副本。本地以 ~/AGENTS.md 为唯一规范文件,~/.claude/CLAUDE.md 仅是一行 @~/AGENTS.md 存根,用于让 Claude Code 加载相同规则而不保留重复副本。存根使用绝对路径,因为 Claude Code 的 @ 导入相对于导入文件解析。
主要能力:init 克隆仓库、自动识别规范文件名(AGENTS.md,否则 CLAUDE.md,否则首次推送时创建 AGENTS.md)、记录 ~/AGENTS.md 为本地目标并写入 CLAUDE.md 存根;pull 将工作副本重置到远程,覆盖 ~/AGENTS.md 并确保存根就位,替换前保存带时间戳的 .bak;push 只推送 ~/AGENTS.md,不推送存根;status 显示仓库 URL、规范文件名、是否同步及存根状态。
使用方式:设置 SCRIPT="$HOME/.claude/skills/sync-agent-rules/scripts/sync_agent_rules.py",然后调用 python3 "$SCRIPT" <cmd>。首次使用需用户提供仓库地址并执行 python3 "$SCRIPT" init --repo-url <URL>,URL 为普通 git clone 地址(HTTPS 或 SSH 均可)。
冲突与认证:远程有变更且内容不同时,push 会打印 CONFLICT、显示 diff 并停止,不自动解决;可加 --overwrite-remote 保留本地,或先 pull 采用远程,或手动合并后再推送。工具复用系统 git 凭据、不存储令牌;HTTP/HTTPS 需配置凭据助手,SSH 需确保密钥可用且主机受信任。退出码:0 成功、1 错误、2 未初始化、3 冲突、4 认证或网络问题。
限制:仅同步 ~/AGENTS.md 这一个文件;仓库地址必须由用户提供,不能猜测;存根由 init 和 pull 管理,不应手动编辑;每次 git 调用有 60 秒超时。