/ Diretório / Playground / Axiom (xOS Dev Skills)
● Comunidade CharlesWiltgen ⚡ Instantâneo

Axiom (xOS Dev Skills)

por CharlesWiltgen · CharlesWiltgen/Axiom

Desenvolvimento Apple-platform que não briga com o Swift 6 — skills opinativas para SwiftUI, structured concurrency, @Observable e ferramentas modernas de build.

O Axiom é um bundle de skills Claude Code para publicar apps de produção no iOS / iPadOS / watchOS / tvOS. Ele impõe convenções modernas: SwiftUI-first, @Observable sobre ObservableObject, async/await sobre completion handlers, value types e regras de concorrência do Swift 6. Inclui verificações de acessibilidade, prontidão para App Store e higiene de projeto Xcode.

Por que usar

Principais recursos

Demo ao vivo

Como fica na prática

pronto

Instalar

Escolha seu 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
    }
  }
}

Abra Claude Desktop → Settings → Developer → Edit Config. Reinicie após salvar.

~/.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 o mesmo esquema mcpServers que o Claude Desktop. Config de projeto vence a 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
    }
  }
}

Clique no ícone MCP Servers na barra lateral do Cline, depois "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
    }
  }
}

Mesmo formato do Claude Desktop. Reinicie o Windsurf para aplicar.

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

O Continue usa um array de objetos de servidor em vez de um map.

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

Adicione em context_servers. Zed recarrega automaticamente ao salvar.

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

Uma linha só. Verifique com claude mcp list. Remova com claude mcp remove.

Casos de uso

Usos do mundo real: Axiom (xOS Dev Skills)

Migre um ViewModel para @Observable

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

Quando usar: App é iOS 17+ mas ViewModels ainda usam ObservableObject + @Published.

Pré-requisitos
  • Skill instalada — git clone https://github.com/CharlesWiltgen/Axiom ~/.claude/skills/axiom
  • Deployment target mínimo iOS 17 — Configurações do projeto
Fluxo
  1. Inventário
    Axiom: liste todos os ObservableObject + @Published no projeto. Note quais são folha vs compartilhados.✓ Copiado
    → Lista com formato + dicas de dependência
  2. Migre um
    Refatore ProfileViewModel para @Observable. Mantenha a API pública estável. Atualize os bindings dos consumidores de View.✓ Copiado
    → VM migrado; @Bindable usado nas Views; sem @Published restante
  3. Verifique
    Execute xcodebuild para o scheme. Reporte quaisquer warnings.✓ Copiado
    → Build limpo; sem warnings Swift 6

Resultado: Codebase @Observable moderna com Views mais limpas.

Armadilhas
  • Testes existentes dependem da projeção @Published ($name) — Os testes precisam ser reescritos; nem todos os padrões de acesso mapeiam diretamente

Corrija warnings de concorrência Swift 6

👤 Devs iOS preparando para a strict concurrency do Swift 6 ⏱ ~60 min advanced

Quando usar: O build está amarelo com warnings de Sendable / actor.

Fluxo
  1. Triagem
    Axiom concurrency-clean: classifique os warnings em: (1) isolamento de actor, (2) conformidade Sendable, (3) risco de data race.✓ Copiado
    → Lista categorizada
  2. Corrija o isolamento de actor
    Trate a categoria 1 primeiro. Proponha correções mínimas; prefira @MainActor em tipos UI em vez de isolamento global.✓ Copiado
    → Mudanças cirúrgicas; sem aplicação de @MainActor em massa

Resultado: Build Swift 6 limpo com fronteiras de concorrência intencionais.

Armadilhas
  • Usar @MainActor como atalho para 'silenciar os warnings' — A skill sinaliza isso; use design de actor adequado em vez disso

Execute uma auditoria de acessibilidade

👤 Times iOS pré-release ⏱ ~60 min intermediate

Quando usar: Submissão para App Store próxima; você quer cobertura de VoiceOver/Dynamic Type.

Fluxo
  1. Escaneie as Views
    Axiom a11y: escaneie Views SwiftUI. Sinalize accessibilityLabel faltando, tamanhos de fonte hardcoded, uso de cores de baixo contraste.✓ Copiado
    → Lista de issues por View
  2. Corrija os problemas principais
    Aplique correções para os 10 principais issues. Use fontes do sistema para Dynamic Type.✓ Copiado
    → Patches aplicados; build ainda limpo

Resultado: App passa por um walkthrough básico de VoiceOver.

Armadilhas
  • Labels gerados automaticamente não correspondem ao modelo mental do usuário — Sobrescreva com labels que revelem a intenção
Combine com: ios-simulator-mcp

Combinações

Combine com outros MCPs para 10× de alavancagem

axiom-xos-skill + ios-simulator-mcp

Aplique recomendações da skill + smoke test no simulador

Axiom: migre ProfileVM. Depois iOS-Simulator: execute, capture screenshot da tela de perfil.✓ Copiado
axiom-xos-skill + filesystem

Aplique patches em todo o projeto

Axiom concurrency-clean: produza patches para src/. Filesystem: aplique-os.✓ Copiado
axiom-xos-skill + xcodebuildmcp

Verificação de build após refactor

Após migração, XcodeBuild: compile para simulador. Reporte warnings.✓ Copiado

Ferramentas

O que este MCP expõe

FerramentaEntradasQuando chamarCusto
vm_migrate_observable viewmodel_path Migração por VM 0
concurrency_clean scope Preparação para Swift 6 0
a11y_scan scope Pré-release 0
appstore_checklist (none) Pré-submissão 0
xcode_hygiene project Limpeza periódica 0

Custo e limites

O que custa rodar

Cota de API
N/A
Tokens por chamada
Scans de projeto 10k–40k tokens
Monetário
Gratuito
Dica
Delimite auditorias para uma funcionalidade/pasta; não espalhe por um app gigante

Segurança

Permissões, segredos, alcance

Escopos mínimos: filesystem-read filesystem-write
Armazenamento de credenciais: Nenhum
Saída de dados: Nenhuma

Solução de problemas

Erros comuns e correções

Migration broke @Bindable usage

Algumas Views precisam de wrappers @Bindable; a skill deve adicioná-los — verifique se não perdeu algum

Concurrency fixes silently change semantics

Sempre execute os testes pós-migração; mudanças de concorrência são sutis

A11y suggestions feel boilerplate

A skill segue o Apple HIG; aperte com seus próprios labels

Alternativas

Axiom (xOS Dev Skills) vs. outros

AlternativaQuando usarTroca
AvdLee Swift Concurrency SkillVocê precisa apenas de concorrência, não do bundle completoMais estreito
Apple's own Swift MigratorVocê quer migração avalizada pela AppleMenos interativo; menos ciente do projeto
twostraws SwiftUI Agent SkillFoco apenas em SwiftUIOpiniões diferentes

Mais

Recursos

📖 Leia o README oficial no GitHub

🐙 Ver issues abertas

🔍 Ver todos os 400+ servidores MCP e Skills