Skip to content
Development
Skill

/apple-typography-workflow

Guide Apple platform typography decisions and implementation across SwiftUI Font, UIKit UIFont, AppKit NSFont, San Francisco system fonts, SF Pro, SF Compact, SF Mono, SF Pro Rounded, New York serif design, Dynamic Type, text styles, fontDesign, fontWeight, fontWidth, monospaced

From plugin
socket
10200 skills5 MCP

Claude Code

$ npx -y skills add gaelic-ghost/socket --skill apple-typography-workflow --agent claude-code

SKILL.md

apple-typography-workflow.SKILL.md
name: apple-typography-workflow
description: Guide Apple platform typography decisions and implementation across SwiftUI Font, UIKit UIFont, AppKit NSFont, San Francisco system fonts, SF Pro, SF Compact, SF Mono, SF Pro Rounded, New York serif design, Dynamic Type, text styles, fontDesign, fontWeight, fontWidth, monospaced digits, custom font bundle integration, font licensing and redistribution boundaries, accessibility scaling, and Xcode font asset validation. Use when a task mentions Apple typography, San Francisco, SF Pro, SF Compact, SF Mono, New York, Dynamic Type, UIFontMetrics, preferredFont, NSFont.TextStyle, custom fonts, UIAppFonts, ATSApplicationFontsPath, or text style repair.

Apple Typography Workflow

Purpose

Use this skill to choose, implement, repair, and validate Apple platform typography that respects system font behavior, Dynamic Type, accessibility, platform conventions, and custom-font bundle boundaries.

It is not the generic visual-design workflow, not the SF Symbols workflow, and not the Xcode project execution workflow.

When To Use

  • Use this skill when the task mentions Apple typography, San Francisco, SF Pro, SF Compact, SF Mono, SF Pro Rounded, New York, system fonts, Dynamic Type, text styles, font designs, font weights, font widths, monospaced digits, or custom font integration.
  • Use this skill when code uses SwiftUI `Font`, `fontDesign`, `fontWeight`, `fontWidth`, UIKit `UIFont`, `UIFontMetrics`, `UIFontDescriptor.SystemDesign`, AppKit `NSFont`, preferred fonts, `UIAppFonts`, or `ATSApplicationFontsPath`.
  • Use this skill when text does not scale correctly, hard-coded point sizes are hurting accessibility, custom fonts are not loading, or a project is bundling fonts unnecessarily.
  • Recommend `apple-ui-accessibility-workflow` when the work is broader accessibility review beyond typography scaling and readability.
  • Recommend `sf-symbols-workflow` when the task is icon or symbol selection rather than text.
  • Recommend `xcode-build-run-workflow` when the next step is adding font files, Info.plist keys, bundle resources, target membership, preview, build, or simulator validation.

Single-Path Workflow

1. Classify the typography job:

  • system text style choice
  • San Francisco or system design choice
  • monospaced or monospaced-digit choice
  • New York or serif design choice
  • Dynamic Type repair
  • custom font integration
  • font licensing or redistribution boundary
  • Xcode resource or Info.plist validation

2. Apply the Apple docs gate:

  • read the relevant Apple documentation first
  • state the documented behavior being relied on before recommending implementation
  • if Apple docs and current code disagree, stop and surface the conflict
  • if no relevant Apple docs can be found, say that explicitly before proceeding

3. Choose system typography first:

  • use SwiftUI `Font` text styles and system designs for SwiftUI
  • use `UIFont.preferredFont(forTextStyle:)` and `UIFontMetrics` for UIKit
  • use `NSFont.preferredFont(forTextStyle:options:)` or system font APIs for AppKit
  • use custom font files only when the app's brand or content requirements justify them

4. Preserve accessibility scaling:

  • prefer Dynamic Type text styles over hard-coded point sizes
  • scale custom fonts through the framework-supported metrics path
  • ensure controls and layout can adapt to larger text
  • avoid using font weight, width, size, or color as the only signal for state

5. Check platform and asset boundaries:

  • do not bundle Apple system font files for normal app UI
  • avoid machine-local font paths in public docs, project files, or scripts
  • use documented Info.plist keys and Xcode resource membership for custom font files
  • state licensing and redistribution concerns once when the task asks to extract, modify, bundle, or publish Apple font assets

6. Return one recommendation path with:

  • chosen text style or font design
  • Dynamic Type behavior
  • custom font or system font decision
  • documented Apple behavior relied on
  • validation or handoff step

Inputs

  • `request`: optional free-text task description used to classify the typography question.
  • `target_framework`: optional framework emphasis such as `swiftui`, `uikit`, `appkit`, or `mixed`.
  • `target_platforms`: optional platform list such as `ios`, `macos`, `watchos`, `tvos`, `visionos`, or `mixed-apple`.
  • `font_assets`: optional paths or names for custom font files.
  • `text_role`: optional text role such as body, headline, caption, code, tabular data, brand display, or dense utility UI.
  • Defaults:
  • Apple docs-first guidance always applies
  • system typography is preferred before bundled custom fonts
  • Dynamic Type and readability are part of the first recommendation, not a later polish step

Outputs

  • `status`
  • `success`: the request belongs to this workflow and a typography recommendation is ready
  • `handoff`: another skill owns the next step after typography-aware classification
  • `blocked`: docs, asset, platform, licensing, or project context is insufficient for an honest recommendation
  • `path_type`
  • `system-typography`
  • `dynamic-type-repair`
  • `custom-font-integration`
  • `licensing-boundary`
  • `project-validation`
  • `handoff`
  • `output`
  • classified typography job
  • chosen system text style, design, or custom font path
  • Dynamic Type and accessibility behavior
  • licensing or redistribution boundary when relevant
  • documented Apple behavior relied on
  • validation or handoff step

Guards and Stop Conditions

  • Do not bundle Apple system font files for ordinary app UI.
  • Do not hard-code machine-local font paths into public project files, scripts, or docs.
  • Do not skip Dynamic Type when user-facing text is involved.
  • Do not claim a custom font is loaded or available until the project resource and Info.plist path have been validated.
  • Do not use typography alone to communicate
Read more
@gaelic-ghost
Ships withsocket

Stuff for Agents on macOS Promo audio: Socket Codex Marketplace Promo

10200 skills5 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
10
Star history of gaelic-ghost/socket on GitHub, a chart by star-history.com

Other skills on socket.

orchestrate-agent-work

orchestrate-agent-work

Coordinate bounded worker tasks with a launch envelope, report-back, escalation, and synthesis contract. Use before spawning,…

@gaelic-ghost@gaelic-ghostInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about apple-typography-workflow.

Which coding agents can use apple-typography-workflow?
apple-typography-workflow installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.