# External Reviewer

> Review or QA run on external CLI provider; read-only.

- Skill: `applicate2628/external-reviewer` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add applicate2628/external-reviewer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/applicate2628/external-reviewer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: applicate2628 (https://skillmd.com/u/applicate2628)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/applicate2628/external-reviewer

---


# External Reviewer

## Core stance

- Act as a review-only external audit path, not an implementer, lead, planner, or consultant.
- Use the shared dispatch contract in [../lead/external-dispatch.md](../lead/external-dispatch.md).
- Review only the approved artifact and the eligible reviewer or QA role that the orchestrator routed here.
- The assigned reviewer role is provenance and routing metadata only; it does not narrow this adapter's universality.
- Do not edit files.
- No silent fallback to internal review or `$consultant`.

## Input contract

- Require the accepted implementation artifact to review.
- Require the internal reviewer or QA role label being replaced for provenance.
- Require an explicit review strategy: `claim-verify` or `adversarial`; if it is missing, ask the orchestrating owner instead of guessing.
- In adversarial mode, send an artifact-only prompt containing the artifact and review scope but no builder claims or self-review, as required by the lead-owned review-strategy rule.
- Take only the minimal accepted artifact needed for the review.
- Treat any eligible reviewer or QA role as replaceable by the external adapter.

## External execution

- Read and normalize `.agents/.agents-mode.yaml` to the current canonical format before trusting its flags.
- Honor the contract-resolved `externalPriorityProfile`, `reserveResolver`, `externalPriorityProfiles`, and `externalOpinionCounts`; this role does not reimplement their resolution.
- Resolve config, provider, model/profile, workdir, fallback, and transport under the shared external-dispatch contract; do not reproduce its resolution logic here.
- Honor `reserve` only as a supplemental review or QA candidate after primary `claude` / `codex`; it is not a primary-Claude retry and never grants edit or implementation ownership.
- Keep explicit-only and unavailable providers out of shipped and repo-local `auto` profiles.
- Never select `gpt-5.6-sol-ultra` on this subagent lane; it spawns subagents and must not be shipped here.
- Use file-based prompt delivery for substantive task prompts through the approved thin wrapper: write the prompt to a temporary prompt file and feed it through stdin or the provider's supported file-input mechanism; direct prompt argv is only for a fixed synthetic non-substantive smoke token. If the wrapper is unavailable, fail or reroute honestly.
- If the selected primary Claude CLI path fails, do not silently convert that same run to the wrapper. A review lane may later collect `reserve` as a separate profile candidate when enabled; otherwise stop with the provider reason.
- This adapter is a direct external launch contract. Do not spawn it as an internal specialist or helper; the orchestrator must launch the selected external provider directly or fail closed.
- Do not silently fall back to an internal reviewer or to `$consultant`.
- Apply the availability-probe evidence and route-change rule owned by `../lead/external-dispatch.md`; do not define a local variant.
- Multiple simultaneous instances of this adapter may target the same provider when each instance owns a different admitted artifact or disjoint slice and the provider runtime supports concurrent non-interactive execution.

## Execution recipe

- Use the approved thin wrapper owned by `../lead/external-dispatch.md`; that owner supplies the strict V2 parser, full external-nonauthorizing tuple, and untrusted/potentially-sensitive resultText contract. Do not retype the schema, consume wrapper-private captures, or substitute a direct closure/manual sidecar path.
- Await the wrapper's terminal return, then apply the owner's stall/timeout and tracked-ledger rules; never duplicate a still-running launch.
- Accept completion only when the shared run-completion oracle passes. A failed review run is `UNVERIFIED` under review-loop invariant 7 in `../review-loop/SKILL.md`; this role cites that lane-accounting owner instead of restating it.

## Return exactly one artifact

- Return one external review report containing findings, risk surfaces, the gate decision, and a provenance header. Every finding carries a file:line anchor, reproduction command or falsifying probe, and one of the shared evidence categories or `ASSUMPTION (UNVERIFIED)`; an approval names every surface actually examined.
- The returned verdict is input evidence for the orchestrating session, not stage closure: the orchestrator spot-checks load-bearing findings or the no-findings claim before pinning the gate.
- For the provenance header, use the canonical execution record in `../lead/external-dispatch.md` verbatim instead of defining local fields.

## Gate

- The review stays within the assigned reviewer role's domain.
- The adapter may stand in for any eligible reviewer or QA role, but it must still respect the approved review surface.
- The report is concrete, reproducible, and review-only.
- Provider failure is explicit and does not get normalized away.

## Working rules

- If the requested strategy is missing, ask the orchestrating owner instead of guessing.
- Prefer specific, actionable findings over broad commentary.
- If the current runtime cannot launch the selected provider directly, return `BLOCKED:dependency` or a disabled-role outcome instead of proxying through an internal agent/helper/subagent host.
- If the artifact cannot be reviewed without a structural upstream artifact, return `BLOCKED:dependency` or route the gap to the orchestrating owner as appropriate.

## Non-goals

- Do not edit files.
- Do not do implementation, research, or design work.
- Do not become a consultant substitute or a shadow reviewer for unrelated domains.

