vault-publish
vault-publish 是给 Claude Code 用的一份 agent skill,把"本地 Obsidian vault → GitHub wiki-vault → ECS → wiki.86lux.net"这条发布链路封装成"一句自然语言指令"的体验。
任何同事说"发布 wiki"或"同步 vault",Claude Code 就按这个 skill 走完 7 步:检查 vault 路径 → 检查 SSH → pull rebase → add canon/ → ask commit msg → commit → push。
它解决什么问题
- 不是所有同事都熟悉 git 命令行
- 不是所有同事都配过 SSH key
- 容易手滑
git add .把 personal/ 私人内容也推上去 - 容易忘
git pull --rebase直接 push 被拒绝
vault-publish 把这些痛点封装成 idempotent 向导,任何人 + 任何机器装上 skill 就能用。
它不是什么
- ❌ 不是一个跑在服务器上的服务(它是 markdown 文件,本质是给 Claude Code 看的"说明书")
- ❌ 不是一个 CLI 工具(不需要
npm install也不需要pip install) - ❌ 不是一个 git 替代品(它调用 git,不替代 git)
- ❌ 不会把内容传到 Anthropic 服务器(git 操作全在本机;Claude 只是帮你打字)
它在哪里
文件路径(Allen 的电脑):
C:\Users\Administrator\.claude\skills\vault-publish\SKILL.md同事电脑放对应位置:
- Windows:
C:\Users\<name>\.claude\skills\vault-publish\SKILL.md - Mac/Linux:
~/.claude/skills/vault-publish/SKILL.md
未来可考虑把 skill 本身也放进 wiki-vault repo 里(canon/_skills/),让同事 clone 后自动获得。
与其他 skill 的关系
- llm-wiki — 编译 wiki 的 skill;它写新内容到本地 vault,vault-publish 负责发出去
- 关系类似 "作家 vs 出版社":llm-wiki 写稿,vault-publish 印刷分发
关键工作流
[你写完笔记] → 在 Claude Code 说 "发布 wiki" → vault-publish 跑:
1. 找 vault 路径(探测常见位置 + 兜底问用户)
2. 检查是不是 git repo(不是就 init + 接 GitHub 远程)
3. 检查 SSH key 通不通 GitHub(不通就生成 + 引导粘到 GitHub 网页)
4. git pull --rebase origin main
5. git add canon/ ← 永远只加 canon/,personal/ 在 .gitignore
6. git status 确认;问你这次写了啥;生成 commit message
7. git commit + git push
8. 报告:图片走 LFS 上传 X 个、文档 push 成功,预计 1-2 分钟内 wiki.86lux.net 可见设计原则
- idempotent:跑 N 次和跑 1 次结果一样
- 零脚本依赖:纯 markdown skill 文档 + Claude Code 内置的 Bash 工具,不需要装额外程序
- 有问必答:每个错误(Permission denied、merge conflict、LFS quota)都有对应排查段落
- 不替你做破坏性决定:不 force push,不 git reset --hard,不替你写 commit message
关联
- llm-wiki — 写 wiki 的 skill
- 同事接入wiki发布流程 — 同事第一次接入时的 onboarding 文档
- wiki图片视频管理规范 — 媒体资产规范(vault-publish 自动走 Git LFS)
- GitHub — 推到哪里
- Docs-as-Code 发布架构 — 它在整体架构里的位置