agentsclimarketplace

Observable migration advisor

Skill saurabhdave/aiagents/skills/observable-migration-advisor

AI‑driven skills for Apple platform engineers (accessibility, performance, architecture)

Install
npx -y skills add saurabhdave/aiagents --skill observable-migration-advisor

Assembled 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 @Observable adoption.
  • Do not use @Published inside @Observable types.
  • Do not use @ObservedObject, @StateObject, or .environmentObject(...) with @Observable types.
  • Use @Bindable only 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 -> @Observable API 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?"

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.