Cómo evitar que las redes neuronales generen código SwiftUI obsoleto
Si has intentado generar layouts de iOS con LLMs modernos como Claude o modelos en Cursor, probablemente habrás notado algunos problemas. El modelo genera con confianza una pantalla que parece que debería funcionar, el compilador no se queja, pero debajo hay un zoológico de APIs obsoletas. Por ejemplo, NavigationView, que Apple archivó hace un par de años, o soluciones caseras para animaciones donde los modificadores integrados han existido durante mucho tiempo.
Las cosas son peores con VoiceOver. Los asistentes adoran acumular capas de gestos personalizados, rompiendo completamente la accesibilidad para usuarios ciegos.
Paul Hudson, el autor del proyecto Hacking with Swift, resolvió este problema sistemáticamente. Creó el repositorio twostraws/SwiftUI-Agent-Skill, que enseña a los asistentes los hábitos correctos en UI declarativa.
Qué es SwiftUI Pro
Esencialmente, es una habilidad especializada en el estándar abierto Agent Skills. El formato es compatible con Claude Code, Codex, Gemini, Cursor y extensiones de Xcode.
En lugar de recordar interminablemente en el prompt del sistema "no uses sintaxis obsoleta," conectas una base de datos de reglas lista para usar al agente. La habilidad se basa en el trabajo de Hudson del proyecto AGENTS.md y se enfoca específicamente en los escollos en los que los modelos de lenguaje grandes tropiezan más a menudo.
Qué hay dentro de esta base de conocimientos:
- Cobertura de navegación actual y enlace de estado;
- Reglas para optimizar los redibujados de vistas;
- Verificaciones de accesibilidad para controles de VoiceOver;
- Un catálogo de métodos en soft-deprecación que el compilador aún acepta, pero que ya no deberían escribirse de esa manera.
El autor tiene habilidades similares para otras partes de la plataforma: SwiftData Pro, Swift Concurrency Pro y Swift Testing Pro.
Cómo instalar la habilidad en tus herramientas
La configuración toma menos de un minuto a través de npx:
npx skills add https://github.com/twostraws/swiftui-agent-skill --skill swiftui-pro
El comando preguntará si deseas activar la habilidad globalmente para todos los proyectos o vincularla solo al repositorio actual.
Si estás trabajando en Claude Code, puedes usar el administrador de plugins integrado:
/plugin marketplace add twostraws/SwiftUI-Agent-Skill
/plugin install swiftui-pro@swiftui-agent-skill
Para usuarios de Xcode, el autor grabó un video separado cubriendo la integración en el flujo de trabajo de desarrollo. Si lo prefieres, simplemente puedes clonar el repositorio y usar las reglas localmente.
Cómo ejecutar las verificaciones
Después de la instalación, la habilidad se activa a través de comandos o lenguaje natural. En Claude Code, simplemente escribe:
/swiftui-pro
El asistente Codex responde a una construcción similar:
$swiftui-pro
Puedes proporcionar contexto a los comandos inmediatamente para que el agente no desperdicie tiempo y tokens en una auditoría completa del archivo. Por ejemplo:
/swiftui-pro Check for deprecated API
O con un mensaje regular: "Usa la habilidad SwiftUI Pro y encuentra problemas de rendimiento en este módulo."
Ahorro de tokens y enfoque en lo no obvio
Un detalle interesante en la filosofía del proyecto: el autor controla estrictamente el tamaño de las instrucciones. Las cosas básicas que los modelos ya conocen sin necesidad de indicación (como la sintaxis de VStack o el modificador .padding()) no se incluyen intencionalmente. Cada línea de contexto consume límites de la ventana de contexto, por lo que las reglas contienen solo puntos sutiles, casos extremos y errores de renderizado no obvios.
Si deseas enviar un pull request con tu propia regla, ten en cuenta dos condiciones: máxima brevedad en la redacción y licencia MIT.

Un proyecto de Hacking with Swift
A quién le será útil este repositorio
Si desarrollas para iOS o macOS y usas activamente agentes de IA directamente en el editor, definitivamente vale la pena instalar. Te ahorra tener que limpiar código legacy generado por redes neuronales e inmediatamente orienta la generación de interfaces hacia estándares modernos de Swift.
Comienza instalando a través de npx en un proyecto pequeño y pide al agente que revise una pantalla con animaciones. La diferencia en los diffs sugeridos será visible inmediatamente.
Proyectos relacionados
