‹ 首页

prime-sync

@avibebuilder · 收录于 1 周前

Syncs Claude config between prime repo and target projects. Trigger on 'sync', 'prime-sync', 'push config', 'pull config', 'update prime', 'sync claude config'. Push mode deploys to targets; pull mode imports changes back.

适合你,如果需要在多个项目间同步 Claude 配置文件

/ 下载安装
prime-sync.skill双击,或拖进 Claude 桌面版 / Cowork,即完成安装↓ .skill↓ .zip
用别的 agent?下载 .zip 解压,把文件夹放进它的技能目录
Claude Code~/.claude/skills/(项目级 .claude/skills/)
Codex CLI~/.codex/skills/
Cursor自动读取上面两处目录
其他工具见其文档的「skills」目录;两个下载是同一份文件,只是名字不同
/ 通过 npx 安装 校验哈希
npx oh-my-skill add avibebuilder/claude-prime/prime-sync
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- avibebuilder/claude-prime/prime-sync
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify avibebuilder/claude-prime/prime-sync
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
106GitHub stars
~1.1K上下文体积 · 单文件
镜像托管

怎么用

技能原文 SKILL.md作者撰写 · MIT · 80bcfa4

Ultrathink.

Mode Detection

Detect operating mode before anything else:

  1. VERSION file exists in CWD → push mode (CWD is the prime repo)
  2. .claude/.prime-version exists in CWD → pull mode (CWD is a target project)
  3. Neither detected → ask user which mode and for the required path
Push Mode — Resolve Target

Source = CWD (prime repo). Target = resolved project path.

State file: .claude/prime-projects.json

Tracks known target paths, last sync time, and version. Shape:

{ "projects": [{ "path": "/absolute/path", "lastSynced": "2025-12-30T10:30:00Z", "version": "1.4.2" }] }

Create as { "projects": [] } if missing.

Resolution flow:

  1. Argument provided → Use that path, then record it after a successful sync
  2. No argument, known projects exist → Ask the user which project(s) to sync, including an All projects option
  3. No argument, no known projects → Ask the user for a path

State file management:

  • Create .claude/ only if you need to persist the state file
  • Update the synced project's time/version only after a successful sync
  • Keep one entry per absolute path
Pull Mode — Clone Prime

Source = cloned prime repo. Target = CWD.

Flow:

  1. Read current version from .claude/.prime-version in CWD
  2. Generate timestamp: date +%Y%m%d%H%M%S
  3. Clone prime repo: git clone https://github.com/avibebuilder/claude-prime.git /tmp/claude-prime-sync-<timestamp>/
  4. Set source = /tmp/claude-prime-sync-<timestamp>/, target = CWD
  5. Continue to shared process below
  6. Clean up /tmp/claude-prime-sync-<timestamp>/ after sync completes (success or failure)

No state file in pull mode — the target project is self-contained.

Process
1. Validate Target
  • Check that the target path exists, is a directory, and is not the same location as the source repo
  • Treat a valid target as a project root where writing .claude/ is appropriate
  • Read versions from target (.claude/.prime-version) and prime (VERSION)

If the path fails those checks, abort and explain why.

2. Parallel Analysis

Change Detection:

  • Detect relevant changes in prime's .claude/ based on the target's recorded version state
  • If the target has no recorded version, or already matches the current prime version, sync only uncommitted prime changes
  • If the target is on an older prime version, diff from that version tag to HEAD and include uncommitted changes; warn if the tag is missing
  • Categorize changes into commands, agents, hooks, settings, skills, and starter-skills

Stack Detection (only if skills or starter-skills changed): check target for stack indicators relevant to each changed skill/starter.

File Comparison: compare each changed file with target. Detect: NEW, UPDATE, IDENTICAL, CONFLICT.

3. Build Sync Plan

Aggregate results and present:

CHANGED (will sync): ...
IDENTICAL (skip): ...
CONFLICTS (will ask): ...
IRRELEVANT (skip, wrong stack): ...

GATE: User approves sync plan.

4. Handle Conflicts

For each conflict, show the relevant diff and ask the user how to proceed:

  • Overwrite — Replace the target copy with the prime version
  • Skip — Leave the target copy unchanged
  • Merge — Surface the full diff and let the user choose which parts to keep before writing anything
5. Execute Sync
  1. Create .claude/ in target if needed
  2. Copy approved files (skills as entire folders)
  3. Sync approved starter-skills to .claude/starter-skills/ in target
  4. Update .prime-version with prime's VERSION
6. Report
Sync complete! (prime vX.X.X)
Updated: ...
Skipped: ...
Version: X.X.X → written to .prime-version

Push mode only: update state file (lastSynced timestamp + version). Pull mode only: clean up /tmp/claude-prime-sync-* clone directory.

Gotchas
  • prime-sync stays in prime — do not copy this skill into target projects.
  • Push and pull keep different state — state file is push-only; pull mode treats the target as self-contained.
  • Version history can be incomplete — if the expected tag is missing, warn and continue with that uncertainty explicit.
Constraints
  • NEVER modify the target project's source code
  • NEVER sync without user approval at the plan gate
  • In push mode, preserve one state entry per target path and update it only after success
  • In pull mode, always clean up the temporary clone, even on failure
Target Path

<target-path>$ARGUMENTS</target-path>

按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。