/ Directorio / Playground / Axiom (xOS Dev Skills)
● Comunidad CharlesWiltgen ⚡ Instantáneo

Axiom (xOS Dev Skills)

por CharlesWiltgen · CharlesWiltgen/Axiom

Desarrollo para plataformas Apple que no pelea con Swift 6 — skills opinionados para SwiftUI, concurrencia estructurada, @Observable y herramientas de build modernas.

Axiom es un bundle de skills de Claude Code para publicar apps de producción en iOS / iPadOS / watchOS / tvOS. Aplica convenciones modernas: SwiftUI-first, @Observable sobre ObservableObject, async/await sobre completion handlers, tipos de valor y las reglas de concurrencia de Swift 6. Incluye verificaciones de accesibilidad, preparación para App Store e higiene del proyecto Xcode.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

listo

Instalar

Elige tu cliente

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "axiom-xos-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/CharlesWiltgen/Axiom",
        "~/.claude/skills/axiom"
      ],
      "_inferred": true
    }
  }
}

Abre Claude Desktop → Settings → Developer → Edit Config. Reinicia después de guardar.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "axiom-xos-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/CharlesWiltgen/Axiom",
        "~/.claude/skills/axiom"
      ],
      "_inferred": true
    }
  }
}

Cursor usa el mismo esquema mcpServers que Claude Desktop. La configuración del proyecto prevalece sobre la global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "axiom-xos-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/CharlesWiltgen/Axiom",
        "~/.claude/skills/axiom"
      ],
      "_inferred": true
    }
  }
}

Haz clic en el icono MCP Servers de la barra lateral de Cline y luego en "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "axiom-xos-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/CharlesWiltgen/Axiom",
        "~/.claude/skills/axiom"
      ],
      "_inferred": true
    }
  }
}

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "axiom-xos-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/CharlesWiltgen/Axiom",
        "~/.claude/skills/axiom"
      ]
    }
  ]
}

Continue usa un array de objetos de servidor en lugar de un mapa.

~/.config/zed/settings.json
{
  "context_servers": {
    "axiom-xos-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/CharlesWiltgen/Axiom",
          "~/.claude/skills/axiom"
        ]
      }
    }
  }
}

Añádelo a context_servers. Zed recarga en caliente al guardar.

claude mcp add axiom-xos-skill -- git clone https://github.com/CharlesWiltgen/Axiom ~/.claude/skills/axiom

Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.

Casos de uso

Usos del mundo real: Axiom (xOS Dev Skills)

Migrar un ViewModel a @Observable

👤 Devs iOS adoptando iOS 17+ ⏱ ~45 min advanced

Cuándo usarlo: La app es iOS 17+ pero los ViewModels siguen usando ObservableObject + @Published.

Requisitos previos
  • Skill instalado — git clone https://github.com/CharlesWiltgen/Axiom ~/.claude/skills/axiom
  • Deployment target mínimo iOS 17 — Configuración del proyecto
Flujo
  1. Inventariar
    Axiom: lista todos los ObservableObject + @Published del proyecto. Nota cuáles son hoja vs compartidos.✓ Copiado
    → Lista con forma + sugerencias de dependencia
  2. Migrar uno
    Refactoriza ProfileViewModel a @Observable. Mantén la API pública estable. Actualiza los bindings de las Vistas consumidoras.✓ Copiado
    → VM migrado; @Bindable usado en las vistas; sin @Published restante
  3. Verificar
    Ejecuta xcodebuild para el scheme. Informa cualquier warning.✓ Copiado
    → Build limpio; sin warnings de Swift 6

Resultado: Base de código @Observable moderna con vistas más limpias.

Errores comunes
  • Los tests existentes dependen de la proyección de @Published ($name) — Los tests necesitan reescribirse; no todos los patrones de acceso se mapean directamente
Combinar con: filesystem · ios-simulator-mcp

Corregir warnings de concurrencia de Swift 6

👤 Devs iOS preparándose para la concurrencia estricta de Swift 6 ⏱ ~60 min advanced

Cuándo usarlo: El build está amarillo con warnings de Sendable / actor.

Flujo
  1. Clasificar
    Axiom concurrency-clean: clasifica los warnings en: (1) aislamiento de actor, (2) conformance Sendable, (3) riesgo de data race.✓ Copiado
    → Lista categorizada
  2. Corregir el aislamiento de actor
    Aborda la categoría 1 primero. Propón correcciones mínimas; prefiere @MainActor en tipos UI sobre aislamiento global.✓ Copiado
    → Cambios quirúrgicos; sin @MainActor esparcido a lo bruto

Resultado: Build Swift 6 limpio con límites de concurrencia intencionales.

Errores comunes
  • Usar @MainActor como atajo para 'silenciar los warnings' — El skill lo marca; usa diseño de actor adecuado en su lugar

Ejecutar una auditoría de accesibilidad

👤 Equipos iOS antes del lanzamiento ⏱ ~60 min intermediate

Cuándo usarlo: Envío a App Store próximo; quieres VoiceOver/Dynamic Type cubiertos.

Flujo
  1. Escanear vistas
    Axiom a11y: escanea las vistas SwiftUI. Marca accessibilityLabel faltante, tamaños de fuente hardcodeados, uso de colores de bajo contraste.✓ Copiado
    → Lista de issues por vista
  2. Parchar los principales issues
    Aplica correcciones para los top 10 issues. Usa fuentes del sistema para Dynamic Type.✓ Copiado
    → Parches aplicados; build aún limpio

Resultado: La app supera un recorrido básico de VoiceOver.

Errores comunes
  • Las etiquetas auto-generadas no coinciden con el modelo mental del usuario — Sobreescribe con etiquetas que revelen la intención
Combinar con: ios-simulator-mcp

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

axiom-xos-skill + ios-simulator-mcp

Aplicar recomendaciones del skill + prueba de humo en el simulador

Axiom: migra ProfileVM. Luego iOS-Simulator: lanza, captura la pantalla de perfil.✓ Copiado
axiom-xos-skill + filesystem

Aplicar parches en todo el proyecto

Axiom concurrency-clean: produce parches para src/. Filesystem: aplícalos.✓ Copiado
axiom-xos-skill + xcodebuildmcp

Verificación de build después del refactor

Después de la migración, XcodeBuild: construye para sim. Informa los warnings.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
vm_migrate_observable viewmodel_path Migración por VM 0
concurrency_clean scope Preparación Swift 6 0
a11y_scan scope Pre-lanzamiento 0
appstore_checklist (ninguno) Pre-envío 0
xcode_hygiene project Limpieza periódica 0

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
N/A
Tokens por llamada
Los escaneos del proyecto usan 10k–40k tokens
Monetario
Gratis
Consejo
Acota las auditorías a una carpeta/característica; no hagas fanout en una app gigante

Seguridad

Permisos, secretos, alcance

Ámbitos mínimos: filesystem-read filesystem-write
Almacenamiento de credenciales: Ninguno
Salida de datos: Ninguno

Resolución de problemas

Errores comunes y soluciones

La migración rompió el uso de @Bindable

Algunas vistas necesitan wrappers @Bindable; el skill debería añadirlos — comprueba que no se haya saltado ninguno

Las correcciones de concurrencia cambian silenciosamente la semántica

Siempre ejecuta los tests después de la migración; los cambios de concurrencia son sutiles

Las sugerencias de a11y parecen boilerplate

El skill sigue el HIG de Apple; ajusta con tus propias etiquetas

Alternativas

Axiom (xOS Dev Skills) vs otros

AlternativaCuándo usarlaContrapartida
AvdLee Swift Concurrency SkillSolo necesitas concurrencia, no el bundle completoMás reducido
Swift Migrator de AppleQuieres la migración respaldada por AppleMenos interactivo; menos consciente del proyecto
twostraws SwiftUI Agent SkillEnfoque solo en SwiftUIOpiniones diferentes

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills