agent evaluation skill risk: low
Research Result-to-Claim Evaluator
Collects experiment results from W&B, logs, and trackers, sends them to Codex for structured judgment on claim support, and routes actions such as pivoting, running supplements, or…
- External action: medium
SKILL 1 file
SKILL.md
---
name: auto-claude-code-research-in-sleep-result-to-claim
description: "Use when experiments complete to judge what claims the results support, what they don't, and what evidence is still missing. Codex MCP evaluates results against intended claims and routes to next action (pivot, supplement, or confirm). Use after experiments finish — before writing the paper or runni"
---
# Result-to-Claim Gate
Experiments produce numbers; this gate decides what those numbers *mean*. Collect results from available sources, get a Codex judgment, then auto-route based on the verdict.
## Context: $ARGUMENTS
## When to Use
- After a set of experiments completes (main results, not just sanity checks)
- Before committing to claims in a paper or review response
- When results are ambiguous and you need an objective second opinion
## Workflow
### Step 1: Collect Results
Gather experiment data from whatever sources are available in the project:
1. **W&B** (preferred): `wandb.Api().run("<entity>/<project>/<run_id>").history()` — metrics, training curves, comparisons
2. **EXPERIMENT_LOG.md**: full results table with baselines and verdicts
3. **EXPERIMENT_TRACKER.md**: check which experiments are DONE vs still running
4. **Log files**: `ssh server "tail -100 /path/to/training.log"` if no other source
5. **docs/research_contract.md**: intended claims and experiment design
Assemble the key information:
- What experiments were run (method, dataset, config)
- Main metrics and baseline comparisons (deltas)
- The intended claim these experiments were designed to test
- Any known confounds or caveats
### Step 2: Codex Judgment
Send the collected results to Codex for objective evaluation:
```
mcp__codex__codex:
config: {"model_reasoning_effort": "xhigh"}
prompt: |
RESULT-TO-CLAIM EVALUATION
I need you to judge whether experimental results support the intended claim.
Intended claim: [the claim these experiments test]
Experiments run:
[list experiments with method, dataset, metrics]
Results:
[paste key numbers, comparison deltas, significance]
Baselines:
[baseline numbers and sources — reproduced or from paper]
Known caveats:
[any confounding factors, limited datasets, missing comparisons]
Please evaluate:
1. claim_supported: yes | partial | no
2. what_results_support: what the data actually shows
3. what_results_dont_support: where the data falls short of the claim
4. missing_evidence: specific evidence gaps
5. suggested_claim_revision: if the claim should be strengthened, weakened, or reframed
6. next_experiments_needed: specific experiments to fill gaps (if any)
7. confidence: high | medium | low
Be honest. Do not inflate claims beyond what the data supports.
A single positive result on one dataset does not support a general claim.
```
### Step 3: Parse and Normalize
Extract structured fields from Codex response:
```markdown
- claim_supported: yes | partial | no
- what_results_support: "..."
- what_results_dont_support: "..."
- missing_evidence: "..."
- suggested_claim_revision: "..."
- next_experiments_needed: "..."
- confidence: high | medium | low
```
### Step 3.5: Check Experiment Integrity (if audit exists)
**Skip this step if `EXPERIMENT_AUDIT.json` does not exist.**
```
if EXPERIMENT_AUDIT.json exists:
read integrity_status from file
attach to verdict output:
integrity_status: pass | warn | fail
if integrity_status == "fail":
append to verdict: "[INTEGRITY CONCERN] — audit found issues, see EXPERIMENT_AUDIT.md"
downgrade confidence to "low" regardless of Codex judgment
if integrity_status == "warn":
append to verdict: "[INTEGRITY: WARN] — audit flagged potential issues"
else:
integrity_status = "unavailable"
verdict is labeled "provisional — no integrity audit run"
(this does NOT block anything — pipeline continues normally)
```
See `shared-references/experiment-integrity.md` for the full integrity protocol.
### Step 4: Route Based on Verdict
#### `no` — Claim not supported
1. Record postmortem in findings.md (Research Findings section):
- What was tested, what failed, hypotheses for why
- Constraints for future attempts (what NOT to try again)
2. Update CLAUDE.md Pipeline Status
3. Decide whether to pivot to next idea from IDEA_CANDIDATES.md or try an alternative approach
#### `partial` — Claim partially supported
1. Update the working claim to reflect what IS supported
2. Record the gap in findings.md
3. Design and run supplementary experiments to fill evidence gaps
4. Re-run result-to-claim after supplementary experiments complete
5. **Multiple rounds of `partial` on the same claim** → record analysis in findings.md, consider whether to narrow the claim scope or switch ideas
#### `yes` — Claim supported
1. Record confirmed claim in project notes
2. If ablation studies are incomplete → trigger `/ablation-planner`
3. If all evidence is in → ready for paper writing
### Step 5: Update Research Wiki (if active)
**Skip this step entirely if `research-wiki/` does not exist.**
If `research-wiki/` exists, resolve `$WIKI_SCRIPT` per the canonical
chain documented in
[`shared-references/wiki-helper-resolution.md`](../shared-references/wiki-helper-resolution.md)
(Variant B — warn-and-skip for caller skills). The verdict / claim
status / idea-outcome page edits below run on raw markdown and don't
need the helper, but edges, query-pack rebuild, and the log line do.
```bash
cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
ARIS_REPO="${ARIS_REPO:-$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null)}"
WIKI_SCRIPT=".aris/tools/research_wiki.py"
[ -f "$WIKI_SCRIPT" ] || WIKI_SCRIPT="tools/research_wiki.py"
[ -f "$WIKI_SCRIPT" ] || { [ -n "${ARIS_REPO:-}" ] && WIKI_SCRIPT="$ARIS_REPO/tools/research_wiki.py"; }
[ -f "$WIKI_SCRIPT" ] || {
echo "WARN: research_wiki.py not found; verdict will be reported but wiki edges/query-pack/log will be skipped. Fix: bash tools/install_aris.sh, export ARIS_REPO, or cp <ARIS-repo>/tools/research_wiki.py tools/." >&2
WIKI_SCRIPT=""
}
```
```
if research-wiki/ exists:
# 1. Create experiment page
Create research-wiki/experiments/<exp_id>.md with:
- node_id: exp:<id>
- idea_id: idea:<active_idea>
- date, hardware, duration, metrics
- verdict, confidence, reasoning summary
# 2. Update claim status (page edits run unconditionally; edges only if $WIKI_SCRIPT resolved)
for each claim resolved by this verdict:
if verdict == "yes":
Update claim page: status → supported
[ -n "$WIKI_SCRIPT" ] && python3 "$WIKI_SCRIPT" add_edge research-wiki/ --from "exp:<id>" --to "claim:<cid>" --type supports --evidence "<metric>"
elif verdict == "partial":
Update claim page: status → partial
[ -n "$WIKI_SCRIPT" ] && python3 "$WIKI_SCRIPT" add_edge research-wiki/ --from "exp:<id>" --to "claim:<cid>" --type supports --evidence "partial"
else:
Update claim page: status → invalidated
[ -n "$WIKI_SCRIPT" ] && python3 "$WIKI_SCRIPT" add_edge research-wiki/ --from "exp:<id>" --to "claim:<cid>" --type invalidates --evidence "<why>"
# 3. Update idea outcome (raw markdown, helper-free)
Update research-wiki/ideas/<idea_id>.md:
- outcome: positive | mixed | negative
- If negative: fill "Failure / Risk Notes" and "Lessons Learned"
- If positive: fill "Actual Outcome" and "Reusable Components"
# 4. Rebuild + log (only if $WIKI_SCRIPT resolved)
[ -n "$WIKI_SCRIPT" ] && python3 "$WIKI_SCRIPT" rebuild_query_pack research-wiki/
[ -n "$WIKI_SCRIPT" ] && python3 "$WIKI_SCRIPT" log research-wiki/ "result-to-claim: exp:<id> verdict=<verdict> for idea:<idea_id>"
# 5. Re-ideation suggestion
Count failed/partial ideas since last /idea-creator run.
If >= 3: print "💡 3+ ideas tested since last ideation. Consider re-running /idea-creator — the wiki now knows what doesn't work."
```
## Rules
- **Codex is the judge, not CC.** CC collects evidence and routes; Codex evaluates. This prevents post-hoc rationalization.
- Do not inflate claims beyond what the data supports. If Codex says "partial", do not round up to "yes".
- A single positive result on one dataset does not support a general claim. Be honest about scope.
- If `confidence` is low, treat the judgment as inconclusive and add experiments rather than committing to a claim.
- If Codex MCP is unavailable (call fails), CC makes its own judgment and marks it `[pending Codex review]` — do not block the pipeline.
- Always record the verdict and reasoning in findings.md, regardless of outcome.
## Review Tracing
After each `mcp__codex__codex` or `mcp__codex__codex-reply` reviewer call, save the trace following `shared-references/review-tracing.md` (Policy C — forensic; never silently skip). Use `save_trace.sh` (resolved per the chain in `shared-references/integration-contract.md` §2) or write files directly to `.aris/traces/<skill>/<date>_run<NN>/`. Respect the `--- trace:` parameter (default: `full`).
INPUTS
- $ARGUMENTS REQUIRED
context for the current evaluation run
- $WIKI_SCRIPT
path to research_wiki.py helper
REQUIRED CONTEXT
- experiment results and metrics
- intended claim
- baselines and comparisons
- known caveats
OPTIONAL CONTEXT
- EXPERIMENT_LOG.md
- EXPERIMENT_TRACKER.md
- docs/research_contract.md
- EXPERIMENT_AUDIT.json
- research-wiki/
TOOLS REQUIRED
- wandb
- file_read
- ssh
- mcp__codex__codex
ROLES & RULES
- Codex is the judge, not CC. CC collects evidence and routes; Codex evaluates.
- Do not inflate claims beyond what the data supports.
- A single positive result on one dataset does not support a general claim.
- If confidence is low, treat the judgment as inconclusive and add experiments rather than committing to a claim.
- If Codex MCP is unavailable, CC makes its own judgment and marks it [pending Codex review] — do not block the pipeline.
- Always record the verdict and reasoning in findings.md, regardless of outcome.
EXPECTED OUTPUT
- Format
- structured_report
- Schema
- structured_fields · claim_supported, what_results_support, what_results_dont_support, missing_evidence, suggested_claim_revision, next_experiments_needed, confidence
- Constraints
- extract claim_supported, what_results_support, what_results_dont_support, missing_evidence, suggested_claim_revision, next_experiments_needed, confidence
- attach integrity_status when EXPERIMENT_AUDIT.json exists
- record verdict in findings.md and update research wiki if present
- do not inflate claims beyond data support
SUCCESS CRITERIA
- Judge whether experimental results support the intended claim
- Be honest about scope and evidence gaps
- Route to next action based on verdict (pivot, supplement, or confirm)
FAILURE MODES
- May inflate claims beyond data support
- May skip integrity audit when EXPERIMENT_AUDIT.json exists
- May fail to resolve WIKI_SCRIPT when research-wiki/ exists
CAVEATS
- Dependencies
- Experiment results from W&B, EXPERIMENT_LOG.md, EXPERIMENT_TRACKER.md or logs
- docs/research_contract.md for intended claims
- EXPERIMENT_AUDIT.json (optional)
- research-wiki/ (optional)
- Missing context
- Exact format and location of $ARGUMENTS
- Definition of entity/project/run_id placeholders for W&B
- How to invoke mcp__codex__codex when the MCP server is unavailable
- Ambiguities
- Duplicate 'Step 3' heading (Step 3 followed immediately by Step 3.5)
- References external files and scripts (EXPERIMENT_AUDIT.json, research-wiki/, shared-references/*) without defining their expected structure or location
QUALITY
- OVERALL
- 0.68
- CLARITY
- 0.72
- SPECIFICITY
- 0.88
- REUSABILITY
- 0.38
- COMPLETENESS
- 0.81
IMPROVEMENT SUGGESTIONS
- Renumber steps so Step 3.5 becomes Step 4 and subsequent steps shift accordingly
- Add a short 'Prerequisites' section listing required files (EXPERIMENT_LOG.md, docs/research_contract.md, etc.) and their minimal expected contents
USAGE
Copy the prompt above and paste it into your AI of choice — Claude, ChatGPT, Gemini, or anywhere else you're working. Replace any placeholder sections with your own context, then ask for the output.
MORE FOR AGENT
- Advanced LLM-as-Judge Evaluationagentevaluation
- Context Degradation Pattern Diagnoseragentevaluation
- Agent Evaluation Framework Builderagentevaluation
- LLM Experiment Integrity Auditoragentevaluation
- Experiment Results Claim Evaluation Gateagentevaluation
- NVIDIA Cosmos Policy LIBERO RoboCasa Evaluatoragentevaluation
- Nielsen Heuristics Mobile UX Auditoragentevaluation
- Scientific Manuscript Peer Revieweragentevaluation
- Nielsen Heuristics Mobile UX Auditoragentevaluation
- UX/UI Principles Agent Skillsagentevaluation
- Nielsen Heuristics Mobile UX Auditoragentevaluation
- ScholarEval Academic Research Evaluatoragentevaluation
- AI Agent Reasoning Trace Optimizeragentevaluation
- Experiment Integrity Cross-Model Auditoragentevaluation
- Web Interface Guidelines File Revieweragentevaluation
- UX/UI Principles Interface Evaluatoragentevaluation
- Comprehensive Final Review Checklist Assessoragentevaluation
- UX/UI Principles Agent Skillsagentevaluation
- Conductor Project Artifacts Validatoragentevaluation
- Comprehensive Codebase Bug Analysis and Fixeragentanalysis
- Xcode MCP Usage Guidelines for Agentsagenttool_use
- Xcode MCP Usage Guidelinesagenttool_use
- Rapid App MVP Prototyperagentcoding
- Local Documentation Online Sync Automatoragentoperations
- HashiCorp Packer Golden Image Expertagentoperations