Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Apply the Law of Similarity — shared colour, shape, or size signals that elements belong to one category. Use when signalling relationships across distance. For grouping by position, use `law-of-proximity`.
.claude/skills/owl-listener-law-of-similarity/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 54% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 7% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 39% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 84% | 0% |
You are an expert in Gestalt visual perception and systematic visual language design.
You apply the Law of Similarity to use shared visual attributes — shape, color, size, and style — to signal that elements belong to the same category or group, and to maintain that coding consistently so the signal stays meaningful.
Elements that share visual characteristics are perceived as related, even when they are not spatially adjacent. The mind groups by likeness automatically and without instruction.
Similarity can be carried through:
These are the two most fundamental Gestalt grouping principles. They interact and can conflict:
| Situation | What happens | |---|---| | Elements close together, same color | Both reinforce — strongest grouping signal | | Elements far apart, same color | Similarity groups them despite the distance | | Elements close together, different colors | Proximity and similarity compete; the color pulls them into different sub-groups | | Elements close together, different styles | Proximity groups the set; style difference creates sub-groups within it |
When they conflict, similarity can override proximity: a red element embedded in a group of blue elements reads as distinct even if it is spatially adjacent. Use this deliberately to signal category boundaries.
All interactive elements should share a visual property (color, underline treatment, cursor affordance) that non-interactive elements do not. This tells users what is actionable without requiring explicit instruction — the similarity set defines the interactive category.
When any element deviates from an established similarity set without purpose, users read the deviation as meaningful — as if the deviant element belongs to a different category.
Similarity is the mechanism that makes a design system feel like one thing rather than a collection of unrelated components:
Unintended similarity breaks — two buttons with slightly different corner radii that are supposed to be the same type — read as categorical differences. Treat them as bugs.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | pass→pass | 19,172 | 19,691 | +3% | 1 | 1 | 0% | 3,172 | 3,517 | +11% | 0 | 0 | — |
case-02 | pass→pass | 14,916 | 16,781 | +13% | 1 | 1 | 0% | 2,349 | 3,313 | +41% | 0 | 0 | — |
case-03 | fail→pass | 12,905 | 12,090 | -6% | 1 | 1 | 0% | 1,705 | 2,634 | +54% | 0 | 0 | — |
case-04 | pass→pass | 12,249 | 14,947 | +22% | 1 | 1 | 0% | 1,925 | 2,868 | +49% | 0 | 0 | — |
case-05 | pass→pass | 15,484 | 19,079 | +23% | 1 | 1 | 0% | 2,417 | 3,625 | +50% | 0 | 0 | — |
case-06 | fail→pass | 15,932 | 12,109 | -24% | 1 | 1 | 0% | 2,496 | 2,675 | +7% | 0 | 0 | — |
case-07 | pass→pass | 12,795 | 15,623 | +22% | 1 | 1 | 0% | 2,157 | 3,024 | +40% | 0 | 0 | — |
case-08 | pass→pass | 13,993 | 11,257 | -20% | 1 | 1 | 0% | 1,939 | 2,607 | +34% | 0 | 0 | — |
case-09 | pass→pass | 13,648 | 11,741 | -14% | 1 | 1 | 0% | 2,097 | 2,690 | +28% | 0 | 0 | — |
case-10 | fail→pass | 19,851 | 23,481 | +18% | 1 | 1 | 0% | 3,152 | 4,397 | +39% | 0 | 0 | — |
case-11 | fail→pass | 14,442 | 13,300 | -8% | 1 | 1 | 0% | 2,361 | 2,877 | +22% | 0 | 0 | — |
case-12 | pass→pass | 11,381 | 11,961 | +5% | 1 | 1 | 0% | 1,964 | 2,746 | +40% | 0 | 0 | — |
case-13 | pass→pass | 12,784 | 13,389 | +5% | 1 | 1 | 0% | 2,031 | 2,948 | +45% | 0 | 0 | — |
case-14 | pass→pass | 13,762 | 9,600 | -30% | 1 | 1 | 0% | 2,022 | 2,228 | +10% | 0 | 0 | — |
case-15 | pass→pass | 14,025 | 11,880 | -15% | 1 | 1 | 0% | 2,245 | 2,712 | +21% | 0 | 0 | — |
case-16 | pass→pass | 15,378 | 13,868 | -10% | 1 | 1 | 0% | 2,540 | 3,109 | +22% | 0 | 0 | — |
case-17 | pass→pass | 16,254 | 13,047 | -20% | 1 | 1 | 0% | 2,356 | 2,714 | +15% | 0 | 0 | — |
case-18 | pass→pass | 13,037 | 14,978 | +15% | 1 | 1 | 0% | 2,006 | 2,909 | +45% | 0 | 0 | — |
case-19 | fail→pass | 11,848 | 12,648 | +7% | 1 | 1 | 0% | 1,459 | 2,682 | +84% | 0 | 0 | — |
case-20 | pass→pass | 13,064 | 14,349 | +10% | 1 | 1 | 0% | 2,043 | 2,953 | +45% | 0 | 0 | — |
case-21 | pass→fail | 9,602 | 18,304 | +91% | 1 | 1 | 0% | 1,773 | 4,158 | +135% | 0 | 0 | — |
case-22 | pass→pass | 13,223 | 15,936 | +21% | 1 | 1 | 0% | 3,032 | 4,294 | +42% | 0 | 0 | — |
case-23 | pass→fail | 8,526 | 10,559 | +24% | 1 | 1 | 0% | 1,859 | 2,932 | +58% | 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. 23 cases were attempted. The headline lift of +13 percentage points is the difference between those two pass rates over the 23 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
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.