Guides maintenance of legacy iOS Storyboards and Interface Builder in Swift 6.2 codebases with rules for Auto Layout, segues, size classes, accessibility, and SwiftUI migration.
npx claudepluginhub joshuarweaver/cascade-code-general-misc-1 --plugin pproenca-dot-skills-1This skill uses the workspace's default tool permissions.
Legacy interoperability guidance for storyboard-heavy code that still exists in clinic projects. Not for new SwiftUI clinic feature development.
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.
Legacy interoperability guidance for storyboard-heavy code that still exists in clinic projects. Not for new SwiftUI clinic feature development.
Comprehensive UI design and architecture guide for Xcode Storyboard and Interface Builder, focused on building maintainable, adaptive, and accessible iOS interfaces. Contains 45 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.
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 |
|---|---|---|---|
| 1 | Storyboard Architecture | CRITICAL | arch- |
| 2 | Auto Layout Constraints | CRITICAL | layout- |
| 3 | Navigation & Segues | HIGH | nav- |
| 4 | Adaptive Layout & Size Classes | HIGH | adapt- |
| 5 | View Hierarchy & Stack Views | MEDIUM-HIGH | view- |
| 6 | Accessibility & VoiceOver | MEDIUM | ally- |
| 7 | Version Control & Collaboration | MEDIUM | vcs- |
| 8 | Debugging & Inspection | LOW-MEDIUM | debug- |
arch-split-storyboards - Split Monolithic Storyboards into Feature Modulesarch-storyboard-references - Use Storyboard References for Cross-Module Navigationarch-one-scene-per-flow - Limit Each Storyboard to a Single User Flowarch-initial-view-controller - Set Initial View Controller Explicitly in Every Storyboardarch-avoid-hardcoded-identifiers - Avoid Hardcoded Storyboard and Cell Identifiersarch-scene-naming - Use Descriptive Scene Labels in Document Outlinearch-modular-xibs - Extract Reusable Views into Separate XIB Fileslayout-avoid-fixed-dimensions - Avoid Fixed Width and Height Constraintslayout-leading-trailing - Use Leading and Trailing Instead of Left and Rightlayout-safe-area - Constrain Views to Safe Area Guideslayout-content-hugging - Set Content Hugging and Compression Resistance Prioritieslayout-constraint-nearest-neighbor - Constrain to Nearest Neighbor Viewslayout-avoid-constant-offsets - Use Layout Margins Instead of Constant Offsetslayout-inequality-constraints - Use Inequality Constraints for Flexible Minimums and Maximumslayout-constraint-priorities - Assign Distinct Priorities to Optional Constraintsnav-prepare-for-segue - Pass Data via prepare(for:sender:) Instead of Direct Property Accessnav-unwind-segues - Use Unwind Segues to Navigate Backwardnav-avoid-mixed-navigation - Avoid Mixing Segue and Programmatic Navigationnav-adaptive-segues - Use Show and Show Detail Instead of Push and Modalnav-perform-segue-validation - Validate Segue Conditions with shouldPerformSeguenav-container-view-controllers - Use Container Views for Embedded Child View Controllersadapt-size-classes - Configure Constraints per Size Class Using Vary for Traitsadapt-trait-variations - Use Trait Variations for Font and Spacing Adjustmentsadapt-safe-area-all-devices - Test Adaptive Layouts on All Device Size Classesadapt-readable-content-guide - Use Readable Content Guide for Text on Large Screensadapt-dynamic-type - Support Dynamic Type for All Text Labelsview-prefer-stack-views - Use Stack Views Instead of Manual Constraints for Linear Layoutsview-avoid-deep-nesting - Avoid Deeply Nested Stack Views Beyond Two Levelsview-intrinsic-content-size - Rely on Intrinsic Content Size for Standard UIKit Controlsview-placeholder-intrinsic-size - Use Placeholder Intrinsic Size for Custom Views in Storyboardview-clip-to-bounds - Enable Clip to Bounds for Views with Corner Radiusview-content-mode - Set Correct Content Mode for UIImageView in Storyboardally-labels - Set Accessibility Labels for All Interactive Elementsally-traits - Assign Correct Accessibility Traits in Interface Builderally-grouping - Group Related Elements for VoiceOver Navigationally-identifiers - Set Accessibility Identifiers for UI Testingally-dynamic-labels - Update Accessibility Labels for Dynamic Contentvcs-one-scene-per-developer - Assign Storyboard Scenes to Individual Developersvcs-open-as-source - Review Storyboard Diffs as Source Code Before Committingvcs-lock-storyboard-files - Use Git File Locking for Active Storyboard Editsvcs-gitattributes-merge - Configure .gitattributes to Use Union Merge for Storyboardsdebug-view-hierarchy - Use Debug View Hierarchy to Inspect Layout Issuesdebug-ambiguous-layout - Use hasAmbiguousLayout to Detect Constraint Problems at Runtimedebug-constraint-identifier - Assign Identifiers to Constraints for Readable Logsdebug-stale-outlets - Remove Stale Outlet Connections to Prevent CrashesRead 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 |