hig-components-controls – Coding skill for AI agents
Choose and review Apple selection and input controls: toggles, segmented controls, sliders, pickers, steppers, text fields, labels and keyboard behavior.
Install the hig-components-controls skill with one command
Pick the tool you use, copy the command and paste it in your terminal. The skill lands in that tool's skills folder and is ready in your next session.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/hig-components-controls-1afbd.tgz | tar xz -C ~/.claude/skills
Call it in Claude Code: /hig-components-controls – then describe the task you want done.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/hig-components-controls-1afbd.tgz | tar xz -C ~/.codex/skills
Call it in Codex: $hig-components-controls – then describe the task you want done.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/hig-components-controls-1afbd.tgz | tar xz -C ~/.hermes/skills
Call it in Hermes Agent: /hig-components-controls – then describe the task you want done.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/hig-components-controls-1afbd.tgz | tar xz -C ~/.deepcode/skills
Call it in DeepSeek: /hig-components-controls – then describe the task you want done.
SKILL.md content
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 closely related choices. Usually a small set; macOS also supports multiple selection and momentary actions. Keep a control’s selection/action behavior consistent.
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) | System controls | Control Center, Lock Screen and Action button 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)*
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Example
User request:
> Choose between a picker and segmented control for five related filters in an iPhone app, and explain state and VoiceOver behavior.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Reference scope
Bundled Apple documentation is a static snapshot; check the linked primary page and target OS/API availability before platform-specific implementation. The controls.md page concerns WidgetKit system controls, not every in-app input control. The rating-indicator reference describes macOS NSLevelIndicator, which can be editable; a custom rating UI on other platforms is a separate design. Visual labels do not replace accessibility names. Keyboard type and formatters assist input but do not replace locale-aware validation, and secure fields do not encrypt stored/transmitted data. No Apple runtime or image-asset availability was tested here.
Related skills
- skill-tester – Validate, test, and score the quality of skills within the claude-skills ecosystem…
- hono – Build ultra-fast web APIs and full-stack apps with Hono — runs on Cloudflare Workers…
- html-injection-testing – Identify and exploit HTML injection vulnerabilities that allow attackers to inject…
- http-status-code-tester – HTTP Status Code Tester. Use when working with one or more HTTP(S) URLs.
- hubspot-integration – Expert patterns for HubSpot CRM integration including OAuth authentication, CRM objects…
- hugging-face-cli – Hugging Face Hub CLI (`hf`) for downloading, uploading, and managing models, datasets…
- hugging-face-community-evals – Run evaluations for Hugging Face Hub models using inspect-ai and lighteval on local…
- hugging-face-gradio – Build Gradio web UIs and demos in Python. Use when creating or editing Gradio apps…