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

dbs

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

L4 高权限 · 分级授权与审计V1 已固定执行命令联网读写文件Dual-pass Audit
Author dontbesilent2025GitHub dontbesilent2025/dbskill ↗Stars 10121License 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
管控等级描述 skill 的能力与建议配套的管控措施,不代表质量或安全认证,也不表示可用或不可用。是否使用由用户和管理者决定。不同 agent 宿主对权限的约束各不相同,请勿假定宿主一定会提供安全兜底。第三方 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外部依赖

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

4管控建议与判定依据

建议配套管控措施
面向 Agent
分级或逐次授权,建议在沙箱运行
面向管理者
审批流程、可回滚、全程审计
判定依据(文件路径与关键语句摘要)
  • scripts/: 执行本地脚本或命令: bash <skill目录>/scripts/check-update.sh "2.18.40"(每次进入本 skill 必跑)
  • 网络端点: 声明外部网络访问: GET https://raw.githubusercontent.com/dontbesilent2025/dbskill/main/UPDATE.
  • 本地工作目录: 文件读写与工件输出: mkdir -p ~/.dbs 并写 ~/.dbs/update_check_at(覆盖写当前 unix 时间戳)
审计说明: 。判定依据是行为面而非名气:本 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 的请求。
    Install Agent-Ready
    ① Verified Mirror 2026-09-15
    Option A · Direct DownloadDownload dbs.tar.gz
    sha256: ab141ef415ad29ec…
    Option B · Copy Guide for Agent
    install.json
    agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 8b8e33f1ec.