Install any skill in seconds. Free to start, no credit card required.
Get Started Free →jpoindexter/ios-color-and-materials
iOS semantic system colors, dark mode, and material levels per Apple HIG (current iOS 26). Covers why you never hard-code system color values, the system vs grouped background sets, label/separator colors, dark mode base-vs-elevated + the 4.5:1/7:1 contrast floors, the four standard material levels + vibrancy, Liquid Glass color rules, and Display P3.
Passed 22 of 22 test cases with the skill, and 19 of 22 without it.
and 1 more in the full report
3 fixed19 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 3 test cases the skill fixed. Same model, same prompt, with and without the skill.
We want to add an in-app toggle switch in our settings menu allowing users to force Dark Mode on or off regardless of the iOS system settings. How should we implement this switch?
| Checked | Without skill | With skill |
|---|---|---|
| Advises against providing an in-app light/dark mode override toggle | Missed | Passed |
| Recommends respecting the system-wide light/dark appearance setting | Passed | Passed |
The instructions your model reads when the skill loads.
Source: Apple HIG Color, Dark Mode, and Materials pages (read June 2026; change logs confirm iOS-26 currency). Apple renders hex/RGB values as image swatches and explicitly says not to hard-code them — so this skill names the semantic APIs, not numbers.
"Documented color values are for your reference… The actual color values may fluctuate from release to release." Use the APIs so colors auto-adapt to light/dark + Increase Contrast + Liquid Glass.
separator as text, or secondaryLabel as a background).System named colors (SwiftUI): red orange yellow green mint teal cyan blue indigo purple pink brown — each has default + increased-contrast variants for light/dark.
Grays: UIKit systemGray, systemGray2…6; SwiftUI gray ≈ systemGray.
Background sets — two families, each primary/secondary/tertiary (express hierarchy by nesting):
systemBackground → secondarySystemBackground → tertiarySystemBackgroundsystemGroupedBackground → secondarySystemGroupedBackground → tertiarySystemGroupedBackgroundForeground / separators: label → secondaryLabel → tertiaryLabel → quaternaryLabel; placeholderText; separator (lets content show through) vs opaqueSeparator; link.
Inclusive color (required): never convey meaning/state/interactivity by color alone — pair with text, glyph shape, or position. Watch red-green / blue-orange confusions; consider cultural meaning.
ios-liquid-glass-swiftui). Don't use it in the content layer. Exception: transient controls (sliders/toggles) take a glass look only while being manipulated.Standard material levels (iOS), thin→thick: .ultraThin, .thin, .regular (default), .thick. Thicker = more opaque = better contrast for fine text; thinner = more translucent = preserves context. Choose by semantic need, not apparent color.
Vibrancy (always put system vibrant colors on top of materials for legibility):
.label (default, highest contrast) → .secondaryLabel → .tertiaryLabel → .quaternaryLabel. Avoid quaternaryLabel on .thin/.ultraThin (contrast too low)..fill / .secondaryFill / .tertiaryFill (any material). Separators: single value, any material.test cases passed, vs 19 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.