sync-skills
Skill8 starsChanged 18 days agoApache-2.0View on GitHub
管理 submodule skill 与插件同步:添加/删除映射、运行同步脚本。sync skills、sync plugins、skill-map.json、--add-plugin、从 submodule 导入
22 other projects use a version of this.
Adopted by
Most recently taken up by
- devjiwonchoi/skillstheir own version, first seen Nov 8, 2026
- snuffish/dotfilestheir own version, first seen Nov 1, 2026
- dsonders/claude-skillstheir own version, first seen Oct 20, 2026
- morodomi/dev-crewtheir own version, first seen Oct 17, 2026
- fotis89/ctx-launchertheir own version, first seen Oct 13, 2026
- Lesani/skillstheir own version, first seen Oct 11, 2026
Used with
Projects with it also use explain, create-skill and 4 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
sunnyclinches44Skillexplain
Explains code using real-world analogies and ASCII diagrams
Also in 3 projects that use this
ElasticSkillcreate-skill
Interactively create a new Claude Code skill and add it to the elastic-docs-skills catalog. Use when the user wants to generate a new skill, scaffold a slash command, or build automation for docs tasks.
Also in 3 projects that use this
NVIDIASkillresearch
Before designing a feature, research how comparable libraries solve the problem, check best practices, known pitfalls, and upstream changes. Use when starting a new feature, investigating an unfamiliar area, or the user asks to research something.
Also in 3 projects that use this
MicrosoftSkillhandoff
Compact the current conversation into a handoff document for another agent to pick up.
Also in 4 projects that use this
SentrySkillcommit
Create commit messages following Sentry conventions. Use when committing code changes, writing commit messages, or formatting git history. Follows conventional commits with Sentry-specific issue references.
Also in 3 projects that use this
GoogleSkillgrill-me
A relentless interview to sharpen a plan or design.
Also in 3 projects that use this
Other versions22 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 22
- Tasihi89/sync-skills★ 29same name
- Terum-Inc/terum-skills★ 28same name
- qa-aman/claude-skills★ 24same name
- fotis89/ctx-launcher★ 4same name
- madnpc/skills★ 3same name
- devjiwonchoi/skills★ 2same name
- paulo-yamagishi/claude-code-setup★ 2same name
- t0ddharris/claude-code-skills★ 2same name
- GalvinGao/skills★ 1same name
- GuanqiHe/claude-skills★ 1same name
12 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository8 other files it gives its agents.
- agents-dev/CLAUDE.mdCLAUDE.md
- CLAUDE.mdCLAUDE.md
- dev-tools/CLAUDE.mdCLAUDE.md
- plugin-dev/CLAUDE.mdCLAUDE.md
- semantic-linter/CLAUDE.mdCLAUDE.md
- taste-skill/CLAUDE.mdCLAUDE.md
- writing-zh/CLAUDE.mdCLAUDE.md
- .cursor/rules/sumsec-skills-repo.mdcCursor rule
The file
Files
Sync Skills — Submodule Skill 与插件同步管理
概述
本仓库从 git submodule(claude-plugins-official、context7 等)引用第三方 skill 和插件,通过 复制同步 管理。
支持两种粒度:
- 组件级:同步单个 skill/commands/agents/hooks 子目录到目标插件
- 插件级:同步整个插件目录(含 plugin.json、README、LICENSE、截图等根级文件)
位置说明
.claude/skills/sync-skills/ 是本 skill 的唯一源,包含 SKILL.md、脚本和映射表,应直接提交到 git。
agents-dev/skills/sync-skills/ 是同步到 agents-dev 插件的副本,不提交到 git。
核心文件
| 文件 | 说明 |
scripts/sync-skills.py | 同步脚本(Python 3 标准库,无额外依赖) |
scripts/skill-map.json | 工作映射表(source → target),可编辑 |
scripts/skill-map.default.json | 默认模板,skill-map.json 不存在时从中初始化 |
skill-map.json是唯一操作入口;skill-map.default.json仅作模板,不要直接编辑。
何时使用
- 用户要求「添加一个来自 submodule 的 skill」「同步 skills」「新增映射」
- 用户提到
skill-map.json、sync-skills.py - 需要从
claude-plugins-official或其他 submodule 引入新 skill/插件 - 用户要求「添加插件」「同步插件」「从 submodule 复制插件」
工作流
添加新 skill 映射(组件级)
- 确认源路径(submodule 内的 skill 目录)和目标路径(本仓插件目录下的位置)
- 执行添加命令:
python .claude/skills/sync-skills/scripts/sync-skills.py --add "<source_relative_path>" "<target_relative_path>" # 如果源可能不存在(可选依赖),加 --optional python .claude/skills/sync-skills/scripts/sync-skills.py --add "<source>" "<target>" --optional - 运行同步:
python .claude/skills/sync-skills/scripts/sync-skills.py - 确认
.gitignore中已添加对应的目标目录忽略规则
添加整个插件映射(插件级)
适用于纯镜像插件(目标完全来自 submodule,无自定义代码)。一条命令替换所有散装映射:
python .claude/skills/sync-skills/scripts/sync-skills.py --add-plugin <plugin_name>行为:
- 自动构建路径:
claude-plugins-official/plugins/<name>→<name> - 清除该 target 下所有旧的散装映射(如
skills/、commands/等单独条目) - 同步时复制整个插件目录(含 plugin.json、README、LICENSE、截图等)
- 输出
.gitignore建议:整个插件目录应忽略不提交
适用条件:
- 目标插件是 submodule 源的完整镜像(无自定义代码混入)
- 反面例子:
hookify、plugin-dev有自定义 Python/配置,只能用组件级映射
完整流程:
# 1. 添加插件映射
python .claude/skills/sync-skills/scripts/sync-skills.py --add-plugin claude-md-management
# 2. 执行同步并提交(不再需要改 .gitignore)
python .claude/skills/sync-skills/scripts/sync-skills.py
git add claude-md-management/
git commit -m "feat(claude-md-management): mirror from upstream"自动同步(提交前)
.claude/settings.json 中配置了 PreToolUse hook,每次 git commit 前自动执行:
git submodule update --init --recursive— 把 submodule 同步到.gitmodules锁定的 commit(不自动追 upstream 最新;想拉新版要主动跑--remote,见下节)python3 sync-skills.py— 把 submodule 内容复制到目标插件目录
无需手动操作,提交时自动触发。
Upstream 升级流程
镜像插件(claude-md-management / plugin-dev 等)的内容来自 submodule upstream,但版本号、发布节奏由本仓库控制。详见下节「版本与内容分治原则」。
判断 upstream 是否有更新:
# 检查所有 submodule 是否落后 upstream(不修改 working tree)
python .claude/skills/sync-skills/scripts/sync-skills.py --check-upstream
# 输出示例:
# 🆙 claude-plugins-official: 落后 12 commits (abc1234 → def5678 on main)
# • def5678 feat(claude-md-management): add ...
# • ...
# ✅ context7: 已是最新
# exit code: 0=全部最新, 2=至少一个落后SessionStart hook 已配置 --check-upstream --quiet,每次 Claude Code 启动会自动检查并提示。
应用升级:
# 拉 upstream HEAD 并同步内容到镜像目录(不 commit)
python .claude/skills/sync-skills/scripts/sync-skills.py --update
# 看变化、评审
git status --short
git diff <changed-dirs>
# 接受 → commit;不要 → git restore 对应目录
git add <accepted-dirs> && git commit -m "sync(upstream): pull from claude-plugins-official@<sha>"
# 若是面向用户的变更,按 multi-platform-plugin-guide bump 全仓版本单独命令:
python .claude/skills/sync-skills/scripts/sync-skills.py --pull-upstream # 只拉 submodule HEAD,不 sync
python .claude/skills/sync-skills/scripts/sync-skills.py # 只 sync,submodule 不动手动同步
# 预览(不写入)
python .claude/skills/sync-skills/scripts/sync-skills.py --dry-run
# 正式同步
python .claude/skills/sync-skills/scripts/sync-skills.py
# 强制清除后重新复制
python .claude/skills/sync-skills/scripts/sync-skills.py --clean查看当前映射
python .claude/skills/sync-skills/scripts/sync-skills.py --list新机器安装流程
git clone --recurse-submodules https://github.com/SummerSec/SumSec-Skills.git
cd SumSec-Skills
python .claude/skills/sync-skills/scripts/sync-skills.py规则
- 版本与内容分治原则:镜像插件(来自 submodule)遵循「版本号以本仓库为准、内容以 submodule upstream 为准」。
- Why: 全仓 manifest 都对齐到本仓库 release 版本(如
1.0.22),不让 upstream 各插件的独立版本号(plugin-dev 1.0.0、claude-md-management 1.0.0……)污染本仓库节奏;同时内容由sync-skills.py自动从 submodule 复制,不在镜像目录里手改文件——避免 sync 把改动覆盖。 - How to apply:
- 不要手动编辑镜像目录下的 SKILL.md / scripts / references(如
claude-md-management/skills/*、plugin-dev/skills/*)——下次 sync 会被 upstream 覆盖;要改就改 upstream 或加新插件。 <mirror>/.claude-plugin/plugin.json被 sync 自动保留:sync 脚本通过PLUGIN_LEVEL_IGNORES排除该文件,确保本仓库的version字段不被 upstream 覆盖(详见sync-skills.py顶部常量)。手改 plugin.json 版本号是安全的,下次 sync 不会动它。- upstream 升级走「Upstream 升级流程」章节,sync 后人工评审 diff 再 commit。
- 不要手动编辑镜像目录下的 SKILL.md / scripts / references(如
- Why: 全仓 manifest 都对齐到本仓库 release 版本(如
- 不要自动整合 skill 到聚合插件:来自 submodule 的 skill 默认按其所属的独立插件整体镜像(插件级映射);不要把它从所属插件里抽出来再塞进
agents-dev这类聚合插件。仅当用户明确要求「聚合到 X 插件」「合并到 agents-dev」时,才追加额外的组件级映射。- Why: 一个 skill 同时存在于「独立插件」和「聚合插件」会造成双轨上架、文档脱节、版本难对齐。
- How to apply: 用户说「同步插件 X」「添加插件 X」时,只加一条插件级映射
<source>/X → X/,不动agents-dev/或其它聚合插件;想聚合必须由用户主动开口。
- 映射表是唯一来源:所有 source → target 关系必须记录在
.claude/skills/sync-skills/scripts/skill-map.json - 目标目录需要提交:同步生成的目录是 marketplace 上架内容(
./claude-md-management、./plugin-dev等),不提交会导致远端用户安装时目录为空。upstream submodule 升级后重跑 sync,把 diff 一起 commit。 - 不再使用
.gitignore拦截同步产物:旧设计曾把这些目录 ignored,导致 marketplace 注册的插件在远端不可装。已废弃,不要再加回去。 - 插件级映射需
git rm --cached:如果目标目录之前提交过文件,需先从 git 跟踪中移除后再同步 - submodule 必须先初始化:同步前确保
git submodule update --init --recursive已执行 optional: true:用于源可能不存在的实验性 skill/插件,同步时跳过而非报错
skill-map.json 格式
支持两种条目类型:
组件级映射
{
"source": "claude-plugins-official/plugins/plugin-dev/skills/agent-development",
"target": "agents-dev/skills/agent-development"
}插件级映射
{
"source": "claude-plugins-official/plugins/claude-md-management",
"target": "claude-md-management"
}| 字段 | 必填 | 说明 |
source | ✅ | 相对仓库根的源目录路径(子目录或整个插件) |
target | ✅ | 相对仓库根的目标目录路径 |
optional | ❌ | 为 true 时源不存在不报错,默认 false |
何时用组件级 vs 插件级
⚠️ 默认走插件级。来自 submodule 的插件就保持插件本体,不要拆开塞进
agents-dev等聚合插件。组件级映射仅用于以下两种情况,且第二种必须由用户明确发起。
| 场景 | 粒度 | 示例 | 需要用户明确同意? |
| 目标插件含自定义代码,需混入 submodule 的部分内容 | 组件级 | plugin-dev(有自写配置) | 否(结构使然) |
| 目标是 submodule 的完整镜像 | 插件级 | claude-md-management、plugin-dev | 否(默认) |
| 把一个 submodule skill 抽到聚合插件 | 组件级 | agents-dev/skills/xxx ← 来自其它插件 | ✅ 必须用户主动要求 |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

