From ljg-skills
Syncs updated ljg-* skills from ~/.claude/skills/ to a GitHub repo across master (org-mode) and md (markdown) branches with automatic format conversion and README consistency checks.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ljg-skills:ljg-pushThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
把本地 `~/.claude/skills/ljg-*` 里改过的 skills,一键同步到 github repo,覆盖 master 和 md 两个分支。
把本地 ~/.claude/skills/ljg-* 里改过的 skills,一键同步到 github repo,覆盖 master 和 md 两个分支。
SKILLS_REPO="$HOME/code/ljg-skills" # 本地工作 repo
SKILLS_LOCAL="$HOME/.claude/skills" # 本地 skill 源
REPO_URL="[email protected]:lijigang/ljg-skills.git"
如果 $SKILLS_REPO 不存在,脚本会自动 clone。如果它存在但不是 ljg-skills 的 git repo,脚本会报错退出(不破坏现有目录)。
| 分支 | 输出格式 | 文件扩展 | 加粗 | 文件头 |
|---|---|---|---|---|
master(默认) | org-mode | .org | *bold* | #+title: 等 |
md | markdown | .md | **bold** | YAML frontmatter |
~/.claude/skills/ 里的 skill 是 master 风格(源版本)。md 分支的差异由脚本自动转换 + 必要时手工补。
按 Workflows/Push.md 步骤执行 → 调用 Tools/Push.sh。
每次 push 前,脚本强制做一件事:把 README 跟 local skills 对一遍。
~/.claude/skills/ljg-* 全部 skill 名$SKILLS_REPO/README.md 里出现的 ljg-xxx每次 push 都是检视 README 的机会。问自己:
确认 README 已审、确实不需要更新时,绕过 gate:
/ljg-push --skip-readme-check
md 分支同步时自动转换(2026-06-12 起含 org 文件本体):
.org 文件(assets/ 除外)转成同名 .md 并删除原件——org 头块→YAML frontmatter(含 --- 围栏,filetags→tags)、* 标题→# 标题(层级保留)、#+ATTR_* 行删除、[[file:x]]→、#+begin_src→``` 围栏。其他 .md 文件里对被改名文件的引用同步全局改写__qa.org → __qa.md、__paper.org → __paper.md 等(denote 命名约定)org-mode → markdown、Org-mode → Markdown加粗用 *bold*(单星号)… → 加粗用 **bold**(双星号)、标题层级从 * 开始 → 从 # 开始、Org 文件头 → Markdown 文件头、行首 #+title: 等 8 个示例键 → YAML 键行仍不自动转换(按需手工):
*bold* 标记:markdown 里 *x* 是斜体,盲替会破坏文档自身格式--- 围栏(已知整容项,不影响语义)curl -s -X POST http://localhost:31337/notify \
-H "Content-Type: application/json" \
-d '{"message": "Running Push in ljg-push"}' \
> /dev/null 2>&1 &
输出文本:Running **Push** in **ljg-push**...
Example 1: 一键推送
User: /ljg-push
→ 检测 ~/.claude/skills/ljg-* 中跟 repo 有差异的 skills
→ master: rsync + bump version + commit + push
→ md: rsync + mdize + bump version + commit + push
→ 报告:哪些 skills 推了,新版本号,剩余手工差异
Example 2: 看会推什么但不真推
User: /ljg-push --dry-run
→ 列出会被同步的 skills
→ 列出会做的 markdown 化转换
→ 不执行 rsync / commit / push
--skip-readme-check,先去看一下 READMEassets/measure.js)会被 rsync 同步到 repo——如果不想推,先在本地删掉,或加进 .gitignore*bold* 标记。新增带复杂构件的 org reference 文件后,先 --dry-run 或沙盒跑一遍 mdize 看转换效果pull --rebase 失败时尝试一次 reset --hard origin/md 重新应用——这会丢弃本地未推的 md 分支 commit。脚本前会提示~/.claude.backup-20260502/ljg-skills-repo/(路径名带 backup 是历史遗留),2026-05-02 搬到 ~/code/ljg-skills/npx claudepluginhub lijigang/ljg-skills --plugin ljg-skillsSyncs local Claude Code skills and references from Paper-Polish-Workflow GitHub repo via gh CLI. Activates on 'update skills', 'sync skills', or Chinese equivalents.
Checks upstream for new commits on installed skill branches and helps users merge updates via git-native operations.
Syncs locally developed skills to ClawHub. Supports batch/individual sync, .gitignore filtering, allowlist control, version tracking, and dry-run validation. Use when publishing new or updated skills from a local skill directory.