This file is byte-identical to the first copy the registry indexed, one of 3 indexed copies. Same content hash, so the same checks give both the same grade.
swift-concurrency from velimirmueller/claude-development-skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
Use when diagnosing Swift Concurrency issues, refactoring callback-based code to async/await, or migrating to Swift 6 - tasks, actors, @MainActor, Sendable, data races and isolation errors.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Swift Concurrency
## Fast Path
Before proposing a fix:
1. Analyze `Package.swift` or `.pbxproj` to determine Swift language mode, strict concurrency level, default isolation, and upcoming features. Do this always, not only for migration work.
2. Capture the exact diagnostic and offending symbol.
3. Determine the isolation boundary: `@MainActor`, custom actor, actor instance isolation, or `nonisolated`.
4. Confirm whether the code is UI-bound or intended to run off the main actor. When spawning unstructured tasks, inspect the synchronous prefix (everything before the first `await`): start on `@MainActor` only when that prefix truly needs main-actor access; otherwise use `Task { @concurrent in ... }` and hop back with `MainActor.run` only after the suspension. A trivial non-main line (for example, `print`) followed by main-actor work in the same prefix is not a reason to use `@concurrent`. For delayed retries, timers, and backoff tasks, separate the waiting from the UI mutation. The sleep often belongs off the main actor even when the final state update belongs on it.
Project settings that change concurrency behavior:
…
The line at the top of this page pins the label git:20261028.88809da, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
GET https://markdownregistry.com/api/v1/artifacts/art_zkctg3f63rvsk3pg
GET https://markdownregistry.com/api/v1/resolve?ref=velimirmueller/claude-development-skills/swift-concurrency
GET https://markdownregistry.com/api/v1/blob/ddfc575e2a4264c460f17540c9a35eb46bc514a0afd7ab6b9556b251208989fd
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
velimirmueller/claude-development-skills · skills/ai/build-llm-seam/SKILL.md · Use when adding the first LLM call to a service, or when model calls are scattered through it — one module owns every…
velimirmueller/claude-development-skills · skills/ai/build-mcp-server/SKILL.md · Use when exposing a service or dataset to AI clients through the Model Context Protocol — few task-shaped tools with…
velimirmueller/claude-development-skills · skills/ai/build-rag-pipeline/SKILL.md · Use when building retrieval-augmented answers over your own documents — structure-aware chunking, pinned embeddings in…
velimirmueller/claude-development-skills · skills/ai/secure-llm-features/SKILL.md · Use when shipping or reviewing an LLM feature that reads untrusted text or has tools — prompt-injection threat model…
velimirmueller/claude-development-skills · skills/ai/set-up-llm-evals/SKILL.md · Use when an LLM feature ships on vibes — golden datasets in the repo, deterministic checks first, an LLM judge with a…
velimirmueller/claude-development-skills · skills/backend/build-nextjs-backend/SKILL.md · Use when building or reviewing the server side of a Next.js 16 App Router app — a server-only data access layer that…
velimirmueller/claude-development-skills · skills/backend/build-supabase-edge-function/SKILL.md · Use when logic must run server-side next to Supabase — a webhook, a cron or database-triggered job, a third-party call…
velimirmueller/claude-development-skills · skills/backend/configure-backend-tests/SKILL.md · Use when a backend service needs a test setup or its tests mock the database. Builds the pyramid - pure unit tests…
velimirmueller/claude-development-skills · skills/backend/design-http-api/SKILL.md · Use when adding or changing HTTP endpoints, or when the frontend needs typed calls — sets the OpenAPI 3.1 contract, RFC…
velimirmueller/claude-development-skills · skills/backend/harden-backend/SKILL.md · Use when a backend service is about to take untrusted traffic or fails a security review. Adds edge validation, rate…
velimirmueller/claude-development-skills · skills/backend/scaffold-fastapi-service/SKILL.md · Use when starting a Python HTTP API or adding a service to a repo with no FastAPI app yet — scaffolds a uv src-layout…
velimirmueller/claude-development-skills · skills/backend/scaffold-go-service/SKILL.md · Use when starting a Go HTTP service or adding one to a repo with no Go module yet — scaffolds stdlib net/http (1.22+…
rusel95/ios-agent-skills · skills/swift-concurrency/SKILL.md · Use for any Swift Concurrency question on Apple platforms. Triggers on: actor reentrancy (stale state after await)…
velimirmueller/lab-claude-skills · skills/swift/swift-concurrency/SKILL.md · Use when diagnosing Swift Concurrency issues, refactoring callback-based code to async/await, or migrating to Swift 6 -…
velimirmueller/claude-skills · skills/swift/swift-concurrency/SKILL.md · Use when diagnosing Swift Concurrency issues, refactoring callback-based code to async/await, or migrating to Swift 6 -…
the-artificer-of-ciphers-llc/skills-from-the-artificer · swift-concurrency/SKILL.md · Diagnose Swift Concurrency issues, refactor callback-based code to async/await, and guide Swift 6 migration when…