Back to skills
SkillHub ClubBuild MobileFull StackFrontendMobile

swift-lang

Swift language mastery skill covering advanced language features beyond UI. Use when working with macros, concurrency (async/await, actors), networking, Swift Testing, generics, memory optimization, or result builders. Not for SwiftUI patterns - see swift-ui.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
0
Hot score
74
Updated
March 19, 2026
Overall rating
C3.2
Composite score
3.2
Best-practice grade
A88.4

Install command

npx @skill-hub/cli install mpazaryna-claude-toolkit-swift-lang

Repository

mpazaryna/claude-toolkit

Skill path: generated-skills/swift-lang

Swift language mastery skill covering advanced language features beyond UI. Use when working with macros, concurrency (async/await, actors), networking, Swift Testing, generics, memory optimization, or result builders. Not for SwiftUI patterns - see swift-ui.

Open repository

Best for

Primary workflow: Build Mobile.

Technical facets: Full Stack, Frontend, Mobile, Testing.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: mpazaryna.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install swift-lang into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/mpazaryna/claude-toolkit before adding swift-lang to shared team environments
  • Use swift-lang for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: swift-lang
description: |
  Swift language mastery skill covering advanced language features beyond UI.
  Use when working with macros, concurrency (async/await, actors), networking,
  Swift Testing, generics, memory optimization, or result builders. Not for SwiftUI patterns - see swift-ui.
---

# swift-lang

Advanced Swift language features for building robust, performant code.

## Scope

This skill covers **Swift language internals** - the deep features that make you a better Swift developer. For SwiftUI implementation patterns, see `swift-ui`.

## Routing

Based on what you're building, load the appropriate reference:

### Macros
**When**: Creating compile-time code generation, reducing boilerplate, building DSLs
**References**:
- `references/macros/freestanding.md` - ExpressionMacro, DeclarationMacro
- `references/macros/attached.md` - PeerMacro, AccessorMacro, MemberMacro, ExtensionMacro, BodyMacro

**Macro Types Overview:**
| Type | Category | Purpose |
|------|----------|---------|
| ExpressionMacro | Freestanding | Return an expression (like a global function) |
| DeclarationMacro | Freestanding | Declare variables, structs, functions |
| PeerMacro | Attached | Add sibling declarations |
| AccessorMacro | Attached | Add get/set to properties |
| MemberMacro | Attached | Add members to types |
| MemberAttributeMacro | Attached | Add attributes to members |
| ExtensionMacro | Attached | Add protocol conformance |
| BodyMacro | Attached | Replace function body |

### Concurrency
**When**: async/await patterns, actor isolation, Sendable conformance, data race prevention
**References**:
- `references/concurrency/async-await.md` - Structured concurrency patterns
- `references/concurrency/actors.md` - Actor isolation, @MainActor
- `references/concurrency/sendable.md` - Sendable conformance, crossing isolation boundaries

### Testing
**When**: Writing tests with Swift Testing framework, test strategies
**References**:
- `references/testing/swift-testing.md` - @Test, #expect, traits, parameterized tests
- `references/testing/strategies.md` - What to test, dependency injection for testing

### Generics
**When**: Protocol design, associated types, existentials, type erasure
**References**:
- `references/generics/protocols.md` - Associated types, primary associated types
- `references/generics/existentials.md` - `any` vs `some`, type erasure patterns

### Optimization
**When**: Memory management, performance profiling, reducing allocations
**References**:
- `references/optimization/memory.md` - ARC, weak/unowned, copy-on-write
- `references/optimization/performance.md` - Instruments, allocation patterns

### Result Builders
**When**: Building custom DSLs, understanding @ViewBuilder internals
**References**:
- `references/result-builders/custom-dsl.md` - Building your own @resultBuilder

### Networking
**When**: Making HTTP requests, API clients, async data fetching
**References**:
- `references/networking/async-networking.md` - URLSession with async/await, API client patterns

**Key Patterns:**
- Async/await with URLSession
- Actor-based API clients
- Authentication and retry logic
- Concurrent requests with `async let`
- Error handling and cancellation

## Quick Reference

### Macro Package Setup

```swift
// Package.swift for macro development
// swift-tools-version: 5.9
import PackageDescription
import CompilerPluginSupport

let package = Package(
    name: "MyMacros",
    platforms: [.macOS(.v10_15), .iOS(.v13)],
    products: [
        .library(name: "MyMacros", targets: ["MyMacros"]),
    ],
    dependencies: [
        .package(url: "https://github.com/apple/swift-syntax.git", from: "509.0.0"),
    ],
    targets: [
        .macro(
            name: "MyMacrosMacros",
            dependencies: [
                .product(name: "SwiftSyntaxMacros", package: "swift-syntax"),
                .product(name: "SwiftCompilerPlugin", package: "swift-syntax"),
            ]
        ),
        .target(name: "MyMacros", dependencies: ["MyMacrosMacros"]),
    ]
)
```

### Concurrency Essentials

```swift
// Structured concurrency
func fetchData() async throws -> Data {
    try await withThrowingTaskGroup(of: Data.self) { group in
        // Add tasks to group
    }
}

// Actor isolation
@MainActor
class ViewModel: ObservableObject {
    @Published var items: [Item] = []
}

// Sendable conformance
struct Config: Sendable {
    let apiKey: String
}
```

### Swift Testing

```swift
import Testing

@Test("User authentication succeeds with valid credentials")
func validLogin() async throws {
    let auth = AuthService()
    let result = try await auth.login(user: "test", pass: "valid")
    #expect(result.isAuthenticated)
}

@Test(arguments: ["", "ab", "toolong123"])
func invalidUsername(_ username: String) {
    #expect(!Validator.isValidUsername(username))
}
```

## Anti-Patterns

- Force unwrapping in production code
- Ignoring actor isolation warnings
- Using `nonisolated(unsafe)` without understanding implications
- Massive macro implementations (split into helpers)
- Testing implementation details instead of behavior

## Related Skills

- **swift-ui** - SwiftUI view patterns and architecture
- **design-review** - App Store submission prep
swift-lang | SkillHub