Back to list
mpazaryna

swift-lang

by mpazaryna

A collection of specialized agents, commands, and templates for enhancing Claude Code's capabilities in understanding, analyzing, and documenting codebases.

2🍴 1📅 Jan 2, 2026

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:

TypeCategoryPurpose
ExpressionMacroFreestandingReturn an expression (like a global function)
DeclarationMacroFreestandingDeclare variables, structs, functions
PeerMacroAttachedAdd sibling declarations
AccessorMacroAttachedAdd get/set to properties
MemberMacroAttachedAdd members to types
MemberAttributeMacroAttachedAdd attributes to members
ExtensionMacroAttachedAdd protocol conformance
BodyMacroAttachedReplace 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

// 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

// 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

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
  • swift-ui - SwiftUI view patterns and architecture
  • design-review - App Store submission prep

Score

Total Score

75/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新

+5
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon