combine-migration

Migrate Combine-based SwiftUI architectures to Swift Observation and async/await.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/bluewaves-creations/bluewaves-skills --skill combine-migration
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: combine-migration
Source: https://github.com/bluewaves-creations/bluewaves-skills/tree/main/plugins/swift-apple-dev/skills/combine-migration
Command: npx skills add https://github.com/bluewaves-creations/bluewaves-skills --skill combine-migration

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Migrates Combine-based SwiftUI architectures to the Swift Observation framework and async/await to improve safety and reduce boilerplate.

Core Features & Use Cases

  • ObservableObject to @Observable migration for SwiftUI view models.
  • Publisher to AsyncSequence conversion and bridging patterns.
  • Async/await adoption with proper cancellation and error handling.
  • Practical migration examples: debouncing, retries, and streaming data.
  • Bridging strategies for phased migration from Combine to async code.

Quick Start

Start by selecting a small ObservableObject, convert it to @Observable, and then progressively replace Combine pipelines with async/await, using bridging adapters where necessary to maintain behavior.

Frequently Asked Questions about combine-migration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate ObservableObject to the Swift Observation framework in SwiftUI?▼

Migrating ObservableObject to @Observable in SwiftUI involves converting your view models to the new macro to improve safety and reduce boilerplate. Start by selecting a small ObservableObject and converting it to @Observable.

What is the best way to convert Combine Publisher pipelines to async/await?▼

Converting Combine Publisher pipelines to AsyncSequence allows you to adopt async/await with proper cancellation and error handling. Bridging adapters enable a phased migration from Combine to async code while maintaining existing behavior.

Do I need Swift 5.9 and iOS 17 to use the Swift Observation framework?▼

Yes, adopting the Swift Observation framework and async/await migration patterns requires Swift 5.9+ and iOS 17+ or macOS 14+ as prerequisites. These minimum versions provide the necessary runtime support for the @Observable macro.

Can I gradually migrate Combine to async/await without rewriting my entire app?▼

Yes, you can gradually migrate Combine to async/await using bridging patterns and adapters. This strategy allows you to progressively replace Combine pipelines while maintaining behavior during a phased migration.

How do I handle debouncing and retries when migrating from Combine to async/await?▼

When migrating debouncing, retries, and streaming data from Combine to async/await, you use AsyncSequence conversion patterns. The migration provides practical examples and adapters to replicate these Combine behaviors in async code safely.