VisCurate: Evaluating Behavioral Equivalence of Visual Skills
Organizations: Islamic University of Technology · University of Utah
Abstract
Modern vision-based agents have shifted toward skill-based problem-solving, where a skill is an executable image-to-image operation, e.g., cropping, thresholding, or edge detection. As these skill libraries grow, they accumulate duplicated, mislabeled, and defective skills. The signals normally used to curate them (a skill's name, description, or source code) say little about how the skill visually changes the image. We present VisCurate, a framework and benchmark that curates visual skill libraries from observed execution rather than from text. VisCurate runs each candidate skill pair on a shared probe battery and assigns one of six behavioral relations, each tied to a library edit that is safe to make. The benchmark injects seven defect types into a clean library at controlled rates, producing 300 reproducible instances with ground-truth relations and repairs. While text baselines accept up to five of six false merges on hard negatives, our verifier accepts none and recovers 51.2% of the pairs that are truly mergeable. On two real, uncurated libraries, VisCurate finds that 92% of the skills a package shares with its downstream copy are redundant, while execution confirms only 10 of 17 published equivalence claims. The curation problem also remains open, as the strongest of the nine automated curators recovers only about half of the repairs. We emphasize that visual skill libraries should be curated by behavior, not by description.
Figures & tables
| Action | Meaning |
|---|---|
| add | Add a new skill |
| remove | Remove a skill |
| modify | Modify metadata/schema or function behavior |
| retrieve | Retrieve/query a skill |
| merge | Merge redundant skills |
| split | Split one skill into multiple skills |
| Method | Reads | FPR dist (%) | FM hard |
|---|---|---|---|
| Name match | name | 5.40 | 5 |
| TF–IDF cosine | description | 0.21 | 0 |
| Sentence embedding | description | 5.61 | 5 |
| Code embedding | source | 1.80 | 4 |
| AST (structural) | source | 0.00 | 0 |
| AST (semantic) | source | 0.00 | 0 |
| Relation | Support | Recall | Precision |
|---|---|---|---|
| Exact | 1,640 | 0.968 | 1.000 |
| Perceptual | 1,670 | 0.046 | 0.704 |
| Subsumption | 4,672 | 0.758 | 0.996 |
| Semantic-Preserving | 3,424 | 0.319 | 0.278 |
| Complementary | 310 | 0.000 | 0.000 |
| Distinct | 1,942 | 0.384 | 0.188 |
| Model | P | R | F1 [95% CI] | mF1 | IS | AC | CR | Comp. | Pred. |
|---|---|---|---|---|---|---|---|---|---|
| Llama 3.2 1B [ 20 ] | 0.000 | 0.000 | 0.000 [0.000, 0.000] | 0.000 | 0.000 | 152.11 | 0.01 | ||
| Llama 3.2 3B [ 20 ] | 0.443 | 0.013 | 0.024 [0.019, 0.028] | 0.018 | 0.012 | 200.00 | 0.008 | 1.05 | 1.05 |
| Llama 3.1 8B [ 17 ] | 0.615 | 0.061 | 0.095 [0.085, 0.106] | 0.070 | 0.049 | 200.00 | 0.030 | 3.67 | 4.08 |
| Qwen 3.5 2B [ 23 ] | 0.134 | 0.008 | 0.013 [0.009, 0.018] | 0.006 | 0.007 | 128.35 | 0.005 | 0.57 | 0.59 |
| Qwen 3.5 4B [ 23 ] | 0.290 | 0.098 | 0.109 [0.097, 0.122] | 0.089 | 0.063 | 185.37 | 0.098 | 11.48 | 11.48 |
| Qwen 3.5 9B [ 23 ] | 0.357 | 0.074 | 0.101 [0.085, 0.117] | 0.065 | 0.060 | 171.52 | 0.034 | 3.92 | 3.92 |
Appendix figures & tables13 assets
Supplementary material from the paper’s appendix.
Appendix
| Threshold | Value | Role |
|---|---|---|
| (exact ) | numerical-equality tolerance | |
| (LPIPS) | worst-case perceptual bound | |
| SSIM floor ( SSIM) | LPIPS blind-spot guard | |
| (DINO, p90) | semantic-preserving bound | |
| complementary (LPIPS) | composition-effect tolerance | |
| abstention | UNCERTAIN -band width |
| pairs | mergeable | merge recall | false merges | |
|---|---|---|---|---|
| 0.1 | 838 | 60 | 0.433 | 0 |
| 0.2 | 950 | 120 | 0.450 | 0 |
| 0.3 | 1,070 | 180 | 0.544 | 0 |
| 0.4 | 1,196 | 240 | 0.550 | 0 |
| 0.5 | 1,300 | 300 | 0.527 | 0 |
| 0.6 | 1,440 | 370 | 0.535 | 0 |
| Model | Applied | Rejected | Blocked | Invalid |
|---|---|---|---|---|
| Llama 3.2 1B | 0.12 | 7.32 | 8.83 | 135.84 |
| Llama 3.2 3B | 1.05 | 4.14 | 0.00 | 194.81 |
| Llama 3.1 8B | 4.08 | 7.34 | 0.00 | 188.21 |
| Qwen 3.5 2B | 0.60 | 3.41 | 0.05 | 124.25 |
| Qwen 3.5 4B | 11.48 | 46.66 | 0.00 | 127.15 |
| Qwen 3.5 9B | 3.92 | 134.15 | 0.00 | 33.44 |
| Model | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| GPT-5.5 | 0.420 | 0.521 | 0.579 | 0.596 | 0.621 | 0.641 | 0.624 | 0.628 | 0.625 | 0.612 |
| Qwen 3.5 27B | 0.457 | 0.476 | 0.522 | 0.559 | 0.523 | 0.512 | 0.524 | 0.519 | 0.484 | 0.474 |
| Gemma 4 12B | 0.378 | 0.384 | 0.356 | 0.353 | 0.321 | 0.252 | 0.231 | 0.209 | 0.210 | 0.206 |
| Qwen 3.5 4B | 0.216 | 0.226 | 0.185 | 0.160 | 0.120 | 0.068 | 0.048 | 0.033 | 0.017 | 0.018 |
| Qwen 3.5 9B | 0.332 | 0.229 | 0.176 | 0.098 | 0.055 | 0.043 | 0.025 | 0.007 | 0.027 | 0.018 |
| Llama 3.1 8B | 0.205 | 0.186 | 0.124 | 0.118 | 0.079 | 0.067 | 0.049 | 0.053 | 0.038 | 0.028 |
| Deciding stage | share | |
|---|---|---|
| residual (distinct by elimination) | 6,020 | 47.2% |
| semantic | 2,672 | 21.0% |
| subsumption | 2,032 | 15.9% |
| complementary | 938 | 7.4% |
| exact | 918 | 7.2% |
| perceptual | 110 | 0.9% |
| Model | actions | applied | correct | tokens (in/out) | tok./repair |
|---|---|---|---|---|---|
| GPT-5.5 | 4,233 | 2,537 | 2,200 | 18.3M / 1.96M | 9,202 |
| GPT-5.6-luna | 6,122 | 2,994 | 2,338 | 22.5M / 2.39M | 10,667 |
| Comparison | Domain | Verdict | min |
|---|---|---|---|
| DAv2-Large vs DAv2-Small | full | distinguishable | 0.0005 |
| SAM2-Large vs SAM2-Small | full | distinguishable | 0.0005 |
| SAM2-Large vs SAM2-Small | applicable | not disting. | 0.0355 |
| depth vs disparity (hard neg.) | full | distinguishable | 0.0005 |
| instance vs semantic (hard neg.) | applicable | distinguishable | 0.0010 |
| Strategy | 16 | 32 | 64 | 128 | 177 | |
|---|---|---|---|---|---|---|
| stratified | 0 | 0 | 0 | 0 | 0 | 0 |
| first (single-class) | 1 | 1 | 1 | 1 | 0 | 0 |
| random | 0 | 0 | 0 | 0 | 0 | 0 |
Automated Evaluation
Automated evaluation develops metrics, benchmarks, and AI judges to assess model outputs and system behavior at scale.
See all 398 papers