hig-components-controls — Claude Code skill: features and setup
Applies Apple HIG principles to pickers, toggles, text fields, and inputs. Guides control selection, state behavior, and VoiceOver accessibility.
npx skills add raintree-technology/hig-doctor --skill hig-components-controls -a claude-codeWhat hig-components-controls does
The skill helps agents select appropriate UI controls following Apple Human Interface Guidelines. It details when to pick a toggle over a checkbox, how many options fit into a segmented control, and which virtual keyboard fits an input field.
Before asking questions, the skill checks .claude/apple-design-context.md for existing project details. Output recommendations deliver clear control rationale, state commit rules (immediate vs confirmation modal), input validation, and VoiceOver hints.
Keep in mind that combo boxes and token fields are macOS-only, which rules them out for iOS projects.
What it helps with
- choose between pickers and segmented controls
- configure virtual keyboard types for text inputs
- structure form state changes between immediate and modal screens
- add accessibility traits and hints for VoiceOver
Example prompts for the agent
- Picker or segmented control for four shipping options?
- What virtual keyboard type should I set for a promo code field?
- Toggle vs checkbox: how should my modal form apply changes?
How to install hig-components-controls
1Skills CLI (Vercel)
npx skills add raintree-technology/hig-doctor --skill hig-components-controls -a claude-code2Manually: put the files in place
~/.claude/skills/hig-components-controls/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/hig-components-controls/
1Skills CLI (Vercel)
npx skills add raintree-technology/hig-doctor --skill hig-components-controls -a codex2Manually: put the files in place
.agents/skills/hig-components-controls/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add raintree-technology/hig-doctor --skill hig-components-controls -a cursor2Manually: put the files in place
.cursor/skills/hig-components-controls/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install raintree-technology/hig-doctor hig-components-controls2Manually: put the files in place
.github/skills/hig-components-controls/SKILL.md1Skills CLI (Vercel)
npx skills add raintree-technology/hig-doctor --skill hig-components-controls -a gemini-cli2Platform CLI
gemini skills install https://github.com/raintree-technology/hig-doctor --path skills/hig-components-controlsManually: put the files in place
.devin/skills/hig-components-controls/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add raintree-technology/hig-doctor --skill hig-components-controls -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about hig-components-controls
How do I install hig-components-controls in Claude Code?
Run npx skills add raintree-technology/hig-doctor --skill hig-components-controls -a claude-code.
What does hig-components-controls do?
It provides Apple HIG guidance for selection controls, text inputs, form validation, and accessibility.
Are all recommended controls available across Apple platforms?
No. Token fields and combo boxes work on macOS only and cannot be used in iOS apps.
Source text
SKILL.md · MIT
--- name: hig-components-controls version: 1.0.0 description: >- Apple HIG guidance for selection and input controls including pickers, toggles, sliders, steppers, segmented controls, combo boxes, text fields, text views, labels, token fields, virtual keyboards, rating indicators, and gauges. Use this skill when the user says "picker or segmented control," "how should my form look," "what keyboard type should I use," "toggle vs checkbox," or asks about picker design, toggle, switch, slider, stepper, text field, text input, segmented control, combo box, label, token field, virtual keyboard, rating indicator, gauge, form design, input validation, or control state management. Cross-references: hig-components-menus, hig-components-dialogs, hig-components-search. --- # Apple HIG: Selection and Input Controls Check for `.claude/apple-design-context.md` before asking questions. Use existing context and only ask for information not already covered. ## Key Principles 1. **Clear current state.** Users must always see what is selected. Toggles show on/off, segmented controls highlight the active segment, pickers display the current selection. 2. **Prefer standard system controls.** Built-in controls provide consistency and accessibility. Custom controls introduce a learning curve and may break assistive features. 3. **Toggles for binary states.** On or off. In Settings-style screens, changes take effect immediately. In modal forms, changes commit on confirmation. 4. **Segmented controls for mutually exclusive options.** 2-5 items, roughly equal importance, short labels. 5. **Sliders for continuous values.** When precise numeric input is not critical. Provide min/max labels or icons for range endpoints. 6. **Pickers for long option lists.** Too many options for a segmented control. Works well for dates, times, structured data. 7. **Steppers for small, precise adjustments.** Increment/decrement in fixed steps. Display current value next to the stepper with reasonable min/max bounds. 8. **Text fields for short, single-line input.** Text views for multi-line. Configure keyboard type to match expected input (email, URL, number). 9. **Combo boxes: text input + selection list.** macOS. Type a value or choose from a predefined list when custom values are valid. 10. **Token fields: discrete values as visual tokens.** macOS. For email recipients, tags, or collections of discrete items. 11. **Gauges and rating indicators display values.** Gauges show a value within a range. Rating indicators show ratings (often stars). Display-only; use interactive variants for input. ## Reference Index | Reference | Topic | Key content | |---|---|---| | [controls.md](references/controls.md) | General controls | States, affordance, system controls | | [toggles.md](references/toggles.md) | Toggles | On/off, immediate effect | | [segmented-controls.md](references/segmented-controls.md) | Segmented controls | 2-5 options, equal weight | | [sliders.md](references/sliders.md) | Sliders | Continuous range, min/max labels | | [steppers.md](references/steppers.md) | Steppers | Fixed steps, bounded values | | [pickers.md](references/pickers.md) | Pickers | Dates, times, long option sets | | [combo-boxes.md](references/combo-boxes.md) | Combo boxes | macOS, type or select, custom values | | [text-fields.md](references/text-fields.md) | Text fields | Short input, keyboard types, validation | | [text-views.md](references/text-views.md) | Text views | Multi-line, comments, descriptions | | [labels.md](references/labels.md) | Labels | Placement, VoiceOver support | | [token-fields.md](references/token-fields.md) | Token fields | macOS, chips, tags, recipients | | [virtual-keyboards.md](references/virtual-keyboards.md) | Virtual keyboards | Email, URL, number keyboard types | | [rating-indicators.md](references/rating-indicators.md) | Rating indicators | Star ratings, display-only | | [gauges.md](references/gauges.md) | Gauges | Level indicators, range display | ## Output Format 1. **Control recommendation with rationale** and why alternatives are less suitable. 2. **State management** -- how the control communicates current state and whether changes apply immediately or on confirmation. 3. **Validation approach** -- when to show errors and how to communicate rules. 4. **Accessibility** -- labels, traits, hints for VoiceOver. ## Questions to Ask 1. What type of data? (Boolean, choice from fixed set, numeric, free-form text?) 2. How many options? 3. Which platforms? (Combo boxes and token fields are macOS-only) 4. Settings screen or inline form? ## Related Skills - **hig-components-menus** -- Buttons and pop-up buttons complementing selection controls - **hig-components-dialogs** -- Sheets and popovers containing forms - **hig-components-search** -- Search fields sharing text input patterns - **hig-inputs** -- Keyboard, pointer, gesture interactions with controls - **hig-foundations** -- Typography, color, layout for control styling --- *Built by [Raintree Technology](https://raintree.technology) · [More developer tools](https://raintree.technology)*
© raintree-technology · MIT · raintree-technology/hig-doctor