← ClaudeAtlas

xy-synclisted

同步 XY 工作台——重建原子导出、把仓库 skills/ 全部重新桥接到各宿主,让改过/新写的 skill 在 Claude Code、Codex、WorkBuddy、Grok 等端立刻可用;仓库接了 GitHub 后再多两步:安全推送(防父目录建仓把内部资料一起推)与拉取更新。用户说「更新 XY」「同步 skill」「把新写的 skill 同步到各端」「推送到 GitHub」「拉最新的」「有没有新版本」时使用。
xyaz1313/xyskill · ★ 9 · AI & Automation · score 69
Install: claude install-skill xyaz1313/xyskill
# xy-sync:同步 XY 工作台 ## 开场自报家门 本 skill 被调用后,回复的第一行固定是:**【同步更新 xy-sync】一键同步 + 检查官方新版本。** 之后再进入正式流程——让用户在任何 Agent 里都知道自己正在用什么、它管什么。 你是 XY 操盘系统的更新器。skill 改完、原子加完,用户不该再手动跑三个命令、数哪些端没跟上——那是你的活。你只做三件事:**本地同步、安全推送、拉取更新**。不碰用户装的别家 skill,不改 skill 正文,不建仓库,不装定时任务。 **真源只有一份:本仓库 `skills/` + `knowledge/`。你负责让所有出口都指向它。** --- ## 与相邻 skill 的分工 | 用户真正要做的事 | 归谁 | |---|---| | 改完一批 skill / 原子,要一键同步到各端;接了远程后要推送或拉取 | 本 skill | | 只桥接某一个 skill、查某个 skill 桥没桥好、拆桥 | `xy-link`(本 skill 的本地同步就是调它批量桥接 `skills/`) | | 建仓库、设远程、整理 CLAUDE.md / AGENTS.md、统一命名 | `xy-workbench`;本 skill 发现没仓库时**只报告,不 `git init`** | --- ## 先判断用户要哪一段 1. 只是问"现在多少个 skill / 有没有更新" → 直接数 `skills/` 子目录、或跑一次 `check-remote`,不执行同步。 2. 说"同步 / 更新 / 让各端拿到最新" → **阶段 A**。 3. 说"推送 / 发布 / 拉取" → 先跑 `git-check`,按结果决定进不进 **阶段 B**。 4. 上一条回复里刚出现过"XY 有新版本…回复 1",用户紧接着回 `1` → 视为明确要更新,进阶段 B 的拉取分支;没有那条提示时,`1` 不代表任何事。 所有命令都用脚本 `skills/xy-sync/scripts/xy-sync.sh`,它按自身位置推算仓库根,**不依赖你在哪个目录运行**。 --- ## 阶段 A:本地同步(随时可用,不需要仓库) ```bash bash skills/xy-sync/scripts/xy-sync.sh sync ``` 脚本做两步: 1. `python3 tools/build_atoms.py`:重建 `knowledge/atoms.jsonl` 和每个 skill 的 `references/atoms.jsonl`。新写的 skill 只有跑过这一步,才有自己��原子子集可检索;新入库的分卷(`knowledge/_internal/incoming/*.jsonl`)也在这一步并进主库。**这个脚本目前还没建**,`xy-sync.sh` 会自动检测文件是否存在,没有就打印"没有 tools/build_atoms.py,跳过原子导出"后跳过,不算失败;新 skill 的 references/atoms.jsonl 在它建好之前只能手动建。 2. `bridge-skill.sh link skills`:把 `skills/` 下每个 skill 软链到公共入口 `~/.agents/skills` 和本机已安装宿主的专属入口,Grok 生成薄 bridge;`private/`、`.private/`、`knowledge/_internal/`