To: Subscribers of Not only Swift
Date: January 19, 2026
Issue: 90
Re: All you need are skills?
Hey everyone!
Seems like it’s been a slow week in Swift and SwiftUI, but to make up for it, there has been a buzz of activity around AI coding tools, specifically around skills and agents.
With everyone and their uncle able to create apps, the question is: Is AI going to replace developers, or will we all just be much more productive?
I’ve got two articles that touch on this topic. In one, Kevin Roose, an NYT tech columnist, built a Pocket clone called “Stash” in less than half a day using Claude Code, sparking a discussion about the future of software development. However, Stephan Schwab reminds us that the dream of “replacing developers” is as old as COBOL - and it usually fails because software is about thinking, not typing.
So - what is your opinion? Let me know - just hit that reply button!
Peter
by Peter Friese
In last week’s livestream, I built a tagging system for my app, Sophia, from scratch using Gemini CLI and Antigravity. We explored data modeling in Firestore, code generation, and debugging in a real-world SwiftUI application.
In the next stream (today - January 19th), we’ll focus on refining the tagging user interface and improving the data layer.
by Natalia Panferova
I love it when advanced language features are built on top of first principles. Natalia Panferova shows how Swift’s string interpolation system is built on top of ExpressibleByStringInterpolation, and how you can extend it to create custom behavior.
This is a great example of how things that we take for granted in the Swift language are a combination of smart API design and using first principles throughout the language.
Natalia shows how to use String.StringInterpolation to add inline formatting for dates, but the possibilities are endless. You could use this for:
- Redaction/Privacy: Automatically mask PII in logs.
- Styling: Build
NSAttributedString with inline styles.
- SQL Safety: Create type-safe query builders that handle parameterization automatically.
Have you used this before? Let me know!
by William McLean
MCP servers play an important role in the AI ecosystem, allowing LLMs to interact with local and remote tools and data. While the majority of MCP servers are probably written in Python and TypeScript, there are SDKs for many other languages, such as Go, Rust, Kotlin, and Swift!
William walks through setting up a local MCP environment using the Gemini CLI and building a Swift-based server that exposes system information and other tools to the LLM. It’s a great example of how to use Swift in the AI ecosystem.
by Artem Mirzabekian
SwiftUI’s .interactiveDismissDisabled() is great, but sometimes you want to intercept the dismissal attempt rather than just blocking it—for example, to show a “Discard Changes?” alert.
Artem demonstrates a clever technique using presentation detents as a “tripwire” to detect when a user is trying to pull down the sheet, allowing you to run custom logic before deciding whether to actually dismiss.
When implementing confirmation dialogs like the ones used in Apple’s own apps, such as the Reminders app, I ran into similar issues, and implemented a solution that makes use of UIViewControllerRepresentable. You can read about it here.
by Firebase
In this episode of Firebase After Hours, we dive into the new Skills feature in Gemini CLI. Watch as we attempt to build a custom skill for Firebase live on stream, exploring the potential of agentic coding workflows.
by Matt Pocock
“Massive agent files are a problem for AI coding agents” argues Matt Pocock. Instead, we should be using Progressive Disclosure to break down the instructions for our coding agents into smaller, focused files.
So, if you’ve been wondering why agent skills have been taking off recently, now you know.
This is a great introduction to understanding how to organize your agent files.
by Lee Robinson
This 7-minute video is a great introduction to understanding what the difference is between rules, commands and skills, and how they work in your coding agent.
If you’re curious how all of this works, and if you should throw away your current agent setup, these are 7 minutes well spent.
by Romin Irani
In the previous issue, I linked to an article that shows how you can use Skills in Gemini CLI. Antigravity, Google’s agentic IDE, also supports Skills, and Romin Irani shows you how they work, and how to get started with them. You’ll even learn how to create your own Skills!
by Kevin Roose
Kevin Roose, tech columnist for the NYT, built a Pocket clone called “Stash” in less than half a day, with almost no prior knowledge of coding, using Claude Code.
The app consists of a Chrome Extension, a web app, and an iOS shortcut. If you’re curious, you can find the code on GitHub.
Kevin even created a landing page with the instructions to set this up using your own credentials (it’s a single-user app).
It’s an interesting experiment, and I encourage you to read the comments under Kevin’s post - this one by Kilian Semmelmann stood out to me:
I think we will see an explosion of such tools in the coming few years. Because “everybody” can do it. Then bugs will emerge. Features will be harder to integrate beyond simplistic cases. Models will be confused, data will be leaked, projects will be abandoned. In the end, there will be a set of standard software again, which humans will lazily buy, because the show is over and they “just need it working”; not maintaining, upgrading or securing.
by Stephan Schwab
For anyone who is in the business of writing software for a living, the past couple of months have probably been a rollercoaster of emotions. Especially with the advent of AI Agents, the promise of being able to create just about any type of software, no matter how complex, seems to become more and more real.
Stephan Schwab takes a step back and traces the history of this recurring dream of replacing developers every decade since 1969.
- 1960s: COBOL (“English-like syntax so business people can write programs”)
- 1980s: CASE tools
- 1990s: Visual Basic / Drag-and-drop
- 2020s: AI Agents
I find it particularly funny that one of the first attempts to use “plain English” to enable business people to write programs dates back to the 60s.
COBOL didn’t let business analysts write programs, but it did enable a generation of developers to build business systems effectively.
So - don’t worry too much about AI Agents replacing developers. As Stephan points out, “We have better tools—vastly better tools—but the thinking remains essential”.
by NonStrict
3667 sessions from 27 events - that’s an impressive amount of content Apple has published since 2000.
Nonstrict (makers of the excellent Bezel app) have released an unofficial index of WWDC sessions, covering all sessions from 2000 to 2025.
And since they not only published the videos, but also structured session information as well as the transcripts, this is a treasure trove for anyone who wants to build their own tools on top of it.