mcpbeat

Swift Development

rshankras/swift-development

Swift language patterns and best practices including concurrency, performance, and modern idioms. Use for Swift language-level code review or architecture guidance.

35k tokens
context cost
the whole folder, loaded on every use
14
files
instructions only
0
copies elsewhere
how many repositories repackaged it
585
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/rshankras/claude-code-apple-skills --skill swift-development

The instruction itself

8 sections, as written by the author

Swift Development

Swift language-level guidance that applies across all Apple platforms.

When This Skill Activates

Use this skill when the user:

  • Asks about Swift concurrency (async/await, actors, Sendable, TaskGroup)
  • Needs help with Swift 6 strict concurrency migration
  • Has data race or actor isolation errors
  • Asks about InlineArray, Span, or low-level memory performance
  • Wants to eliminate heap allocations or replace unsafe pointers
  • Asks about modern Swift patterns independent of any specific platform
  • Wants complexity/size limits (SwiftLint thresholds) on agent-written code

Available Modules

concurrency-patterns/

Swift concurrency architecture and patterns.

  • Swift 6.2 approachable concurrency features (incl. nonisolated(nonsending), Apple's adoption doctrine)
  • Structured concurrency (async let, TaskGroup, .task modifier, task-local values)
  • Actors, isolation, reentrancy, @MainActor, Sendable
  • Runtime internals + profiling (cooperative pool, unsafe primitives, Swift Concurrency Instrument)
  • Continuations for bridging legacy APIs
  • Swift 6 strict concurrency migration guide

concurrency/

Swift 6.2 concurrency updates reference — the what-changed view (async-stays-on-caller, default MainActor inference, isolated conformances, @concurrent) with migration steps from 6.0/6.1 and top mistakes. Overlaps concurrency-patterns/swift62-concurrency.md by design: use this file when the question is "what changed in 6.2?", use concurrency-patterns when building or reviewing async code.

code-size/

Complexity and size limits for Swift code — SwiftLint threshold rules (cyclomatic complexity, function/type/file length, parameter count) with a violations-baseline adoption path so existing code never blocks. Part of the deterministic gauntlet with testing/fitness-functions and testing/coverage-ratchet.

memory/

InlineArray, Span, and the Swift performance cost model.

  • InlineArray: fixed-size, stack-allocated collections with zero heap overhead
  • Span family: safe, non-escapable access to contiguous memory (+ OutputRawSpan, swift-binary-parsing)
  • Lifetime dependencies and non-escapable type constraints
  • swift-performance.md: the cost model — allocation, ARC/retain-release, exclusivity checks, dispatch, generics vs existentials, closures, ~Copyable ownership

How to Use

  • Identify user's need from their question
  • Read relevant module files from subdirectories
  • Apply the guidance to their specific context
  • Cross-reference with platform-specific skills (ios/, macos/) as needed

How to use it

Copy the folder

Take rshankras/swift-development from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.