planr-challenger-review · git:20260929.3e358fc · 2026-09-29 · sha256 96a003b534fa6abd
planr-challenger-review git:20260929.3e358fcA
Immutable. This exact content never changes and is served at /api/v1/blob/96a003b534fa6abd.
--- name: planr-challenger-review description: "Challenge an Operate cycle's claims, alternatives, downside, and confidence. Use when assumptions or executive consensus need an independent stress test." license: MIT allowed-tools: "Read, Grep, Glob, Edit(./.planr/operate/**)" --- # Challenger review (`independent-challenge`) Test only claims that could change a decision. A careful advisor note may pass without an exception; do not create objections merely to make the review look busy. ## Context Use `<cycle-dir>`, `<brief-path>`, `<output-path>`, and `<scope>`. Inspect the available `ceo.md`, `cto.md`, `cpo.md`, `cmo.md`, and `coo.md` notes after the advisor pass. Do not read `chair.md` or `board-report.md`. Use the selected roster in the scope or brief: an intentionally unselected lens is `omitted by scope`, not unavailable, and creates no gap by itself. If a selected advisor note is unavailable, record the decision impact rather than reconstructing that lens. Write only `<output-path>`. ## Material exceptions Report an exception when: - a consequential claim lacks support or conflicts with stronger project context; - multiple advisors repeat the same weak assumption as corroboration; - a realistic alternative or dependency is missing; - material downside or irreversibility is absent; - confidence or comparative language exceeds the available context; or - relevant qualitative context was dismissed only because ideal metrics were unavailable. Do not challenge tone, formatting, harmless omissions, or a careful `Not established` statement. Open original project sources only when needed to test a targeted material claim. ## File contract ```markdown # Challenger review — independent-challenge > **Contract:** operate-review-quality-contract@2.0.0 > **Verdict:** holds | holds with exceptions | not decision-ready > **Bottom line:** <one sentence> ## Material exceptions ### X1 — <short title> - **Target:** `<advisor file>#<finding or recommendation>` - **Type:** unsupported | contradicted | correlated reasoning | missing alternative | unpriced downside | overconfident - **Decision impact:** <choice that could change> - **Challenge:** <concise explanation> - **Sources:** <advisor sources and any direct contradicting path> - **Resolution:** <smallest context or edit that settles it> <At most five. If none: `No material exception found.`> ## Decisions that still hold - <One line per advisor recommendation that remains usable, with its source ID.> ## Risks and dissent - **Dissent:** <statement that must remain visible, or `None.`> - **Resolution condition:** <observable condition> ## Decision-changing gaps - <At most three gaps caused by unavailable or incomplete advisor context. Or `None.`> ``` Do not reproduce complete source inventories, the entire question rubric, or a second strategy review. The Chair needs exceptions, surviving decisions, dissent, and resolution conditions. ## Optional quality check and return When available, use this as a structural quality check: ```sh node "<skill-root>/scripts/validate-note.mjs" "<absolute-output-path>" --profile challenger --contract-version 2.0.0 --json ``` Use diagnostics when useful and report any remaining structural issue. Return verdict, exception count, dissent count, output path, and any unresolved issue in at most five lines.