SF Symbols end-to-end — choosing and configuring the 7,000+ system symbols (rendering modes, variable color/draw, gradients), authoring custom symbols that interpolate across weights, and the animation preset vocabulary. Use when picking iconography, building custom symbols, animating symbol state changes, or rendering values as symbols.
Over 7,000 system symbols with free platform consistency, Dynamic Type alignment, and
accessibility — the default answer to "we need an icon." This skill covers using them well,
authoring custom ones that behave like system ones, and the animation vocabulary.
(Animation implementation patterns live in design/animation-patterns → symbol-effects.md;
this skill owns selection, authoring, and rendering.)
imageScale, weights match adjacent text).variableValue (0–1) to render magnitude — signal bars, progress.
Thresholds distribute evenly; 0% is the only "empty" state (a symbol reads "full" before 100%).
Variable Draw (SF Symbols 7) renders the path at a percentage instead of activating
layers — an alternative for progress/temperature; a symbol can carry both but renders one.Presets: Bounce · Pulse · Variable Color · Scale · Appear · Disappear · Replace · Draw On/Off (SF Symbols 7). Behavior classes: discrete (one-off), indefinite (until removed — always pair with removal logic), transition, content transition.
.contentTransition(.symbolEffect(.replace)) — and prefer Magic
Replace (preserves matching enclosures, uses Draw Off/On where supported) for state pairs
like mute/unmute..symbolEffectsRemoved() blocks them on subviews.symbolEffect, UIKit addSymbolEffect) in
design/animation-patterns/symbol-effects.md.The workflow that makes a custom glyph behave like a system one:
Erase punches shapes out of layers behind; Hidden excludes a layer
from a mode. For variable color, z-order = activation order (first-to-fill at bottom).❌ Common failures: baking effects into art (breaks rendering modes) · mismatched path counts across sources (kills interpolation) · re-ordering paths after annotation (forces re-annotation) · shipping a filled base variant as the only variant.
For icon reviews: Location | Current | Symbol exists? (name) | Mode/config | Action.
For custom-symbol requests: the 6-step authoring checklist above with per-step status.
design/animation-patterns (symbol-effects implementation), design/typography (SF font pairing), generators/app-icon-generator (app icons are NOT symbols)freekmurze/dotfiles
fe89482
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.