agentsclimarketplace

Swift concurrency

Skill ComeOnOliver/skillshub/skills/HoangNguyen0403/agent-skills-standard/swift-concurrency

Standards for async/await, Actors, Task Groups, and MainActor. Use when implementing Swift async/await, Actors, or structured concurrency in iOS/macOS. (triggers: **/*.swift, async, await, actor, Task, MainActor)From its SKILL.md

Install
npx -y skills add ComeOnOliver/skillshub --skill swift-concurrency

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

1.8 KB, 394 tokens by cl100k_base, as published. Nobody here has run it

Swift Concurrency

Priority: P0

Implementation Guidelines

async/await (Structured Concurrency)

  • Async Functions: Mark with async and call with await.
  • async let: Use async let for parallel execution when multiple tasks are independent.
  • Task Groups: Use withTaskGroup or withThrowingTaskGroup for spawning a dynamic number of tasks.
  • Error Handling: Combine with throws. Always handle CancellationError.

Actors (Thread Safety)

  • Data Isolation: Use actor for shared mutable state to avoid data races.
  • @MainActor: Annotate UI classes (Views, ViewModels) with @MainActor for main thread execution. Use MainActor.run { ... } for inline UI updates in async blocks.
  • Global Actors: Use @GlobalActor for specific thread-bound resources.
  • nonisolated: Use nonisolated for methods that don't access actor state to avoid unnecessary hops.

Task Management

  • Task Hierarchy: Inherit isolation by using Task { ... }.
  • Cancellation: Explicitly check Task.isCancelled in long loops. Use try Task.checkCancellation() for throwing functions.
  • Detached Tasks: Avoid Task.detached unless you explicitly want to break context inheritance.

Anti-Patterns

  • No synchronous work in @MainActor: Do not block the main thread.
  • No UI updates off @MainActor: Always dispatch back to main via MainActor.
  • No ignored cancellation: Always check and propagate cancellation.

References

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. 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.