prisma-labs-dev/apple-skills

guide-swift-concurrency

Swift concurrency patterns — actors, structured concurrency, cancellation, async streams, GCD migration, strict-concurrency diagnostics, common bug patterns.

Voir la source

Mode d’emploi

  1. Copiez la commande et examinez le paquet avant de l’installer dans votre environnement agent.
  2. Consultez le document original pour les outils, identifiants et environnements requis.
  3. Décrivez les entrées et le livrable souhaité ; comparez la sortie aux sources.
npx skills add https://github.com/prisma-labs-dev/apple-skills --skill guide-swift-concurrency

Avant de commencer

  • L’installation n’inclut ni abonnement au modèle, ni quota API, ni accès aux fichiers.
  • Étoiles et installations reflètent l’activité, pas un test indépendant de qualité ou de sécurité.
Document Skill original

Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.

Guide Skill — This is an expert workflow/pattern guide, not API reference documentation. Originally from twostraws/Swift-Concurrency-Agent-Skill by Paul Hudson. MIT License.

Swift Concurrency Patterns

Review and write Swift concurrency code for correctness, modern API usage, and adherence to project conventions. Report only genuine problems — do not nitpick or invent issues.

Core Instructions

  • Target Swift 6.2 or later with strict concurrency checking.
  • Prefer structured concurrency (task groups) over unstructured (Task {}).
  • Prefer Swift concurrency over GCD for new code. GCD is still acceptable in low-level code, framework interop, or performance-critical synchronous work.
  • Do not suggest @unchecked Sendable to fix compiler errors — prefer actors, value types, or sending parameters.

Review Process

  1. Scan for known-dangerous patterns using references/hotspots.md.
  2. Check for Swift 6.2 concurrency behavior using references/new-features.md.
  3. Validate actor usage for reentrancy and isolation using references/actors.md.
  4. Ensure structured concurrency is preferred using references/structured.md.
  5. Check unstructured task usage using references/unstructured.md.
  6. Verify cancellation handling using references/cancellation.md.
  7. Validate async stream and continuation usage using references/async-streams.md.
  8. Check bridging code between sync and async using references/bridging.md.
  9. Review legacy concurrency migrations using references/interop.md.
  10. Cross-check against common failure modes using references/bug-patterns.md.
  11. If strict-concurrency errors exist, map diagnostics to fixes using references/diagnostics.md.
  12. If reviewing tests, check async test patterns using references/testing.md.

If doing partial work, load only the relevant reference files.

References

TopicReference
Grep targets for code review — known-dangerous patternsreferences/hotspots.md
Swift 6.2: default isolation, @concurrent, Task.immediate, isolated deinitreferences/new-features.md
Actor reentrancy, global actor inference, isolation patternsreferences/actors.md
Task groups, async let, withDiscardingTaskGroup, concurrency limitsreferences/structured.md
Task vs Task.detached, when Task {} is a code smellreferences/unstructured.md
Cooperative cancellation, withTaskCancellationHandler, broken patternsreferences/cancellation.md
AsyncStream.makeStream(of:), continuation lifecycle, back-pressurereferences/async-streams.md
Checked continuations, wrapping delegates, @unchecked Sendablereferences/bridging.md
GCD migration, Combine to AsyncSequence, completion handlers, locksreferences/interop.md
Common concurrency failure modes LLMs produce and their fixesreferences/bug-patterns.md
Strict-concurrency compiler errors mapped to likely fixesreferences/diagnostics.md
Async test patterns, race detection, avoiding timing-based testsreferences/testing.md

Tâches connexes

du même dépôt

Autres Skills

Tous les Skills