create-watchos-version
Create watchOS Version
Analyzes existing Apple platform projects and creates detailed, phased implementation plans for watchOS apps that are elegant, top-tier experiences—not naive skins of the parent app.
Workflow
- Project Discovery - Analyze project structure, patterns, architecture
- Feature Mapping - Identify watchOS-suitable features and priorities
- API Compatibility - Search web for current watchOS API availability
- Architecture Planning - Design watchOS-specific architecture
- Plan Generation - Create phased plan with warnings and alternatives
- User Review - Present plan for approval before implementation
Phase 1: Project Discovery
Scan project root for:
├── App Architecture (SwiftUI, UIKit, AppKit, hybrid)
├── Data Layer (Core Data, SwiftData, Realm, custom)
├── Networking (URLSession, Alamofire, custom)
├── State Management (ObservableObject, TCA, Redux-like)
├── Navigation (NavigationStack, Coordinator)
├── Shared Frameworks (SPM packages, shared targets)
├── Assets (colors, images, SF Symbols)
├── Existing Watch Target (if any)
└── Minimum iOS Version (affects watchOS targeting)
Key files: *.xcodeproj, Package.swift, Info.plist, App entry points, ViewModels, Models.
Phase 2: Feature Mapping
Glanceable (High Priority): Status displays, counters, progress, recent items, quick stats
Quick Actions (High Priority): Single-tap toggles, shortcuts, haptic confirmations
Complications/Widgets (Critical): Map data to WidgetKit families—accessoryCircular, accessoryRectangular, accessoryInline, accessoryCorner. Consider Smart Stack relevance.
Background: HealthKit integration, background refresh, Watch Connectivity sync
Defer/Exclude: Complex data entry, long-form content, sustained screen time features
Phase 3: API Compatibility
CRITICAL: Always search web for current watchOS docs before finalizing. APIs change frequently.
Search: [FrameworkName] watchOS availability site:developer.apple.com
Quick Reference
Available: SwiftUI, SwiftData (10+), WidgetKit (9+), HealthKit, WorkoutKit, CoreLocation (limited), WatchConnectivity, CloudKit, CoreMotion, AVFoundation (audio), CoreBluetooth, Combine, Swift Concurrency
Unavailable/Limited: UIKit, WebKit, MapKit (limited), CoreImage (limited), ARKit, RealityKit, StoreKit (limited), Background URLSession (limited)
See references/api-compatibility.md for detailed compatibility matrix.
Phase 4: Architecture
Version Targeting
iOS 16+ → watchOS 9+ (WidgetKit complications)
iOS 17+ → watchOS 10+ (SwiftData, Smart Stack)
iOS 18+ → watchOS 11+ (Live Activities on Watch)
Structure
Shared/
├── Models/ # Pure Swift, shared via target membership
├── Services/ # Platform-agnostic logic
└── Utilities/
WatchApp/
├── App.swift
├── Views/
├── ViewModels/
├── Complications/
└── WatchConnectivity/
Design Principles
- Glanceability - Visible within 2 seconds
- Minimal Interaction - 1-3 taps max
- Context Awareness - Time, location, activity
- Battery Conscious - Efficient refresh, TimelineSchedule
- Haptic Feedback - Confirm actions appropriately
SwiftUI Gotchas
- Avoid nested TabViews (memory leaks)
- Use TimelineSchedule for efficient metric updates
- Check
isLuminanceReducedto reduce work when dimmed - Don't use data-driven high-frequency UI refreshes
Phase 5: Plan Generation
Use template in references/plan-template.md to generate:
- Executive Summary
- ⚠️ API Compatibility Warnings table
- Phased implementation tasks
- Testing checklist
Phase 6: User Review
Present plan and ask for approval before implementing:
"I've analyzed your project and created a watchOS plan. Before proceeding:
- API Warnings: [N] APIs unavailable—alternatives documented.
- Recommended Features: [list] prioritized for Watch.
- Scope: [N] phases.
Proceed with implementation, or adjust the plan?"
Do not implement until user approves.
Best Practices Reference
Watch Connectivity
guard WCSession.default.activationState == .activated else { return }
// sendMessage: immediate, requires reachability
// transferUserInfo: queued, guaranteed
// transferCurrentComplicationUserInfo: complication priority
Complications
// Use appropriate reload policy
Timeline(entries: entries, policy: .after(nextUpdateDate))
// Use .never for static complications
Battery Efficiency
- Timeline-based over active refresh
- Check
isLuminanceReduced - Batch Watch Connectivity transfers
- Significant location change vs continuous updates
More from ghostscientist/skills
paper-to-intuition
Transforms an academic paper into deep, multi-layered understanding. Use when asked to explain a paper, break down a research paper, understand an arXiv paper, or build intuition for a technical concept from a paper. Generates explanations at multiple levels plus visual intuition diagrams.
48ios-app-icon-generator
Generates a complete iOS app icon set with all required sizes. Use when asked to create an app icon, design an iOS icon, generate app store artwork, or make an icon for an iPhone/iPad app. Follows a philosophy-first approach - first defining the visual identity and concept, then producing production-ready icons.
17research-question-refiner
Helps transform a vague research interest into a concrete, tractable research question. Use when asked to refine a research idea, develop a research question, scope a research project, or figure out what to work on. Walks through systematic refinement with feasibility analysis.
14implement-paper-from-scratch
Guides you through implementing a research paper step-by-step from scratch. Use when asked to implement a paper, code up a paper, reproduce research results, or build a model from a paper. Focuses on building understanding through implementation with checkpoint questions.
8turn-this-feature-into-a-blog-post
Generates a technical blog post from code implementation. Use when asked to write a blog post about a feature, explain an implementation for a blog, document code as a blog article, or create technical content from source code. Triggers on phrases like "write a blog post about", "turn this into a blog", "create a technical article", or "explain this for a blog".
5experiment-design-checklist
Generates a rigorous experiment design given a hypothesis. Use when asked to design experiments, plan experiments, create an experimental setup, or figure out how to test a research hypothesis. Covers controls, baselines, ablations, metrics, statistical tests, and compute estimates.
5