360 Secure SkillHub
360 安全技能中心

route

为 Doctrine 仓库提供强制路由层:在任何实质工作开始前,先用 doctrine CLI 查看 backlog、搜索编号实体,按规则选定治理 Skill(如 spec-tech、spec-product、spec-coverage-assessment)并按核心循环推进;路由表与护栏已内联在会话前缀中,本 Skill 不重复;doctrine 不可用时应停止并告知用户。

davidlee
热度 0.00
最近更新 2026-10-18 16:53:43
分类:开发依赖:代码执行 / 读写文件应用场景:工作流 / 任务管理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add davidlee/doctrine/route
Metadata
name
route
description
Use at the very start of ANY substantive work in a Doctrine repo — before inspecting files, running commands, or writing code. The mandatory gate that chooses the governing skill. Skip it only when the user has explicitly told you to.

Route

The mandatory routing layer for Doctrine. The routing gate concept is documented in [[mem.concept.doctrine.routing-gate]]. Follow it rigorously unless the user has instructed otherwise. If the user explicitly invoked a skill, use that now; if the routing layer indicates a subsequent action in a chain, go on with it afterwards.

Do not respond, explore, inspect files, run commands, or start implementation until you have chosen the skill that governs the task. If there is a reasonable chance another Doctrine skill governs it, route through that skill first.

Do not rationalize around this. If you skip routing because the task feels familiar, simple, urgent, or "probably fine", you are doing it wrong:

  • "I'll just inspect files first." → No. Routing decides how you inspect.
  • "I already know the command shape." → No. Use the CLI, don't guess.
  • "Small enough to skip routing." → Small tasks still need the right skill.
  • "I'll gather context first and decide later." → Decide first.

When unsure, route to the stricter skill, not the looser one.

The table rides the boot snapshot

The routing table, mid-flight rules (consult / record-memory / backlog / notes / next / conduct postures), and core guardrails are already inlined in this session's prefix (@.doctrine/state/boot.md). Apply them from there — this skill does not restate them. What follows is route-unique.

Route-unique rules

The core loop (slice→design→plan→execute→audit→close) is documented in [[mem.pattern.doctrine.core-loop]].

  • Consult the backlog before choosing: backlog list — is this intent already captured, and do open items bear on it?
  • Search before assuming: when the owning artifact is not obvious, doctrine search "<keywords>" reaches every numbered entity in one query — backlog list alone covers only latent work. Scope, and the corpora it misses: lib:reference/using-doctrine.md.
  • Authoring tech specs → /spec-tech; product specs → /spec-product; spec target or boundary unclear → /spec-coverage-assessment first.
  • "There is a slice" does not route to /execute — the design, plan, and runtime phase sheet must exist first (the no-code-without-approved-plan gate).
  • Do not import stricter ceremony than the project has adopted; surface a conflict between local doctrine and a routing default rather than improvising.

CLI

doctrine --help (dev: ./target/debug/doctrine --help) is the source of truth. If doctrine is unavailable, STOP and alert the user.

Governance edited this session?

The inlined prefix is written by a prior session's hook, so it can lag a just-made edit. Freshen-now ritual: run doctrine boot, then /clear or restart — regenerate THEN clear; doctrine boot alone cannot refresh the already-inlined prefix. (Disk sentry, separate check: doctrine boot --check.)