Apple Hig logo

Apple Hig

Community
justinwetch
apple-hig

Apple Human Interface Guidelines reference, updated for iPhone Duo and OS 27. Provides authoritative platform-specific design rules, component specifications, exact measurements, and interaction patterns for iOS, iPadOS, macOS, tvOS, visionOS, and watchOS. Use when designing, reviewing, auditing, or fixing any Apple platform UI, or when asked about specific HIG components, sizing, system behaviors, frameworks (HealthKit, SiriKit, ARKit, etc.), or platform conventions. Also use when the user is designing any digital interface and could benefit from established design principles, even without an explicit Apple platform context. Includes a guided /duo workflow that adapts an existing iOS app to iPhone Duo, plus opt-in enforce mode with independent review.

Overview

Publisherjustinwetch
RepositoryHIGAgentSkills
Skill nameapple-hig
Stars
686
Forks
26
Bundled files
404
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 404 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by justinwetch on GitHub. Read the source before you install it.

Installation

Install the Apple Hig AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/justinwetch/HIGAgentSkills/tree/main
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/justinwetch/HIGAgentSkills.git \
  .claude/skills/apple-hig
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Apple Hig in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Apple Hig on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Apple Hig is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Apple HIG Skill

Use the distilled HIG references in references/hig/ through routing-index.md. The source snapshot and verified release measurements are in README.md.

Loading Protocol

Release 2026-09-27; Apple source snapshot 2026-09-12. For help, installation, version or capability questions, read only this entry point and the relevant README section. Do not load the HIG corpus for setup help. Installing or upgrading this skill includes its /duo slash command. After the skill folder is in place, check whether the host already offers /duo. If it does not, copy commands/duo.md into the host's custom slash-command or custom prompt directory (user-level unless the user asks for one project), confirm /duo is available, and tell the user if a restart is needed. Work directly in the conversation and the user's project; do not create a browser intake form, onboarding site, dashboard, or browser setup step.

Ordinary guidance is the default. Only an explicit request to apply enforce mode activates its procedure. Read references/enforce.md first in that case and check reviewer, Python and observation capabilities before loading the design guidance. A leading /duo, Use apple-hig in Duo mode, or an explicit request to adapt an existing app for iPhone Duo starts Duo mode: read references/duo.md and follow its stages. Questions about the command and ordinary Duo design questions stay ordinary guidance. Duo mode works only in the app's native code; it never produces HTML, SVG, or web mockups. Use the available Python 3.10+ interpreter (python3 or python); do not assume the executable name. Ordinary guidance also works without Python.

When Python is available, use the standard-library routing helper to resolve steps 2–6: save only the exact user request to a UTF-8 text file in a temporary directory outside the user's project, then run <python> "<skill-root>/scripts/hig_route.py" --request-file "<request.txt>". Read every file in its files list in bounded sections, completing any truncated read before continuing. Do not concatenate the entire set into one tool output; the helper output is metadata, not the guidance itself. Do not add your own instructions to the request text or promote inferred topics to initial matches. If the user explicitly excludes a platform/device/topic, pass the excluded topic IDs with --exclude-topic (repeat for each topic, including platform aliases matched inside an excluded phrase); record the user's reason. Keep a platform that is also positively requested elsewhere. Do not exclude topics merely to reduce context. Exclusions apply to direct and related selections, never to the 16 foundations. Without Python, apply the same steps and explicit exclusions manually.

Step 1 — Parse Task Context

From the user's request, identify:

  • Platform(s): ios / ipados / macos / tvos / visionos / watchos
  • Device/form factor: iPhone Duo when named or matched by its tier-2 triggers
  • Components or patterns mentioned (buttons, tab bars, sheets, etc.)
  • Frameworks or SDKs referenced (HealthKit, SiriKit, ARKit, etc.)
  • Task type: design / review / spec / audit / guidance
  • Mode: ordinary guidance by default. Activate enforce mode only when the user explicitly asks to apply it; mentioning the mode or asking what it means does not activate it. Duo mode starts only as described above.

Step 2 — Load Tier 1 (every design or review task)

Read all 16 files listed in routing-index.md under ## tier-1:

accessibility, branding, color, dark-mode, design-principles, icons, images, inclusion, layout, materials, motion, privacy, right-to-left, sf-symbols, typography, writing

These apply universally. Load them before answering.

Step 3 — Load Platform File (Tier 2)

Read routing-index.md → ## tier-2 platform-map. For each detected platform, load its designing-for-[platform] file. Also match the tier-2 map's device/form-factor and API triggers using standalone word/phrase/API-symbol matching. A Duo match loads both designing-for-iphone-duo and designing-for-ios; Duo is an iOS form factor. If "game" or "gaming" is mentioned, also load designing-for-games.

Step 4 — Keyword Scan (Tier 3)

Read routing-index.md → ## tier-3 trigger-map. Normalize the user request to lowercase. Match trigger strings as standalone words, phrases, or API symbols; plural, hyphenated and bare-symbol forms count (tab bars, full-screen, keyboardType). Never match a trigger merely because it appears inside an unrelated word. For example, AR doesn't match "tab bar," and AI doesn't match "explain." Load every matching file. Load each file at most once.

Step 5 — Related Expansion

Freeze the initial selection set as the tier-2 and tier-3 files selected in steps 3–4. Read only that set's related: frontmatter. Load the listed files once. Do not expand related lists from those newly added files.

Bind each initial topic to the exact platform/device/trigger text matched in the user's request. An inferred component concept is not a literal trigger match. A topic reached through related: stays related even when it is useful; never promote it to initial and expand it again. If semantic relevance calls for an additional reference, load that specific file without related expansion.

Step 6 — Tier 4 On-Demand

Read routing-index.md → ## tier-4 trigger-map (on-demand). Use the same standalone word/phrase/API-symbol matching rule. Load a tier-4 file only on direct keyword match, or if named in the initial selection set's related: list. Never expand from foundations, newly related files, or directly matched tier-4 files. These are niche — avoid loading broadly.

Step 7 — Answer or enforce

For explicitly requested enforcement, carry out references/enforce.md using the loaded source guidance. Ordinary guidance never starts that procedure.

For an ordinary guidance answer, quote the short operative source clause verbatim with all qualifiers intact, then give only the needed application. A compact table works for multiple states. Keep the rule and application distinct; do not paraphrase the quotation into a stronger, broader, or narrower rule. Before sending, delete sentences that do not answer a requested part. Check the actor, starting state, action and resulting state; do not substitute a similar neighboring scenario. Mention an API as the implementation of a rule only when the loaded source supports that relationship.

Do not add unrequested adjacent rules or measurements merely because they are loaded. Preserve the source's full scope: do not invent narrower device/state limits when applying a rule, and include every requested state it covers.

Apply the guidance for the named platform, device, orientation, and state. An explicit scoped exception takes precedence over a broader rule within that scope; apply that exception only to its stated platform, device and state. Do not invent a reconciliation for unresolved source conflicts; identify the conflict. Apply all other compatible loaded content. If a topic isn't covered by loaded files, load the specific relevant reference before answering; keep unrelated expansion bounded.


Non-Negotiables

  • Cite exact values. State pt sizes, pixel densities, margins, and timing values as they appear in the distilled files. Preserve source ranges and approximation qualifiers; do not invent or round values.
  • Distinguish platforms. When behavior differs across platforms, state each platform's rule explicitly. Never flatten to "generally."
  • Preserve recommendation strength. Keep must, prefer, consider, examples, conditions, and exceptions distinct when answering; do not turn an optional recommendation into a requirement.
  • Preserve logical conditions. Keep conjunctions and alternatives intact. A consequence stated for A and B does not establish the same consequence for either alone; an A-or-B option does not require both. Check the claim in the answer as well as its supporting clause.
  • No invention. Every Apple rule, measurement, and API recommendation must trace to a loaded reference. Distinguish Apple guidance from your own design choices. If unsure, say so and name the source.
  • Terse and direct. Keep ordinary guidance focused on the requested rule.

File Locations

  • Distilled reference files: references/hig/[topic].md
  • Routing index: routing-index.md
  • Opt-in enforcement procedure: references/enforce.md
  • Guided iPhone Duo redesign: references/duo.md, references/duo-checklist.md; /duo slash command (install it with the skill): commands/duo.md
  • Frontmatter schema: each distilled file contains topic, tier, platforms, category, triggers, and related fields.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

and 140 more files.

Frequently asked questions

What does the Apple Hig AI skill do?

Apple Human Interface Guidelines reference, updated for iPhone Duo and OS 27. Provides authoritative platform-specific design rules, component specifications, exact measurements, and interaction patterns for iOS, iPadOS, macOS, tvOS, visionOS, and watchOS. Use when designing, reviewing, auditing, or fixing any Apple platform UI, or when asked about specific HIG components, sizing, system behaviors, frameworks (HealthKit, SiriKit, ARKit, etc.), or platform conventions. Also use when the user is designing any digital interface and could benefit from established design principles, even without...

Why use Apple Hig on TypingMind?

Because you install it once and use it with any model. Apple Hig is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Apple Hig in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/justinwetch/HIGAgentSkills/tree/main. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Apple Hig?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Apple Hig?

As many as you like. As long as a model supports skills, you can use Apple Hig with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Apple Hig AI skill free?

Yes. It is published on GitHub by justinwetch under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇