01 · INTRODUCTION
Four Tools That Help iOS Developers Write Better Swift
🎯 Choose the right kind of help for your Swift project: focused AI guidance, an architecture library, or repeatable automated checks.
By Matthew Thomas
An iOS project can have several problems at once. A search screen displays an old response after the user changes their search. An icon-only button has no useful accessibility label. Different features handle state in completely different ways. Pull requests fill up with comments about coding conventions.
Each problem needs a different kind of help.
These four open-source tools address concurrency, SwiftUI, application architecture and automated code checks. Understanding their roles makes it easier to choose one that will improve your project.
01 · CONCURRENCY
Overlapping work → review lifetime and result ordering
02 · SWIFTUI
A screen that looks finished → check how it behaves and reads
03 · ARCHITECTURE
Connected features → make state changes and effects explicit
04 · CODE CHECKS
Repeated review comments → automate agreed conventions
02 · DEVELOPER TOOLS
1. Swift Concurrency Agent Skill: guidance for asynchronous code

OPEN SOURCE · AI GUIDANCE
Explore Swift Concurrency Agent Skill on GitHub ↗
Antoine van der Lee’s Swift Concurrency Agent Skill gives AI coding assistants guidance on actor isolation, cancellation, Sendable, asynchronous testing and migration to Swift 6. It is designed to work across architectures, without requiring developers to adopt a particular application structure.
A problem you might recognise
Consider a restaurant search screen. The user searches for “pizza”, then quickly changes the query to “pasta”. Both requests succeed, but the pizza response arrives last and replaces the results.
The code might compile without warnings. The problem is deciding which request still has permission to update the screen.
This is the kind of situation where focused concurrency guidance is useful. A productive request to your assistant would be:
Try this review prompt
Review this search feature for cancellation and overlapping requests. Explain whether an older response can replace newer results. Identify any faulty behaviour, propose a focused fix, and preserve the intended product behaviour.
I would consider this skill when modernising concurrency in an established app whose architecture the team wants to retain.
Its recommendations still need review, compilation and behavioural tests. An AI skill supplies instructions; it cannot prove that the resulting application behaves correctly.
03 · DEVELOPER TOOLS
2. SwiftUI Agent Skill: help with the details of a screen

OPEN SOURCE · AI GUIDANCE
Explore SwiftUI Agent Skill on GitHub ↗
Paul Hudson’s SwiftUI Agent Skill, installed as SwiftUI Pro, focuses on SwiftUI API usage, layout, navigation, state management, accessibility and performance. Its stated aim is to address mistakes that AI coding assistants commonly make.
A problem you might recognise
Imagine a reading app with a toolbar for changing text size, showing translations and saving a bookmark. The screen may look finished while still being difficult to use with VoiceOver or larger accessibility text sizes.
A focused review gives the assistant a clear job:
Try this review prompt
Review this reading screen for accessibility and Dynamic Type. Preserve its visual design and explain each proposed change.
That scope matters. Improving an existing screen should respect the product decisions already made by its designers and developers.
I would consider this skill for reviewing SwiftUI screens and improving everyday implementation quality. It offers a useful second perspective, especially when a screen has been generated quickly.
You should still run the app and check the actual experience. Source inspection alone cannot establish whether a layout remains comfortable to read or navigate.
04 · DEVELOPER TOOLS
3. The Composable Architecture: a shared structure for application behaviour

OPEN SOURCE · ARCHITECTURE LIBRARY
Explore The Composable Architecture on GitHub ↗
Point-Free’s The Composable Architecture, usually called TCA, is a Swift library. Features describe their state and actions, reducers handle state changes and effects, and stores coordinate execution. The library also provides tools for testing feature behaviour.
A problem you might recognise
Consider a travel app where a person selects a flight, adds passengers, applies a discount and completes a booking. Several screens participate in one operation. Changes in one part of the journey affect what another screen can display or allow.
A consistent way to represent those actions and state transitions can make the behaviour easier for a team to follow and test.
TCA provides that structure, but adopting it is an architectural decision. Your team must learn its concepts and maintain an application that depends on the library.
I would evaluate it when a team wants a prescribed approach to managing feature state and effects. A useful trial would be one representative feature, including its failure cases and tests, before committing to wider adoption.
05 · DEVELOPER TOOLS
4. SwiftLint: repeatable checks for coding conventions

OPEN SOURCE · AUTOMATED CHECKS
Explore SwiftLint on GitHub ↗
SwiftLint checks Swift source against configurable rules and can run as part of an Xcode build or continuous integration workflow. It gives teams an automated way to enforce supported style and coding conventions.
Its value becomes clear during code review.
If developers repeatedly leave the same comments about agreed conventions, an automated check can handle those issues consistently. Reviewers can then spend more time on behaviour, maintainability and whether the change solves the intended problem.
Unlike an AI review, a configured lint check does not generate a fresh interpretation of the rule each time it runs.
I would introduce it with a manageable set of rules the team agrees to enforce. Adding a large collection of warnings to an existing project can create noise and make useful findings easier to overlook.
SwiftLint does not establish that an app’s business logic or asynchronous behaviour is correct. It handles a narrower, valuable part of quality control.
06 · DEVELOPER TOOLS
Choose the tool around the problem
- Concurrency guidance within an existing architecture
Swift Concurrency Agent Skill - SwiftUI implementation and accessibility review
SwiftUI Agent Skill - A consistent architecture for state, actions and effects
The Composable Architecture - Automated enforcement of coding conventions
SwiftLint
Some of these tools can work together. A TCA project can use SwiftLint, and a team with an established architecture can benefit from a focused SwiftUI review.
Start with one troublesome feature or recurring review problem. Apply the relevant tool, inspect the changes, and test the behaviour that matters. The useful measure is whether your team can understand, verify and maintain the resulting code more confidently.
👉 Your next step
Choose one recurring problem in your own project. Write down the behaviour you want, select one tool, and define how you will check the result before accepting its changes.
FROM 3 DAYS OF SWIFT CONCURRENCY

CFA AI Toolkit for iOS
Make feature ownership and concurrent work easier to follow in your iOS app with Cooperative Feature Architecture.
ONLINE TRAINING FOR iOS DEVELOPERS
Build native iOS apps with AI.
Understand how they work.
Build in Xcode. Explore Swift Concurrency. Learn to direct AI with confidence.
Explore the training program →Explore the training days and lessons
Next Launch
