ce-test-xcode
everyinc/compound-engineering-plugin
Crie e teste aplicativos iOS no simulador com XcodeBuildMCP.
...Expandir tudoSobre ce-test-xcode
O ce-test-xcode compila, instala e testa aplicativos iOS no simulador por meio do servidor XcodeBuildMCP, capturando capturas de tela e registros (logs) e verificando o comportamento do aplicativo. Ele aceita um argumento opcional para o nome de um esquema (scheme), ou "current" para utilizar o esquema padrão ou o último utilizado. Os pré-requisitos incluem o Xcode com as ferramentas de linha de comando, um servidor MCP XcodeBuildMCP conectado, um projeto ou espaço de trabalho (workspace) do Xcode válido e pelo menos um Simulador iOS disponível. A invocação de modelos (LLMs) está desativada, portanto, ele é executado como um comando explícito.
O fluxo de trabalho primeiro verifica se o XcodeBuildMCP está conectado, chamando sua ferramenta list_simulators, e interrompe-se com orientações de instalação se não estiver. Em seguida, ele descobre projetos e esquemas (discover_projs, list_schemes), inicializa um simulador preferencial, como o iPhone 15 Pro, por UUID, e compila o aplicativo com build_ios_sim_app, relatando erros específicos em caso de falha. Em caso de sucesso, ele instala e inicia o aplicativo (install_app_on_simulator, launch_app_on_simulator) e começa a captura de registros (logs). Para cada tela principal, ele tira uma captura de tela descritiva, analisa a renderização e o conteúdo, e verifica os registros (logs) em busca de falhas (crashes), exceções, mensagens de nível de erro e solicitações de rede com falha.
A habilidade documenta uma limitação conhecida da plataforma: toques simulados não podem acionar reconhecedores de gestos em visualizações (views) do SwiftUI Text com links inline do tipo AttributedString, portanto, ela solicita um toque manual ou oferece xcrun simctl openurl como alternativa. Ela pausa para verificação humana em fluxos que exigem interação com o dispositivo, incluindo Sign in with Apple, notificações push, compras no aplicativo, câmera e fotos, e localização, utilizando a ferramenta de pergunta bloqueante da plataforma, como AskUserQuestion. Em caso de falha no teste, ela documenta o erro com uma captura de tela e registros (logs) e pergunta se deve corrigir agora ou pular. Ela encerra com uma tabela de resumo estruturada do teste e uma etapa de limpeza que interrompe a captura de registros (logs) e, opcionalmente, desliga o simulador. Ela também se integra ao fluxo de trabalho ce-code-review, que pode gerar um agente para executar esta habilidade em Pull Requests (PRs) que tocam no código iOS.
Perguntas Frequentes (FAQ)
Qual servidor MCP esta habilidade requer?
Ela requer que o servidor MCP XcodeBuildMCP esteja conectado. O fluxo de trabalho confirma a disponibilidade chamando sua ferramenta list_simulators e não prosseguirá até que o XcodeBuildMCP esteja funcionando, fornecendo instruções de instalação via Homebrew e npx se ele estiver ausente.
Como escolho qual esquema testar?
Passe o nome do esquema como argumento, ou passe "current" para utilizar o esquema padrão ou o último utilizado. A habilidade descobre projetos e esquemas com discover_projs e list_schemes e utiliza o argumento fornecido, se houver um.
Por que os toques em links de texto do SwiftUI não funcionam no simulador?
Os toques simulados não acionam reconhecedores de gestos em visualizações (views) do SwiftUI Text com links inline do tipo AttributedString porque esses links não são expostos como elementos separados na árvore de acessibilidade. A habilidade solicita que você toque manualmente e pode usar xcrun simctl openurl para abrir um URL de destino conhecido diretamente como alternativa.
Quando ela pausa para entrada humana?
Ela pausa em fluxos que exigem interação real com o dispositivo, como Sign in with Apple, notificações push, compras no aplicativo, câmera e fotos e localização, perguntando por meio da ferramenta de pergunta bloqueante da plataforma e nunca pulando silenciosamente a verificação.
O que ela faz após uma falha no teste?
Ela documenta a falha com uma captura de tela do estado de erro, registros (logs) do console capturados e notas de reprodução, e depois pergunta se deve corrigir agora (depurar, propor uma correção, recompilar e testar novamente) ou pular e continuar testando outras telas.
Build and exercise an iOS app on a simulator, preserving screenshots, logs, human-verification results, and failures as evidence for the user.
Done:
- A completed run reports overall
PASS,FAIL, orPARTIALplus project, scheme, simulator, build result, per-surfacePASS/FAIL/SKIP, console errors, human checks, and residual failures. - Per-surface status is derived from evidence, not the user's routing choice.
PASSrequires completed passing evidence.FAILrecords observed failing evidence until a completed retest replaces it.SKIPmeans the check has no completed outcome. - The overall result is
FAILwhile any failure remains,PARTIALwhen no failure remains but a scoped check is skipped, and otherwisePASS. - Any failure before the launched-with-log-capture handoff stops later stages and reports an actionable setup blocker with its evidence.
Boundaries: this skill tests and reports. Diagnosis and any user-approved product fix belong to ce-debug, invoked with authority narrowed to return here without committing, pushing, or opening a PR. Keep simulator interaction within the app and flows the user placed in scope.
Run
- Prepare and launch. Read
references/setup-and-build.md. It owns the XcodeBuildMCP availability gate, project and scheme discovery, simulator choice, build, install, launch, and log-capture start. - Exercise and report. After launch, read
references/test-and-report.md. It owns per-screen evidence, human-only flows, the SwiftUI inline-link automation limitation, failure routing, cleanup, and the fixed summary fields.
Do not replace either required read with remembered tool names. XcodeBuildMCP adapters differ by host, while their observable success conditions do not.
Instalar ce-test-xcode
Baixe e extraia os arquivos de habilidade para o diretório .claude/skills/.
Baixar ZIPClone o repositório e copie os arquivos da habilidade para o seu projeto.
git clone https://github.com/EveryInc/compound-engineering-plugin/blob/main/skills/ce-test-xcode/SKILL.md # Copy SKILL.md to your .claude/skills/ directory
Copiar





Lar
