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.
A visual skill is a deterministic function that transforms an input image into an output image. Similar descriptions can hide different outputs, causing a silent merge, while different implementations can behave identically, causing a missed consolidation. VisCurate therefore compares the executed outputs instead of the descriptors. Because most skills are parameterized, it never compares at a single operating point: it evaluates both skills over a matched parameter grid on a probe battery \(x_1, \dots, x_m\) and aggregates by the worst case,
\[ D(s_a,s_b)=\max_{\theta\in\Theta^{\mathrm{grid}}}\;\frac{1}{m}\sum_{i=1}^{m} d\Big(\phi\big(f_{s_a}(x_i,\theta)\big),\,\phi\big(f_{s_b}(x_i,\theta)\big)\Big), \]where \(\phi\) canonicalizes the outputs. The worst case is what blocks spurious merges between skills that coincide on part of their domain: a Gaussian blur and a box blur agree at small kernels but diverge at large ones, and the max over the grid surfaces that divergence rather than averaging it away.
Each ordered pair receives exactly one relation. The classifier is hierarchical and stop-at-first: it evaluates relations cheapest-and-strictest first and returns the first that holds, so a stronger, more actionable relation is never masked by a weaker one.
| Check | Relation | Permits |
|---|---|---|
| 1 | =Exact | Merge |
| 2 | ≈Perceptual | Merge |
| 3 | ⊆Subsumption | Parameterize |
| 4 | ≡Semantic-preserving | Parameterize, never merge |
| 5 | ≠Distinct | Keep separate |
| Abstain | ?Uncertain | Human review |
| Advisory | ⊕Complementary | Advisory only |
@inproceedings{ishraq2027viscurate,
title = {{VisCurate}: Evaluating Behavioral Equivalence of Visual Skills},
author = {Ishraq, Md Farhan and Ishmam, Md Farhan and Joarder, Reaz Hassan and Kabir, Md Hasanul},
booktitle = {Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision (WACV)},
year = {2027}
}
We thank Didhiti Nahid for her helpful feedback on an earlier draft of this paper. Md. Farhan Ishraq, in particular wants to thank his parents, Md. Shah Alam and Afia Khatun Mily, for everything.