Use when a quest needs one or more follow-up runs such as ablations, robustness checks, error analysis, or failure analysis after a main experiment.
74
92%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Use this skill when follow-up evidence is needed after a durable result. The goal is to answer a bounded, resource-aware evidence question, not to keep opening more slices just because they are imaginable.
Use analysis-campaign when:
Do not use analysis-campaign when:
Answer the smallest evidence question that changes, confirms, or blocks a parent claim, then stop when the next route is clear.
For manuscript-support campaigns, first audit artifact.get_paper_contract(detail='full') and, when a draft exists, artifact.validate_manuscript_coverage(detail='full').
manuscript_takeaway from internal setup, user instructions, worktree paths, command history, and artifact provenance.64 + 64 as a manuscript takeaway; record exact per-endpoint settings only as reproducibility/protocol detail when needed.experiments/analysis-results/* or chat.paper_role, section_id, item_id, claim_links, method/comparator id, display target, and main/appendix role.selected_outline_ref, research_questions, experimental_designs, and todo_items explicit; map results back to paper/paper_experiment_matrix.md with exp_id, section_id, item_id, claim_links, and paper_role.comparison_baselines, evaluation_summary, takeaway, and comparability when comparisons matter.Before analysis-campaign can end, all applicable checks should be true:
experiment, return to idea, move to write, route through decision, stop, reset, or record a blockerFollow the shared interaction contract injected by the system prompt. Keep campaign updates brief unless the evidence boundary, blocker state, cost, or next route changed materially. For ordinary active work, prefer a concise progress update once work has crossed roughly 6 tool calls with a human-meaningful delta, and do not drift beyond roughly 12 tool calls or about 8 minutes without a user-visible update. For meaningful long-running slices, include the estimated next reply time or next check-in window whenever it is defensible.
The agent owns the analysis path. It may choose a one-slice check, a lightweight durable report, an artifact-backed one-slice campaign, a full multi-slice campaign, or a writing-facing campaign. It may choose slice order, workspace layout, filenames, monitoring strategy, and whether a smoke test, direct verification, or full run is the right first move. It may also shrink, reorder, or replace slices to fit the real hardware and runtime envelope, as long as the resulting campaign still answers the parent evidence question honestly.
Do not treat PLAN.md, CHECKLIST.md, artifact.create_analysis_campaign(...), one-slice campaigns, returned worktrees, evaluation_summary, smoke tests, detached runs, or paper-matrix updates as universal required paths.
Do not treat paper-matrix files, tqdm, or a fixed phase order as required paths either.
PLAN.md, CHECKLIST.md, paper/paper_experiment_matrix.md, and local matrix/checklist files are allowed control surfaces, not mandatory success paths.
They are tactics.
The hard requirement is traceable evidence that changes, confirms, or blocks the evidence boundary of the parent claim and leaves an explicit next route.
Use the artifact-backed campaign path when durable lineage, branch or worktree isolation, Canvas visibility, paper or rebuttal traceability, or multiple slices matter. Use a lighter durable report when one bounded answer is enough and extra campaign overhead would not improve trust, routing, or auditability.
For campaign prioritization and writing-facing slice design, read references/campaign-design.md.
When the campaign is writing-facing and the mapping fields are not obvious, also read references/writing-facing-slice-examples.md.
For artifact examples and edge-case examples, also read references/artifact-flow-examples.md and references/boundary-cases.md.
An analysis campaign succeeds when it changes or confirms the evidence boundary of a parent claim with traceable slice-level evidence, preserves comparability or records why comparability broke, and leaves a durable next-route decision.
Before treating analysis as successful, all applicable gates must be true:
experiment, return to idea, move to write, route through decision, stop, reset, or record a blockerUse the lightest route that preserves trust and downstream utility.
analysis-lite: one clear follow-up question, one slice or very small slice set, and a compact durable resultartifact-backed campaign: one or more slices that need durable lineage, branch/worktree isolation, Canvas visibility, or later replaywriting-facing campaign: evidence directly supports a selected outline, paper experiment matrix, evidence ledger, section, claim, or tablereview/rebuttal campaign: evidence directly answers reviewer pressure or audit findingsfailure-analysis route: evidence explains why a result failed, diverged, or became non-comparableStart the smallest route that can answer the current follow-up question. Run claim-critical slices first, weighted by soundness gain under the current resource budget, and stop widening once the next route is already clear.
Useful slice classes:
auxiliary: helps understand settings, thresholds, or mechanisms but does not carry the main claim by itselfclaim-carrying: directly affects whether the main narrative or route decision is justifiedsupporting: broadens confidence or interpretability after the main claim is already credibleFor each meaningful slice, define and record enough of the following to make the evidence reusable:
Code-based, fully automatable analysis is preferred when it is the most faithful and repeatable path. But not every valid analysis must be fully automatable: failure-bucket inspection, qualitative artifact review, extracted-text audits, reviewer-linked example checks, or table/figure consistency checks can be valid when the evidence is concrete, sampled or scoped, and reproducible enough for the claim being made.
Do not present subjective judgment as objective measurement. If human, model, or qualitative judgment is used, record the rubric, sample, prompt or inspection basis, caveats, and why it is sufficient for the route decision.
Comparability is a hard boundary.
active_baseline_metric_contract_json exists, read it before defining slice success criteria or comparison tables when baseline comparison mattersactive_baseline_metric_contract_json exists, keep slice comparisons aligned with it unless the slice explicitly records why it differsIf the variation itself changes the evaluation setup, record that explicitly and do not present the run as a direct apples-to-apples comparison.
Do not bring in a new dataset as if it were the same comparison contract. A new dataset can be valid as a generalization, external-validity, stress-test, or limitation-boundary slice, but it must be labeled that way and must not replace the accepted baseline or main comparison contract.
If a slice needs an extra comparator baseline, place it under the normal baseline roots, do not overwrite the canonical quest baseline gate, and record it back through record_analysis_slice(..., comparison_baselines=[...]).
If analysis directly supports a paper or paper-like report, the evidence must be write-backable. That does not always mean a selected outline must exist before any pre-outline evidence check, but paper-ready slices must map cleanly back to a selected outline, paper experiment matrix, evidence ledger, section, claim, table, or reviewer item.
For concrete paper-facing cases:
main_required or main_textappendixreference_only with a reasonresearch_question and experimental_design fields when those fields existpaper/paper_experiment_matrix.md exists and the campaign is directly supporting the paper, read it before launching or reordering the slice setexp_id, todo_id, or slice_id over free-form notespaper_role, section_id, item_id, claim_links, analysis_role, reviewer_question, target_display, main_or_appendix, and failure_interpretation when those fields exist in the paper contractreproducibility_detail or internal_only when they should not become main-text proseDo not leave a slice "completed" while the paper contract still looks stale and that slice is meant to unblock the paper.
If no selected outline exists yet but the evidence question is needed to decide whether writing is worthwhile, run it as pre-outline analysis and route to write or decision afterward.
Durable records are required in substance, not in fixed filenames. The agent may choose the shortest durable form that lets a later turn resume without guessing.
For multi-slice, writing-facing, route-changing, expensive, unstable, or long-running analysis, leave a route record that states:
PLAN.md, CHECKLIST.md, paper/paper_experiment_matrix.md, and local matrix or checklist files are allowed control surfaces, not mandatory success paths.
Use references/campaign-plan-template.md and references/campaign-checklist-template.md when they help, but do not expand them as paperwork.
If slice feasibility, ordering, comparators, or campaign interpretation changes materially, revise the durable route record before spending more compute.
The main skill keeps the control surface in front.
For the longer operational notes, read references/operational-guidance.md.
Do not treat analysis as successful when:
If two slices in a row fail to change the claim boundary, matrix frontier, or next route, stop widening the campaign and route through decision, write, experiment, or an explicit blocker.
Record blocked or failed campaign states explicitly, such as missing parent run, under-specified analysis question, run failure before evidence, non-comparable metrics, missing assets, missing credentials, or still-ambiguous campaign conclusion. A blocked campaign should still name the next best action.
Campaign reporting should explain:
Focus on the highest-impact findings first.
Results matter more than process narration.
If using tables, show only the most decision-relevant rows.
Separate stable support, partial support, contradiction, and unresolved ambiguity.
When there are many slices, summarize the top 3-5 most important ones first, then point to the full evidence paths.
Exit once one of these is durably true:
experiment, idea, baseline recovery, or decisionA good campaign closes when the claim got stronger, weaker, narrower, abandoned, or clearly stuck, not when more slice ideas merely remain possible.
b366244
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.