From legal-skills
将 monorepo 中的子目录通过 git subtree 推送到独立 GitHub 仓库。支持注册清单、变更自动检测、增量推送。本技能应在用户提交涉及已注册子项目的变更后,或手动请求推送到独立仓库时使用。不要用于初次创建 monorepo 或管理 git submodule。
npx claudepluginhub cat-xierluo/legal-skills --plugin minimax-image-understandThis skill uses the workspace's default tool permissions.
将 monorepo 中指定子目录通过 `git subtree push` 推送到独立 GitHub 仓库。
Manages GitHub repo creation, metadata (description/homepage/topics), releases, and README Recent Updates enforcement. Use for new repos, release updates, or read-only audits via gh CLI.
Guides contributing custom skills to upstream repository: sync main, create feature branch, edit/create SKILL.md, commit, push to fork, create GitHub PR using gh CLI.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
将 monorepo 中指定子目录通过 git subtree push 推送到独立 GitHub 仓库。
文件只存一份(在 monorepo 中),一条命令同步到独立仓库。
<prefix>/<name>/| 依赖 | 用途 | 安装方式 |
|---|---|---|
| git(含 subtree) | 子目录拆分与推送 | macOS: 已预装 |
| gh | GitHub CLI,创建仓库和认证 | macOS: brew install gh |
| jq | JSON 配置解析 | macOS: brew install jq |
当用户完成一次 git commit 后,如果本次提交涉及清单中的子项目:
bash scripts/subtree-push.sh --auto
脚本会检查最近一次 commit 涉及的文件,如果命中清单中的子目录,自动推送到对应独立仓库。
触发时机: 用户说"提交完了"、"帮我推到独立仓库"、"同步 subtree"时,先检查是否有清单中的子项目被修改。
当用户说"注册 subtree"、"新增独立仓库发布"时:
Step 1: 确认子目录存在
ls <prefix>/<name>/SKILL.md
Step 2: 前置校验 — 检查 README.md
在执行任何远程操作之前,必须先检查子目录中是否已存在 README.md:
ls <prefix>/<name>/README.md
references/readme-template.md 模板。README.md 是独立 GitHub 仓库的人类展示页,不是 skill runtime 文件。创建或重写时必须遵守:
SKILL.md frontmatter 和 LICENSE.txt 保持一致;CC BY-NC 类 skill 应提示商用授权联系方式以 LICENSE.txt 为准。如需统一作者信息、二维码、主仓库链接或相关项目推荐,先读取 config/readme-profile.json;该文件为本地个性化配置,默认不提交。没有本地配置时,参考 config/readme-profile.example.json 的字段结构,并用通用占位符生成 README。
写作前按复杂度选择 profile:
minimal:简单工具型 skill。保留“典型场景 / 能产出什么 / 安装方式 / 使用边界 / 许可证 / 作者 / 关联项目”。standard:大多数公开 skill。在 minimal 基础上增加“适合谁用 / 当前覆盖范围 / 常见用法”。showcase:重点推广、复杂法律或高风险 skill。在 standard 基础上增加“项目解决什么问题 / 核心设计 / 示例输出 / 质量支撑 / 关键文件”。发布前用以下检查清单复核 README:
Step 3: 创建独立 GitHub 仓库(如果需要首次设置)
gh repo create <org>/<repo-name> --public --description "<描述>"
Step 4: 添加 remote
git remote add <name>-standalone https://github.com/<org>/<repo-name>.git
Step 5: 首次推送
git subtree push --prefix=<prefix>/<name> <name>-standalone main
Step 6: 注册到清单
将子项目信息加入 config/subtree-skills.json,并更新上面的清单表格。
Step 7: 创建首个 Release
首次推送后,运行脚本创建 GitHub Release:
bash scripts/create-release.sh <name>
bash scripts/subtree-push.sh <name> [--setup] [--dry-run]
--setup: 同时创建 GitHub 仓库和添加 remote--dry-run: 只显示将要执行的操作,不实际推送独立仓库的 remote 名称统一为 <name>-standalone。
每次 subtree push 后,自动检查是否需要创建 GitHub Release。
<prefix>/<name>/SKILL.md 中的 version 字段,获取当前版本号gh release list --repo <org>/<repo-name> --limit 1 检查最新 Release 的 tagv<version> tag 尚不存在,则创建 Releasebash scripts/create-release.sh <name> [--dry-run]
脚本会自动完成:读取版本号 → 检查已有 Release → 提取 CHANGELOG → 打包(排除 README.md 和 .DS_Store)→ 创建 Release。
<prefix>/<name>/CHANGELOG.md 提取对应版本的变更记录"发布 v<version>"压缩包解压后得到 <name>/ 文件夹(如 code2patent/),用户直接放入 .claude/skills/ 即可使用。排除 README.md 和 .DS_Store。
README.md 面向独立仓库浏览者(GitHub 页面展示),不属于 skill 运行所需文件,因此不纳入压缩包。
支持非连续版本号(如 1.2.0 → 1.2.2,跳过 1.2.1)。每次只为当前推送的版本创建 Release,不会补建中间版本的 Release。
git subtree push 在大仓库上可能较慢,这是正常的.gitignore 控制实际配置文件位于 config/subtree-skills.json,用于 --auto 模式检测和仓库名映射。如需新建配置,可参考 config/subtree-skills.example.json。
字段说明:
prefix: 子目录前缀(相对于 monorepo 根目录)org: GitHub 组织/用户名skills: 子项目数组
name: 子目录名称(必填)repo: 独立仓库名(可选,默认为 <name>.skill)version: 当前 SKILL.md 中的版本号(可选,用于核查是否需要发布新 Release)last_release: 最新已发布的 Release tag(可选,如 v1.0.0)last_updated: 最近一次 subtree push 或 Release 更新时间(可选,格式 YYYY-MM-DDTHH:MM:SS)本地 README 个性化配置。用于统一生成独立仓库 README 的作者入口、二维码、上游项目导流和相关项目推荐。该文件通常包含个人或项目特定信息,应保留在本地;发布包和版本库只保留 config/readme-profile.example.json。
读取优先级:
config/readme-profile.json(本地固定配置)config/readme-profile.example.json(字段结构示例)references/readme-template.md 中的通用占位符常用环境变量:
SUBTREE_README_UPSTREAM_NAMESUBTREE_README_UPSTREAM_URLSUBTREE_README_AUTHOR_DISPLAYSUBTREE_README_WECHAT_IDSUBTREE_README_QR_IMAGE_URLSUBTREE_README_CONTACT_DEFAULTSUBTREE_README_CONTACT_LEGALSUBTREE_README_CONTACT_TOOL推荐字段:
upstream: 上游项目或技能集合信息author: 作者展示名、联系方式、二维码图片 URLcontact_messages: 默认、法律业务类、工具类联系文案related_projects: 可推荐的相关项目池skill_overrides: 按 skill 名定制推荐项目、联系文案或 profile发布规则:
readme-profile.json 写入公开发布包scripts/create-release.sh 会排除非 example 的 config/*.json,保留 *.example.json独立仓库名默认在子目录名后追加 .skill 后缀。例如:
opc-legal-counsel → opc-legal-counsel.skillcode2patent → code2patent.skill用户可以在 config/subtree-skills.json 中通过 repo 字段显式指定不同的仓库名,但如果不指定则自动使用 <name>.skill。
自动化 subtree 推送流程,支持 --auto 变更检测和仓庝名映射。
自动化 GitHub Release 创建流程。用法:bash scripts/create-release.sh <name> [--dry-run]
脚本自动完成:读取 SKILL.md 版本号 → 检查已有 Release → 提取 CHANGELOG 作为 Release Notes → 打包(排除 README.md 和 .DS_Store,解压后得到 <name>/ 文件夹)→ 创建 Release 并附上压缩包。