axiom-hig▌
charleswiltgen/axiom · updated Apr 8, 2026
MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.
Use when:
Apple Human Interface Guidelines — Quick Reference
When to Use This Skill
Use when:
- Making visual design decisions (colors, backgrounds, typography)
- Reviewing UI for HIG compliance
- Answering "Should I use a dark background?"
- Choosing between design options
- Defending design decisions to stakeholders
- Quick lookups for common design questions
Related Skills
- Use
axiom-hig-reffor comprehensive details and code examples - Use
axiom-liquid-glassfor iOS 26 material design implementation and version-conditional design (supporting both pre-Liquid Glass and Liquid Glass in the same app) - Use
axiom-liquid-glass-reffor iOS 26 app-wide adoption guide with backward compatibility strategy - Use
axiom-accessibility-diagfor accessibility troubleshooting
Version-Conditional Design
When supporting both iOS 25 (pre-Liquid Glass) and iOS 26+, see axiom-liquid-glass for the adoption strategy — it covers when to use #available(iOS 26, *), how to degrade gracefully, and which system components adopt Liquid Glass automatically vs which need explicit opt-in.
Quick Decision Trees
Background Color Decision
Is your app media-focused (photos, videos, music)?
├─ Yes → Consider permanent dark appearance
│ WHY: "Lets UI recede, helps people focus on media" (Apple HIG)
│ EXAMPLES: Apple Music, Photos, Clock apps use dark
│ CODE: .preferredColorScheme(.dark) on root view
│
└─ No → Use system backgrounds (respect user preference)
CODE: systemBackground (adapts to light/dark automatically)
GROUPED: systemGroupedBackground for iOS Settings-style lists
Apple's guidance: "In rare cases, consider using only a dark appearance in the interface. For example, it can make sense for an app that enables immersive media viewing to use a permanently dark appearance."
Color Selection Decision
Do you need a specific color value?
├─ No → Use semantic colors
│ label, secondaryLabel, tertiaryLabel, quaternaryLabel
│ systemBackground, secondarySystemBackground, tertiarySystemBackground
│ WHY: Automatically adapts to light/dark/high contrast
│
└─ Yes → Create Color Set in asset catalog
1. Open Assets.xcassets
2. Add Color Set
3. Configure variants:
├─ Light mode color
├─ Dark mode color
└─ High contrast (optional but recommended)
Key principle: "Use semantic color names like labelColor that automatically adjust to the current interface style."
Font Weight Decision
Which font weight should I use?
├─ ❌ AVOID: Ultralight, Thin, Light
│ WHY: Legibility issues, especially at small sizes
│
├─ ✅ PREFER: Regular, Medium, Semibold, Bold
│ WHY: Maintains legibility across sizes and conditions
│
└─ Headers: Semibold or Bold for hierarchy
Body: Regular or Medium
Apple's guidance: "Avoid light font weights. Prefer Regular, Medium, Semibold, or Bold weights instead of Ultralight, Thin, or Light."
Core Principles Checklist
Before Shipping Any UI
Verify every screen passes these checks:
Appearance
- Works in Light Mode
- Works in Dark Mode
- Passes with Increased Contrast enabled
- Passes with Reduce Transparency enabled
Typography
- Supports Dynamic Type (text scales to 200%)
- No light font weights (Regular minimum)
- Hierarchy clear at all text sizes
- No truncation at large text sizes
Accessibility
- Contrast ratio ≥ 4.5:1 minimum
- Contrast ratio ≥ 7:1 for small text (recommended)
- Touch targets ≥ 44x44 points
- Information conveyed by more than color alone
- VoiceOver labels for all interactive elements
Motion
- Respects Reduce Motion setting
- Animations can be canceled/skipped
- No auto-playing video without controls
Localization
- No hardcoded strings in images
- Right-to-left language support
- Proper text directionality
Common Design Questions
Q: Should my app have a dark background?
A: Only for media-focused apps (photos, videos, music) where content should be the hero. Use system backgrounds for everything else.
Apple's own apps:
| App | Background | Reason |
|---|---|---|
| Music | Dark | Album art is focus |
| Photos | Dark | Images are hero |
| Clock | Dark | Nighttime use |
| Notes | System | Document editing |
| Settings | System | Utilitarian |
Code:
// ❌ WRONG - Don't override unless media-focused
.background(Color.black)
// ✅ CORRECT - Let system decide
.background(Color(.systemBackground))
Q: What's the right background color?
A: Use systemBackground which adapts to light/dark automatically. For grouped content (like iOS Settings), use systemGroupedBackground.
Color hierarchy:
- Primary:
systemBackground- Main background - Secondary:
secondarySystemBackground- Grouping elements - Tertiary:
tertiarySystemBackground- Grouping within secondary
// ✅ Standard list
List { }
.background(Color(.systemBackground))
// ✅ Grouped list (Settings style)
List { }
.listStyle(.grouped)
.background(Color(.systemGroupedBackground))
Q: How do I ensure legibility?
A: Use semantic label colors, maintain 4.5:1 contrast, avoid light font weights.
Label hierarchy:
// Most prominent
Text("Title").foregroundStyle(.primary)
// Subtitles
Text("Subtitle").foregroundStyle(.secondary)
// Tertiary information
Text("Detail").foregroundStyle(.tertiary)
// Disabled text
Text("Disabled").foregroundStyle(.quaternary)
Q: Should I use SF Symbols or custom icons?
A: SF Symbols unless you need brand-specific imagery. They scale with Dynamic Type and adapt to appearance automatically.
Benefits of SF Symbols:
- 5,000+ symbols included (SF Symbols 5)
- Automatic light/dark adaptation
- Scale with Dynamic Type
- Become bolder with Bold Text accessibility
- Nine weights matching San Francisco font
When to use custom:
- Brand-specific imagery
- App-specific concepts not in SF Symbols
- Unique visual style requirement
Q: Light/Dark Mode or user choice?
A: Always support both. Never create app-specific appearance settings.
Apple's guidance: "Avoid creating app-specific appearance settings. Users expect apps to honor their systemwide Dark Mode choice. An app-specific appearance mode option creates more work for people because they have to adjust more than one setting to get the appearance they want."
Q: What contrast ratio do I need?
A: 4.5:1 minimum for normal text, 7:1 recommended for small text.
WCAG Contrast Standards:
- AA (required): 4.5:1 for normal text, 3:1 for large text (18pt+/14pt+ bold)
- AAA (enhanced): 7:1 for normal text, 4.5:1 for large text
- Apple guidance: Use semantic colors which automatically meet AA requirements
Testing: Use online contrast calculators or Xcode's Accessibility Inspector.
Q: What's the minimum touch target size?
A: 44x44 points on iOS/iPadOS, with spacing between targets.
Platform-specific:
- iOS/iPadOS: 44x44 points minimum
- macOS: 20x20 points minimum; larger for primary actions
- watchOS: Use system controls (optimized for small screen)
- tvOS: 60+ point spacing for focus clarity
Design Review Checklist
When Reviewing Any Design
Use this checklist for design reviews, App Store submissions, or stakeholder presentations:
Content-First Design
- Does UI defer to content? (Not competing for attention)
- Is branding restrained? (No logo on every screen)
- Are backgrounds content-appropriate? (Media apps dark, others system)
Platform Consistency
- Does it feel native to iOS/iPad/Mac?
- Uses system colors and fonts?
- Standard gestures work as expected?
- Navigation patterns familiar?
Accessibility Compliance
- All contrast ratios meet requirements?
- All touch targets ≥ 44x44 points?
- Information conveyed beyond color?
- VoiceOver labels complete?
- Dynamic Type supported?
Light & Dark Modes
- Works in both appearance modes?
- Colors adapt automatically?
- No hardcoded color values?
- Increased Contrast tested?
Localization-Ready
- No hardcoded strings in images?
- RTL language support?
- Text doesn't truncate?
- Layouts adapt to text size?
Design Review Pressure: Defending HIG Decisions
The Problem
In design reviews, you'll hear:
- "Let's add our logo to every screen for brand consistency"
- "Use light font weights—they look more elegant"
- "Make a custom appearance toggle—some users prefer dark"
- "This screen needs a splash screen for our brand"
These violate HIG. Here's how to push back professionally.
Red Flags — Requests That Violate HIG
If you hear ANY of these, reference this skill:
- ❌ "Add logo to navigation bar" — Wastes space, distracts from content
- ❌ "Use Ultralight font" — Legibility issues, fails accessibility
- ❌ "Custom dark mode toggle" — Creates more work for users, ignores system preference
- ❌ "Splash screen for branding" — Launch screens can't include branding
- ❌ "Custom brand color for all text" — May fail contrast requirements
How to Push Back Professionally
Step 1: Show the HIG Guidance
"I want to make this change, but let me show you Apple's guidance:
[Show the relevant HIG section from this skill or hig-ref]
Apple explicitly recommends against this because..."
Step 2: Demonstrate the Risk
For contrast issues:
- Show the design at 4.5:1 contrast (passing)
- Show their proposal (failing)
- Explain App Store rejection risk
For appearance toggles:
- Show iOS Settings → Display & Brightness
- Explain users already have this control
- Demonstrate confusion of two separate settings
Step 3: Offer Compromise
"I understand the brand concern. Here are HIG-compliant alternatives:
1. Use your brand color as the app's tint color
2. Feature branding in onboarding (not launch screen)
3. Use your accent color for primary actions
4. Include subtle branding in content, not chrome"
Step 4: Document the Decision
If overruled:
Slack message to PM + designer:
"Design review decided to [violate HIG guidance].
Important risks to monitor:
- App Store rejection (HIG violations)
- Accessibility issues (users with visual impairments)
- User complaints (departure from platform norms)
I'm flagging this proactively. If we see issues after launch,
we'll need an expedited follow-up."
When to Accept the Design Decision
Sometimes designers have valid reasons to override HIG. Accept if:
- They understand the HIG guidance
- They're willing to accept rejection/accessibility risks
- You document the decision in writing
- They commit to monitoring post-launch feedback
Three Core HIG Principles
Every design decision should support these principles:
1. Clarity
Definition: Content should be paramount, interface elements should defer to content.
In practice:
- White space is your friend
- Every element has a purpose
- Remove anything that doesn't serve the user
- Users should know what they can do without instructions
2. Consistency
Definition: Use standard UI elements and familiar patterns.
In practice:
- Standard gestures work as expected
- Navigation follows platform conventions
- Colors and fonts use system values
- Familiar components in familiar locations
3. Deference
Definition: UI shouldn't compete with content for attention.
In practice:
- Subtle backgrounds, not bold
- Navigation recedes when not needed
- Content is the hero
- Branding is restrained
From HIG: "Deference makes an app beautiful by ensuring the content stands out while the surrounding visual elements do not compete with it."
Platform-Specific Quick Tips
iOS
- Portrait-first design
- One-handed reachability
- Bottom tab bar for primary navigation
- Swipe back gesture
iPadOS
- Sidebar-adaptable layouts
- Split view support
- Pointer interactions
- Arbitrary window sizing (iOS 26+)
macOS
- Menu bar for commands
- Dense layouts acceptable
- Pointer-first interactions
- Window chrome and controls
watchOS
- Glanceable interfaces
- Full-bleed content
- Minimal padding
- Digital Crown interactions
tvOS
- Focus-based navigation
- 10-foot viewing distance
- Large touch targets
- Gestural remote
vis
How to use axiom-hig on Cursor
AI-first code editor with Composer
Prerequisites
Before installing skills in Cursor, ensure your development environment meets these requirements:
- ›Cursor installed and configured on your development machine
- ›Node.js version 16.0+ with npm package manager (verify with
node --version) - ›Active project directory or workspace where you want to add axiom-hig
Execute installation command
Execute the skills CLI command in your project's root directory to begin installation:
The skills CLI fetches axiom-hig from GitHub repository charleswiltgen/axiom and configures it for Cursor.
Select Cursor when prompted
The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:
Verify installation
Confirm successful installation by checking the skill directory location:
Reload or restart Cursor to activate axiom-hig. Access the skill through slash commands (e.g., /axiom-hig) or your agent's skill management interface.
Security & Verification Notice
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.
List & Monetize Your Skill
Submit your Claude Code skill and start earning
Use Cases▌
User Story & Requirements Generation
Create detailed user stories, acceptance criteria, and feature specs
Example
Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios
Reduce spec writing time by 50%, ensure comprehensive coverage
Competitive Analysis
Research competitors, compare features, identify gaps
Example
Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities
Complete competitive research in 2 hours instead of 2 days
Roadmap Prioritization
Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs
Example
Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale
Make data-driven prioritization decisions faster
Stakeholder Communication
Draft PRDs, status updates, and stakeholder presentations
Example
Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement
Save 3-5 hours/week on communication overhead
Implementation Guide▌
Prerequisites
- ›Claude Desktop or compatible AI client
- ›Access to product documentation and roadmap tools (Jira, Notion, etc.)
- ›Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
- ›Stakeholder contact information and communication channels
Time Estimate
30-60 minutes to see productivity improvements
Installation Steps
- 1.Install product management skill
- 2.Start with user story generation for known feature
- 3.Progress to competitive analysis: research 2-3 competitors
- 4.Use for roadmap prioritization: apply RICE/ICE scoring
- 5.Draft stakeholder communications and refine based on feedback
- 6.Build template library for recurring PM tasks
- 7.Share effective prompts with product team
Common Pitfalls
- ⚠Not validating competitive research—verify facts before sharing
- ⚠Accepting user stories without involving engineering team
- ⚠Over-relying on frameworks without qualitative judgment
- ⚠Not customizing outputs to company culture and communication style
- ⚠Skipping stakeholder validation of generated requirements
Best Practices▌
✓ Do
- +Validate research and competitive analysis with real data
- +Collaborate with engineering when generating technical requirements
- +Customize frameworks and templates to your company context
- +Use skill for first drafts, refine with stakeholder input
- +Document successful prompt patterns for PM tasks
- +Combine AI efficiency with human judgment and intuition
✗ Don't
- −Don't publish competitive analysis without fact-checking
- −Don't finalize user stories without engineering review
- −Don't make prioritization decisions solely on AI scoring
- −Don't skip customer validation of generated requirements
- −Don't ignore company-specific context and culture
💡 Pro Tips
- ★Provide context: company goals, constraints, customer feedback
- ★Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
- ★Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
- ★Use skill for 70% generation + 30% customization to company needs
When to Use This▌
✓ Use When
Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.
✗ Avoid When
Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.
Learning Path▌
- 1Basic: user stories, feature specs, status updates
- 2Intermediate: competitive analysis, prioritization frameworks, PRDs
- 3Advanced: product strategy, go-to-market planning, OKR setting
- 4Expert: product vision, market positioning, business model innovation
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.5★★★★★62 reviews- ★★★★★Ishan Anderson· Dec 28, 2024
axiom-hig fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Chen Sanchez· Dec 16, 2024
We added axiom-hig from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Sofia Choi· Dec 12, 2024
Solid pick for teams standardizing on skills: axiom-hig is focused, and the summary matches what you get after install.
- ★★★★★Xiao Malhotra· Dec 8, 2024
Useful defaults in axiom-hig — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Ishan White· Dec 4, 2024
axiom-hig is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Ishan Martinez· Nov 27, 2024
We added axiom-hig from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Neel Sharma· Nov 11, 2024
axiom-hig is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Ishan Robinson· Nov 7, 2024
Useful defaults in axiom-hig — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Isabella Flores· Nov 3, 2024
axiom-hig has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Ira Kim· Oct 26, 2024
axiom-hig has been reliable in day-to-day use. Documentation quality is above average for community skills.
showing 1-10 of 62