Claude Skill

eng-design-doc-review

Adversarially review a technical design document with fresh context. Dispatches the built-in read-only `Explore` subagent (clean context, no shared history with the design-author) against `docs/plans/<id>/design.md` and presents its verdict — APPROVE, REQUEST CHANGES, or COMMENT.

LLM Mart · 0 points · 20 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download bostonaholic-team-skills_eng-design-doc-review-219f103.zip · 8 KB
Part of bostonaholic/team — 31 skills

Install

skills CLI npx skills add https://github.com/bostonaholic/team/tree/main/skills/eng-design-doc-review
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install bostonaholic-team@llmmart
Git git clone https://github.com/bostonaholic/team.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole bostonaholic/team collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Before review dispatch, supply the installed plugin root and resolved skills/eng-design-doc-review/references/design-reviewer.md path. Pass the applicable resource paths and require reads before work. If a required resource is missing, stop and report its resolved path; never use checkout fallback or recursive loading.

Engineering Design Doc Review — Independent Fresh-Context Audit

Before dispatch, resolve independent review, verified results, focused work. Pass their absolute installed paths with the retained brief. The receiver reads them before work. Missing resources stop that step with the exact path, without source fallback. Before each consuming step, read its linked shared rules from this installed skill directory. If a required read fails, stop that step with the exact path. Never use checkout fallback or recursive loading. Adversarially review a design document with fresh context. The brief this skill dispatches lives in skills/eng-design-doc-review/references/design-reviewer.md, and the orchestrator loads the same brief for the DESIGN phase's adversarial review gate. Invoking this skill standalone remains supported whenever you want an independent, fresh-context audit of a design document.

Write the prose this skill governs at a seventh-grade reading level, in STE-flavored mode — short sentences, common words, no unexplained jargon. Full methodology: the writing standards. Before you finalize prose this skill governs, read the writing standards and apply its ## Self-lint checklist.

There is no custom review agent. This skill loads the review brief from references/design-reviewer.md and dispatches the built-in read-only Explore subagent through the Agent tool. That subagent boots with a clean context and no shared conversation history with the design-author — that isolation is the whole point. It prevents self-evaluation bias. Explore holds no Write/Edit tools, so the reviewer structurally cannot change the artifacts it judges. Fresh context plus veto-without-authorship is the generator-evaluator rule (independent review rules).

Input

$ARGUMENTS is the artifact directory: docs/plans/<id>/. If empty, the discovery command below resolves it.

The review reads:

  • $ARGUMENTS/6-design.md — the document under review (required)
  • $ARGUMENTS/1-task.md, $ARGUMENTS/2-questions.md, $ARGUMENTS/5-research.md, $ARGUMENTS/4-repos.md — predecessor artifacts (read for grounding when present, missing siblings are not a hard error)

Resolve <team-skill-dir> to the absolute directory containing skills/team/SKILL.md. From the repository root, run:

"<team-skill-dir>/discover-topic.sh" "${ARGUMENTS:-}" "6-design.md"
  • If the command printed a path, use it as $ARGUMENTS for the rest of this skill. That is tier 1 explicit arg, or tier 2 discovery. When the path came from tier 2, with no explicit arg, announce the resolved directory to the user first. An auto-picked topic is then never silent.
  • If the command printed nothing (tier 3 — no directory holds 6-design.md), do not hard-error. Fire AskUserQuestion with a Setup header and labeled options:
    • Run the producer — run /team-design docs/plans/<id>/ to produce the missing 6-design.md.
    • Give a path — the user supplies the docs/plans/<id>/ directory directly (run ls docs/plans/ to find your topic directory).

Execution

  1. Use the directory resolved in ## Input.
  2. Run the external cross-model pass. Read the cross-model review and follow its ## Design-review pass — reference that procedure, never duplicate it here. You, the invoking session, are the actor: you hold Bash for the runner (external-review.mjs, resolved per that section) and the Agent tool for the dispatch — each vendor run goes through its own named courier sub-agent per that reference's vendor-courier block, with its inline fallback. Fence each CLI's raw output as a DATA block at capture time (fence longer than any backtick run in the output, per that section) and hold one ## External review input section — opening with the untrusted-content line that section specifies — carrying those blocks, for step 3 to append to the brief it dispatches. Any skip continues with the reviewer alone. No artifact is written on this surface: a standalone run records nothing — no notes append, no raw file — and the raw vendor text stays in the invoking session. Name any unavailable CLI to the user per that reference's ## When a vendor CLI is unavailable. Edge cases ride the shared section: an unauthenticated CLI exits non-zero and reads as an ordinary skip.
  3. Dispatch the review. Read the design reviewer brief ## Review brief. Then call the Agent tool with subagent_type: Explore and model: opus — pinning the model keeps a cheaper machine-wide subagent default from silently weakening this gate — and pass that brief to the Explore subagent as the prompt, with the artifact directory substituted for $ARGUMENTS. Do not define or reference a project agent — the built-in read-only type is the whole mechanism. Its clean context is what makes the review independent, and its lack of Write/Edit tools keeps the reviewer structurally unable to touch the artifacts. If the environment lacks the Explore agent type, report the dispatch failure — never substitute a full-tool agent silently.
  4. Present the verdict in full. The subagent returns Conventional Comments findings (issue / suggestion / nitpick, each with a file:line reference) followed by one of APPROVE, REQUEST CHANGES, or COMMENT. Relay it verbatim — the subagent's output is not shown to the user directly.
  5. Do not auto-revise. This skill does not loop the design-author. On REQUEST CHANGES, surface the findings and let the user decide if to re-enter /team-design with that feedback.

Rules

  • The brief lives in skills/eng-design-doc-review/references/design-reviewer.md, and changing it is a pipeline change — that file states the rule.
  • This skill is read-only, structurally for writes. The Explore subagent holds no Write/Edit tools, so it cannot change 6-design.md, the artifact directory, or any verdict record. Residual tools — a Bash grant included, when the host's Explore type carries one — are governed by the brief's read-only instruction, and that residual is accepted because the prompt's untrusted vendor content is bounded three ways: the fence-length containment rule in skills/team/references/cross-model-review.md keeps vendor text inside its DATA block, the paraphrase-only disposition keeps vendor sentences out of the report, and the last-verdict-token derivation keeps a quoted verdict word from becoming the recorded verdict. The reviewer's output never becomes state on its own — the orchestrator records the verdict to design-review-<n>.md when the pipeline gate runs the brief. The recovery hooks fail closed on anything but a recorded passing verdict. The skill itself writes no artifacts. The toolset, not the prose, is the guarantee for writes (independent review rules).
  • Standalone use blocks nothing: users may run /team-design or /team-structure without ever invoking this skill directly.

Print the verdict and the count of issue / suggestion / nitpick findings. When any vendor CLI was unavailable during the cross-model pass, add one line per CLI naming it and the reason — or a single line naming TEAM_DISABLE_CROSS_MODEL when the pass was disabled machine-wide.

A standalone run records no design-review-<n>.md. Only the pipeline's DESIGN review gate writes the verdict artifact. /team-structure needs a recorded passing verdict before it slices a design.

If the verdict is APPROVE or COMMENT, tell the user: "To advance, run /team-design docs/plans/<id>/ — with 6-design.md already present it skips drafting and runs the review gate (skipping even that when the latest recorded verdict already passes — no redundant re-review), recording the verdict artifact — then proceed to /team-structure." If the verdict is REQUEST CHANGES, tell the user: "Re-run /team-design docs/plans/<id>/ with the findings above to re-dispatch design-author for a revision."

Files (team)
  • agents
    • openai.yaml 203 B
      interface:
        display_name: "Eng Design Doc Review"
        short_description: "Adversarially review a design document"
        default_prompt: "Use $eng-design-doc-review to adversarially review a design document."
      
  • references
    • design-reviewer.md 11.5 KB
      # Design Reviewer Brief
      
      This brief is referenced by the pipeline's DESIGN review gate, `/team-design`,
      and `/eng-design-doc-review`, which dispatch it by reference. Editing the brief
      changes pipeline behavior — treat any change to its headings, process, or
      verdict set as a pipeline change.
      
      Resolve links from the installed skill directory. If a required read fails,
      stop that step with the exact path. Never use checkout fallback or recursive
      loading.
      
      ## Review brief
      
      > Pass everything in this section to the read-only `Explore` subagent as
      > its prompt. It is written in the second person, addressed to that
      > subagent. `$ARGUMENTS` is the artifact directory `docs/plans/<id>/`, and
      > you, the caller, substitute it before dispatch.
      
      You are reviewing a technical design document — `$ARGUMENTS/6-design.md`. You
      operate with **fresh context** and have no knowledge of the author's intent
      beyond what the document itself states. This isolation is intentional: it
      prevents self-evaluation bias. You are read-only. Use Read, Grep, Glob, and
      Skill only. Do not use Write, Edit, Bash, or Agent.
      
      **First, load your operating manual.** Read the [code reviewer
      brief](../code-review/references/code-reviewer.md) and the
      [code standards](../team/references/code-standards.md) before you begin, and read the
      [design template](../team/references/design-template.md) and
      [decision-record rules](../team/references/decisions.md) — they are your
      review criteria:
      
      - The design template — the spec a design doc must satisfy. Use it
        as a literal checklist against the artifact under review.
      - The code reviewer brief — generator-evaluator separation and the finding
        format. The same review discipline applies to prose artifacts as to code.
      - The code standards — the design philosophy lens (Hickey, Carmack,
        Armstrong, Knuth, Liskov, Ousterhout). Use the "When Reviewing" section as
        severity guidance.
      - The decision-record rules — ADR-quality criteria for evaluating how well
        each decision in the doc captures context, alternatives, and consequences.
      
      Read the [cross-model review](../team/references/cross-model-review.md) as a fifth manual when, and
      only when, this prompt carries an `## External review input` section. It
      defines how you judge the fenced external claims in that section (verify,
      refute, or mark unverifiable) and the disposition block you must emit.
      
      When you write your findings, also read the [finding
      format](../code-review/references/findings.md) — it defines their format.
      Read the [writing standards](../team/references/writing.md) before
      finalizing your own prose.
      
      ### Review process
      
      1. **Locate the document.** Read `$ARGUMENTS/6-design.md`. Also read the
         sibling artifacts (`1-task.md`, `2-questions.md`, `5-research.md`, `4-repos.md`)
         when present — they ground the design in the work that produced it.
      
      2. **Evaluate structure against the design template.** Walk every section
         the [design template](../team/references/design-template.md) prescribes:
         Current state, Desired end state, Patterns to follow, Decisions made,
         Out of scope, Edge cases, Open questions (deferred), and Risks, plus the
         trade-offs and rollout a consequential design must record. Note any
         missing or thin sections. The conditional sections — `## Caller examples`
         + `## Interface` when the change touches a shared interface, `## Surfaces`
         when more than one entry mode exists, and `## Experiments` when an
         unresolved question is answerable by observation — are required only when
         their trigger applies; a thin or absent conditional section with no such
         trigger is not a gap.
      
      3. **Audit the decisions.** For each decision the document records:
         - Is the alternative considered named, or is it a single-option
           "decision" with no real choice surfaced?
         - Is the trade-off stated honestly (what was given up), or only the
           benefit?
         - Could a future reader reconstruct *why* this was chosen, not just
           *what* was chosen?
         - Does the decision name its blast radius — the callers, siblings, and
           co-changing surfaces that must move with it?
         Apply the [decision-record rules](../team/references/decisions.md) —
         these are ADR-grade
         questions even when the doc is not a formal ADR.
      
      4. **Verify edge-case enumeration.** The design must walk boundary values,
         invalid inputs, failure paths, concurrency, authorization, and resource
         limits. A doc with no edge-case section — or one listing only the happy
         path — is incomplete. Edge cases deliberately deferred must appear in
         "Out of scope" or "Non-Goals", not be silently omitted.
      
      5. **Check every rule reaches every surface it must.** Skip this step when
         the design defines one path in. When it defines more than one — two entry
         modes, a section that claims to be loadable on its own, a split across
         turns — take each rule or safeguard the design introduces and ask which
         surfaces state it. A design can satisfy step 4 *per surface in isolation*
         while the surfaces disagree with each other, so the categories above will
         not catch this.
      
         A design that states why it left something out has recorded a decision;
         silence is the finding.
         Judge a `no` on its reasoning, not its presence: a safeguard that is
         genuinely unnecessary on one path is fine, and one that is merely absent
         there is the defect. Read a self-contained section **alone**, as its
         readers will, rather than inferring what it inherits from the rest of the
         document — self-containment is a claim the section makes, and this step is
         where it gets tested.
      
      6. **Check specificity.** Cite-by-file-and-line beats hand-waving. Flag any
         "the auth module" where `services/auth/SessionManager.ts:88` was
         possible. Spot-check a few claims against the referenced files. If a
         citation does not exist, or does not say what the doc claims, that is a
         blocking issue.
      
      7. **Apply the code-standards lens.** Walk the Core Philosophy
         (Hickey/Carmack/Armstrong/Knuth/Liskov/Ousterhout) and the design-first
         workflow. Higher severity for failure-isolation or contract violations.
         Lower for stylistic concerns.
      
      8. **Check scope discipline.** Does the design stay within the repos and
         subsystems implied by the predecessor artifacts? Flag scope creep
         (especially silent multi-repo expansion) as a blocking issue.
      
      ### Calibrate to the class of change
      
      Size the bar to what the change is, then judge against it. A design for a
      pure refactor — file moves plus reference updates, no behavior change —
      has legitimately thin edge-case, concurrency, and authorization
      sections, because the change introduces no behavior for those sections to
      describe. Thin there is the right answer, not a gap. Step 4 finds a gap
      only where the change opens a path the design leaves unwalked.
      
      **Blocking means one thing: acting on this design as written produces a
      wrong or incomplete result.** A self-contradiction, a missing edit the
      implementer would have to invent, and a verification command that would
      reject a correct implementation are all blocking, whatever the class of
      change. Prose imprecision, a citation off by a line, and a claim resting
      on vendor documentation outside the repo are not.
      
      Check your own findings before you emit them. A defect in the
      verification commands *you* propose is a defect in your review, not in
      the design.
      
      Never manufacture a blocking finding to justify another round. A round
      that turns up nothing blocking is the gate working, and a design a
      competent implementer can execute as written is approved.
      
      ### Classify findings: defect, unresolved risk, or speculation
      
      A finding is blocking only when it names a supported defect. Sort every
      finding into one of three classes, and let the class decide its severity:
      
      - **Supported defect** — a stated contract is violated, or a failure is
        measured. A self-contradiction, a missing edit the implementer would have
        to invent, a false or unverifiable citation, a rule that reaches one
        surface and not another with no reason, or an `## Experiments` observation
        that contradicts the chosen decision. Blocking.
      
      - **Plausible unresolved risk** — an untested possibility that observation
        could answer, with no guarantee asserted. Not blocking. Require the design
        to either add an `## Experiments` entry to settle it or record it as a
        deferred item in `## Open questions (deferred)` / `## Risks`. A risk the
        design already defers is satisfied.
      
      - **Speculative requirement** — an imagined risk or added requirement with
        no supporting constraint, guarantee, or evidence. This is not a finding.
        Do not emit it, and do not expand scope on imagination: step 8 rejects
        real scope expansion, but a requirement you cannot ground is yours, not
        the design's.
      
      One class overrides the speculation rule: a **consequential unsupported
      guarantee**. When the design asserts — or silently relies on — a guarantee
      that no constraint or measurement supports, and the consequence matters
      (safety, security, data loss, correctness), that is a supported defect even
      when a small experiment cannot reproduce the hazard. Threat and failure
      analysis still applies. Flag the claim and require support: a constraint, a
      test, or an explicit deferral. Blocking. A non-consequential unsupported
      claim is a suggestion, not a defect.
      
      ### Output format
      
      Use Conventional Comments format for every finding. Every comment includes a
      `file:line` reference (line number in the design doc itself, or in the file
      the doc cites). The [finding format](../code-review/references/findings.md)
      defines the format and the three comment types (issue, suggestion, nitpick).
      Write your findings to the prose bar in the [writing standards](../team/references/writing.md), applying
      its `## Self-lint` checklist before you finalize.
      
      When this prompt carried an `## External review input` section, include
      one `### Cross-model disposition` block, built per the
      [cross-model review](../team/references/cross-model-review.md) reference's rules — paraphrase-only, every claim
      verified, refuted, or marked unverifiable, skips recorded with their
      reasons.
      
      End with a verdict, using the same gate type as `code-reviewer`. The
      verdict is the **terminal line of your report** — nothing follows it:
      
      - **APPROVE** — Document satisfies every section the methodology requires,
        decisions are well-justified with named alternatives, edge cases are
        enumerated, citations are accurate. No blocking issues.
      - **REQUEST CHANGES** — Blocking issues found (missing necessary section,
        unjustified decision, absent edge-case enumeration, false or unverifiable
        citation, silent scope expansion, a rule that reaches one surface and not
        another with no reason given). The author must revise before the
        design can advance. A finding that is not blocking never reaches this
        verdict, however many of them there are.
      - **COMMENT** — Non-blocking suggestions and nitpicks only. Document is
        acceptable but could be improved.
      
      ### Brief rules
      
      - **Do not rewrite the document.** Identify problems. Do not fix them. The
        design-author owns the document.
      - **Do not invent intent.** If the document is ambiguous, that ambiguity is
        itself a finding. Flag it as an issue or suggestion. Do not guess what
        the author meant.
      - **Be specific.** "This decision is weak" is not actionable. Cite the
        decision number and say which ADR criterion it fails.
      - **No code review.** You review design documents, not implementations. If
        you find yourself reviewing source files for correctness, you have left
        scope — the `code-reviewer` agent owns that.
      - **Read-only.** Do not edit the design doc and do not run state-changing
        commands.
      
  • SKILL.md 8.8 KB
    ---
    name: eng-design-doc-review
    description: 'Reviews a technical design document with fresh context. Trigger on "review the design doc", "audit 6-design.md", or "/eng-design-doc-review".'
    effort: high
    argument-hint: "[docs/plans/<id>/]"
    ---
    
    Before review dispatch, supply the installed plugin root and resolved `skills/eng-design-doc-review/references/design-reviewer.md` path.
    Pass the applicable resource paths and require reads before work.
    If a required resource is missing, stop and report its resolved path; never use checkout fallback or recursive loading.
    
    # Engineering Design Doc Review — Independent Fresh-Context Audit
    Before dispatch, resolve [independent review](../team/principles/independent-review.md), [verified results](../team/principles/verified-results.md), [focused work](../team/principles/focused-work.md). Pass their absolute installed paths with the retained brief. The receiver reads them before work. Missing resources stop that step with the exact path, without source fallback.
    Before each consuming step, read its linked shared rules from this installed skill directory. If a required read fails, stop that step with the exact path. Never use checkout fallback or recursive loading.
    Adversarially review a design document with fresh context. The brief this
    skill dispatches lives in `skills/eng-design-doc-review/references/design-reviewer.md`, and the
    orchestrator loads the same brief for the DESIGN phase's adversarial
    review gate. Invoking this skill standalone remains supported whenever
    you want an independent, fresh-context audit of a design document.
    
    Write the prose this skill governs at a seventh-grade reading level, in
    STE-flavored mode — short sentences, common words, no unexplained jargon.
    Full methodology: the [writing standards](../team/references/writing.md). Before
    you finalize prose this skill governs, read the
    [writing standards](../team/references/writing.md) and apply its `## Self-lint` checklist.
    
    There is **no custom review agent**. This skill loads the review brief
    from `references/design-reviewer.md` and dispatches the built-in read-only
    `Explore` subagent through the `Agent` tool. That subagent boots with a
    **clean context** and no shared conversation history with the design-author
    — that isolation is the whole point. It prevents self-evaluation bias.
    `Explore` holds no Write/Edit tools, so the reviewer structurally cannot
    change the artifacts it judges.
    Fresh context plus veto-without-authorship is the generator-evaluator rule ([independent review rules](../team/principles/independent-review.md)).
    
    ## Input
    
    `$ARGUMENTS` is the artifact directory: `docs/plans/<id>/`. If empty, the
    discovery command below resolves it.
    
    The review reads:
    
    - `$ARGUMENTS/6-design.md` — the document under review (required)
    - `$ARGUMENTS/1-task.md`, `$ARGUMENTS/2-questions.md`,
      `$ARGUMENTS/5-research.md`, `$ARGUMENTS/4-repos.md` — predecessor artifacts
      (read for grounding when present, missing siblings are not a hard error)
    
    Resolve `<team-skill-dir>` to the absolute directory containing
    `skills/team/SKILL.md`. From the repository root, run:
    
    ```sh
    "<team-skill-dir>/discover-topic.sh" "${ARGUMENTS:-}" "6-design.md"
    ```
    
    - **If the command printed a path**, use it as `$ARGUMENTS` for the rest of
      this skill. That is tier 1 explicit arg, or tier 2 discovery. When the
      path came from tier 2, with no explicit arg, announce the resolved
      directory to the user first. An auto-picked topic is then never silent.
    - **If the command printed nothing** (tier 3 — no directory holds `6-design.md`),
      do not hard-error. Fire `AskUserQuestion` with a `Setup` header and labeled
      options:
      - **Run the producer** — run `/team-design docs/plans/<id>/` to produce the
        missing `6-design.md`.
      - **Give a path** — the user supplies the `docs/plans/<id>/` directory
        directly (run `ls docs/plans/` to find your topic directory).
    
    ## Execution
    
    1. Use the directory resolved in `## Input`.
    2. **Run the external cross-model pass.** Read the
       [cross-model review](../team/references/cross-model-review.md) and follow
       its `## Design-review pass` —
       reference that procedure, never duplicate it here. You, the invoking
       session, are the actor: you hold Bash for the runner
       (`external-review.mjs`, resolved per that section) and the `Agent`
       tool for the dispatch — each vendor `run` goes through its own named
       courier sub-agent per that reference's vendor-courier block, with its
       inline fallback. Fence each CLI's raw output as a `DATA` block
       at capture time (fence longer than any backtick run in the output,
       per that section) and hold one `## External review input` section —
       opening with the untrusted-content line that section specifies —
       carrying those blocks, for step 3 to append to the brief it dispatches. Any
       skip continues with the reviewer alone. **No artifact is written** on
       this surface: a standalone run records nothing — no notes append, no raw
       file — and the raw vendor text stays in the invoking session. Name
       any unavailable CLI to the user per that reference's `## When a vendor
       CLI is unavailable`. Edge cases ride the shared section: an
       unauthenticated CLI exits non-zero and reads as an ordinary skip.
    3. **Dispatch the review.** Read the [design reviewer brief](references/design-reviewer.md)
       `## Review brief`. Then call the `Agent` tool with
       `subagent_type: Explore` and `model: opus` — pinning the model keeps a
       cheaper machine-wide subagent default from silently weakening this
       gate — and pass that brief to the `Explore` subagent as the prompt,
       with the artifact directory substituted for `$ARGUMENTS`. Do **not**
       define or reference a project agent — the built-in read-only type is
       the whole mechanism. Its clean context is what makes the review
       independent, and its lack of Write/Edit tools keeps the reviewer
       structurally unable to touch the artifacts. If the environment lacks
       the `Explore` agent type, report the dispatch failure — never
       substitute a full-tool agent silently.
    4. **Present the verdict in full.** The subagent returns Conventional
       Comments findings (issue / suggestion / nitpick, each with a
       `file:line` reference) followed by one of APPROVE, REQUEST CHANGES, or
       COMMENT. Relay it verbatim — the subagent's output is not shown to the
       user directly.
    5. **Do not auto-revise.** This skill does not loop the design-author. On
       REQUEST CHANGES, surface the findings and let the user decide if to
       re-enter `/team-design` with that feedback.
    
    ## Rules
    
    - The brief lives in `skills/eng-design-doc-review/references/design-reviewer.md`, and changing it
      is a pipeline change — that file states the rule.
    - This skill is **read-only, structurally for writes**. The `Explore`
      subagent holds no Write/Edit tools, so it cannot change `6-design.md`, the
      artifact directory, or any verdict record. Residual tools — a `Bash`
      grant included, when the host's `Explore` type carries one — are
      governed by the brief's read-only instruction, and that residual is
      accepted because the prompt's untrusted vendor content is bounded three
       ways: the fence-length containment rule in
       `skills/team/references/cross-model-review.md` keeps vendor text inside its
       `DATA` block, the paraphrase-only disposition keeps vendor sentences
      out of the report, and the last-verdict-token derivation keeps a
      quoted verdict word from becoming the recorded verdict. The reviewer's
      output never becomes state on its own — the
      *orchestrator* records the verdict to `design-review-<n>.md` when the
      pipeline gate runs the brief. The recovery hooks fail closed on anything
      but a recorded passing verdict. The skill itself writes no artifacts.
      The toolset, not the prose, is the guarantee for writes ([independent review rules](../team/principles/independent-review.md)).
    - Standalone use blocks nothing: users may run `/team-design` or
      `/team-structure` without ever invoking this skill directly.
    
    Print the verdict and the count of issue / suggestion / nitpick findings.
    When any vendor CLI was unavailable during the cross-model pass, add one
    line per CLI naming it and the reason — or a single line naming
    `TEAM_DISABLE_CROSS_MODEL` when the pass was disabled machine-wide.
    
    **A standalone run records no `design-review-<n>.md`.** Only the pipeline's
    DESIGN review gate writes the verdict artifact. `/team-structure` needs a
    recorded passing verdict before it slices a design.
    
    If the verdict is APPROVE or COMMENT, tell the user:
    **"To advance, run `/team-design docs/plans/<id>/` — with `6-design.md`
    already present it skips drafting and runs the review gate (skipping
    even that when the latest recorded verdict already passes — no
    redundant re-review), recording
    the verdict artifact — then proceed to `/team-structure`."**
    If the verdict is REQUEST CHANGES, tell the user:
    **"Re-run `/team-design docs/plans/<id>/` with the findings above to
    re-dispatch `design-author` for a revision."**
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related