Source: twostraws/SwiftUI-Agent-Skill · Maintainer: community: Paul Hudson · License: MIT · Checked: 24 October 2026
What is the SwiftUI Pro skill?
SwiftUI Pro is an Agent Skill that makes Claude Code, Codex, Cursor or Gemini review your SwiftUI code against a checklist of modern API, data flow, accessibility and performance rules, then report each problem with a before and after fix. Its skill name is swiftui-pro.
It comes from Paul Hudson, who writes the Hacking with Swift tutorials. The repo README says the skill "helps AI coding assistants write smarter, simpler, and more modern SwiftUI" and is "targeting the mistakes LLMs actually make." It builds on his earlier SwiftAgents AGENTS.md file.
The SKILL.md description reads: "Comprehensively reviews SwiftUI code for best practices on modern APIs, maintainability, and performance. Use when reading, writing, or reviewing SwiftUI projects."
As of 24 October 2026, its skills.sh page listed 35.0K installs (snapshot, 24 October 2026), and the GitHub repo had about 6.3K stars. The SKILL.md is at version 2.0.0.
What does SwiftUI Pro check?
The SKILL.md sets an 11-step review, each step backed by a reference file. For a partial review, the agent loads only the relevant files:
| Step | Reference file | What it covers |
|---|---|---|
| Deprecated API | api.md |
Soft deprecations Xcode stays quiet about |
| Views | views.md |
View structure, extraction, animation |
| Data flow | data.md |
@Observable, @State, property wrappers |
| Navigation | navigation.md |
NavigationStack, sheets, alerts |
| Design | design.md |
Apple's Human Interface Guidelines |
| Resizability | resizability.md |
Window resizing, iPad multitasking, iPhone Duo |
| Accessibility | accessibility.md |
Dynamic Type, VoiceOver, Reduce Motion |
| Localization | localization.md |
Localized text and formatting |
| Performance | performance.md |
Identity, lazy stacks, body cost |
| Swift | swift.md |
Modern Swift and concurrency |
| Hygiene | hygiene.md |
Secrets, tests, Info.plist checks |
A twelfth file, performance-plus.md, is kept out of routine reviews. The SKILL.md says to load it for a requested deep performance review or to investigate an established performance problem.
Some rules from the reference files, as examples of what the agent flags:
- Soft deprecations.
api.mdnotes that many older declarations are marked with a far-future deprecation version, so "a warning-free build does not establish that the code uses current API." It asks forforegroundStyle()overforegroundColor(), theTabAPI overtabItem(), andclipShape(.rect(cornerRadius:))overcornerRadius(). - Observation over old wrappers.
data.mdprefers@Observableclasses with@State,@Bindableand@Environment, and asks you to avoidObservableObject,@Publishedand@StateObjectunless they are unavoidable. - Private state. View-owned
@Stateshould always beprivate. - VoiceOver-friendly buttons. Icon buttons must still include text, for example
Button("Add User", systemImage: "plus", action: addUser). - No
View.if()helpers.performance.mdexplains that conditional view transforms change structural identity and reset state. - One type per file. Each struct, class or enum goes in its own Swift file.
The core instructions also say the agent should avoid UIKit unless asked, and should not add third-party frameworks without asking first.
What's in the folder: SKILL.md, the references/ files, agents/openai.yaml (Codex display name "SwiftUI Pro" with implicit invocation allowed), icons, and a .claude-plugin/plugin.json that points Claude Code at a copy of the skill under skills/swiftui-pro/.
How do you install SwiftUI Pro?
The README documents three routes.
Claude Code plugin. Add the repo as a marketplace, then install the plugin, using the commands from the README and the Claude Code plugin docs:
/plugin marketplace add twostraws/SwiftUI-Agent-Skill
/plugin install swiftui-pro@swiftui-agent-skill
Plugin skills are namespaced as /plugin-name:skill-name, per the Claude Code skills docs, so the plugin copy appears as /swiftui-pro:swiftui-pro.
Skills CLI, for Claude Code, Codex, Cursor and Gemini. This is the command on both the README and skills.sh:
npx skills add https://github.com/twostraws/swiftui-agent-skill --skill swiftui-pro
The README says the installer lets you pick which agents to install for and whether the skill applies to one project or all of them. If npx is missing, it suggests brew install node. For Claude Code, standalone skills live in .claude/skills/ in a project or ~/.claude/skills/ for every project. Codex and Cursor read the same SKILL.md format; see Codex skills and Cursor skills.
Clone the repo. The README also allows cloning it and installing the folder however you like. For Xcode, it links a video walkthrough on installing agent skills there.
How do you use it?
The README gives /swiftui-pro in Claude Code and $swiftui-pro in Codex, plus natural language such as "Use the SwiftUI Pro skill to look for performance problems in this project." You can narrow it to a partial review, and the SKILL.md tells the agent to load only the matching reference files.
Example prompts (suggestions, not quotes from the repo):
/swiftui-pro Review the Settings feature folder and list the top five fixes./swiftui-pro Check for deprecated API only.Use the SwiftUI Pro skill to audit accessibility in OnboardingView.swift: Dynamic Type, VoiceOver labels and Reduce Motion./swiftui-pro Do a deep performance review of the feed screen.$swiftui-pro Check how our layouts behave when the window resizes on iPad.
Expect output organized by file: the line, the rule broken and a short before and after code fix, then a prioritized summary. Files with no issues are skipped.
Tips and limits
From the repo, not from testing:
- It assumes very new platforms. The SKILL.md states that iOS 27 is the default deployment target for new apps and that Swift 6.4 is the target language version. It also tells the agent to check your deployment target and gate newer API with
#available, so older apps are covered, but read version-specific suggestions with your own target in mind. - Listings can lag the file. The skills.sh summary mentions iOS 26 and Swift 6.2, and the README badge still says iOS 26+, while the current SKILL.md names iOS 27 and Swift 6.4. Trust the SKILL.md.
- Strong opinions on structure. It prefers extracting subviews into separate
Viewstructs, each in its own file, over computedsome Viewproperties. If your team prefers another style, say so in your prompt or CLAUDE.md. - Review first, refactor on request. Unrelated modernization is suggested, not applied, during feature work. Ask explicitly if you want the fixes made.
- Two copies of the skill. The repo has a top-level
swiftui-pro/SKILL.mdand a plugin copy underswiftui-pro/skills/swiftui-pro/. They serve different install routes; you only need one. - Security audits. On 24 October 2026, skills.sh showed Pass from Gen Agent Trust Hub, Socket and Snyk. The skill ships no scripts.
The MIT License lets you copy and modify the skill as long as you keep the copyright notice.
Save it in your Kipt library
Kipt keeps prompts and skills as Markdown in a private GitHub repo you own. In Kipt, open Skills and paste the link to the swiftui-pro folder into the import box; Kipt reads the SKILL.md and its reference files. You can also drop the folder or a .zip. Every skill in your library then installs into Claude Code or Codex with one command:
npx skills add https://github.com/<you>/<repo>.git --all -g
Kipt is not affiliated with Paul Hudson or Hacking with Swift.
Similar skills
- Swift Concurrency Pro skill: Paul Hudson's companion reviewer for async/await, actors and
Sendable. - SwiftUI expert skill: Antoine van der Lee's SwiftUI skill, with Instruments trace analysis.
- React Native skill: Vercel's rules for cross-platform mobile apps.
- Expo skill: official Expo skills for building and shipping React Native apps.