agent-email
Agent 专用邮箱统一管理:让 Claude Code、Codex 等平台的 Agent 用一套命令收发邮件、整理收件箱、分发任务。支持网易 ClawEmail(claw.163.com)和腾讯 Agent Mail(QQ…
将 monorepo 中的子目录通过 git subtree 推送到独立 GitHub 仓库。支持注册清单、变更自动检测、增量推送。本技能应在用户提交涉及已注册子项目的变更后,或手动请求推送到独立仓库时使用。不要用于初次创建 monorepo 或管理 git submodule。
$ npx -y skills add cat-xierluo/legal-skills --skill subtree-publish --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/subtree-publishContext preview
The summary Claude sees to decide when to auto-load this skill.
将 monorepo 中的子目录通过 git subtree 推送到独立 GitHub 仓库。支持注册清单、变更自动检测、增量推送。本技能应在用户提交涉及已注册子项目的变更后,或手动请求推送到独立仓库时使用。不要用于初次创建 monorepo 或管理 git submodule。
name: subtree-publish author: 杨卫薪律师(微信 ywxlaw) version: "1.7.1" license: MIT description: 将 monorepo 中的子目录通过 git subtree 推送到独立 GitHub 仓库。支持注册清单、变更自动检测、增量推送。本技能应在用户提交涉及已注册子项目的变更后,或手动请求推送到独立仓库时使用。不要用于初次创建 monorepo 或管理 git submodule。
将 monorepo 中指定子目录通过 `git subtree push` 推送到独立 GitHub 仓库。
文件只存一份(在 monorepo 中),一条命令同步到独立仓库。
| 依赖 | 用途 | 安装方式 | |------|------|----------| | 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
README.md 是独立 GitHub 仓库的人类展示页,不是 skill runtime 文件。创建或重写时必须遵守:
如需统一作者信息、二维码、主仓库链接或相关项目推荐,先读取 `config/readme-profile.json`;该文件为本地个性化配置,默认不提交。没有本地配置时,参考 `config/readme-profile.example.json` 的字段结构,并用通用占位符生成 README。
写作前按复杂度选择 profile:
发布前用以下检查清单复核 README:
1. 首屏是否能直接判断目标用户、核心场景和输出结果? 2. 是否有真实用户提问示例,而不是只有功能列表? 3. 安装步骤是否足以让外部用户开始试用? 4. 是否写明适合/不适合,且高风险场景有免责声明? 5. 许可证、作者、关联项目是否与当前 skill 元数据一致? 6. 是否删除了模板占位符、内部维护口吻和过长目录树?
**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]
独立仓库的 remote 名称统一为 `<name>-standalone`。
每次 subtree push 后,自动检查是否需要创建 GitHub Release。
1. 读取 `<prefix>/<name>/SKILL.md` 中的 `version` 字段,获取当前版本号 2. 通过 `gh release list --repo <org>/<repo-name> --limit 1` 检查最新 Release 的 tag 3. 如果当前版本号对应的 `v<version>` tag 尚不存在,则创建 Release 4. 如果已存在相同版本的 Release,跳过
bash scripts/create-release.sh <name> [--dry-run]
脚本会自动完成:读取版本号 → 检查已有 Release → 提取 CHANGELOG → 打包(排除 README.md 和 .DS_Store)→ 创建 Release。
压缩包解压后得到 `<name>/` 文件夹(如 `code2patent/`),用户直接放入 `.claude/skills/` 即可使用。
排除规则(`create-release.sh` 中 `zip -r` 的 `-x` 参数):
| 排除模式 | 理由 | |---------|------| | `*.DS_Store` | macOS 系统文件 | | `README.md` | 面向独立仓库浏览者,不属于 skill 运行时文件 | | `archive/`、`archive/**` | 历史审核/处理记录,含用户真实数据 | | `output/`、`output/**` | 运行时输出产物 | | `**/__pycache__`、`**/__pycache__/*` | Python 编译缓存 | | `**/*.pyc`、`**/*.log` | Python 编译缓存、日志 | | `**/*.tmp`、`**/*.bak` | 临时/备份文件 | | `**/.env`、`**/.env.*` | 环境变量文件(含密钥风险) | | `DECISIONS.md` | 本地决策记录与工作日志,含内部细节,不对外发布 | | `TASKS.md` | 本地任务清单,不属于 skill 运行时文件 | | `config/*.json` | 本地个性化配置,仅保留 `*.example.json` |
排除规则的完整性通过比对 `.gitignore` 中 `**/archive/*`、`**/output/*`、`**/__pycache__/`、`**/DECISIONS.md`、`**/TASKS.md` 等规则保证。脚本不主动读 `.gitignore`,而是用显式 `-x` 模式覆盖常见场景。新增排除需求时同步更新此处表格。
支持非连续版本号(如 `1.2.0` → `1.2.2`,跳过 `1.2.1`)。每次只为当前推送的版本创建 Release,不会补建中间版本的 Release。
实际配置文件位于 `config/subtree-skills.json`,用于 `--auto` 模式检测和仓库名映射。如需新建配置,可参考 `config/subtree-skills.example.json`。
字段说明:
本地 README 个性化配置。用于统一生成独立仓库 README 的作者入口、二维码、上游项目导流和相关项目推荐。该文件通常包含个人或项目特定信息,应保留在本地;发布包和版本库只保留 `config/readme-profile.example.json`。
读取优先级:
1. 环境变量(临时覆盖) 2. `config/readme-profile.json`(本地固定配置) 3. `config/readme-profile.example.json`(字段结构示例) 4. `references/readme-template.md` 中的通用占位符
常用环境变量:
-
Agent 专用邮箱统一管理:让 Claude Code、Codex 等平台的 Agent 用一套命令收发邮件、整理收件箱、分发任务。支持网易 ClawEmail(claw.163.com)和腾讯 Agent Mail(QQ…
把一句自然语言(机票/高铁/开庭/会议/截止日期/聚会/看病等)或一张票据截图,自动变成苹果「日历」事件 + 一串按事件类型智能提前的「提醒事项」。在 macOS 上运行、经 iCloud 同步到 iPhone/iPad。当用户说「帮我加个日程/提醒」「机票…
律师案件看板。本地零依赖看板服务(案件总览、任务三态看板、期限预警、进度写回)+周研判分析。当用户说"打开看板/dashboard/案件面板/看下案件进度/给我案件周报研判"时使用。案件状态写入与上下文管理用 case-progress(/progress…
案件进度与状态台账管理。案件 case.yaml 的唯一写入引擎(新增任务、推进任务、登记期限、更新案件阶段、校验、存量迁移),Agent 会话的进度加载与写回契约,以及案件进度监控对账。当用户或 Agent…