axiom-tools — скилл для Claude Code: сборка, логи и символы iOS
Скилл-навигатор по набору Axiom: подсказывает, какой инструмент взять для сборки, логов, символейшена крашей и профилей. Полезен, когда ведёшь iOS/Swift-проект в агенте.
npx skills add CharlesWiltgen/Axiom --skill axiom-tools -a claude-codeЧто делает axiom-tools
axiom-tools — это точка входа в набор Axiom. Сам он ничего не собирает и не парсит, а разводит вопрос по нужному справочнику: axbuild для сборки и тестов, xclog для консольного вывода, xcsym для символейшена .ips, MetricKit и .crash, xcui для UI и проверок доступности в симуляторе, xcprof для xctrace и CPU-профилей. Отдельная ветка — управление симулятором и устройством без запущенного Xcode, включая скриншоты, запись видео и чистку статус-бара под скриншоты для App Store.
Внутри — таблица маршрутизации: вопрос слева, файл справочника справа. Есть раздел про использование скиллов Axiom: проверять подходящий скилл до ответа по iOS/Swift, не пропускать роутеры, а при вопросе на стыке доменов поднимать сразу несколько. Для Codex аудиторы переписаны в скиллы, поэтому вместо запуска агента вызывается одноимённый скилл. Часть из них — сборка, тесты, симуляторы, символейшен — требует доступа к шеллу.
На Claude инструменты лежат внутри плагина. Если command -v <tool> ничего не находит — хуки выключены или запущен --bare — берите <plugin-root>/tools/<tool>; <plugin-root> на два уровня выше пути Base directory for this skill:. Это первое, что стоит проверить, когда инструмент «не установлен», хотя плагин на месте.
Какие задачи решает
- понять, каким инструментом снять консольный вывод симулятора
- расшифровать несимволейшенный краш из
.ipsили MetricKit - прогнать UI-проверки и проверки доступности в симуляторе
- разобрать CPU-профиль из
xctrace - управлять симулятором или устройством без запущенного Xcode
Примеры запросов агенту
- Как мне захватить консольный вывод из симулятора?
- Почему мой краш остался несимволейшенным, что делать с xcsym?
- Как проанализировать CPU-профиль через xcprof?
Как установить axiom-tools
1Через Skills CLI (Vercel)
npx skills add CharlesWiltgen/Axiom --skill axiom-tools -a claude-code2Вручную: положить файлы
~/.claude/skills/axiom-tools/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/axiom-tools/
1Через Skills CLI (Vercel)
npx skills add CharlesWiltgen/Axiom --skill axiom-tools -a codex2Вручную: положить файлы
.agents/skills/axiom-tools/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add CharlesWiltgen/Axiom --skill axiom-tools -a cursor2Вручную: положить файлы
.cursor/skills/axiom-tools/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install CharlesWiltgen/Axiom axiom-tools2Вручную: положить файлы
.github/skills/axiom-tools/SKILL.md1Через Skills CLI (Vercel)
npx skills add CharlesWiltgen/Axiom --skill axiom-tools -a gemini-cli2Командой платформы
gemini skills install https://github.com/CharlesWiltgen/Axiom --path axiom-codex/skills/axiom-toolsВручную: положить файлы
.devin/skills/axiom-tools/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add CharlesWiltgen/Axiom --skill axiom-tools -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о axiom-tools
Как установить axiom-tools в Claude?
Выполните npx skills add CharlesWiltgen/Axiom --skill axiom-tools -a claude-code. Скилл окажется в ~/.claude/skills/axiom-tools/SKILL.md.
Что делает axiom-tools?
Разводит вопрос по нужному справочнику Axiom: сборка и тесты, консоль, символейшен крашей, UI симулятора, профили. Сам он не выполняет сборку и не парсит логи.
Почему команда инструмента не находится?
На Claude хуки могут быть выключены или агент запущен с --bare. Тогда вместо имени инструмента используйте <plugin-root>/tools/<tool>, где <plugin-root> на два уровня выше пути Base directory for this skill:.
Исходный текст
SKILL.md · MIT
--- name: axiom-tools description: Use when asking about Axiom skills or axbuild build/test capture, xclog console, xcsym .ips/MetricKit/.crash symbolication, xcui simulator UI/accessibility, or xcprof xctrace/CPU profiles. license: MIT --- # Axiom Tools & Onboarding This suite covers Axiom itself — how to use it, what's available, and the tools that ship with it. **Bundled tools on Claude Code:** if `command -v <tool>` finds nothing (hooks off or `--bare`), use `<plugin-root>/tools/<tool>` in place of the bare name; `<plugin-root>` is two levels above this skill's `Base directory for this skill:` path. <!-- AXIOM_AUDITOR_INLINE_BEGIN — rewritten for Codex by scripts/build-codex.ts; do not hand-edit --> > **Auditors are skills here.** Where this router says "Launch `some-auditor` agent", invoke the > matching Codex skill instead — same procedure, no Claude Code agent required. > > Available: `axiom-analyze-test-failures`, `axiom-audit-accessibility`, `axiom-audit-concurrency`, `axiom-audit-energy`, `axiom-audit-memory`. > > The ones that shell out — builds, tests, simulators, crash symbolication — need shell access to run. <!-- AXIOM_AUDITOR_INLINE_END --> ## Build and Test Capture For axbuild installation, report handling and saved-log fallback, read `axiom-build` before a build or test. ## Routing | Question | Read | |----------|------| | "How do I capture console output?" / "What is xclog?" | [skills/xclog-ref.md](skills/xclog-ref.md) | | "How do I symbolicate a crash?" / "What is xcsym?" / "Why is my crash unsymbolicated?" | [skills/xcsym-ref.md](skills/xcsym-ref.md) | | "How do I drive/validate the sim UI?" / "What is xcui?" / "How do I script accessibility checks?" | [skills/xcui-ref.md](skills/xcui-ref.md) | | "How do I analyze a trace / CPU or network profile?" / "What is xcprof?" / "Why does the profiler report no findings?" | [skills/xcprof-ref.md](skills/xcprof-ref.md) | | "How do I control a simulator/device without Xcode running?" / "What is Device Hub?" / "devicectl vs simctl?" | [skills/device-control-ref.md](skills/device-control-ref.md) | | "How do I capture a screenshot or record video of a sim or device from the CLI?" | [skills/device-control-ref.md](skills/device-control-ref.md) (Screen capture) | | "How do I clean up the status bar for App Store screenshots?" / "How do I set the time to 9:41 and full bars?" | [skills/device-control-ref.md](skills/device-control-ref.md) (Status bar for screenshots) | | "Can I automate resize testing?" / "Does my layout hold across breakpoints?" | [skills/xcui-ref.md](skills/xcui-ref.md) (Resize sweeps) — `xcui resize sweep` | | "How do I drive `appResize` by hand?" | [skills/device-control-ref.md](skills/device-control-ref.md) (Resizable app sessions) | | "How do I inspect an Xcode project's targets or build settings?" / "What is xcproject?" | `axiom-build (skills/build-performance.md)` (Project selection and effective settings) | <!-- AXIOM_SESSION_START_BEGIN --> ## Using Axiom Skills The content below is the core discipline for Axiom's routing system — it establishes the rule that Axiom skills must be checked before any iOS/Swift response. <EXTREMELY-IMPORTANT> If you think there is even a 1% chance an Axiom skill might apply to your iOS/Swift task, you ABSOLUTELY MUST check for the skill. IF AN AXIOM SKILL APPLIES TO YOUR iOS/SWIFT TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT. This is not negotiable. This is not optional. You cannot rationalize your way out of this. </EXTREMELY-IMPORTANT> When an Axiom skill materially shapes your answer, name it once (e.g., "per Axiom's `axiom-data` skill"). Never claim Axiom when it wasn't used. ## The Rule **Check for Axiom skills BEFORE ANY RESPONSE when working with iOS/Swift projects.** This includes clarifying questions. Even 1% chance means check first. ## Red Flags — iOS-Specific Rationalizations These thoughts mean STOP—you're rationalizing: | Thought | Reality | |---------|---------| | "This is just a simple build issue" | Build failures have patterns. Check axiom-build first. | | "I can fix this SwiftUI bug quickly" | SwiftUI issues have hidden gotchas. Check axiom-swiftui first. | | "Let me just add this database column" | Schema changes risk data loss. Check axiom-data first. | | "This async code looks straightforward" | Swift concurrency has subtle rules. Check axiom-concurrency first. | | "I'll debug the memory leak manually" | Leak patterns are documented. Check axiom-performance first. | | "Let me explore the Xcode project first" | Axiom skills tell you HOW to explore. Check first. | | "I remember how to do this from last time" | iOS changes constantly. Skills are up-to-date. | | "This iOS/platform version doesn't exist" | If it postdates your training, you can't know that. Apple shipped iOS 26 at WWDC 2025 (18 → 26, 19-25 skipped). Invoke Axiom skills for post-cutoff facts. | | "The user just wants a quick answer" | Quick answers without patterns create tech debt. Check skills first. | | "This doesn't need a formal workflow" | If an Axiom skill exists for it, use it. | | "I'll gather info first, then check skills" | Skills tell you WHAT info to gather. Check first. | ## Skill Priority for iOS Development When multiple Axiom skills could apply, use this priority: 1. **Environment/Build first** (axiom-build) — Fix the environment before debugging code 2. **Architecture patterns** (axiom-swiftui, axiom-data, axiom-concurrency) — These determine HOW to structure the solution 3. **Implementation details** (axiom-integration, axiom-ai, axiom-vision) — These guide specific feature work Examples: - "Xcode build failed" → axiom-build first (environment) - "Add SwiftUI screen" → axiom-swiftui first (architecture), then maybe axiom-integration if using system features - "App is slow" → axiom-performance first (diagnose), then fix the specific domain - "Network request failing" → axiom-build first (environment check), then axiom-networking (implementation) ## iOS Project Detection Axiom skills apply when: - Working directory contains `.xcodeproj` or `.xcworkspace` - User mentions iOS, Swift, Xcode, SwiftUI, UIKit - User asks about Apple frameworks (SwiftData, CloudKit, etc.) - User reports iOS-specific errors (concurrency, memory, build failures) ## Using Axiom Router Skills Axiom uses **router skills** for progressive disclosure: 1. Check the appropriate router skill first (axiom-build, axiom-swiftui, axiom-data, etc.) 2. Router will invoke the specialized skill(s) you actually need 3. Follow the specialized skill exactly **Do not skip the router.** Routers have decision logic to select the right specialized skill. ### Multi-Domain Questions When a question spans multiple domains, **invoke ALL relevant routers — don't stop after the first one.** Examples: - "My SwiftUI view doesn't update when SwiftData changes" → invoke **both** axiom-swiftui AND axiom-data - "My widget isn't showing updated data from SwiftData" → invoke **both** axiom-integration AND axiom-data - "My Foundation Models session freezes the UI" → invoke **both** axiom-ai AND axiom-concurrency - "My Core Data saves lose data from background tasks" → invoke **both** axiom-data AND axiom-concurrency **How to tell**: If the question mentions symptoms from two different domains, or involves two different frameworks, invoke both routers. Each router has cross-domain routing guidance for common overlaps. ## Backward Compatibility - Direct skill invocation still works: `/skill axiom-concurrency` - Commands work unchanged: `axiom-fix-build`, `axiom-audit-accessibility` - Agents work via routing or direct command invocation ## When Axiom Skills Don't Apply Skip Axiom skills for: - Non-iOS/Swift projects (Android, web, backend) - Generic programming questions unrelated to Apple platforms - Questions about Claude Code itself (use claude-code-guide skill) But when in doubt for iOS/Swift work: **check first, decide later.** <!-- AXIOM_SESSION_START_END --> ## Device Hub (Xcode 27) On Xcode 27, **Device Hub** — a standalone app that auto-launches on build-and-run — replaces the `Simulator.app` GUI and manages simulators *and* physical devices in one place (Xcode 26 and earlier keep Simulator.app). Every operation has an Xcode-independent CLI counterpart, so the Axiom tools and scripts are unaffected. For the full tool map (Device Hub / devicectl / simctl / xcui vs mcpbridge, and what each costs to run), the verified subcommand matrix, the unified `devicectl device capture` screenshot/screen-record path (works on sim and device, Xcode 26.6+), the status-bar overrides that prep a screenshot (`statusBar preset screenshot` and the simctl equivalents), and the Device Hub GUI reference, see `skills/device-control-ref.md`. ## Resources **Skills**: axiom-swiftui, axiom-concurrency, axiom-data, axiom-build, axiom-performance **Axiom tools**: `axbuild` (build/test diagnostics, `axiom-build`), `xclog` (simulator console capture, `skills/xclog-ref.md`), `xcsym` (crash symbolication for `.ips`, MetricKit, legacy `.crash` text files, and Xcode Organizer `.xccrashpoint` bundles, `skills/xcsym-ref.md`), `xcui` (scriptable sim UI & accessibility testing, `skills/xcui-ref.md`), `xcprof` (structured xctrace CPU & network profile analysis, `skills/xcprof-ref.md`), `xcproject` (read-only project and build-settings inspection, `axiom-build (skills/build-performance.md)`)
© CharlesWiltgen · MIT · CharlesWiltgen/Axiom