Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
pproenca avatar

Ios Design System

  • 246 installs
  • 191 repo stars
  • Updated July 24, 2026
  • pproenca/dot-skills

ios-design-system: A skill for development. This provides functionality for development workflows.

Key points

  • ios-design-system

Ios Design System by the numbers

  • 246 all-time installs (skills.sh)
  • +11 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #1,568 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/pproenca/dot-skills --skill ios-design-system

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs246
repo stars191
Last updatedJuly 24, 2026
Repositorypproenca/dot-skills

How do I use ios-design-system for development tasks?

Use ios-design-system for development tasks

Who is it for?

Best when you're working on backend & apis and need structured help with ios-design-system.

Skip if: Teams with no backend & apis needs, or anyone wanting a generic chat assistant without this specific workflow.

When should I use this skill?

When you need to use ios-design-system for development tasks, or when ios-design-system: a skill for development. this provides functionality for development workflows.

What you get

Structured output aligned to ios-design-system: ios-design-system.

Files

SKILL.mdMarkdownGitHub ↗

Airbnb iOS Design System Best Practices

Opinionated, strict design system engineering for SwiftUI iOS 26 / Swift 6.2 apps. Contains 50 rules across 8 categories, prioritized by impact. Derived from Airbnb's Design Language System (DLS), Airbnb Swift Style Guide, Apple Human Interface Guidelines, and WWDC sessions. Mandates @Equatable on every view, @Observable for state, and style protocols as the primary component API.

Mandated Architecture Alignment

This skill is designed to work alongside swift-ui-architect. All code examples follow the same non-negotiable constraints:

  • Feature modules depend on Domain + DesignSystem; no direct Data dependency
  • @Observable for mutable UI state, ObservableObject / @Published never
  • @Equatable macro on every view
  • Style protocols as the primary component styling API (Airbnb DLS pattern)
  • Asset catalog as the source of truth for color values
  • Local SPM package for design system module boundary

Scope & Relationship to Sibling Skills

This skill is the infrastructure layer — it teaches how to BUILD the design system itself. When loaded alongside sibling skills:

Sibling SkillIts FocusThis Skill's Focus
swift-ui-architectArchitecture (modular MVVM-C, route shells, protocol boundaries)Design system infrastructure (tokens, styles, governance)
ios-designUsing design primitives (semantic colors, typography)Engineering the token system that provides those primitives
ios-ui-refactorAuditing/fixing visual quality issuesPreventing those issues via governance and automation
ios-higHIG compliance patternsAsset and component infrastructure that makes compliance easy

Clinic Architecture Contract (iOS 26 / Swift 6.2)

All guidance in this skill assumes the clinic modular MVVM-C architecture:

  • Feature modules import Domain + DesignSystem only (never Data, never sibling features)
  • App target is the convergence point and owns DependencyContainer, concrete coordinators, and Route Shell wiring
  • Domain stays pure Swift and defines models plus repository, *Coordinating, ErrorRouting, and AppError contracts
  • Data owns SwiftData/network/sync/retry/background I/O and implements Domain protocols
  • Read/write flow defaults to stale-while-revalidate reads and optimistic queued writes
  • ViewModels call repository protocols directly (no default use-case/interactor layer)

When to Apply

Reference these guidelines when:

  • Setting up a design system for a new iOS app
  • Building token architecture (colors, typography, spacing, sizing)
  • Creating reusable component styles (ButtonStyle, LabelStyle, custom DLS protocols)
  • Organizing asset catalogs (colors, images, icons)
  • Migrating from ad-hoc styles to a governed token system
  • Preventing style drift and enforcing consistency via automation
  • Building theming infrastructure for whitelabel or multi-brand apps
  • Reviewing PRs for ungoverned colors, hardcoded values, or shadow tokens

Rule Categories by Priority

PriorityCategoryImpactPrefixRules
1Token ArchitectureCRITICALtoken-6
2Color System EngineeringCRITICALcolor-7
3Component Style LibraryCRITICALstyle-10
4Typography ScaleHIGHtype-5
5Spacing & Sizing SystemHIGHspace-5
6Consistency & GovernanceHIGHgovern-7
7Asset ManagementMEDIUM-HIGHasset-5
8Theme & Brand InfrastructureMEDIUMtheme-5

Quick Reference

1. Token Architecture (CRITICAL)

  • `token-three-layer-hierarchy` - Use Raw → Semantic → Component token layers
  • `token-enum-over-struct` - Use caseless enums for token namespaces
  • `token-single-file-per-domain` - One token file per design domain
  • `token-shapestyle-extensions` - Extend ShapeStyle for dot-syntax colors
  • `token-asset-catalog-source` - Source color tokens from asset catalog
  • `token-avoid-over-abstraction` - Avoid over-abstracting beyond three layers

2. Color System Engineering (CRITICAL)

  • `color-organized-xcassets` - Organize color assets with folder groups by role
  • `color-complete-pairs` - Define both appearances for every custom color
  • `color-limit-palette` - Limit custom colors to under 20 semantic tokens
  • `color-no-hex-in-views` - Never use Color literals or hex in view code
  • `color-system-first` - Prefer system colors before custom tokens
  • `color-tint-not-brand-everywhere` - Set brand color as app tint, don't scatter it
  • `color-audit-script` - Audit for ungoverned colors with a build script

3. Component Style Library (CRITICAL)

  • `style-dls-protocol-pattern` - Define custom style protocols for complex DLS components
  • `style-equatable-views` - Apply @Equatable to every design system view
  • `style-accessibility-first` - Build accessibility into style protocols, not individual views
  • `style-protocol-over-wrapper` - Use Style protocols instead of wrapper views
  • `style-static-member-syntax` - Provide static member syntax for custom styles
  • `style-environment-awareness` - Make styles responsive to environment values
  • `style-view-for-containers-modifier-for-styling` - Views for containers, modifiers for styling
  • `style-catalog-file` - One style catalog file per component type
  • `style-configuration-over-parameters` - Prefer configuration structs over many parameters
  • `style-preview-catalog` - Create a preview catalog for all styles

4. Typography Scale (HIGH)

  • `type-scale-enum` - Define a type scale enum wrapping system styles
  • `type-system-styles-first` - Use system text styles before custom ones
  • `type-custom-font-registration` - Register custom fonts with a centralized extension
  • `type-max-styles-per-screen` - Limit typography variations to 3-4 per screen
  • `type-avoid-font-design-mixing` - Use one font design per app

5. Spacing & Sizing System (HIGH)

  • `space-token-enum` - Define spacing tokens as a caseless enum
  • `space-radius-tokens` - Define corner radius tokens by component type
  • `space-no-magic-numbers` - Zero hardcoded numbers in view layout code
  • `space-insets-pattern` - Use EdgeInsets constants for composite padding
  • `space-size-tokens` - Define size tokens for common dimensions

6. Consistency & Governance (HIGH)

  • `govern-naming-conventions` - Enforce consistent naming conventions across all tokens
  • `govern-spm-package-boundary` - Isolate the design system as a local SPM package
  • `govern-single-source-of-truth` - Every visual value has one definition point
  • `govern-lint-for-tokens` - Use SwiftLint rules to enforce token usage
  • `govern-design-system-directory` - Isolate tokens in a dedicated directory
  • `govern-migration-incremental` - Migrate to tokens incrementally
  • `govern-prevent-local-tokens` - Prevent feature modules from defining local tokens

7. Asset Management (MEDIUM-HIGH)

  • `asset-separate-catalogs` - Separate asset catalogs for colors, images, icons
  • `asset-sf-symbols-first` - Use SF Symbols before custom icons
  • `asset-icon-export-format` - Use PDF/SVG vectors, never multiple PNGs
  • `asset-image-optimization` - Use compression and on-demand resources
  • `asset-naming-convention` - Consistent naming convention for all assets

8. Theme & Brand Infrastructure (MEDIUM)

  • `theme-environment-key` - Use EnvironmentKey for theme propagation
  • `theme-dont-over-theme` - Avoid building a theme system unless needed
  • `theme-tint-for-brand` - Use .tint() as primary brand expression
  • `theme-light-dark-only` - Use ColorScheme for light/dark, not custom theming
  • `theme-brand-layer-separation` - Separate brand identity from system mechanics

How to Use

Read individual reference files for detailed explanations and code examples:

  • Section definitions - Category structure and impact levels
  • Rule template - Template for adding new rules

Reference Files

FileDescription
references/_sections.mdCategory definitions and ordering
assets/templates/_template.mdTemplate for new rules
metadata.jsonVersion and reference information

Related skills

FAQ

What does ios-design-system do?

ios-design-system: A skill for development. This provides functionality for development workflows.

When should I use ios-design-system?

When you need to use ios-design-system for development tasks, or when ios-design-system: a skill for development. this provides functionality for development workflows.

What are the main capabilities?

ios-design-system.

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.