swift-dev
Swift development. Use for Swift, SwiftUI, UIKit, Vapor, SPM, XCTest, Combine.
Best use case
swift-dev is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Swift development. Use for Swift, SwiftUI, UIKit, Vapor, SPM, XCTest, Combine.
Teams using swift-dev should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/swift-dev/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How swift-dev Compares
| Feature / Agent | swift-dev | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Swift development. Use for Swift, SwiftUI, UIKit, Vapor, SPM, XCTest, Combine.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Swift Development **Announce:** "I'm using the swift-dev skill. Following the 4-phase workflow." ## MANDATORY: Read and Follow the Shared Workflow **You MUST read [workflow.md](../../shared/workflow.md) NOW** and follow ALL 4 phases defined there. The sections below provide Swift-specific inputs for each phase. Read [patterns.md](patterns.md) during Phase 1. **If you lost workflow.md from context:** Re-read `../../shared/workflow.md` NOW before continuing. --- ## Swift-Specific Configuration ### Verification Commands (Phase 1 plan + Phase 3 verify) WORKFLOW STATE Verification line: `swift build, swift test, swiftlint` **Phase 3 Tier A — SPM projects:** - `swift build` — compilation - `swift test` — tests - `swiftlint` — linting (if configured) - Coverage target: 70-80% **Phase 3 Tier C — Xcode projects:** - `xcodebuild build` or `xcodebuild test` - SwiftUI: `xcodebuild build -scheme [scheme] -destination 'platform=iOS Simulator,name=iPhone 16'` ### Implementation Rules (Phase 3) - **Model structure** — Structs with Codable CRUD variants per entity (CreateRequest/UpdateRequest/Response), domain-driven file organization, composition over deep inheritance, prefer structs over classes - **Minimize complexity** — lazy sequences for large collections, Dictionary lookups over array scans - **Preserve compatibility** — CodingKeys for renamed fields, default values for new properties, preserve public API signatures, @available for deprecations ### Staff Review Configuration (Phase 4) - **Patterns file path:** Path to this skill's `patterns.md` --- ## Swift-Specific Rules - The compiler catches type errors, not logic bugs or architectural problems — verification is still mandatory - SwiftUI previews only prove the view compiles — run `swift test` for real verification - No positive claim without running `swift test` or `swift build` --- ## Quality Checklist (Swift-Specific) Add these to the shared workflow's verification checklist: - [ ] Using Swift 5.9+ / Swift 6 features where appropriate - [ ] Structs preferred over classes (value semantics by default) - [ ] Protocol-oriented design used - [ ] async/await for asynchronous code - [ ] No force unwraps outside tests - [ ] Proper error handling with typed throws or do/catch - [ ] `swift build` succeeds without warnings - [ ] `swift test` passes (or `xcodebuild test`) - [ ] `swiftlint` passes (if configured)
Related Skills
using-development-skills
Use when starting any conversation - establishes how the development-skills plugin works and how to invoke its components on each platform (Claude Code, Codex). Read first.
update-reqs
Use when user wants to update requirements.in with latest PyPI versions while preserving version patterns
update-reqs-dev
Use when user wants to update requirements-dev.in with latest PyPI versions while preserving version patterns
update-precommit
Use when user wants to update .pre-commit-config.yaml hooks to their latest versions from GitHub
typescript-dev
TypeScript development. Use for TypeScript, Node.js, Express, Fastify, Zod, vitest, jest. Backend, CLI, libraries only — no frontend frameworks.
staff-review
Use when user wants a code review, deep code review, or staff-level code review of a local branch, repo, directory, or file. Use when user says code review, deep code review, review this branch, review the branch X, review my code, staff review, review locally, or /staff-review.
roast-my-code
Use when user wants a brutally honest code roast, quality critique, or AI-readiness audit. Use when user says roast, roast my code, critique my code, tear apart my code, review quality, or AI-readiness check. Supports --fix flag to auto-fix CRITICAL and HIGH issues via core-dev workflow.
resolve-merge
Use when the user asks to resolve merge conflicts, fix a failed merge, rebase conflict, or run /resolve-merge. Use when git status shows UU/AA/DD conflicts, when there are <<<<<<< conflict markers, when git merge or git pull failed with CONFLICT, or when numbered docs/plans need renumbering after merge. Triggers on: merge conflict, conflict markers, both modified, git merge failed, rebase conflict, resolve conflicts.
python-dev
Python development. Use for Python, FastAPI, Pydantic, asyncpg, pytest, pandas, SQLAlchemy.
produce-feedback
Use when user wants to produce a factual chronicle of development-skills plugin interactions in the current conversation for later ingestion, or runs /produce-feedback. Pure record, no judgment.
java-dev
Java development. Use for Java, Spring Boot, Maven, Gradle, JPA, Hibernate.
ingest-feedback
Use when user wants to ingest a development-skills feedback report and apply fixes, or runs /ingest-feedback. Challenges every suggestion against the Iron Rules before accepting; most friction points should SKIP. Expect a report path as argument.