Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when packaging code, models, datasets, or demo videos for a CVPR paper at either review time or release time, covering anonymous supplement packaging under the external-link ban, the dataset-release-by-camera-ready rule, model-weight and license decisions, and making a vision artifact runnable by a skeptical stranger.
.claude/skills/brycewang-stanford-cvpr-artifact-evaluation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 14% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 20% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 33% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 38% | 0% |
CVPR has no badge-granting artifact committee; the "evaluation" of your artifacts is done informally, twice, by two different audiences. At review time, reviewers poke at an anonymous supplement while deciding whether to trust your tables. After acceptance, the entire field — 2026 drew 44,011 authors alone — decides whether your method becomes a baseline or a citation nobody reproduces. Package for both audiences deliberately.
Everything must ride inside the uploaded supplement, because the 2026-verified policy bans external links that expand content or subvert review. That kills the usual anonymous-repo-link workflow many venues tolerate. Practical consequences:
.git history, no usernames inpaths, no institutional cluster hostnames, no wandb entity names in configs.
exact dependency pins instead, and say which checkpoints will be released.
cvpr-supplementary) but stripcontainer metadata — video files carry author tags more often than PDFs do.
the package assuming a strict cap, then confirm on the current page.
bash# Build a clean review artifact from a working repo git archive --format=tar HEAD | tar -x -C /tmp/artifact # no .git, no untracked junk cd /tmp/artifact grep -rniE "$(whoami)|<lab-name>|<cluster-host>|wandb\.(ai|entity)" . | head # identity scan pip-compile --quiet requirements.in # pin, don't approximate zip -r ../supplement_code.zip . -x '*.ckpt' '*.pth' # weights out, recipe in
A reviewer who opens your archive gives it minutes, not an afternoon. One entry point, one config, one expected number:
| Artifact layer | Minimum viable | Gold standard | |---|---|---| | Environment | pinned requirements.txt + CUDA/driver note | Dockerfile reproducing the CRF hardware row | | Inference | script + 5 sample images + expected outputs | notebook rendering figure-quality results | | Training | full config + command + seed | resumable run with logged curves | | Evaluation | script that recomputes one main-table row | all-tables harness with dataset download stubs | | Data | loader + split files + provenance note | checksummed archive or release plan with license |
The single highest-leverage file is REPRODUCE.md mapping each table/figure in the paper to one command. It converts a suspicious reviewer into a supportive one faster than any rebuttal sentence.
Two clocks start at acceptance. First, the verified dataset clause: a dataset claimed as a contribution must be public by the camera-ready deadline — hosting, license, and consent scrubbing included. Second, the softer but real credibility clock: the gap between "code coming soon" in the README and actual code is measured publicly at CVPR scale.
Release decisions to make explicitly rather than by default:
"no license" means legally unusable for the industrial half of the CVPR audience.
human data, document consent posture. Vision datasets attract scrutiny years later.
silent metric fixes fork the leaderboard.
Model releases have their own failure modes at vision scale:
platform hosting (institutional repositories, model hubs) with a checksum published in the README; the CVF open-access page will outlive your URL, so choose hosts with the same life expectancy.
it reproduces (table2_row4_vitb.pth), and state which exact code commit evaluates it to the printed number.
weights, LoRA deltas, or inference-only API — and write the model card's misuse paragraph yourself rather than letting the first misuse write it for you.
v1.0-cvpr) so laterrefactors don't silently break the commands printed in the paper's supplement.
not a convenience.
/home/<name>/data — an anonymity leak and proofnobody ran it elsewhere.
verified policy breach, not just bad manners.
evaluation is the artifact people actually reuse.
A used artifact generates issues, and the field reads your issue tracker. Budget a small maintenance window post-conference: pin the environment against dependency rot, answer the first wave of "can't reproduce Table 2" issues (usually environment mismatches — point to the Dockerfile), and keep a RESULTS.md of community reproductions. Six months of light maintenance is what turns a CVPR paper into the baseline the next cycle's papers must cite.
external-link wording can shift by year.
text[Artifact stage] review-supplement / camera-ready-release [Identity scan] clean / hits: <files> [Runnability] entrypoint · pins · expected-output map present? [Weights & data plan] <ship now / release plan + license> [Dataset clause] n/a / due at camera-ready: <status> [Gaps] <ordered fixes>
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 27,505 | 19,098 | -31% | 1 | 1 | 0% | 3,924 | 3,431 | -13% | 0 | 0 | — |
case-02 | fail→pass | 23,121 | 16,568 | -28% | 1 | 1 | 0% | 2,908 | 3,318 | +14% | 0 | 0 | — |
case-03 | fail→fail | 22,010 | 14,256 | -35% | 1 | 1 | 0% | 2,931 | 2,977 | +2% | 0 | 0 | — |
case-04 | fail→pass | 24,654 | 17,928 | -27% | 1 | 1 | 0% | 2,932 | 3,578 | +22% | 0 | 0 | — |
case-05 | pass→pass | 25,991 | 18,612 | -28% | 1 | 1 | 0% | 2,393 | 3,696 | +54% | 0 | 0 | — |
case-06 | fail→pass | 23,990 | 13,704 | -43% | 1 | 1 | 0% | 2,825 | 3,394 | +20% | 0 | 0 | — |
case-07 | pass→pass | 13,930 | 12,245 | -12% | 1 | 1 | 0% | 2,131 | 3,449 | +62% | 0 | 0 | — |
case-08 | fail→pass | 20,217 | 14,257 | -29% | 1 | 1 | 0% | 2,423 | 3,224 | +33% | 0 | 0 | — |
case-09 | pass→pass | 14,029 | 16,124 | +15% | 1 | 1 | 0% | 2,275 | 3,271 | +44% | 0 | 0 | — |
case-10 | pass→pass | 19,323 | 15,784 | -18% | 1 | 1 | 0% | 2,306 | 4,157 | +80% | 0 | 0 | — |
case-11 | fail→pass | 22,233 | 20,403 | -8% | 1 | 1 | 0% | 2,904 | 4,003 | +38% | 0 | 0 | — |
case-12 | pass→pass | 18,875 | 12,645 | -33% | 1 | 1 | 0% | 2,185 | 3,779 | +73% | 0 | 0 | — |
case-13 | fail→pass | 21,654 | 18,772 | -13% | 1 | 1 | 0% | 2,077 | 3,615 | +74% | 0 | 0 | — |
case-14 | pass→pass | 21,426 | 15,986 | -25% | 1 | 1 | 0% | 2,387 | 3,694 | +55% | 0 | 0 | — |
case-15 | pass→pass | 7,122 | 10,122 | +42% | 1 | 1 | 0% | 1,197 | 2,368 | +98% | 0 | 0 | — |
case-16 | fail→fail | 17,561 | 17,413 | -1% | 1 | 1 | 0% | 1,880 | 3,348 | +78% | 0 | 0 | — |
case-17 | fail→pass | 19,010 | 17,590 | -7% | 1 | 1 | 0% | 2,064 | 3,437 | +67% | 0 | 0 | — |
case-18 | pass→pass | 15,264 | 25,797 | +69% | 1 | 1 | 0% | 2,454 | 4,131 | +68% | 0 | 0 | — |
case-19 | fail→pass | 17,440 | 19,913 | +14% | 1 | 1 | 0% | 2,118 | 3,615 | +71% | 0 | 0 | — |
case-20 | pass→pass | 20,065 | 19,539 | -3% | 1 | 1 | 0% | 2,055 | 3,578 | +74% | 0 | 0 | — |
case-21 | pass→pass | 20,998 | 14,261 | -32% | 1 | 1 | 0% | 2,380 | 3,872 | +63% | 0 | 0 | — |
case-22 | pass→pass | 27,976 | 24,089 | -14% | 1 | 1 | 0% | 2,962 | 4,930 | +66% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +36 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.