Este es el primero de tres posts que revisan lo que salió para devs entre el 14 y el 19 de septiembre — cinco días de novedades que no encajaron en el post de lanzamiento. El siguiente cubre Device Hub y el tercero los seis APIs nuevos para el iPhone Duo.
Xcode 27 no solo agregó agentic coding con Claude, Gemini y GPT dentro del editor — Apple embarcó 7 agent skills documentadas que puedes exportar con un solo comando y montar en Claude Desktop, Cursor, Codex o cualquier editor que lea ~/.agents/skills/ (SwiftLee — Using Xcode 27’s Agent Skills, Livsy Code).
El comando que cambia todo
xcrun agent skills export ~/.agents/skills
Un solo comando. Ese directorio es la convención que ya reconocen los agent IDEs populares — al arrancar buscan skills ahí. Después de exportar, relaunch a Claude Desktop / Cursor / Codex y las 7 aparecen.
Las 7 skills, una por una
Son skills escritas por Apple, con las mismas convenciones que las skills que crea la comunidad — pero con la autoridad de “así es como Apple espera que hagas las cosas”. Van desde el día a día de SwiftUI hasta migraciones grandes de UIKit o XCTest.
1. swiftui-specialist — la de todos los días
Cubre la práctica cotidiana de SwiftUI: estructura de vistas, data flow, modifiers, ForEach, localización, y soft deprecations. Es la que llamas cuando estás refactorizando una vista y quieres validar que estás siguiendo el patrón que Apple recomienda.
Cuándo la usas: review de código SwiftUI existente, elegir entre dos formas de resolver el mismo problema, entender qué es idiomático en 2026.
2. swiftui-whats-new-27 — la de migración a SDK 27
Enfocada en el paso de iOS 26 a iOS 27: el @State macro, cambios en toolbar, reorderable containers, swipe actions fuera de List, caching de AsyncImage, document APIs, y deprecations concretas del año.
Cuándo la usas: cuando estás actualizando tu app para compilar contra iOS 27 SDK y el compilador tira warnings de deprecación — le pasas el código y te dice qué hacer con cada uno.
3. uikit-app-modernization — para las apps que aún usan patrones viejos
Reemplaza APIs legacy como UIScreen.main y interfaceOrientation para soportar entornos multi-window. Cubre Swift y Objective-C (sí, Apple sigue considerando que Objective-C existe).
Cuándo la usas: app UIKit con años encima, quieres pasar a iOS 27 sin romper multi-window, y no sabes por dónde empezar. Le das el archivo, te devuelve una versión modernizada con explicación de cada cambio.
4. test-modernizer — XCTest a Swift Testing sin dolor
Migración incremental de XCTest a Swift Testing. Convierte setUp/tearDown a init/deinit, traduce XCTAssert a #expect, e introduce traits y parameterized tests donde tenga sentido.
Cuándo la usas: tu suite de tests todavía es XCTest y quieres empezar a migrar. Sabemos que XCTest no está deprecado (lo cubrí en el post de iOS 27), pero migrar los tests que tocas seguido es el patrón que Apple recomienda — y esta skill hace exactamente eso, un archivo a la vez.
5. c-bounds-safety — para código C moderno
Adopción de la extensión -fbounds-safety de C, que previene accesos out-of-bounds a memoria. Nicho pero real: si tu app usa librerías C third-party o tienes wrappers propios, esto es lo que quieres correr contra ese código.
Cuándo la usas: integrando SDKs en C, escribiendo Objective-C runtime tricks, o portando código antiguo.
6. audit-xcode-security-settings — el checkpoint que nunca hicimos
Audita tu proyecto Xcode y activa progresivamente Enhanced Security, warnings del compilador, y checkers del static analyzer. No lo hace de golpe (rompería builds); lo hace gradual, con explicación de qué hace cada flag.
Cuándo la usas: ronda de “hardening” antes de un release, o para responder al “¿está bien configurado el proyecto?” cuando entras a un codebase nuevo.
7. device-interaction — la que menos suena y la más útil
Corre como subagent para verificar comportamiento de tu app en device o simulador. Toma screenshots, inspecciona la UI hierarchy, simula toques. Es la skill que le pasas a Claude cuando le pides “verifica que este flow funciona” — se conecta a Device Hub, hace las interacciones, te dice qué encontró.
Cuándo la usas: validación funcional automatizada desde un agente. En vez de tú manualmente hacer un flow, la skill lo hace y reporta.
El gotcha real: 5 son 100% portables, 2 no
De las 7 skills, 5 son puramente sobre código — no necesitan Xcode corriendo. Esas viven cómodas en Claude Desktop o Cursor:
swiftui-specialistswiftui-whats-new-27uikit-app-modernizationtest-modernizerc-bounds-safety
Las otras dos tocan configuración de proyecto o hardware en vivo, y funcionan mejor dentro de Xcode:
audit-xcode-security-settings— necesita el.xcodeprojpara leer y modificar build settings.device-interaction— necesita un simulador o device conectado, más las APIs de Device Hub para interactuar.
Fuera de Xcode las dos siguen exportando y arrancan, pero con funcionalidad reducida. Si tu flujo es mayormente code review y refactor, las 5 portables cubren el 90%. Las otras dos las corres en Xcode cuando toca.
Un ejemplo concreto: swiftui-whats-new-27 en acción
Digamos que tu app compilaba contra iOS 26 SDK y ahora estás migrando. Xcode 27 te tira un warning en un @State viejo, y otro en un modifier de toolbar. Sin la skill:
- Lees los release notes de SwiftUI 27
- Buscas la sesión de WWDC26 correspondiente
- Escribes el fix
Con la skill exportada en Claude:
- “Este archivo tira warnings de SwiftUI iOS 27 SDK. Aplica los cambios necesarios usando
swiftui-whats-new-27.” - La skill sabe exactamente qué warnings existen, cuál es el reemplazo idiomático, y qué NO cambiar porque es soft-deprecation (aún compila).
Es la diferencia entre “búsqueda + interpretación + código” y “código directo”. Y como la skill viene de Apple, el fix es lo que Apple recomienda, no lo que un post de Medium sugirió.
Cómo se ve el directorio después de exportar
~/.agents/skills/
├── audit-xcode-security-settings/
│ ├── SKILL.md
│ └── ...
├── c-bounds-safety/
├── device-interaction/
├── swiftui-specialist/
├── swiftui-whats-new-27/
├── test-modernizer/
└── uikit-app-modernization/
Cada skill es una carpeta con su SKILL.md (la descripción que el agente lee) y assets asociados. Es texto plano — puedes leerlo, editarlo, o forkearlo. La comunidad ya empezó a hacer eso: existe un mirror en github.com/superagents-lab/xcode27-skills para quienes no tienen Xcode 27 instalado pero quieren probar.
Qué NO cubren estas skills (por ahora)
Es útil saber también qué queda fuera:
- Concurrencia y Swift 6.4. No hay skill dedicada a
sendable, isolation, o typed throws. Sigue siendo territorio de la doc oficial. - SwiftData. Ni siquiera con los cambios de iOS 27 (
ResultsObserver,HistoryObserver). Sospecho que llegará en 27.x. - App Intents / Siri. El área donde más migración toca este año (por la deprecación de SiriKit) — no hay skill oficial. Curioso.
- Foundation Models. El framework más ruidoso del año no tiene skill propia.
No es que Apple no lo cubra en su documentación — solo que no llegaron como skills automatizadas. Puede que en Xcode 27.1 o 27.2 aparezcan más.
Adopción en 5 minutos
Si tienes Xcode 27 instalado, este es el flujo mínimo:
# 1. Exporta
xcrun agent skills export ~/.agents/skills
# 2. Verifica
ls ~/.agents/skills
# 3. Relaunch Claude Desktop / Cursor / Codex
# Las skills aparecen en el picker.
# 4. Prueba con "aplica swiftui-whats-new-27 a Feature.swift"
Cinco minutos y el 90% de review de código SwiftUI/UIKit pasa por skills escritas por Apple, no por prompts genéricos. Vale la pena.
Sigue en la serie
- Ahora: este post (Xcode 27 Agent Skills)
- Device Hub — el reemplazo de Simulator.app en Xcode 27
- iPhone Duo con Xcode 27.1 — los 6 APIs del foldable, listos para el 23 de octubre
Fuentes
- Using Xcode 27’s Agent Skills in Claude, Codex, and Cursor — SwiftLee
- SwiftUI Best Practices, straight from Apple’s Xcode 27 Agent Skill — SwiftLee
- Xcode 27 Ships With Apple’s Own Agent Skills — DEV Community
- The Xcode 27 Agent Skills — Livsy Code
- xcode27-skills mirror — GitHub
- Xcode 27: The Complete Guide to Agentic AI Workflows — Medium