dbs-bridge

dbs-bridge

热门

Agent 基建:把任意 Skill 或 Skill 集合目录桥接到 Claude Code(`~/.claude/skills`)、Codex(`~/.codex/skills`)、通用 Agents(`~/.agents/skills`,豆包 Mac App / Trae Solo / Codex 可读取)和 Grok(`~/.grok/skills`)。支持 dbskill 仓库内置 Skill,也支持外部 Skill 绝对路径。Claude / Codex / 通用 Agents 使用软链接,Grok 生成带 `user_invocable: true` 的轻量 Bridge。支持按 Skill 名称、相对路径、绝对路径或 skills 目录批量桥接,同时支持取消桥接(拆桥)与查看桥接状态。 触发方式:/dbs-bridge、/bridge、「桥接这个 skill」「桥接整个 skills 目录」「把这个 skill 接到 Claude Code、Codex、豆包和 Grok」「让多个 Agent 都能调用这个 skill」「取消桥接」「查看桥接状态」 将任意 Skill 文件夹或 Skill 集合目录通过软链接及 Grok Bridge 文件桥接到 Claude Code、Codex、通用 Agents(`~/.agents/skills`)和 Grok。支持 dbskill 内部 Skill 及外部 Skill 目录。适用于用户希望跨多个 Agent 调用单个或多个 Skill,或者需要解绑(拆桥)/查看桥接状态的场景。 触发词:/dbs-bridge、/bridge、"bridge this skill"、"bridge this skills directory"、"make this skill available to Claude Code, Codex, Doubao, and Grok"、"unlink this skill"、"check bridge status"

8495Star
993Fork
更新于 2026/7/18
SKILL.md
只读
名称
dbs-bridge
描述

Agent 基建:把任意 Skill 或 Skill 集合目录桥接到 Claude Code(`~/.claude/skills`)、Codex(`~/.codex/skills`)、通用 Agents(`~/.agents/skills`,豆包 Mac App / Trae Solo / Codex 可读取)和 Grok(`~/.grok/skills`)。支持 dbskill 仓库内置 Skill,也支持外部 Skill 绝对路径。Claude / Codex / 通用 Agents 使用软链接,Grok 生成带 `user_invocable: true` 的轻量 Bridge。支持按 Skill 名称、相对路径、绝对路径或 skills 目录批量桥接,同时支持取消桥接(拆桥)与查看桥接状态。 触发方式:/dbs-bridge、/bridge、「桥接这个 skill」「桥接整个 skills 目录」「把这个 skill 接到 Claude Code、Codex、豆包和 Grok」「让多个 Agent 都能调用这个 skill」「取消桥接」「查看桥接状态」 将任意 Skill 文件夹或 Skill 集合目录通过软链接及 Grok Bridge 文件桥接到 Claude Code、Codex、通用 Agents(`~/.agents/skills`)和 Grok。支持 dbskill 内部 Skill 及外部 Skill 目录。适用于用户希望跨多个 Agent 调用单个或多个 Skill,或者需要解绑(拆桥)/查看桥接状态的场景。 触发词:/dbs-bridge、/bridge、"bridge this skill"、"bridge this skills directory"、"make this skill available to Claude Code, Codex, Doubao, and Grok"、"unlink this skill"、"check bridge status"

dbs-bridge:多端 skill 桥接

把任意包含 SKILL.md 的 skill 源目录,或包含多个 skill 子目录的集合目录,用软链接同时挂载到:

  • ~/.claude/skills/<skill-name>
  • ~/.codex/skills/<skill-name>
  • ~/.agents/skills/<skill-name>

同时为 Grok 生成轻量 bridge:

  • ~/.grok/skills/<skill-name>/SKILL.md

这样 Claude Code、Codex、豆包 Mac App、Trae Solo、Grok 等 Agent 都能通过同一个源目录调用该 skill。源目录改动后,各端自动同步。源目录可以在 dbskill 仓库内,也可以在外部项目、~/.claude/skills / ~/.codex/skills / ~/.agents/skills / ~/.grok/skills 以外的本地目录、iCloud 目录或其他工作区。


核心原则

  1. Claude / Codex / 通用 Agents 只用软链接。 不复制 skill 文件,避免多端出现版本分叉。
  2. 源目录可以在任何位置。 桥接目录只指向源目录。
  3. 绝不覆盖真实目录。 如果目标位置已有同名真实目录,直接终止并报告,让用户手动处理。
  4. Grok 生成轻量 bridge。 Grok bridge 必须包含 user_invocable: true 并指向真实源目录。
  5. 拆桥只删除派生产物。 取消桥接时只移除 ~/.claude/skills~/.codex/skills~/.agents/skills 下的软链接,以及 ~/.grok/skills 下由本工具生成的 bridge,绝不删除源目录。
  6. 优先用脚本执行。 统一使用本 skill 自带脚本 scripts/bridge-skill.sh,不要临场重写桥接逻辑或命令。

确定源 skill

用户给出的参数类型可能包括:

  • skill 名称:dbs-hook
  • 相对路径:skills/dbs-hook
  • 绝对路径:/Users/.../dbskill/skills/dbs-hook
  • 外部绝对路径:/Users/.../.agents/skills/lark-doc
  • skill 集合目录:/Users/.../dbskill/skills
  • 当前上下文刚创建或刚修改的 skill

按以下优先级判断:

  1. 用户明确提供了绝对路径,直接使用该路径。
  2. 用户提供了相对路径,先按当前工作目录解析,若不成立再按 dbskill 仓库根目录解析。
  3. 用户仅提供 skill 名称,优先查找当前工作目录下的同名目录,其次查找 dbskill 仓库 skills/<name>
  4. 用户仅表达“这个 skill”,使用当前对话中刚创建、刚重命名或刚讨论的 skill。
  5. 仍无法确定时,检查当前工作目录及仓库 skills/ 下最近修改的 skill。
  6. 若依然无法确定,仅询问一句:桥接哪个 skill?给我 skill 名称或路径。

源目录必须满足以下条件之一:

  • 目录本身直接包含 SKILL.md
  • 目录的一级子目录中包含多个 SKILL.md,用于批量桥接。

执行桥接

在 dbskill 仓库根目录运行:

skills/dbs-bridge/scripts/bridge-skill.sh link <skill-name-or-path>

示例:

skills/dbs-bridge/scripts/bridge-skill.sh link dbs-hook
skills/dbs-bridge/scripts/bridge-skill.sh link skills/dbs-beta-framework-builder
skills/dbs-bridge/scripts/bridge-skill.sh link skills
skills/dbs-bridge/scripts/bridge-skill.sh link "/absolute/path/to/skill"
skills/dbs-bridge/scripts/bridge-skill.sh link "/Users/me/external-skills/my-skill"
skills/dbs-bridge/scripts/bridge-skill.sh link "/Users/me/external-skills"

执行完毕后,把脚本输出中各宿主端的桥接结果反馈给用户。


查看状态

当用户询问“桥好了没”或“查看桥接状态”时运行:

skills/dbs-bridge/scripts/bridge-skill.sh status <skill-name-or-path>

输出内容应清晰说明 Claude Code、Codex、通用 Agents 和 Grok 这四个位置分别指向何处。


取消桥接

当用户表示“取消桥接”、“拆桥”或“unlink”时运行:

skills/dbs-bridge/scripts/bridge-skill.sh unlink <skill-name-or-path>

拆桥完成后告知用户:源 skill 未被删除,仅移除了各宿主端的派生产物。


输出规范

桥接完成后,简短反馈:

已桥接 `<skill-name>`:

- Claude Code:`~/.claude/skills/<skill-name>` -> `<source-path>`
- Codex:`~/.codex/skills/<skill-name>` -> `<source-path>`
- 通用 Agents:`~/.agents/skills/<skill-name>` -> `<source-path>`
- Grok:`~/.grok/skills/<skill-name>` -> `<source-path>/SKILL.md`

如果遇到同名真实目录:

未覆盖 `<target-path>`,因为该路径已存在真实目录。需要你先手动确认该目录能否被移走。

自检

每次执行前确认:

  • 源目录存在;
  • 源目录包含 SKILL.md,或其一级子目录包含 SKILL.md
  • 外部路径必须使用绝对路径,或能从当前工作目录解析;
  • Claude / Codex / 通用 Agents 目标位置若已存在,必须是软链接才允许更新;
  • Grok 目标位置若已存在,必须是本工具生成的 Grok Bridge 才允许更新;
  • 不能删除源目录;
  • 不能把 skills/dbs-bridge 自身复制到各端;Grok 端只能生成轻量 bridge。

不知道下一步用哪个 Skill?

输入 /dbs

它会读取刚才的具体结论,选择当前最值得处理的一个方向,并直接路由到对应 Skill。