원클릭으로
sync-skills
管理 submodule skill 与插件同步:添加/删除映射、运行同步脚本。sync skills、sync plugins、skill-map.json、--add-plugin、从 submodule 导入
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
管理 submodule skill 与插件同步:添加/删除映射、运行同步脚本。sync skills、sync plugins、skill-map.json、--add-plugin、从 submodule 导入
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
用于维护 SumSec-Skills 多平台插件元数据与发布清单:package.json、plugin.json、Claude/Cursor/Codex manifest、marketplace JSON、版本号、描述、关键词、安装文档。
Read and send mails from a cloudflare_temp_email mailbox using a user-supplied Address JWT and API base URL. Use when the user (or an agent such as OpenClaw / Codex / Cursor) needs to list the inbox, fetch a specific message, or send an email via the server-parsed /api/parsed_mails, /api/parsed_mail/:id, and /api/send_mail endpoints. Falls back to local parsing of /api/mail/:id raw source with mail-parser-wasm + postal-mime if the parsed endpoints are unavailable. Does NOT handle mailbox creation - the user provides the JWT themselves.
SummerSec personal Agent Skills collection: writing-zh, media-tools, dev-tools, agents-dev, cloudflare-email, taste-skill.
SummerSec personal Agent Skills collection. Contains reusable SKILL.md files organized by category. Use when you need skills from writing-zh, media-tools, dev-tools, agents-dev, cloudflare-email, or taste-skill plugins.
将项目根目录的 Claude 记忆文件统一为指向根目录 AGENTS 文件的软链接。用于用户要求把 `CLAUDE.md` 或 `claude.md` 指向 `AGENTS.md` 或 `agents.md`、希望批量统一多个项目的根目录记忆文件,或需要兼容 Windows、macOS、Linux 的跨平台软链接处理流程时。
Whole-repo audit for over-engineering. Scans the codebase and ranks what to delete, simplify, or replace with stdlib/native equivalents. Use when the user asks to audit a repo for bloat, unnecessary abstractions, redundant dependencies, or "what can I delete from this codebase".
| name | sync-skills |
| description | 管理 submodule skill 与插件同步:添加/删除映射、运行同步脚本。sync skills、sync plugins、skill-map.json、--add-plugin、从 submodule 导入 |
本仓库从 git submodule(claude-plugins-official、context7 等)引用第三方 skill 和插件,通过 复制同步 管理。
支持两种粒度:
.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仅作模板,不要直接编辑。
skill-map.json、sync-skills.pyclaude-plugins-official 或其他 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>skills/、commands/ 等单独条目).gitignore 建议:整个插件目录应忽略不提交适用条件:
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 内容复制到目标插件目录无需手动操作,提交时自动触发。
镜像插件(claude-code-setup / 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
1.0.22),不让 upstream 各插件的独立版本号(claude-code-setup 1.0.0、plugin-dev 1.0.0……)污染本仓库节奏;同时内容由 sync-skills.py 自动从 submodule 复制,不在镜像目录里手改文件——避免 sync 把改动覆盖。claude-code-setup/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 不会动它。agents-dev 这类聚合插件。仅当用户明确要求「聚合到 X 插件」「合并到 agents-dev」时,才追加额外的组件级映射。
<source>/X → X/,不动 agents-dev/ 或其它聚合插件;想聚合必须由用户主动开口。.claude/skills/sync-skills/scripts/skill-map.json./claude-code-setup 等),不提交会导致远端用户安装时目录为空。upstream submodule 升级后重跑 sync,把 diff 一起 commit。.gitignore 拦截同步产物:旧设计曾把这些目录 ignored,导致 marketplace 注册的插件在远端不可装。已废弃,不要再加回去。git rm --cached:如果目标目录之前提交过文件,需先从 git 跟踪中移除后再同步git submodule update --init --recursive 已执行optional: true:用于源可能不存在的实验性 skill/插件,同步时跳过而非报错支持两种条目类型:
{
"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 |
⚠️ 默认走插件级。来自 submodule 的插件就保持插件本体,不要拆开塞进
agents-dev等聚合插件。组件级映射仅用于以下两种情况,且第二种必须由用户明确发起。
| 场景 | 粒度 | 示例 | 需要用户明确同意? |
|---|---|---|---|
| 目标插件含自定义代码,需混入 submodule 的部分内容 | 组件级 | plugin-dev(有自写配置) | 否(结构使然) |
| 目标是 submodule 的完整镜像 | 插件级 | claude-md-management、claude-code-setup | 否(默认) |
| 把一个 submodule skill 抽到聚合插件 | 组件级 | agents-dev/skills/xxx ← 来自其它插件 | ✅ 必须用户主动要求 |