Enforces SwiftUI navigation patterns for iOS 26/Swift 6.2 clinic modular MVVM-C apps using coordinators, NavigationPath ownership, route shells, and deep links. Use for designing or refactoring navigation flows.
npx claudepluginhub joshuarweaver/cascade-code-general-misc-1 --plugin pproenca-dot-skills-1This skill uses the workspace's default tool permissions.
Opinionated navigation enforcement for SwiftUI apps using the clinic modular architecture. Focus on coordinator + route shell wiring, feature isolation, and resilient push/sheet/deep-link flows.
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 navigation enforcement for SwiftUI apps using the clinic modular architecture. Focus on coordinator + route shell wiring, feature isolation, and resilient push/sheet/deep-link flows.
@Equatable macro on every navigation view, AnyView never@Observable everywhere, ObservableObject / @Published neverNavigationPath; route shells own .navigationDestination mappings@State booleans for sheets neverAll 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 | Navigation Architecture | CRITICAL | arch- |
| 2 | Navigation Anti-Patterns | CRITICAL | anti- |
| 3 | Transition & Animation | HIGH | anim- |
| 4 | Modal Presentation | HIGH | modal- |
| 5 | Flow Orchestration | HIGH | flow- |
| 6 | Navigation Performance | MEDIUM-HIGH | perf- |
| 7 | Navigation Accessibility | MEDIUM | ally- |
| 8 | State & Restoration | MEDIUM | state- |
arch-navigation-stack - Use NavigationStack over deprecated NavigationViewarch-value-based-links - Use value-based NavigationLink over destination closuresarch-destination-registration - Register navigationDestination at stack rootarch-destination-item - Use navigationDestination(item:) for optional-based navigation (iOS 26 / Swift 6.2)arch-route-enum - Define routes as Hashable enumsarch-split-view - Use NavigationSplitView for multi-column layoutsarch-coordinator - Extract navigation logic into Observable coordinatorarch-observable-environment - Use @Environment with @Observable and @Bindable for shared statearch-deep-linking - Handle deep links by appending to NavigationPatharch-navigation-path - Use NavigationPath for heterogeneous type-erased navigationarch-equatable-views - Apply @Equatable macro to every navigation viewarch-observable-only - Use @Observable only — never ObservableObject or @Publishedarch-no-anyview - Never use AnyView in navigation — use @ViewBuilder or genericsarch-coordinator-modals - Present all modals via coordinator — never inline @Stateanti-mixed-link-styles - Avoid mixing NavigationLink(destination:) with NavigationLink(value:)anti-scattered-destinations - Avoid scattering navigationDestination across viewsanti-shared-stack - Avoid sharing NavigationStack across tabsanti-hidden-back-button - Avoid hiding back button without preserving swipe gestureanti-navigation-in-init - Avoid heavy work in view initializersanti-hamburger-menu - Avoid hamburger menu navigationanti-programmatic-tab-switch - Avoid programmatic tab selection changesanim-zoom-transition - Use zoom navigation transition for hero animations (iOS 18+)anim-matched-geometry-same-view - Use matchedGeometryEffect only within same view hierarchyanim-spring-config - Use modern spring animation syntax (iOS 26 / Swift 6.2)anim-gesture-driven - Use interactive spring animations for gesture-driven transitionsanim-transition-source-styling - Style transition sources with shape and backgroundanim-reduce-motion-transitions - Respect reduce motion for all navigation animationsanim-scroll-driven - Use onScrollGeometryChange for scroll-driven transitions (iOS 18+)modal-sheet-vs-push - Use push for drill-down, sheet for supplementary contentmodal-detents - Use presentation detents for contextual sheet sizingmodal-fullscreen-cover - Use fullScreenCover only for immersive standalone experiencesmodal-sheet-placement - Place .sheet on container view, not on NavigationLinkmodal-interactive-dismiss - Guard unsaved changes with interactiveDismissDisabledmodal-nested-navigation - Use separate NavigationStack inside modalsflow-tab-independence - Give each tab its own NavigationStackflow-multi-step - Use NavigationStack with route array for multi-step flowsflow-sidebar-navigation - Use NavigationSplitView with selection binding for sidebarflow-tab-sidebar-adaptive - Use sidebarAdaptable TabView for iPad tab-to-sidebar (iOS 18+)flow-pop-to-root - Implement pop-to-root by clearing NavigationPathflow-screen-independence - Keep screens independent of parent navigation contextperf-lazy-destinations - Use value-based NavigationLink for lazy destination constructionperf-task-modifier - Use .task for async data loading on navigationperf-state-object-ownership - Own @Observable state with @State, pass as plain propertyperf-avoid-body-side-effects - Avoid side effects in view bodyally-rotor-headers - Mark navigation section headers for VoiceOver rotorally-focus-after-navigation - Manage focus after programmatic navigation eventsally-group-navigation-elements - Group related navigation elements to reduce swipe countally-hide-decorative-navigation - Hide decorative navigation elements from VoiceOverally-keyboard-focus - Use @FocusState for keyboard navigation in formsstate-codable-routes - Make route enums Codable for navigation persistencestate-scene-storage - Use SceneStorage for per-scene navigation persistencestate-tab-persistence - Persist selected tab with SceneStoragestate-deep-link-urls - Parse deep link URLs into route enumsstate-avoid-app-level-path - Avoid defining NavigationPath at App levelRead 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 |