XcodeiOS 27AISwiftUIProductividad

Xcode 27 Agent Skills en tu editor favorito: un comando y las 7 skills de Apple viven en Claude, Cursor o Codex

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-specialist
  • swiftui-whats-new-27
  • uikit-app-modernization
  • test-modernizer
  • c-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 .xcodeproj para 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