* chore: upgrade maintenance scripts to robust PyYAML parsing - Replaces fragile regex frontmatter parsing with PyYAML/yaml library - Ensures multi-line descriptions and complex characters are handled safely - Normalizes quoting and field ordering across all maintenance scripts - Updates validator to strictly enforce description quality * fix: restore and refine truncated skill descriptions - Recovered 223+ truncated descriptions from git history (6.5.0 regression) - Refined long descriptions into concise, complete sentences (<200 chars) - Added missing descriptions for brainstorming and orchestration skills - Manually fixed imagen skill description - Resolved dangling links in competitor-alternatives skill * chore: sync generated registry files and document fixes - Regenerated skills index with normalized forward-slash paths - Updated README and CATALOG to reflect restored descriptions - Documented restoration and script improvements in CHANGELOG.md * fix: restore missing skill and align metadata for full 955 count - Renamed SKILL.MD to SKILL.md in andruia-skill-smith to ensure indexing - Fixed risk level and missing section in andruia-skill-smith - Synchronized all registry files for final 955 skill count * chore(scripts): add cross-platform runners and hermetic test orchestration * fix(scripts): harden utf-8 output and clone target writeability * fix(skills): add missing date metadata for strict validation * chore(index): sync generated metadata dates * fix(catalog): normalize skill paths to prevent CI drift * chore: sync generated registry files * fix: enforce LF line endings for generated registry files
83 lines
3.4 KiB
Markdown
83 lines
3.4 KiB
Markdown
---
|
|
name: hig-components-status
|
|
description: Apple HIG guidance for status and progress UI components including progress indicators, status bars, and activity rings.
|
|
risk: unknown
|
|
source: community
|
|
date_added: '2026-02-27'
|
|
---
|
|
|
|
# Apple HIG: Status Components
|
|
|
|
Check for `.claude/apple-design-context.md` before asking questions. Use existing context and only ask for information not already covered.
|
|
|
|
## Key Principles
|
|
|
|
### Progress Indicators
|
|
|
|
1. **Show progress for operations longer than a second or two.**
|
|
|
|
2. **Determinate when duration/percentage is known.** A filling progress bar gives users a clear sense of remaining work. Use for downloads, uploads, or any measurable process.
|
|
|
|
3. **Indeterminate when duration is unknown.** A spinner communicates work is happening without promising a timeframe. Use for unpredictable network requests.
|
|
|
|
4. **Prefer progress bars over spinners.** Determinate progress feels faster and more trustworthy.
|
|
|
|
5. **Place indicators where content will appear.** Inline progress near the content area, not modal or distant.
|
|
|
|
6. **Don't stack multiple indicators.** Aggregate simultaneous operations into one representation or show the most relevant.
|
|
|
|
### Status Bars
|
|
|
|
7. **Don't hide the status bar without good reason.** Reserve hiding for immersive experiences (full-screen media, games, AR).
|
|
|
|
8. **Match status bar style to your content.** Light or dark for adequate contrast.
|
|
|
|
9. **Respect safe areas.** No interactive content behind the status bar.
|
|
|
|
10. **Restore promptly** when exiting immersive contexts.
|
|
|
|
### Activity Rings
|
|
|
|
11. **Activity rings are for Move, Exercise, and Stand goals.** Don't repurpose the ring metaphor for unrelated data.
|
|
|
|
12. **Respect ring color conventions.** Red (Move), green (Exercise), blue (Stand) are strongly associated with Apple Fitness.
|
|
|
|
13. **Use HealthKit APIs** for activity data rather than manual tracking.
|
|
|
|
14. **Celebrate completions** with animation and haptics when rings close.
|
|
|
|
## Reference Index
|
|
|
|
| Reference | Topic | Key content |
|
|
|---|---|---|
|
|
| [progress-indicators.md](references/progress-indicators.md) | Progress bars and spinners | Determinate, indeterminate, inline placement, duration |
|
|
| [status-bars.md](references/status-bars.md) | iOS/iPadOS status bar | System info, visibility, style, safe areas |
|
|
| [activity-rings.md](references/activity-rings.md) | watchOS activity rings | Move/Exercise/Stand, HealthKit, fitness tracking, color |
|
|
|
|
## Output Format
|
|
|
|
1. **Indicator type recommendation** with rationale (determinate vs indeterminate).
|
|
2. **Timing and animation guidance** -- duration thresholds, animation style, transitions.
|
|
3. **Accessibility** -- VoiceOver progress announcements, live region updates.
|
|
4. **Platform-specific behavior** across targeted platforms.
|
|
|
|
## Questions to Ask
|
|
|
|
1. Is the duration known or unknown?
|
|
2. Which platforms?
|
|
3. How long does the operation typically take?
|
|
4. System-level or in-app indicator?
|
|
|
|
## Related Skills
|
|
|
|
- **hig-components-system** -- Widgets and complications displaying progress or status
|
|
- **hig-inputs** -- Gestures triggering progress states (pull-to-refresh)
|
|
- **hig-technologies** -- HealthKit for activity ring data; VoiceOver for progress announcements
|
|
|
|
---
|
|
|
|
*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.
|