1How It Works & Mechanism
dbs is a pure prompt orchestration entry point that does only two things—beginner onboarding and single-task orchestration—and explicitly delegates concrete business execution to downstream Skills invoked in the subsequent round.
skills/dbs/SKILL.md本 Skill 只负责发现候选、判断单项或组合、分配角色和生成提示词。具体诊断、研究、制作、检查与执行留给用户下一轮调用的下游 Skill。
What is happening here: thoroughly decoupling 'routing' from 'execution' across two rounds—the current round only outputs a ready-to-send prompt, leaving all business conclusions to be generated when the user actually invokes the leaf Skill in the next round. This prevents the entry Skill from overstepping its boundaries and producing unauthorized outputs, while allowing users to review the orchestrated prompt before execution.
Runs a version check script upon entering the skill: executes bash scripts/check-update.sh, reads the official UPDATE.json, connects to the network at most once every 24 hours, and writes the cache to ~/.dbs/update_check_at.
skills/dbs/SKILL.mdDBS_LOCAL_VERSION="2.18.40"; bash "<本 SKILL.md 所在目录>/scripts/check-update.sh" "$DBS_LOCAL_VERSION"
The script is real executable code (not a prompt placeholder): skills/dbs/scripts/check-update.sh fetches https://raw.githubusercontent.com/dontbesilent2025/dbskill/main/UPDATE.json via curl, parses it with python3 (falling back to node), and performs semver comparison. If the remote version is higher, it prints a single line: 'dbskill vX: <notice> Reply 1 to update now.' SKILL.md requires 'silently skip if the command yields no output, fails, or times out', ensuring script failure never blocks orchestration.
Candidate discovery also relies on a script: runs python3 scripts/list-official-skills.py, using .claude-plugin/marketplace.json as the authoritative source for public candidates, falling back to a versioned name snapshot if the file is missing.
skills/dbs/SKILL.md脚本在完整项目中以当前版本的 `.claude-plugin/marketplace.json` 为公开候选权威源;独立 Skill 安装包缺少 Marketplace 文件时,使用随版本构建并经过一致性检查的正式名称快照。
The implementation of list-official-skills.py is at skills/dbs/scripts/list-official-skills.py: looks upward for .claude-plugin/marketplace.json, falling back to references/official-skill-names.txt; then locates installed skills across project skills/ and user directories (~/.agents/skills, ~/.codex/skills, ~/.claude/skills), outputting JSON containing name/description/source. Exclusion rules are hardcoded in the script: skips entries named dbs and those containing beta/private.
Orchestration decisions follow an auditable criteria set: 5 candidate evaluation factors (task outcome/input match/stage match/boundary match/executability), prioritizing a single Skill and only composing when necessary, with a strict hard cap of 1 primary + 2 secondary.
skills/dbs/SKILL.md总量不超过 1 个主 Skill 和 2 个辅助 Skill。
The 5 prerequisite conditions for composition are detailed in the same section ('user has only 1 final task and 1 final deliverable', 'at least 2 independent requirements that alter candidate selection, evidence, stopping conditions, or acceptance criteria', etc.), accompanied by 3 secondary roles (pre-filtering / evidence supplementary / acceptance constraints) with their respective dependency positions; complete role/ordering/fallback specifications are externalized in references/composition-contract.md and loaded only when composition is determined—a classic progressive disclosure design.
Output discipline: immediately ends the turn after generating a single prompt, without previewing downstream business conclusions.
skills/dbs/SKILL.md没有第二个辅助 Skill 时省略对应内容。提示词生成后立即结束当前轮次。
The single-Skill output template requires 'Recommendation: `/{skill-name}` + single-sentence rationale + ready-to-send prompt'; the composition template mandates specifying primary/secondary divisions of labor and 'ultimately delivering only a single result led by the primary Skill, without sequentially concatenating reports from multiple Skills'. Templates are hardcoded in the body of SKILL.md to guarantee consistent output formatting across turns.
Cross-Skill handover contract: dbs is the sole dynamic orchestration hub; leaf Skills must not cross-refer one another, and next steps must not be discussed before task completion.
skills/dbs/SKILL.md`/dbs` 是正式 Skill 之间唯一的动态编排中心。
Supporting clauses: a leaf Skill exits immediately upon completing its current task, prompting 'If unsure about the next step, enter `/dbs`' only when the user explicitly asks for next steps; when invoked mismatched, a Skill preserves extracted information and hands back control to /dbs. This contract is replicated verbatim at the end of the other 31 leaf Skills, establishing a repository-wide single entry point architecture.
2Core Capabilities
01Beginner Tutorial (Mode A): Explains deliverables, system workings, and how to get started to first-time users
02Task Orchestration (Mode B): Recovers the single task from current context, outputting a single Skill recommendation or a 1 primary + ≤2 secondary composition
03Candidate Discovery: Treats official Marketplace entries as authoritative, running scripts to enumerate installed official Skills and real source paths
04Version Alerts & One-Click Update: Script compares remote version numbers, appending an alert to the response end when triggered, executing /dbs-update upon user replying '1'
05Permission & Safety Gate: Orchestration never auto-escalates permissions; halts orchestration and demands prior review when detecting suspicious Skills or sensitive data risks
06Empty Dialogue Guidance: Offers low-friction entry messaging when no recognizable task is present, preventing idle loops
6Verdict & Scenarios
Thorough separation of entry and execution: The orchestration turn only yields 'recommendation + ready-to-send prompt', reserving business conclusions for downstream leaf Skills to avoid premature output of half-baked results.Hard cap on complexity: 1 primary + ≤2 secondary, limited to 3 secondary roles, and single-Skill prioritized; rules are verifiable rather than stylistically improvised.Deterministic facts supplied by scripts: Candidate lists and version numbers do not rely on model memory or hallucination; scripts include semver regex, notice length/line-break validation, and silent failure handling.Permission and scope boundaries embedded in workflow: Never authorizes on behalf of the user, embeds permission criteria into prompts when new access is needed, and halts orchestration immediately upon encountering suspicious Skills.Effective progressive disclosure: Core text retains only decision criteria and templates, while composition details are externalized to references and read only when needed, keeping context costs contained.Best for: Ideal for users who have installed dbskill (family of 32 official Skills) and do not want to memorize the purpose of each Skill: pass the real task as-is to /dbs to let it determine a single Skill or primary/secondary composition and generate a ready-to-send prompt. Also suitable for skill developers seeking to learn how entry Skills handle candidate discovery, composition orchestration, and prompt generation (the script-based candidate discovery, hard-capped composition, and progressive disclosure patterns can be directly adopted). When installed standalone (without marketplace.json), it remains functional via name snapshots, though candidate descriptions degrade to reading SKILL.md frontmatter, reducing filtering precision.
Not for: Not suitable for environments where only a single dbs family Skill is installed—without a candidate pool, orchestration degrades to idling (the script returns an empty list, in which case that leaf Skill should be invoked directly). Not suitable for users expecting immediate business conclusions in one turn: this entry explicitly forbids executing downstream business workflows in the current round, requiring another prompt submission. Not suitable for using /dbs as a conversational assistant—it orchestrates only the current single task per round, preserving no fixed cross-task combinations or default long chains. Also unsuitable for offline or restricted-network environments expecting complete network silence, as it introduces an outbound request (every 24h) to raw.githubusercontent.com.