Builds clinic-architecture-aligned iOS design systems in SwiftUI (iOS 16+/Swift 6.2) with token architecture, color/typography/spacing, component styles, asset governance, and theming. Enforces @Equatable views for modular MVVM-C stack.
npx claudepluginhub joshuarweaver/cascade-code-general-misc-1 --plugin pproenca-dot-skills-1This skill uses the workspace's default tool permissions.
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.
Applies Acme Corporation brand guidelines including colors, fonts, layouts, and messaging to generated PowerPoint, Excel, and PDF documents.
Builds DCF models with sensitivity analysis, Monte Carlo simulations, and scenario planning for investment valuation and risk assessment.
Calculates profitability (ROE, margins), liquidity (current ratio), leverage, efficiency, and valuation (P/E, EV/EBITDA) ratios from financial statements in CSV, JSON, text, or Excel for investment analysis.
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.
This skill is designed to work alongside swift-ui-architect. All code examples follow the same non-negotiable constraints:
Domain + DesignSystem; no direct Data dependency@Observable for mutable UI state, ObservableObject / @Published never@Equatable macro on every viewThis skill is the infrastructure layer — it teaches how to BUILD the design system itself. When loaded alongside sibling skills:
| Sibling Skill | Its Focus | This Skill's Focus |
|---|---|---|
swift-ui-architect | Architecture (modular MVVM-C, route shells, protocol boundaries) | Design system infrastructure (tokens, styles, governance) |
ios-design | Using design primitives (semantic colors, typography) | Engineering the token system that provides those primitives |
ios-ui-refactor | Auditing/fixing visual quality issues | Preventing those issues via governance and automation |
ios-hig | HIG compliance patterns | Asset and component infrastructure that makes compliance easy |
All guidance in this skill assumes the clinic modular MVVM-C architecture:
Domain + DesignSystem only (never Data, never sibling features)DependencyContainer, concrete coordinators, and Route Shell wiringDomain stays pure Swift and defines models plus repository, *Coordinating, ErrorRouting, and AppError contractsData owns SwiftData/network/sync/retry/background I/O and implements Domain protocolsReference these guidelines when:
| Priority | Category | Impact | Prefix | Rules |
|---|---|---|---|---|
| 1 | Token Architecture | CRITICAL | token- | 6 |
| 2 | Color System Engineering | CRITICAL | color- | 7 |
| 3 | Component Style Library | CRITICAL | style- | 10 |
| 4 | Typography Scale | HIGH | type- | 5 |
| 5 | Spacing & Sizing System | HIGH | space- | 5 |
| 6 | Consistency & Governance | HIGH | govern- | 7 |
| 7 | Asset Management | MEDIUM-HIGH | asset- | 5 |
| 8 | Theme & Brand Infrastructure | MEDIUM | theme- | 5 |
token-three-layer-hierarchy - Use Raw → Semantic → Component token layerstoken-enum-over-struct - Use caseless enums for token namespacestoken-single-file-per-domain - One token file per design domaintoken-shapestyle-extensions - Extend ShapeStyle for dot-syntax colorstoken-asset-catalog-source - Source color tokens from asset catalogtoken-avoid-over-abstraction - Avoid over-abstracting beyond three layerscolor-organized-xcassets - Organize color assets with folder groups by rolecolor-complete-pairs - Define both appearances for every custom colorcolor-limit-palette - Limit custom colors to under 20 semantic tokenscolor-no-hex-in-views - Never use Color literals or hex in view codecolor-system-first - Prefer system colors before custom tokenscolor-tint-not-brand-everywhere - Set brand color as app tint, don't scatter itcolor-audit-script - Audit for ungoverned colors with a build scriptstyle-dls-protocol-pattern - Define custom style protocols for complex DLS componentsstyle-equatable-views - Apply @Equatable to every design system viewstyle-accessibility-first - Build accessibility into style protocols, not individual viewsstyle-protocol-over-wrapper - Use Style protocols instead of wrapper viewsstyle-static-member-syntax - Provide static member syntax for custom stylesstyle-environment-awareness - Make styles responsive to environment valuesstyle-view-for-containers-modifier-for-styling - Views for containers, modifiers for stylingstyle-catalog-file - One style catalog file per component typestyle-configuration-over-parameters - Prefer configuration structs over many parametersstyle-preview-catalog - Create a preview catalog for all stylestype-scale-enum - Define a type scale enum wrapping system stylestype-system-styles-first - Use system text styles before custom onestype-custom-font-registration - Register custom fonts with a centralized extensiontype-max-styles-per-screen - Limit typography variations to 3-4 per screentype-avoid-font-design-mixing - Use one font design per appspace-token-enum - Define spacing tokens as a caseless enumspace-radius-tokens - Define corner radius tokens by component typespace-no-magic-numbers - Zero hardcoded numbers in view layout codespace-insets-pattern - Use EdgeInsets constants for composite paddingspace-size-tokens - Define size tokens for common dimensionsgovern-naming-conventions - Enforce consistent naming conventions across all tokensgovern-spm-package-boundary - Isolate the design system as a local SPM packagegovern-single-source-of-truth - Every visual value has one definition pointgovern-lint-for-tokens - Use SwiftLint rules to enforce token usagegovern-design-system-directory - Isolate tokens in a dedicated directorygovern-migration-incremental - Migrate to tokens incrementallygovern-prevent-local-tokens - Prevent feature modules from defining local tokensasset-separate-catalogs - Separate asset catalogs for colors, images, iconsasset-sf-symbols-first - Use SF Symbols before custom iconsasset-icon-export-format - Use PDF/SVG vectors, never multiple PNGsasset-image-optimization - Use compression and on-demand resourcesasset-naming-convention - Consistent naming convention for all assetstheme-environment-key - Use EnvironmentKey for theme propagationtheme-dont-over-theme - Avoid building a theme system unless neededtheme-tint-for-brand - Use .tint() as primary brand expressiontheme-light-dark-only - Use ColorScheme for light/dark, not custom themingtheme-brand-layer-separation - Separate brand identity from system mechanicsRead individual reference files for detailed explanations and code examples:
| File | Description |
|---|---|
| references/_sections.md | Category definitions and ordering |
| assets/templates/_template.md | Template for new rules |
| metadata.json | Version and reference information |