基础工具与工作流 · dontbesilent2025/dbskill

dbs

dontbesilent 商业工具箱主入口,提供新手教程与单任务动态编排。用户第一次使用 dbskill、不知道该用哪个正式 Skill、带着真实任务寻求合适能力,或在一项任务完成后询问下一步时使用。

风险提醒:黄色 · 留意使用AI 侦查报告
作者 dontbesilent2025GitHub dontbesilent2025/dbskill ↗Stars 10121许可 CC BY-NC 4.0(仓库根 LICENSE 首行「Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)」,条款为 Attribution + NonCommercial,Copyright (c) 2026 dontbesilent。**非商业授权**:个人/学习/研究可直接使用,商业用途需单独授权;GitHub API license.spdx_id 为 NOASSERTION(CC 系非 SPDX 标准标识))commit 8b8e33f1ec
agent 宿主通常会约束 skill 执行权限;风险提醒为 AI 侦查观点,不构成质量或安全保证。第三方 skill 仅作拆解与展示,安装使用风险自负,版权归原作者。

1实现原理 · 为什么它能做到

dbs 是纯 prompt 编排入口,只做两件事——新手教程与单任务编排——并且明确把具体业务执行推给下一轮调用的下游 Skill。

skills/dbs/SKILL.md
本 Skill 只负责发现候选、判断单项或组合、分配角色和生成提示词。具体诊断、研究、制作、检查与执行留给用户下一轮调用的下游 Skill。
注:这里在做什么:把「路由」与「执行」在两个回合里彻底切开——本回合只产出一段可直接发送的提示词,业务结论全部留到用户下一轮真正调用叶子 Skill 时生成。这既避免入口 Skill 越权产出,也让编排结果可被用户审阅后再放行。

进入 skill 先跑版本检查脚本:bash 调 scripts/check-update.sh,读官方 UPDATE.json,24 小时内只联网一次,缓存写在 ~/.dbs/update_check_at。

skills/dbs/SKILL.md
DBS_LOCAL_VERSION="2.18.40"; bash "<本 SKILL.md 所在目录>/scripts/check-update.sh" "$DBS_LOCAL_VERSION"
注:脚本是真实存在的可执行代码(不是 prompt 占位):skills/dbs/scripts/check-update.sh 用 curl 拉 https://raw.githubusercontent.com/dontbesilent2025/dbskill/main/UPDATE.json,用 python3(退化到 node)解析并做 semver 比较,远程版本更高时打印一行「dbskill vX:<notice> 回复 1,我现在帮你更新。」。SKILL.md 要求「命令无输出、执行失败或超时,直接跳过」,即脚本失败不阻塞编排。

候选发现也靠脚本:python3 跑 scripts/list-official-skills.py,以 .claude-plugin/marketplace.json 为公开候选权威源,缺文件时退到随版本构建的名称快照。

skills/dbs/SKILL.md
脚本在完整项目中以当前版本的 `.claude-plugin/marketplace.json` 为公开候选权威源;独立 Skill 安装包缺少 Marketplace 文件时,使用随版本构建并经过一致性检查的正式名称快照。
注:list-official-skills.py 的实现在 skills/dbs/scripts/list-official-skills.py:向上找 .claude-plugin/marketplace.json,否则读 references/official-skill-names.txt;再从项目 skills/ 与用户主目录的 ~/.agents/skills、~/.codex/skills、~/.claude/skills 定位已安装 skill,输出 name/description/source 的 JSON。排除规则写死在脚本里:跳过名为 dbs 的条目以及名字含 beta/private 的条目。

编排决策是可复核的判据集合:5 项候选判断(任务结果/输入匹配/阶段匹配/边界匹配/可执行性),先判单 Skill 是否足够,必要时才组合,且总量硬上限 1 主 + 2 辅。

skills/dbs/SKILL.md
总量不超过 1 个主 Skill 和 2 个辅助 Skill。
注:组合的 5 个必要条件写在同一节(「用户只有 1 个最终任务和 1 份最终交付物」「至少有 2 项彼此独立、会改变候选选择、证据、停止条件或验收结果的要求」等),并配 3 种辅助角色(前置筛选/证据补充/验收约束)与各自依赖位置;完整的角色/顺序/降级细则外置在 references/composition-contract.md,只在判为组合时才完整读取——这是典型的渐进披露(progressive disclosure)设计。

输出纪律:只生成一段提示词就立即结束本轮,不预演下游业务结论。

skills/dbs/SKILL.md
没有第二个辅助 Skill 时省略对应内容。提示词生成后立即结束当前轮次。
注:单 Skill 输出模板要求「推荐:`/{skill-name}` + 选择理由一句话 + 可直接发送的提示词」;组合模板要求写明主辅分工与「最终只交付一份由主 Skill 统领的结果,不要依次拼接多份 Skill 报告」。模板硬编码在 SKILL.md 正文,保证多轮之间输出形状稳定。

跨 Skill 交接契约:dbs 是唯一动态编排中心,叶子 Skill 不得互相指路,任务未完成时不许谈下一站。

skills/dbs/SKILL.md
`/dbs` 是正式 Skill 之间唯一的动态编排中心。
注:配套条款:叶子 Skill 完成当前任务后直接结束,只有用户明确询问下一步时才提示「下一步不确定时,可以输入 `/dbs`」;用户调用不匹配的 Skill 时保留已提取信息并交回 /dbs。这条契约在其余 31 个叶子 Skill 结尾被逐字复制,形成仓库级的单一入口结构。

2核心能力

01新手教程(模式 A):向首次使用者说明可交付什么、系统怎么工作、怎么开始
02任务编排(模式 B):从当前对话恢复唯一任务,产出单 Skill 推荐或 1 主 + ≤2 辅组合
03候选发现:以 Marketplace 正式条目为准,运行脚本枚举已安装的正式 Skill 及真源路径
04版本提醒与一键更新:脚本比对远端版本号,命中时在回复末尾追加提醒,用户回「1」即执行 /dbs-update
05权限与安全闸门:编排不自动扩权,遇到可疑 Skill 或敏感数据风险时停止编排并要求先审查
06空对话引导:没有可识别任务时给出低门槛入口话术,而不是空转

3外部依赖

类型依赖
clibash
clicurl
network官方 UPDATE.json(版本检查,可用环境变量覆盖)
clipython3
clinode(python3 不可用时的解析兜底)

4风险提醒 风险提醒:黄色 · 留意使用

风险提醒:黄色 · 留意使用
  • 远端文本入上下文(低强度注入通道) — 版本提醒把 UPDATE.json 的 notice 原样引用进回复;DBS_UPDATE_URL 可被环境变量改指任意主机时,理论上可伪造一条 ≤80 字、不含换行的提醒行(内容受脚本校验,无法注入多行/长文本)。上游仓库被投毒是同一路径的更大前提。
  • 本地目录扫描带来路径披露 — list-official-skills.py 会遍历 ~/.agents/skills、~/.codex/skills、~/.claude/skills,把命中的 skill 绝对路径写入返回 JSON;在共享会话或日志场景中会暴露本机目录结构。
  • 安全约束是提示层,不是代码级强制 — 「不自动扩权」「停止编排可疑 Skill」都靠模型遵守;本 skill 不实现权限、沙箱或审计。宿主若不限制工具权限,编排提示词可以要求下游 Skill 做超出预期的操作(提示词本身不执行)。
  • 编排质量依赖模型对 32 个 Skill frontmatter 的判读 — SKILL.md 要求「候选阶段先比较 frontmatter,不读取所有 Skill 的完整正文」,只凭 description 选候选;描述相近的 Skill(如 dbs-diagnosis / dbs-standard-answer / dbs-theory-grounding)存在误选可能,用户仍是最终把关者。
风险提醒:黄色,留意使用。判定依据是行为面而非名气:本 skill 会真实执行脚本,其中 check-update.sh 每次进入都向 raw.githubusercontent.com 发起一次 GET(24h 缓存内跳过),并在 $HOME/.dbs/ 写入缓存文件;无任何凭证读取、无用户数据外发(请求不带参数、不带 cookie、不带 payload),外发对象单一且可预期,符合「常规网络调用(公开 API/官方 CLI)」档。按批4 终版判準第 3 档(固定公开端点的查询、官方 CLI 的 update/check 等可预期低风险外发;先例 guizang-ppt / archify / llm-icon-finder)落 yellow:本 skill 每次进入即执行自带的 check-update.sh,脚本无条件向固定公开端点发 GET(仅 24h 缓存内跳过),属 update/check 型外发,而非可选或仅见于禁止条款的引用。两条需留意的细节:环境变量 DBS_UPDATE_URL 可把请求改指任意主机(供应链面,但解析有长度/换行/正则校验,最坏只能伪造一条 80 字以内的版本提醒);list-official-skills.py 会读用户主目录的 skill 目录并把绝对路径输出到对话。除此之外它明确禁止自动扩权(「编排不会自动扩大读取、写入、发布、删除、付款或外部沟通权限」)。

5第二遍独立确认

  • [ok] 两个脚本真实存在且可执行语义与描述一致 — skills/dbs/scripts/check-update.sh(116 行 bash)与 skills/dbs/scripts/list-official-skills.py(python3)均逐行读过;SKILL.md 对二者行为的描述(24h 缓存、marketplace 优先、快照兜底、只返回已安装正式 Skill)与实现一致,无夸大。
  • [ok] 网络外发唯一且为官方端点 — 全目录 token 扫描只命中一处 curl,指向 raw.githubusercontent.com/dontbesilent2025/dbskill/main/UPDATE.json;无 webhook、无上报、无第三方域名。
  • [ok] 凭证读取为零 — 脚本只读 $HOME 路径与可选 DBS_UPDATE_URL;无 token/api_key/keychain/.env/.netrc 读取。
  • [ok] 写文件范围(仅 ~/.dbs 缓存) — check-update.sh 中唯一写入是 mkdir -p "$DBS_DIR" 与 printf 时间戳到 ~/.dbs/update_check_at;list-official-skills.py 无 write 调用(只 read_text/print)。
  • [ok(确认为设计内行为)] 远端 notice 文本会进入模型上下文(注入面) — SKILL.md 明确要求「命令有输出时,将输出内容追加在本次回复的最末尾,单独成段,引用格式为 > 🔔 {输出内容}」;notice 由脚本做 1–80 字与禁换行校验,非任意长文本。已按「远端可控字符串入上下文」如实计入 injection_surface。
  • [ok] 版本号硬编码 2.18.40 与仓库 VERSION 一致 — SKILL.md 的 DBS_LOCAL_VERSION="2.18.40" 与仓库根 VERSION 文件(2.18.40)、UPDATE.json.version(2.18.40)三处一致。
  • [ok] 「编排不自动扩权」是否只是口号 — SKILL.md 有可执行的落地条款:任一成员需要新增授权时把授权条件写进提示词、本入口不代替用户授权;组合条件第 4 条要求「组合不会绕过任何成员的证据、权限、安全或停止边界」。属提示层约束(无代码级强制),已在 risks 中说明。
  • [ok] 元数据(license/stars/last_push/installs) — GitHub API:stargazers_count 10121、pushed_at 2026-09-07T03:48:59Z、license.spdx_id NOASSERTION(仓库根 LICENSE 实为 CC BY-NC 4.0,非商业);skills.sh 徽标 579.6K 为仓库级聚合。本地 git HEAD = 8b8e33f1ecaed8cee606fe950c4426b525ead314,与任务 pin 一致。

6结论

  • 入口与执行彻底分离:编排回合只产出「推荐 + 可直接发送的提示词」,业务结论留给下游叶子 Skill,避免入口越权产出半成品。
  • 复杂度有硬上限:1 主 + ≤2 辅、辅助角色只有三种、判定为单 Skill 优先,规则可复核而非风格化发挥。
  • 确定性事实由脚本供给:候选清单与版本号不靠模型记忆或即兴枚举,脚本还带 semver 正则、notice 长度/换行校验与失败静默。
  • 权限与越权防线写进流程:不代替用户授权、需新增授权时把条件写进提示词、发现可疑 Skill 即停止编排。
  • 渐进披露到位:正文只留判据与模板,组合细则外置 references,仅在需要时读取,上下文成本可控。
  • 适合:适合已经安装 dbskill(32 个正式 Skill 家族)且不想记住每个 Skill 用途的用户:把真实任务原样丢给 /dbs,由它判断单项或主辅组合并给出可直接发送的提示词。也适合想学习「入口 Skill 如何做候选发现 + 组合编排 + 提示词生成」这套结构的 skill 作者(脚本版候选发现、硬上限组合、渐进披露三件套都可直接借鉴)。独立安装(无 marketplace.json)时靠名称快照仍可用,但候选的 description 会退化为读 SKILL.md frontmatter,筛选质量下降。
    不适合:不适合只装了单个 dbs 系列 Skill 的环境——没有候选池,编排退化为空转(脚本会返回空列表,此时应直接调用那个叶子 Skill)。不适合期望一次拿到业务结论的用户:本入口明确「本轮不得执行入选 Skill 的业务流程」,必须再发一次提示词。不适合把 /dbs 当作对话式助理的用法——它每轮只编排当前一个任务,不保存跨任务固定组合、不设计默认长链。也不适合离线/禁网环境期望完全静默的场景:会多出一次(每 24h)对 raw.githubusercontent.com 的请求。
    安装 agent 直装可复制
    ① 本站镜像 更新 2026-09-15
    方式 A · 人下载镜像包下载 dbs.tar.gz
    sha256: ab141ef415ad29ec…
    方式 B · JSON 格式安装指南,复制给 agent
    安装指南
    agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
    ② 上游 GitHub · 原始来源
    能访问 GitHub?直接去上游安装(实时版,可能已更新)GitHub 原始 ↗
    本页镜像锁定 commit 8b8e33f1ec;上游为实时仓库。
    来源信息 GitHub 原始
    作者 / 仓库dontbesilent2025 / dontbesilent2025/dbskill
    Stars10121
    最近推送2026-09-07
    本 skill commit8b8e33f1ec
    许可CC BY-NC 4.0(仓库根 LICENSE 首行「Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)」,条款为 Attribution + NonCommercial,Copyright (c) 2026 dontbesilent。**非商业授权**:个人/学习/研究可直接使用,商业用途需单独授权;GitHub API license.spdx_id 为 NOASSERTION(CC 系非 SPDX 标准标识))
    本站信息
    收录日期2026-09-06
    分类基础工具与工作流
    侦查报告AI 侦查 · 2 遍 · 2026-09-06
    本站镜像与 GitHub 原始是不同来源:本站锁定 commit 快照经 /r2 分发;GitHub 为实时上游,内容可能已更新。
    同分类邻近