一键导入
review
Validate experiment metrics and findings — run metrics-first to check computations are meaningful, then findings to check conclusions are valid
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Validate experiment metrics and findings — run metrics-first to check computations are meaningful, then findings to check conclusions are valid
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when a file or module is too large, responsibilities are tangled, or a cross-cutting redesign is needed
Use when literature notes exist and need citation verification, or before publishing any artifact that cites literature
Use at the end of a work session to embed learnings into conventions. Simplified for models with lower reasoning capacity.
Use at the end of a work session, or when accumulated findings need to be embedded into conventions, skills, or patterns
Use when the Slack bot needs to handle an operational action like launching an experiment, querying status, or processing approvals
Use when a plan, finding, or design needs adversarial review before committing to it
| name | review |
| description | Validate experiment metrics and findings — run metrics-first to check computations are meaningful, then findings to check conclusions are valid |
| complexity | high |
| model-minimum | gpt-5 |
| disable-model-invocation | false |
| allowed-tools | ["Read","Grep","Glob"] |
| argument-hint | [metrics | findings] <path or experiment name> |
Validate experiment outputs in two modes. Metrics mode checks whether metric computations are meaningful given the experimental setup (run before writing findings). Findings mode checks whether written conclusions are valid (run after writing findings). If no mode is specified, run both in sequence: metrics first, then findings.
/review metrics when you have metric definitions or computed values and want to check whether they are meaningful given the experimental setup./review findings when findings have been written and you want to validate each claim./review (no mode) to run the full pipeline: metrics validation → findings validation./critique for a broad adversarial review across 9 failure dimensions. Critique is wider but shallower; /review goes deeper on metric validity and finding correctness./diagnose when you want to understand what results mean — error patterns, root causes, hypotheses. Diagnose interprets results; /review checks whether they are interpretable and correctly stated.Identify the fixed parameters of the experiment:
Literal["A", "B"], 1-5 scale, free text)Given the constraints, can this metric take more than one value? If the setup forces the metric to a constant regardless of model behavior, it is degenerate.
Examples: accuracy with n_runs=1 → always (non-tie GTs / total); confidence range with binary schema → always 0% or 100%; inter-run agreement with temperature=0 → always ~100%.
Can this metric distinguish between the things we want to compare? If all conditions produce the same value, it does not discriminate. Check variance across conditions and whether a random baseline scores similarly.
Is the metric computed over a meaningful base? Is the denominator large enough? Are subgroups large enough when sliced?
Does the metric name match what it actually measures? Check the computation — "accuracy" might mean tie-detection accuracy, not winner-correctness.
For any metric comparison across experiments or projects, verify that denominators and filtering criteria are explicitly stated. Example: "X% correctness on non-tie predictions (N=550)" vs "Y% correctness including ties (N=1595)". Flag comparisons that could mislead if denominators differ silently.
For each metric, find where it is computed in the codebase. Verify the implementation matches the claimed definition.
## Metric Audit: <experiment>
### Constraints
- Response schema: ...
- n_runs: ...
- Temperature: ...
- Sample size: ...
- Ground truth: ...
### <Metric name>
- Computation: <how it's calculated, with file:line reference>
- Degenerate: yes | no
- Discriminative: yes | no
- Denominator: adequate | too small | missing
- Name matches meaning: yes | no
- Cross-experiment comparison: n/a | explicit denominator (N=...) | implicit/ambiguous
- Verdict: **valid** | **degenerate** | **misleading** | **underpowered**
- Action: keep | remove | rename | recompute with <change>
### Summary
- Metrics audited: N
- Valid: N | Degenerate: N | Misleading: N | Underpowered: N
Ask: "Could this result have been different given the experimental setup?" If no — if the result is a necessary consequence of the protocol — it is a design constraint, not a finding.
Tautologies to catch: "All outputs are binary" when schema is Literal["A", "B"]; "No ties detected" when n_runs=1; "100% recall" when the pipeline never predicts the negative class.
Which CI layer does the finding describe (L1-L5)? Is that attribution correct? Flag when a finding attributes to L1 (Model) what is actually caused by L2 (Workflow) or L4 (Evaluation).
Could an experiment in principle refute this claim? If not, reframe as a limitation or design note.
Does another finding in the same report already cover this with better framing? Merge or cut the weaker version.
Are rates reported without their base? Are counts presented without context for whether they're large or small?
Does the finding explain model behavior using human psychological states (pressure, confusion, fatigue)? LLMs do not experience these. Use mechanistic terms: ungrounded generation, context window limits, training distribution mismatch, missing verification gate.
For each numerical finding cited from a prior experiment, verify the number by re-running the source script or comparing against the source data file. Do not copy numbers from text. Agents frequently copy numerical findings without verification, allowing stale or contaminated numbers to propagate undetected across sessions.
Does every category, dimension, or capability claimed in narrative sections have corresponding statistical validation? Extract all named categories from introduction, method, and discussion sections (e.g., "we present 7 skills", "evaluating across 5 dimensions", "three failure modes"). For each, check that results sections provide quantitative evidence for that specific category. Flag gaps: "claims N categories but validates M" where M < N. This catches the common failure mode where narrative ambition exceeds validation scope.
## Finding Review: <artifact>
### <Finding N>: "<quoted claim>"
- Design-or-discovery: design constraint | genuine finding | mixed
- Layer attribution: <claimed> → <actual> (or "correct")
- Falsifiable: yes | no
- Redundant with: <other finding> | none
- Missing denominator: yes | no
- Anthropomorphic explanation: yes | no
- Citation verified: n/a | yes (source: <file or command>) | no (stale/unverifiable)
- Narrative coherence: all categories validated | gaps: <missing categories> | n/a
- Verdict: **keep** | **reframe** | **cut**
- Note: <explanation if reframe or cut>
### Summary
- Findings reviewed: N
- Keep: N | Reframe: N (list) | Cut: N (list)
| Excuse | Reality |
|---|---|
| "This finding is obviously valid" | Obvious findings are the ones most likely to be tautologies. Apply all tests. |
| "The design-vs-discovery test doesn't apply" | It applies to every finding. If you can't say why the result could have been different, it's a design constraint. |
| "Saying the model was confused is shorthand" | Shorthand that forecloses investigation. Use mechanistic terms. |
| "Checking all tests is excessive" | It takes 30 seconds per finding. Skipping is how tautologies enter the record. |
| "The number was already verified in the source experiment" | The source experiment may have been modified, or the number may have been miscopied. Re-verify. |
Follow docs/sops/commit-workflow.md. Commit message: review: <artifact reviewed>