axiom-hig by charleswiltgen/axiom
npx skills add https://github.com/charleswiltgen/axiom --skill axiom-hig在以下情况使用:
axiom-hig-ref 获取详细信息和代码示例axiom-liquid-glass 获取 iOS 26 材料设计实现和版本条件设计(在同一应用中同时支持 Liquid Glass 之前和之后)axiom-liquid-glass-ref 获取 iOS 26 应用级采用指南及向后兼容策略axiom-accessibility-diag 进行无障碍功能故障排除当需要同时支持 iOS 25(Liquid Glass 之前)和 iOS 26+ 时,请参阅 axiom-liquid-glass 了解采用策略 — 它涵盖了何时使用 #available(iOS 26, *)、如何优雅降级,以及哪些系统组件会自动采用 Liquid Glass,哪些需要显式选择加入。
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
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 的指导原则: “在极少数情况下,可以考虑在界面中仅使用深色外观。例如,对于支持沉浸式媒体观看的应用,使用永久深色外观是有意义的。”
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)
关键原则: “使用像 labelColor 这样的语义颜色名称,它们会自动适应当前界面样式。”
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 的指导原则: “避免使用细字体粗细。优先使用 Regular、Medium、Semibold 或 Bold 粗细,而不是 Ultralight、Thin 或 Light。”
验证每个屏幕都通过以下检查:
答: 仅适用于以媒体为中心的应用(照片、视频、音乐),其中内容应是主角。其他所有情况都使用系统背景。
Apple 自家的应用:
| 应用 | 背景 | 原因 |
|---|---|---|
| 音乐 | 深色 | 专辑封面是焦点 |
| 照片 | 深色 | 图像是主角 |
| 时钟 | 深色 | 夜间使用 |
| 备忘录 | 系统 | 文档编辑 |
| 设置 | 系统 | 实用工具 |
代码:
// ❌ 错误 - 除非以媒体为中心,否则不要覆盖
.background(Color.black)
// ✅ 正确 - 让系统决定
.background(Color(.systemBackground))
答: 使用 systemBackground,它会自动适应浅色/深色模式。对于分组内容(如 iOS 设置),使用 systemGroupedBackground。
颜色层级:
主要:systemBackground - 主背景
次要:secondarySystemBackground - 分组元素
第三级:tertiarySystemBackground - 次要背景内的分组
// ✅ 标准列表 List { } .background(Color(.systemBackground))
// ✅ 分组列表(设置样式) List { } .listStyle(.grouped) .background(Color(.systemGroupedBackground))
答: 使用语义标签颜色,保持 4.5:1 的对比度,避免使用细字体粗细。
标签层级:
// 最突出
Text("Title").foregroundStyle(.primary)
// 副标题
Text("Subtitle").foregroundStyle(.secondary)
// 第三级信息
Text("Detail").foregroundStyle(.tertiary)
// 禁用文本
Text("Disabled").foregroundStyle(.quaternary)
答: 除非需要品牌特定的图像,否则使用 SF Symbols。它们会随动态类型缩放并自动适应外观。
SF Symbols 的优点:
何时使用自定义图标:
答: 始终支持两者。切勿创建应用特定的外观设置。
Apple 的指导原则: “避免创建应用特定的外观设置。用户期望应用尊重其系统范围的深色模式选择。应用特定的外观模式选项会给用户带来更多工作,因为他们需要调整多个设置才能获得想要的外观。”
答: 正常文本至少 4.5:1,小文本推荐 7:1。
WCAG 对比度标准:
测试: 使用在线对比度计算器或 Xcode 的无障碍功能检查器。
答: iOS/iPadOS 上为 44x44 点,目标之间要有间距。
平台特定:
在设计审查、App Store 提交或向利益相关者演示时使用此检查清单:
在设计审查中,你会听到:
这些都违反了 HIG。以下是如何专业地反驳。
如果你听到任何以下内容,请参考此技能:
"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..."
对于对比度问题:
对于外观切换:
"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"
如果被否决:
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."
有时设计师有正当理由覆盖 HIG。如果满足以下条件,请接受:
每个设计决策都应支持这些原则:
定义: 内容应至高无上,界面元素应让位于内容。
实践:
定义: 使用标准 UI 元素和熟悉的模式。
实践:
定义: UI 不应与内容争夺注意力。
实践:
来自 HIG: “谦逊通过确保内容突出而周围的视觉元素不与之竞争,使应用变得美观。”
WWDC : 356, 2019-808
文档 : /design/human-interface-guidelines, /design/human-interface-guidelines/color, /design/human-interface-guidelines/dark-mode, /design/human-interface-guidelines/typography
技能 : axiom-hig-ref, axiom-liquid-glass, axiom-liquid-glass-ref, axiom-accessibility-diag
最后更新 : 基于 Apple HIG (2024-2025), WWDC25-356, WWDC19-808 技能类型 : 学科(快速决策、检查清单、压力场景)
每周安装次数
100
代码仓库
GitHub 星标数
606
首次出现
2026年1月21日
安全审计
安装于
opencode86
codex80
claude-code79
gemini-cli78
cursor76
github-copilot74
Use when:
axiom-hig-ref for comprehensive details and code examplesaxiom-liquid-glass for iOS 26 material design implementation and version-conditional design (supporting both pre-Liquid Glass and Liquid Glass in the same app)axiom-liquid-glass-ref for iOS 26 app-wide adoption guide with backward compatibility strategyaxiom-accessibility-diag for accessibility troubleshootingWhen 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.
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."
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."
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."
Verify every screen passes these checks:
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))
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))
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)
A: SF Symbols unless you need brand-specific imagery. They scale with Dynamic Type and adapt to appearance automatically.
Benefits of SF Symbols:
When to use custom:
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."
A: 4.5:1 minimum for normal text, 7:1 recommended for small text.
WCAG Contrast Standards:
Testing: Use online contrast calculators or Xcode's Accessibility Inspector.
A: 44x44 points on iOS/iPadOS, with spacing between targets.
Platform-specific:
Use this checklist for design reviews, App Store submissions, or stakeholder presentations:
In design reviews, you'll hear:
These violate HIG. Here's how to push back professionally.
If you hear ANY of these, reference this skill :
"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..."
For contrast issues:
For appearance toggles:
"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"
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."
Sometimes designers have valid reasons to override HIG. Accept if:
Every design decision should support these principles:
Definition: Content should be paramount, interface elements should defer to content.
In practice:
Definition: Use standard UI elements and familiar patterns.
In practice:
Definition: UI shouldn't compete with content for attention.
In practice:
From HIG: "Deference makes an app beautiful by ensuring the content stands out while the surrounding visual elements do not compete with it."
WWDC : 356, 2019-808
Docs : /design/human-interface-guidelines, /design/human-interface-guidelines/color, /design/human-interface-guidelines/dark-mode, /design/human-interface-guidelines/typography
Skills : axiom-hig-ref, axiom-liquid-glass, axiom-liquid-glass-ref, axiom-accessibility-diag
Last Updated : Based on Apple HIG (2024-2025), WWDC25-356, WWDC19-808 Skill Type : Discipline (Quick decisions, checklists, pressure scenarios)
Weekly Installs
100
Repository
GitHub Stars
606
First Seen
Jan 21, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode86
codex80
claude-code79
gemini-cli78
cursor76
github-copilot74
前端设计技能指南:避免AI垃圾美学,打造独特生产级界面
49,900 周安装
学术海报生成器posterskill:从Overleaf论文一键生成交互式会议海报
522 周安装
Shopify CLI设置教程:获取管理员API访问令牌,实现产品内容管理自动化
482 周安装
Tiptap 富文本编辑器:React 19+ 与 Tailwind v4 集成指南,支持 SSR 和自定义扩展
478 周安装
AI SDK Core:Vercel AI SDK v5/v6 后端AI开发工具包 - 支持OpenAI、Anthropic、Google模型
479 周安装
App Store市场脉搏分析工具:ASO专家必备的榜单、关键词、推荐应用监控技能
493 周安装
LinkedIn URL查找配方 - 集成GTM元技能,自动化处理社交网络数据
518 周安装