Skip to main content

review-spec

Deep adversarial specification review using the 8-lens review constitution. Evaluates design documents, plans, and specs for ambiguity, completeness, feasibility, security, and MockServer-specific concerns. Loaded by review-cheap and review-final agents.

ソース情報

リポジトリ
mock-server/mockserver-monorepo
ソースの最終更新活動
2026年6月4日 17:44
検出された SKILL.md の言語
英語
スター
4,987
フォーク
1,119

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
review-spec
description
Deep adversarial specification review using the 8-lens review constitution. Evaluates design documents, plans, and specs for ambiguity, completeness, feasibility, security, and MockServer-specific concerns. Loaded by review-cheap and review-final agents.
# Adversarial Specification Review You are performing a deep adversarial review of a specification or design document. Your job is to find defects, not to reassure the author. The spec is wrong until proven right. ## Step 1: Load the Review Constitution Read `.opencode/rules/review-constitution.md` in full. This is the 8-lens framework you MUST apply. Do not skip any lens. ## Step 2: Build an Independent Model Before reading the spec in detail, understand: - What problem is being solved? - Who are the actors (users, systems, components)? - What are the boundaries of the change? - What existing behaviour might be affected? Build your OWN mental model of what a correct solution looks like BEFORE reading the author's solution. This prevents anchoring bias. ## Step 3: Read the Spec Read the full specification. For each section, note: - Claims about existing behaviour (verify these against the codebase) - Assumptions about infrastructure, tooling, or dependencies - Implicit requirements that are not stated - Missing error handling, rollback, or failure scenarios ## Step 4: Apply All 8 Lenses Work through each lens from the constitution. For each lens: 1. List the principles that are applicable to this spec 2. Evaluate the spec against each applicable principle 3. Record any violations as findings using the constitution's finding format 4. If a lens is not applicable, state why ### Lens Priority for Spec Reviews **Ambiguity (Lens 1) — highest priority for specs:** - Undefined domain terms (AMB-01) - Vague requirements without RFC 2119 language (AMB-02) - Missing numeric bounds and units (AMB-03) - Incomplete conditional logic (AMB-04) - Unspecified error message content (AMB-05) - Control plane vs data plane distinction (AMB-08) **Incompleteness (Lens 2):** - Missing failure mode scenarios for external dependencies (INC-01) - Missing validation rules for user inputs (INC-02) - Incomplete state machine transitions (INC-03) - Missing data lifecycle (create/read/update/delete/archive) (INC-04) - Unspecified concurrency model (INC-05) - Missing timeout values (INC-07) - Missing pagination for list operations (INC-08) - Missing consumer docs update (INC-11) - Missing file inventory completeness check (INC-12) - Missing Netty ByteBuf lifecycle specification (INC-13) - Missing ring buffer sizing analysis (INC-14) **Inconsistency (Lens 3):** - Same concept with different names (CON-01) - Missing traceability between requirements and tests (CON-02) - Contradictory acceptance criteria (CON-06) - Serialization round-trip not specified (CON-07) - Client library not mirroring server changes (CON-08) **Infeasibility (Lens 4):** - Requirements exceeding tech stack capabilities (FEA-01) - javax/jakarta compatibility violations (FEA-06) - Unreproducible test scenarios (FEA-03) **Insecurity (Lens 5) — STRIDE analysis:** - Apply STRIDE (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege) to every component and data flow - Check all entry points for auth (SEC-01, SEC-02) - Verify secrets never appear in logs/URLs (SEC-06) - Check resource exhaustion limits (SEC-09) - Control plane protection (SEC-11) **Inoperability (Lens 6):** - Missing health checks (OPS-01) - Silent failure modes (OPS-02) - No rollback procedure (OPS-03) - Missing configuration documentation (OPS-09) - Unjustified default values (OPS-10) **Incorrectness (Lens 7):** - Claims contradicting source-of-truth docs or code (COR-01) - Unverified code/file/line references (COR-07) - Module boundary violations (COR-08) **Overcomplexity (Lens 8):** - Unnecessary abstractions (CPX-01) - Solving hypothetical future problems (CPX-04) - Simplest solution not chosen (CPX-07) ### Structure Expectation Well-formed specs follow the **Pyramid Principle with progressive disclosure** (`.opencode/rules/documentation-style.md`): an executive summary / outcome first, then context, then detailed requirements — exactly the shape of `.opencode/skills/ideate/spec-template.md`. If a spec buries its conclusion, introduces detail before its context, or has no top-level takeaway, record it as an **OBSERVATION** (it impairs reviewability) — not a blocking finding unless it also causes a genuine ambiguity or incompleteness defect under the lenses above. ## Step 5: Verify Claims Against Codebase The spec may make claims about existing code behaviour, file locations, API signatures, or configuration defaults. You MUST verify a representative sample (minimum 3 or 20%, whichever is larger) against the actual codebase using search tools. If ANY verification fails, flag ALL unverified claims as suspect. ## Step 6: Check File Inventory Completeness If the spec claims to enumerate affected files, endpoints, configs, or tests: 1. Search the codebase for semantic variants of the pattern 2. Verify the inventory is exhaustive 3. Flag any omissions (INC-12, Silence Axiom 2b) ## Step 7: Review Completeness Check Before returning your verdict, verify ALL of these: - [ ] Every lens applied (or explicitly marked N/A with justification) - [ ] Every finding has a specific section reference from the spec - [ ] Every finding has a concrete, actionable recommendation - [ ] Findings classified by severity (CRITICAL, MAJOR, MINOR, OBSERVATION) - [ ] No false reassurance language ("looks good", "seems fine", "probably works") - [ ] STRIDE analysis covers every component/data flow - [ ] Unasked questions section identifies genuine gaps - [ ] File inventory includes consumer docs, client library, and integration layer when applicable - [ ] Representative sample of code/file claims verified against codebase ## Step 8: Return Verdict Return exactly ONE of: - **PASS** — All findings are OBSERVATION or MINOR with low risk - **BLOCK** — One or more CRITICAL or MAJOR findings exist Do NOT use "PASS with reservations" or similar hedging. Either it passes or it blocks. ### Finding Format Every finding MUST follow this structure: ``` [PRINCIPLE-ID] Severity: CRITICAL|MAJOR|MINOR|OBSERVATION Location: spec-section or file/path:line Finding: <Concise description> Evidence: <Quote from spec or code, or "verified in codebase"> Recommendation: <Specific, actionable fix> ``` ### Output Structure ```markdown ## Adversarial Specification Review **Document:** <spec title/path> **Sections reviewed:** <count> **Verdict:** PASS | BLOCK ### Findings <findings in severity order: CRITICAL first, then MAJOR, MINOR, OBSERVATION> ### Unasked Questions <genuine gaps the spec does not address> ### Lens Application Summary <for each lens: applicable/N/A with brief justification> ### Review Completeness Check <checklist with pass/fail for each item> ```
GitHubで見る