/ Directorio / Playground / ios-simulator-skill
● Comunidad conorluddy ⚡ Instantáneo

ios-simulator-skill

por conorluddy · conorluddy/ios-simulator-skill

22 optimized scripts wrapping xcodebuild + iOS simulator — Claude builds, runs, and interacts with apps via accessibility APIs, not pixel coords.

A production-grade Claude Code skill for iOS dev workflows. It wraps xcodebuild with progressive error disclosure (95%+ token reduction on build summaries) and drives the simulator through iOS accessibility APIs so interactions are robust against UI changes. Includes device lifecycle, screenshot compression, log tailing, and WCAG checks.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

ios-simulator-skill.replay ▶ listo
0/0

Instalar

Elige tu cliente

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

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

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "ios-simulator-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/conorluddy/ios-simulator-skill",
        "~/.claude/skills/ios-simulator-skill"
      ],
      "_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": {
    "ios-simulator-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/conorluddy/ios-simulator-skill",
        "~/.claude/skills/ios-simulator-skill"
      ],
      "_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": {
    "ios-simulator-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/conorluddy/ios-simulator-skill",
        "~/.claude/skills/ios-simulator-skill"
      ],
      "_inferred": true
    }
  }
}

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "ios-simulator-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/conorluddy/ios-simulator-skill",
        "~/.claude/skills/ios-simulator-skill"
      ]
    }
  ]
}

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

~/.config/zed/settings.json
{
  "context_servers": {
    "ios-simulator-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/conorluddy/ios-simulator-skill",
          "~/.claude/skills/ios-simulator-skill"
        ]
      }
    }
  }
}

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

claude mcp add ios-simulator-skill -- git clone https://github.com/conorluddy/ios-simulator-skill ~/.claude/skills/ios-simulator-skill

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

Casos de uso

Usos del mundo real: ios-simulator-skill

Build, run, and screenshot the current flow

👤 iOS devs using Claude Code to iterate ⏱ ~5 min beginner

Cuándo usarlo: You changed a view and want to see it live without leaving the chat.

Requisitos previos
  • Xcode + simulator installed — Standard macOS iOS dev setup
Flujo
  1. Ask Claude to build and run
    Use ios-simulator-skill. Build MyApp scheme for iPhone 16, launch, navigate to Settings, screenshot.✓ Copiado
    → Compact build summary, then the screenshot
  2. Iterate
    I tweaked the padding — rebuild and re-screenshot.✓ Copiado
    → Fast turn with minimal token overhead

Resultado: Tight build-iterate-view loop in Claude Code.

Errores comunes
  • Scheme name typo causes unclear error — Skill returns a compact list of available schemes on mismatch
Combinar con: filesystem

Drive a scripted UI flow for smoke testing

👤 iOS devs and QA ⏱ ~15 min intermediate

Cuándo usarlo: You want to verify a critical flow without writing full XCUITest scaffolding.

Flujo
  1. Describe the flow
    Launch the app, tap 'Sign in', enter creds, tap the first row in the list, screenshot.✓ Copiado
    → Claude uses accessibility labels to drive each step
  2. Check WCAG compliance
    Now run the accessibility audit on the current screen.✓ Copiado
    → WCAG findings with fix suggestions

Resultado: A working smoke flow plus an a11y pass.

Errores comunes
  • Flow breaks when a label changes — Labels are more stable than coordinates, but still review after big UI refactors

Tail logs while reproducing a bug

👤 iOS devs chasing a flaky issue ⏱ ~10 min intermediate

Cuándo usarlo: A bug only repros in the simulator and you want the relevant logs.

Flujo
  1. Reproduce with filtered logs
    Launch the app, tap through the crashing flow, tail logs filtered to error+warning.✓ Copiado
    → Claude returns a trimmed log bundle and highlights the likely cause

Resultado: A targeted log excerpt and a hypothesis for the bug.

Errores comunes
  • Logs too noisy if severity filter not set — Default to error+warning; raise to info only when debugging

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

ios-simulator-skill + filesystem

Skill runs the build; filesystem reads/writes the sources

Edit SettingsView.swift, then build and screenshot.✓ Copiado
ios-simulator-skill + github

Reproduce an issue from a GitHub bug report in the simulator

Read issue #42, reproduce the steps in the simulator, attach screenshot to a comment.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
xcodebuild wrapper scheme, destination Any build request 0
Simulator driver (accessibility APIs) element label/role + action UI automation in the simulator 0
Screenshot capture none (current screen) Visual verification 0
Log tailing severity filter, duration Debugging runtime issues 0
Device lifecycle boot/shutdown/create/reset Fresh simulator state needed 0
Accessibility audit current screen A11y review 0

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
None
Tokens por llamada
Very low — compact build summaries + compressed screenshots are the main design goal
Monetario
Free — skill is local
Consejo
Keep screenshots at default compression; full-res screens eat context fast.

Seguridad

Permisos, secretos, alcance

Almacenamiento de credenciales: No credentials in the skill. App-side secrets stay in your build config.
Salida de datos: None — everything runs on local simulators

Resolución de problemas

Errores comunes y soluciones

'No such scheme'

Skill lists available schemes on mismatch; pick the exact name.

Verificar: xcodebuild -list -project MyApp.xcodeproj
Accessibility label not found

Add accessibilityIdentifier to the SwiftUI view — it's more stable than the visible label.

Simulator stuck booting

Use the device-lifecycle reset command; then re-boot.

Verificar: xcrun simctl list

Alternativas

ios-simulator-skill vs otros

AlternativaCuándo usarlaContrapartida
Direct xcodebuild + simctlYou don't mind the token bloat from raw outputNo abstraction; verbose
XcodeBuildMCPYou prefer an MCP server with structured toolsMCP route; this skill is local scripts

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills