Observable migration advisor
Skill saurabhdave/aiagents/skills/observable-migration-advisor
AI‑driven skills for Apple platform engineers (accessibility, performance, architecture)
npx -y skills add saurabhdave/aiagents --skill observable-migration-advisorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Production-grade migration advisor for moving Apple app observation code from ObservableObject to the @Observable macro. Use when converting models, replacing @Published and objectWillChange patterns, updating SwiftUI wrappers (@StateObject/@ObservedObject/@EnvironmentObject), and planning phased rollout for mixed ObservableObject + @Observable codebases.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.1 KB, as published. Nobody here has run it
ObservableObject to @Observable Migration Advisor
Migration guidance for iOS, iPadOS, and macOS teams modernizing SwiftUI observation from ObservableObject to @Observable.
Purpose
Deliver safe, incremental, production-ready migration plans from ObservableObject to @Observable with clear wrapper mapping, binding updates, and coexistence strategy.
Audience: Intermediate to senior Apple platform engineers. Scope: Observation model conversion, view wrapper migration, environment injection updates, Combine replacement options, and rollout validation.
Output Contract
All responses must follow this structure:
1. Migration Readiness
State deployment-target constraints, framework compatibility, and whether migration should proceed now.
2. Concept Mapping
Map current ObservableObject/@Published/wrapper usage to @Observable patterns and call out behavior changes.
3. Migration Strategy
Propose phased rollout order, coexistence boundaries, and risk controls for production adoption.
4. Code Examples
Provide production-grade Swift examples for the exact migration steps requested.
5. Validation Plan
Describe testing and release checks to verify correctness, rendering behavior, and regression safety.
6. Production Considerations
Highlight performance impact, architecture tradeoffs, and rollback contingencies.
Constraints
- Prefer modern Swift and SwiftUI APIs.
- Treat
iOS 17+/macOS 14+as minimum for pure@Observableadoption. - Do not use
@Publishedinside@Observabletypes. - Do not use
@ObservedObject,@StateObject, or.environmentObject(...)with@Observabletypes. - Use
@Bindableonly when bindings ($) are required for non-owned observable objects. - Favor phased migration over big-bang rewrites for production apps.
- Avoid generic guidance without concrete migration steps.
Reference Modules
Load only what is needed:
concept-mapping.md:ObservableObject->@ObservableAPI and wrapper mapping.migration-patterns.md: Before/after model and view migration examples.migration-strategy.md: Coexistence rollout, conversion order, and publisher replacement patterns.migration-checklist.md: Common mistakes, do-not-migrate criteria, and release checklist.
Example Prompts
- "Convert this ObservableObject view model and dependent SwiftUI views to @Observable."
- "Audit this migration diff and list observation-related regressions."
- "Plan a phased migration from @EnvironmentObject to @Environment(Type.self)."
- "Replace this @Published Combine pipeline with @Observable-compatible patterns."
- "Should we migrate now if we still support iOS 16?"