From obsidian-tools
Obsidian 多仓库路由管理。当用户有多个 Obsidian 仓库、需要切换当前激活仓库、注册新仓库、查看仓库列表时触发。触发词:ob-router、切换仓库、切换知识库、设置当前仓库。
How this skill is triggered — by the user, by Claude, or both
Slash command
/obsidian-tools:ob-routerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<role>Obsidian 多仓库路由中心,管理所有已注册仓库,并维护当前激活仓库的单一真理来源。</role>
Obsidian 多仓库路由中心,管理所有已注册仓库,并维护当前激活仓库的单一真理来源。 通过 ~/.claude/ob-router.json 为所有 ob-* skills 提供统一的仓库解析入口,解耦各 skill 与具体仓库路径的绑定。
触发词:
- ob-router
- ob-router list
- ob-router use <name>
- ob-router add <name> <path>
- ob-router remove <name>
- ob-router init
- 切换仓库 / 切换知识库
- 设置当前 Obsidian 仓库
示例:
- "ob-router" — 查看当前激活仓库
- "ob-router list" — 列出所有已注册仓库
- "ob-router use work" — 切换到 work 仓库
- "ob-router add personal ~/Documents/personal-vault" — 注册新仓库
- "ob-router init" — 从 CLAUDE.md 中的 OBSIDIAN_REPO 初始化
config=~/.claude/ob-router.json; focus=repo-routing
维护 ~/.claude/ob-router.json 中的多仓库配置,为其他 ob-* skills 提供统一的仓库路径解析。
读取 ~/.claude/ob-router.json,识别用户意图(查看/切换/注册/初始化)。
执行对应操作并更新配置文件,显示操作结果。
管理本地多个 Obsidian 仓库,作为所有 ob-* skills 的仓库解析中心。
路径:~/.claude/ob-router.json
{
"active": "personal",
"repos": {
"personal": "/path/to/personal-vault",
"work": "/path/to/work-vault"
}
}
| 字段 | 说明 |
|---|---|
active | 当前激活仓库的名称(对应 repos 的 key) |
repos | 已注册仓库的名称 → 绝对路径映射 |
ob-router(无参数)— 查看当前状态读取 ~/.claude/ob-router.json,展示当前激活仓库:
当前激活仓库:personal
路径:/path/to/personal-vault
已注册仓库(2 个):
★ personal /path/to/personal-vault
work /path/to/work-vault
若配置文件不存在,提示用户运行 ob-router init 初始化。
ob-router list — 列出所有仓库同无参数模式,额外展示每个仓库的 wiki 文章数(扫描 {path}/wiki/**/*.md 文件数):
已注册仓库(2 个):
★ personal /path/to/personal-vault (128 篇文章)
work /path/to/work-vault (43 篇文章)
ob-router use <name> — 切换激活仓库<name> 存在于 repos 中active 字段更新为 <name>,写入配置文件✅ 已切换至:work
路径:/path/to/work-vault
所有 ob-* skills 现在将使用此仓库。
ob-router add <name> <path> — 注册新仓库<path> 是否为合法绝对路径且目录存在<name> 已存在,询问用户是否覆盖(使用 AskUserQuestion)repos 并写入配置文件✅ 已注册仓库:research → /path/to/research-vault
是否立即切换到 research?
ob-router remove <name> — 移除仓库注册<name> 存在active 仓库,警告并要求用户先切换到其他仓库repos 中删除该条目并写入配置文件ob-router init — 从现有配置初始化当用户首次使用 ob-router,但已有 OBSIDIAN_REPO 配置在 ~/.claude/CLAUDE.md 时:
~/.claude/CLAUDE.md,提取 OBSIDIAN_REPO 变量值main)~/.claude/ob-router.json,将其注册为 active 仓库✅ 初始化完成
已将 CLAUDE.md 中的 OBSIDIAN_REPO 导入:
★ main /path/to/my-vault
还有其他 Obsidian 仓库需要注册吗?(可继续添加)
所有 ob-* skills 在执行前按以下优先级获取 $OBSIDIAN_REPO:
优先级 1:读取 ~/.claude/ob-router.json
→ 取 repos[active] 的路径
优先级 2:读取全局 ~/.claude/CLAUDE.md 中的 OBSIDIAN_REPO 变量
(向下兼容旧配置)
优先级 3:AskUserQuestion 询问用户
→ 询问是否同时保存到 ob-router(运行 ob-router add)
| 场景 | 处理 |
|---|---|
| 配置文件不存在 | 提示运行 ob-router init 初始化 |
active 对应路径目录不存在 | 警告路径失效,列出其他可用仓库请用户切换 |
active 字段为空或缺失 | 回退到 CLAUDE.md 的 OBSIDIAN_REPO |
| JSON 格式损坏 | 展示损坏内容,引导用户修复或重新初始化 |
| 用户指定了不存在的仓库名 | 列出所有已注册名称 |
npx claudepluginhub wangjs-jacky/jacky-skills --plugin obsidian-toolsInstall the BenAI Relay fork in an Obsidian vault as the foundation for a shared Team OS — replaces the official Relay (`system3-relay`) plugin with the BenAI fork (`benai-relay-fork`) which ships custom RBAC + access controls for team-wide vault sharing. Bundled production build ships inside the skill — user just points to their Obsidian vault path. Use when the user wants to "set up team os", "install BenAI Relay", "swap relay for the fork", "replace the official relay plugin", or "use BenAI's relay in my vault".
Handles Obsidian vault mechanics: detects vaults via .obsidian/, parses wiki links, configs for daily notes/templates/plugins, CLAUDE.md routing. Use for Obsidian vaults or structured markdown.
Manages a project-scoped Obsidian research knowledge base: bootstraps skeleton, routes notes, maintains hub/plan/index, updates registry, handles lifecycle actions, and orchestrates lint checks.