with one click
compare-experiments
Compare two completed open-xquant experiment runs.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Compare two completed open-xquant experiment runs.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Use when open-xquant artifacts must be checked for version/run/final traceability before comparison, report review, migration, or final selection.
Compile an open-xquant strategy spec preview and audit that material SPEC execution semantics are preserved in compiled_plan.json before backtests.
Audit strategy_idea_brief.json and the brainstorm conversation before strategy_spec.yaml construction begins.
Audit strategy_spec.yaml field provenance before backtests.
Author workspace-local OpenXQuant custom components from component_request.json, with tests, manifest hashing, catalog refresh, and no global SDK mutation.
Guide a user through the open-xquant pre-spec strategy idea workflow and produce strategy_idea_brief.json before any strategy_spec.yaml work begins.
| name | compare-experiments |
| description | Compare two completed open-xquant experiment runs. |
Use this skill when the user asks to compare two completed runs. The comparison
is cross-experiment metadata, so do not write outputs inside either run
directory. Resolve the comparison output root from .open-xquant/workspace.yaml
when it exists: use paths.comparisons_dir for the comparison directory root
and paths.comparison_registry for the summary registry. Fall back to
comparisons/ and comparisons/comparisons.jsonl only when no workspace config
value is present.
Do not use this skill in a version-governed workspace. Stop before reading run
artifacts or writing comparison outputs and route the request to
compare-strategy-versions, including when the user only says "compare two
experiments". The version-aware comparator must validate each candidate against
its claimed version manifest and backtest phase.
Classify the workspace exactly as the CLI does: it is version-governed if and
only if workflow.layout == version_governed or the paths.versions_dir key
is present. Otherwise it is legacy, even when .open-xquant/workspace.yaml
exists. Use this legacy comparator only in the latter case.
Both runs must contain:
strategy_spec.yamlmetrics.jsonequity_curve.csvexecution_assumptions.jsonresearch_bias_audit.jsonreproducibility_audit.jsonIf a run lacks metrics.json, say that the experiment has not completed a
backtest and cannot be compared yet.
If either run lacks audit or execution-assumption artifacts, stop and explain
that audited comparison requires those artifacts before naming winners or
writing spec-impact conclusions. If an audit contains fatal findings, do not
present that run as comparable to an audited candidate without making the audit
failure the primary result.
strategy_spec.yaml files and generate spec_diff.yaml.
execution_assumptions.json and both audit artifacts for each run.
metrics.json files and generate metrics_comparison.json.
<comparisons_dir>/<comparison_id>/figures/.
equity_overlay.pngdrawdown_overlay.pngmetrics_bar.png
Do not leave figures/ empty. If no figure will be generated, do not create
the directory.comparison_report.md.
<comparison_registry>.With the default fallback paths:
comparisons/
├── comparisons.jsonl
└── <comparison_id>/
├── spec_diff.yaml
├── metrics_comparison.json
├── comparison_report.md
└── figures/
├── equity_overlay.png
├── drawdown_overlay.png
└── metrics_bar.png
When a compared input includes a current report package, validate its
chart_build_result.json before using charts or report claims. Require the
requested/applicable/generated/skipped set invariants, closed skip reason codes,
the exact {path, sha256} manifest reference, and every generated asset hash.
For each manifest asset, require a safe package-relative source.script, full
lowercase source.script_sha256, and recompute the script SHA-256 from exact
bytes. A script mutation blocks report-derived comparison evidence; a containing
manifest hash or unchanged PNG does not excuse it.