notque/swift
Swift development: concurrency patterns, async/await, actors, testing with XCTest and Swift Testing framework.
npx skills add https://github.com/notque/vexjoy-agent --skill swift
Swift concurrency and testing: async/await, Actors, TaskGroups, Sendable, structured concurrency, XCTest, Swift Testing framework, and async test patterns.
| Signal | Reference | Size |
|--------|-----------|------|
| async/await, Task, Sendable | references/fundamentals.md | ~20 lines |
| Actor, @MainActor, nonisolated | references/actor-isolation.md | ~20 lines |
| TaskGroup, AsyncSequence, AsyncStream, cancellation | references/task-patterns.md | ~20 lines |
| Failure modes, common mistakes | references/preferred-patterns.md | ~20 lines |
| concurrency overview, structured concurrency patterns | references/swift-concurrency.md | ~30 lines |
| XCTest, Swift Testing, test doubles, async tests, UI tests | references/swift-testing.md | ~250 lines |
Loading rule. Read the references whose signals match the task before responding.
TaskGroup over loose Task { } whenever possible; structured tasks propagate cancellation and errors automatically.-strict-concurrency=complete) and resolve all warnings before they become errors in Swift 6.Task stored in a property should have a corresponding cancellation path.testFetchUser_withExpiredToken_throwsAuthError is better than testFetch2.@Test and #expect when targeting Swift 5.9+; fall back to XCTest for older targets or UI tests.Determine what kind of Swift work is needed:
| Request type | Load references | Action |
|-------------|----------------|--------|
| Concurrency patterns | fundamentals, actor-isolation, task-patterns | Pattern guidance |
| Concurrency mistakes | preferred-patterns | Failure mode detection |
| Write tests | swift-testing | Test authoring |
| Async test patterns | swift-testing + fundamentals | Async test guidance |
| Full concurrency review | swift-concurrency + all concurrency refs | Full review pass |
Gate: Request classified and relevant references loaded.
Apply loaded reference knowledge to the user's code or question.
For concurrency work:
For testing work:
@Test, #expect) for new code on Swift 5.9+@dataProvider-style parameterized tests with arguments:Gate: Specific, reference-backed feedback or code provided.
Run the test suite and confirm:
swift test --enable-code-coverage
swift build
Gate: All tests pass. Build succeeds with strict concurrency checking.
Take notque/swift from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
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.