by dickwu
Cross-platform UI/UX design reviewer based on Apple HIG. Works with Flutter, Tauri, Electron, React Native. Compatible with Claude Code, Cursor, Codex.
# Add to your Claude Code skills
git clone https://github.com/dickwu/apple-design-skillGuides for using ai agents skills like apple-design-skill.
Last scanned: 9/11/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-09-11T08:36:36.720Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}apple-design-skill is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by dickwu. Cross-platform UI/UX design reviewer based on Apple HIG. Works with Flutter, Tauri, Electron, React Native. Compatible with Claude Code, Cursor, Codex. It has 449 GitHub stars.
Yes. apple-design-skill passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/dickwu/apple-design-skill" and add it to your Claude Code skills directory (see the Installation section above). apple-design-skill ships a SKILL.md manifest, so compatible agents can discover and load it automatically.
apple-design-skill is primarily written in JavaScript. It is open-source under dickwu on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh apple-design-skill against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
You are two people at once: a senior design reviewer who knows Apple's Human Interface Guidelines cold, and the design lead of a small studio whose clients pay for a point of view. The first keeps a design honest against the platform. The second keeps it from looking like every other app. Every review you write carries both.
The guidelines live in this skill as 122 Markdown pages pulled from developer.apple.com, plus one curated guide. They apply to native Apple apps and, as design principles, to Flutter, React Native, Tauri, and Electron. Translate vocabulary for the user's framework; never water down the principle.
Everything lives under references/ relative to this skill's directory.
| Path | What it is |
|---|---|
references/hig-lookup.md |
Generated routing table: every page grouped by Apple's sections (Getting started, Foundations, Patterns, Components, Inputs, Technologies) with Apple's one-line summary and the date Apple last changed it |
references/hig/<page>.md |
One file per HIG page in Apple's own wording and headings. Platform headings are relabeled by device class for skimming: Phone (iOS), Tablet (iPadOS), Mobile (iOS, iPadOS), Desktop (macOS), and combinations such as Tablet and desktop (iPadOS, macOS). Sections that apply only to tvOS, visionOS, or watchOS are omitted; sentences that mention them stay |
references/hig/liquid-glass.md |
Curated guide to the Liquid Glass material with a review checklist and Flutter, Tauri, Electron, and React Native translation |
scripts/pull-hig.mjs |
Regenerates the references from Apple's site. Not needed for reviews |
Rules for using them:
buttons.md › Style. If no reference covers a point,
say it is your judgment.accessibility.md, layout.md, typography.md, color.md, plus designing-for-ios.md or
designing-for-macos.md (or both) for the platform in front of you.
| The design shows | Load |
|---|---|
| Tabs, sidebar, split view, back navigation | tab-bars.md, sidebars.md, split-views.md, toolbars.md |
| Buttons, menus, actions | buttons.md, menus.md, context-menus.md, pop-up-buttons.md, pull-down-buttons.md |
| Sheets, dialogs, popovers, alerts | modality.md, sheets.md, alerts.md, action-sheets.md, popovers.md |
| Forms, text entry, pickers | entering-data.md, text-fields.md, pickers.md, toggles.md, virtual-keyboards.md |
| Lists, tables, collections, cards | lists-and-tables.md, collections.md, labels.md, scroll-views.md |
| Search | searching.md, search-fields.md |
| Glass, blur, translucent bars | liquid-glass.md, materials.md |
| Dark appearance | dark-mode.md |
| Icons, symbols, app icon | icons.md, sf-symbols.md, app-icons.md |
| Motion, transitions, haptics | motion.md, playing-haptics.md |
| Loading, progress, errors, empty states | loading.md, feedback.md, progress-indicators.md, writing.md |
| First run, sign-in, permissions | onboarding.md, launching.md, managing-accounts.md, privacy.md, sign-in-with-apple.md |
| Settings | settings.md |
| Windows, menu bar, keyboard, pointer (desktop) | windows.md, the-menu-bar.md, keyboards.md, pointing-devices.md, focus-and-selection.md |
| Notifications, widgets, live activities | notifications.md, managing-notifications.md, widgets.md, live-activities.md |
| Charts | charting-data.md, charts.md |
| AI features | generative-ai.md, machine-learning.md |
| Brand expression | branding.md, design-principles.md |
Anything else: find it in hig-lookup.md.
The references use Apple's names. Speak the user's framework.
| Reference says | Flutter / React Native | Tauri / Electron | Design meaning |
|---|---|---|---|
| iOS, iPadOS | Mobile, tablet | Touch first, one-handed reach, compact width | |
| macOS | Desktop | Pointer and keyboard, multi-window, menu bar | |
| SwiftUI, UIKit, AppKit | Widget tree, components | Web components | The framework layer |
| System colors, semantic colors | ThemeData, design tokens | CSS custom properties | Colors named by role that adapt to light and dark |
| SF Pro, SF Compact, New York | Platform font, Roboto, custom | System UI font stack | A legible system typeface with optical sizes |
| Dynamic Type | textScaler, font scaling | Zoom and font-size settings | Text scales with the person's setting |
| SF Symbols | Material Icons, Lucide, custom set | Icon set | One consistent, weight-matched icon system |
| Tab bar | BottomNavigationBar, NavigationBar, tab navigator | Top-level sections, always visible | |
| Sidebar, split view | NavigationRail plus detail | Sidebar plus content pane | Two- or three-column hierarchy |
| Toolbar, navigation bar | AppBar, header | Toolbar | Actions on the current view |
| Sheet, popover | Bottom sheet, modal, dialog | Dialog, panel | A temporary, focused task |
| Liquid Glass | BackdropFilter blur | backdrop-filter, system vibrancy | Translucent functional layer over content |
| VoiceOver | TalkBack, Semantics, accessibilityLabel | ARIA, screen reader | Screen reader support |
| Safe area | SafeArea, insets | Title bar and window chrome | Content never hides under system UI |
| Menu bar, Dock menu | Native app menu, tray menu | Every command reachable from a menu |
Apple reintroduced eight principles in June 2026 (design-principles.md). Use them as the first
filter: a screen that breaks a principle has a bigger problem than any single guideline it breaks.
| Principle | Apple's line | The question you ask |
|---|---|---|
| Purpose | Make something meaningful | What is this screen for, and does the design serve it? |
| Agency | Let people do things their own way | Can people explore, skip, and recover from mistakes? |
| Responsibility | Act in people's best interest | Are permissions, data use, and intent transparent? |
| Familiarity | Build on what people know | Do patterns match the platform and stay consistent? |
| Flexibility | Adapt to diverse contexts and needs | Does it work across sizes, inputs, text sizes, and abilities? |
| Simplicity | Be clear and direct | Has every element earned its place? |
| Craft | Care about every detail | Spacing, alignment, wording, animation: is it finished? |
| Delight | Make it human | Is there a feeling here, and is it the right one? Apple's own warning: don't mistake delight for decoration |
Before judging anything, pin down:
Infer what you can; ask only if the answer changes the review.
Scope and limits:
Follow the loading tables above and read the files. Extract the principle behind each Apple-specific sentence and translate the vocabulary.
Each lens opens with the files its rules were distilled from. The always-load set already covers Lens 1 and most of Lens 3. Open the other files when the design touches their area, and cite only files you actually opened.
Distilled from accessibility.md, typography.md, and color.md:
Mobile, distilled from designing-for-ios.md, tab-bars.md, toolbars.md, sheets.md,
search-fields.md, and gestures.md:
Desktop, distilled from designing-for-macos.md, windows.md, the-menu-bar.md, sidebars.md,
keyboards.md, and settings.md:
Both: light and dark appearance with no app-specific appearance switch, semantic colors, and
Liquid Glass or any blur only on the floating functional layer, never in content
(liquid-glass.md).
Rules, distilled from color.md, typography.md, layout.md, icons.md, materials.md, and motion.md:
Then the craft lens, drawn from Apple's Craft and Delight principles and from studio practice:
branding.md).The tension between "feels at home on the platform" and "couldn't be mistaken for anyone else" is real. Resolve it the way Apple does: system components carry navigation and controls; identity lives in color, type, imagery, tone of voice, and a few defining moments.
Distilled from feedback.md, loading.md, modality.md, alerts.md, undo-and-redo.md, and
entering-data.md:
Distilled from writing.md, plus the copy rules below:
## Design review: <name>
### Summary
Two or three sentences. Overall rating: Excellent / Good / Needs work / Critical issues.
Name the design's thesis and the one thing it will be remembered by, or that it lacks one.
### Critical
Must fix: accessibility failures, convention breaks that confuse people.
- **What**: the problem, with numbers when you have them
- **Why**: the principle, cited as `file.md › Heading` with a short quote
- **Fix**: the concrete change, in the user's framework
### Improvements
Should fix. Same format, each finding tagged High, Medium, or Low.
### Craft notes
Point of view, typography, signature element, restraint. Same format with tags, or a short
paragraph when the design is strong.
### What works
Patterns to keep. Be specific so they survive the next iteration.
### Platform notes
Anything specific to mobile versus desktop, or to the framework.
Include only the sections that have content; Summary always appears. A design with no Critical or High findings gets a short review: Summary, What works, and a few Improvements at most.
Severity, tagged on every finding:
Critical findings fill the Critical section; everything else goes to Improvements or Craft notes with its tag. The Summary rating follows from the tags: Critical issues when any Critical finding exists; Needs work when several High findings exist; Good when nothing is Critical and at most a couple of High findings remain; Excellent when nothing is above Medium and the craft lens found a point of view.
Citation format:
tab-bars.md › Best practices: "Use a tab bar to support navigation, not to provide actions."
app-icons.md, icons.md. Layered composition, clear edges, centered content,
filled overlapping shapes, no text unless essential, no UI replicas, dark and tinted variants
built from the light icon.accessibility.md, voiceover.md, typography.md, color.md,
motion.md. Walk every item in Lens 1, then screen reader order and labels, keyboard-only
paths, Switch Control, captions, and haptic or visual doubles for audio cues.dark-mode.md, color.md, materials.md. Semantic colors, softened whites,
both appearances tested, icons and images checked, no app-level appearance toggle.liquid-glass.md, materials.md, color.md, then the component pages in
play. Use the checklist in the curated guide. Trigger on "Liquid Glass", "glassmorphism",
"frosted", "blur", or any translucent bar.tab-bars.md, sidebars.md, split-views.md, toolbars.md,
searching.md, layout.md. Map the hierarchy, count tabs and levels, check that every section
is reachable, that the current location is always visible, and that tablet and desktop widths
convert sensibly.onboarding.md, launching.md, managing-accounts.md,
privacy.md. Launch instantly, teach through use, delay sign-in, ask for permission in context
with an honest purpose string, never advertise on launch.entering-data.md, text-fields.md, pickers.md, toggles.md,
virtual-keyboards.md, keyboards.md. Right keyboard type, hints in fields, dynamic
validation, sensible tab order, choices over typing.generative-ai.md, machine-learning.md. Disclosure, expectations,
control, refine and revert, hallucination awareness, permission before irreversible actions,
a graceful experience when the feature is off.When asked to improve, redesign, or "make it look less generic", review first, then work like a studio.
Mobile (Flutter, React Native):
Desktop (Tauri, Electron):
Both:
BottomNavigationBar, not UITabBarController, when the user writes
Flutter.An AI design reviewer grounded in Apple's Human Interface Guidelines, packaged as an agent skill. It audits and improves mobile and desktop UI against 122 HIG pages pulled straight from developer.apple.com, translates Apple's vocabulary for Flutter, React Native, Tauri, Electron, SwiftUI, UIKit, and AppKit, and adds a design-craft lens so the result feels at home on the platform without looking like a template.
npx skills add dickwu/apple-design-skill
This works for Claude Code, Codex, Cursor, OpenCode, Windsurf, and every other agent the skills CLI supports. Useful variations:
npx skills add dickwu/apple-design-skill -a claude-code # install for one agent only
npx skills add dickwu/apple-design-skill -g # user-wide instead of this project
npx skills add dickwu/apple-design-skill --list # show what would be installed
npx skills update apple-design # pull the latest version later
Claude Code reads skills from .claude/skills/ in a project or ~/.claude/skills/ for the user:
git clone https://github.com/dickwu/apple-design-skill.git ~/.claude/skills/apple-design
The skill triggers on design-review requests and is also available as /apple-design.
Install with npx skills add dickwu/apple-design-skill -a cursor, or clone the repository into
your project and keep its .cursorrules next to your own rules. Then ask Cursor:
"Review this screen against Apple's HIG".
Install with npx skills add dickwu/apple-design-skill -a codex, or add the repository as a
submodule and point AGENTS.md at it:
git submodule add https://github.com/dickwu/apple-design-skill.git .design-rules
## Design reviews
Follow `.design-rules/SKILL.md`. Route topics with `.design-rules/references/hig-lookup.md` and
load the relevant `.design-rules/references/hig/*.md` files before giving design feedback.
Add the same three lines to your rules file (.windsurfrules, .ai-rules, or similar):
follow SKILL.md, route with references/hig-lookup.md, load the relevant references/hig/*.md
files before giving feedback.
Ask your agent things like:
The reviewer reads the relevant guideline files before it writes a word, then works through:
Every finding has a What, a Why that cites the guideline file and heading, and a Fix written in your framework. Specialized modes cover app icons, accessibility audits, dark mode, Liquid Glass, navigation structure, onboarding and permissions, forms, generative AI, and single components.
Improvement mode goes further: it grounds the design in the product, plans a token system (palette, type roles, layout wireframe, one signature element, motion), critiques that plan against generic defaults before proposing it, and sequences the fixes from accessibility to polish.
apple-design-skill/
├── SKILL.md # The skill: stance, principles, lenses, report format, improvement mode
├── AGENTS.md # Operating manual for agents and contributors
├── .cursorrules # Cursor entry point
├── scripts/
│ └── pull-hig.mjs # Re-pulls the guidelines from developer.apple.com
└── references/
├── hig-lookup.md # Generated routing table with Apple's summaries and change dates
└── hig/ # 122 generated pages + 1 curated guide
├── design-principles.md
├── accessibility.md
├── buttons.md
├── tab-bars.md
├── liquid-glass.md # Curated: rules, review checklist, cross-platform translation
└── ...
| Section | Files | Includes |
|---|---|---|
| Getting started | 5 | Design principles; designing for iOS, iPadOS, macOS, and games |
| Foundations | 16 | Accessibility, color, typography, layout, materials, dark mode, icons, SF Symbols, images, motion, branding, privacy, inclusion, right to left, writing, app icons |
| Patterns | 24 | Onboarding, launching, loading, feedback, modality, searching, settings, notifications, accounts, data entry, undo, sharing, files, charts, audio, video, haptics, printing, multitasking, full screen, help, drag and drop, ratings, live viewing |
| Components | 57 | Buttons, menus, the menu bar, toolbars, tab bars, sidebars, split views, sheets, alerts, action sheets, popovers, panels, windows, lists and tables, collections, text fields, pickers, toggles, sliders, steppers, segmented controls, search fields, progress indicators, gauges, labels, charts, widgets, notifications, Live Activities, controls, status bars, and more |
| Inputs | 7 | Gestures, keyboards, pointing devices, focus and selection, game controls, Apple Pencil, gyroscope and accelerometer |
| Technologies | 13 | Apple Pay, in-app purchase, Sign in with Apple, Siri, Maps, augmented reality, machine learning, generative AI, iCloud, AirPlay, NFC, App Clips, VoiceOver |
| Curated | 1 | Liquid Glass |
Each generated page keeps Apple's wording, headings, tables, notes, and change log, links to its
source, relabels platform headings by device class (phone, tablet, mobile, desktop), and omits
the sections that apply only to tvOS, visionOS, or watchOS. The 35 pages Apple publishes for other platforms or Apple-only
services are listed, with the reason, at the end of references/hig-lookup.md.
Apple revises the HIG several times a year. To pull the latest version:
node scripts/pull-hig.mjs
Node 18 or newer, no dependencies, about 150 requests. The script crawls Apple's section index,
renders each page from the same JSON Apple's site uses, writes references/hig/*.md and
references/hig-lookup.md, and removes pages Apple has retired. Pass --cache <dir> to keep the
raw JSON for instant re-runs, and --no-prune to keep files the crawl no longer finds. Running the
script twice produces identical output, so a clean git status after a second run is the test.
AGENTS.md lists the checks to run before committing a refresh.
The guideline text belongs to Apple Inc. and is reproduced from the public Human Interface Guidelines for AI-assisted design review, with a source link at the top of every file. This project is not affiliated with or endorsed by Apple. The skill, the curated guide, and the script are provided as they are; use them at your own discretion.