Use when fixing or auditing ANY accessibility issue — VoiceOver, Dynamic Type, color contrast, touch targets, WCAG compliance, App Store accessibility review.
日本語の概要は準備中です。原文の説明を表示しています。
Use when the user wants a comprehensive project-wide audit, full health check, or scan across all domains.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Run specialized Axiom auditor procedures using the execution mode below, collect their findings, deduplicate by file:line, and produce a unified health report.
Codex does not provide the command launcher that constructs diff scope. If the user requests a diff audit, obtain a verified DIFF SCOPE block before auditing; do not fall back to a full audit because the block is missing. The caller must supply the base ref, merge-base SHA, and complete changed Swift-file list. Full audits require no scope block.
Skip: *Tests.swift, *Previews.swift, */Pods/*, */Carthage/*, */.build/*, */DerivedData/*, */scratch/*, */docs/*, */.claude/*, */.claude-plugin/*
Before anything else, parse the launch prompt for three optional blocks emitted by the axiom-health-check command:
DIFF SCOPE blockDIFF SCOPE
Base ref: <base>
Merge-base: <full-SHA>
Changed Swift files (N):
<paths>
Determines the audit's file universe:
DIFF SCOPE block. Phase 1 globs the whole project; Phase 2 lets each auditor scan freely; Phase 4 reports "Scope: full project audit."DIFF SCOPE block is present. The provided file list is the universe — Phase 1 uses it directly (no Glob), Phase 2 forwards it to every auditor as a hard constraint, and Phase 4 declares the scope in the report header.EXCLUSIONS lineEXCLUSIONS: skip <auditor>, skip <auditor> — drop the listed auditors from Phase 1's run list. Acknowledge them in the user-facing summary.
USER EMPHASIS lineUSER EMPHASIS: <freeform text> — the user told you what they care about most (e.g., "focus on memory leaks", "worried about Core Data migrations", "prioritize accessibility").
Emphasis affects ordering and highlighting, never inclusion or exclusion:
If no USER EMPHASIS block is present, fall back to severity-only ordering.
Record the mode (full vs diff-scoped), scope metadata (base ref, merge-base SHA, file list, count), exclusions, and emphasis text. Subsequent phases reference this.
Gather the Swift-file universe according to Phase 0 mode:
**/*.swift.DIFF SCOPE block. Do NOT Glob — the launcher already enumerated the relevant files.Then use Grep over that file set to detect framework signals.
These auditors apply to every iOS project:
| Auditor | Reason |
|---|---|
| memory-auditor | Memory leaks affect all apps |
| security-privacy-scanner | Privacy compliance is mandatory |
| accessibility-auditor | Accessibility is required for App Store |
| swift-performance-analyzer | Performance affects all apps |
| modernization-helper | Deprecated API detection |
| codable-auditor | Serialization issues are universal |
Run these only when their framework signals are present in the codebase:
| Signal (grep pattern) | Auditor |
|---|---|
import SwiftUI | swiftui-performance-analyzer, swiftui-architecture-auditor, swiftui-layout-auditor, swiftui-nav-auditor |
import SwiftData or @Model | swiftdata-auditor |
import CoreData or .xcdatamodeld exists | core-data-auditor |
async or await or actor (with trailing space) | concurrency-auditor |
Timer.scheduledTimer or CLLocationManager | energy-auditor |
AVCaptureSession | camera-auditor |
LanguageModelSession or @Generable | foundation-models-auditor |
import SpriteKit | spritekit-auditor |
NWConnection or NetworkConnection | networking-auditor |
NSUbiquitousKeyValueStore or CKContainer or CloudKit | icloud-auditor |
registerMigration or DatabaseMigrator or ALTER TABLE | database-schema-auditor |
NSTextLayoutManager or TextKit | textkit-auditor |
UIScreen.main or UIApplicationDelegate, or UIRequiresFullScreen present in an Info.plist | resize-auditor |
NavigationStack or sheet( or TabView | ux-flow-auditor |
FileManager or UserDefaults or .documentsDirectory | storage-auditor |
XCTestCase or @Test or @Suite | testing-auditor |
.glassEffect( or GlassEffectContainer or UIBlurEffect or UIVisualEffectView or NSVisualEffectView, or UIDesignRequiresCompatibility present in an Info.plist | liquid-glass-auditor |
Screenshots folder exists (Screenshots/ or marketing/) | screenshot-validator |
If the user says "skip X" or "exclude X", remove that auditor from the run list. Acknowledge which auditors were excluded and why.
Read each selected auditor's matching local Codex skill below using an available file reader. If using Axiom MCP instead, call axiom_get_agent with the canonical auditor name (the left column below), not axiom_read_skill with a generated Codex skill ID. Use the returned procedure as instructions in this execution mode; its Claude model/tool metadata does not select Codex capabilities. Keep one distinct procedure and report per selected auditor; do not merge or omit audits.
Choose execution mode from actual host capabilities and delegation policy:
spawn_agent plus completion tools such as wait_agent are available, delegate each procedure with its skill path, Phase 0 scope, exclusions, emphasis, and report destination. Use bounded batches within the host's concurrency limit, counting this orchestrator and already running agents. Wait for results and release occupied slots before starting more; never spawn every auditor at once without checking capacity.Auditor-to-skill mapping:
accessibility-auditor → axiom-audit-accessibility (../axiom-audit-accessibility/SKILL.md)camera-auditor → axiom-audit-camera (../axiom-audit-camera/SKILL.md)codable-auditor → axiom-audit-codable (../axiom-audit-codable/SKILL.md)concurrency-auditor → axiom-audit-concurrency (../axiom-audit-concurrency/SKILL.md)core-data-auditor → axiom-audit-core-data (../axiom-audit-core-data/SKILL.md)database-schema-auditor → axiom-audit-database-schema (../axiom-audit-database-schema/SKILL.md)energy-auditor → axiom-audit-energy (../axiom-audit-energy/SKILL.md)foundation-models-auditor → axiom-audit-foundation-models (../axiom-audit-foundation-models/SKILL.md)icloud-auditor → axiom-audit-icloud (../axiom-audit-icloud/SKILL.md)liquid-glass-auditor → axiom-audit-liquid-glass (../axiom-audit-liquid-glass/SKILL.md)memory-auditor → axiom-audit-memory (../axiom-audit-memory/SKILL.md)modernization-helper → axiom-modernize (../axiom-modernize/SKILL.md)networking-auditor → axiom-audit-networking (../axiom-audit-networking/SKILL.md)resize-auditor → axiom-audit-resize (../axiom-audit-resize/SKILL.md)screenshot-validator → axiom-validate-screenshots (../axiom-validate-screenshots/SKILL.md)security-privacy-scanner → axiom-scan-security-privacy (../axiom-scan-security-privacy/SKILL.md)spritekit-auditor → axiom-audit-spritekit (../axiom-audit-spritekit/SKILL.md)storage-auditor → axiom-audit-storage (../axiom-audit-storage/SKILL.md)swift-performance-analyzer → axiom-analyze-swift-performance (../axiom-analyze-swift-performance/SKILL.md)swiftdata-auditor → axiom-audit-swiftdata (../axiom-audit-swiftdata/SKILL.md)swiftui-architecture-auditor → axiom-audit-swiftui-architecture (../axiom-audit-swiftui-architecture/SKILL.md)swiftui-layout-auditor → axiom-audit-swiftui-layout (../axiom-audit-swiftui-layout/SKILL.md)swiftui-nav-auditor → axiom-audit-swiftui-nav (../axiom-audit-swiftui-nav/SKILL.md)swiftui-performance-analyzer → axiom-analyze-swiftui-performance (../axiom-analyze-swiftui-performance/SKILL.md)testing-auditor → axiom-audit-testing (../axiom-audit-testing/SKILL.md)textkit-auditor → axiom-audit-textkit (../axiom-audit-textkit/SKILL.md)ux-flow-auditor → axiom-audit-ux-flow (../axiom-audit-ux-flow/SKILL.md)Today's date tag for filenames: use ISO format YYYY-MM-DD.
Tell each auditor agent to write its output to: scratch/health-check-{area}-{date}.md
where {area} is the auditor name (e.g., memory, accessibility, concurrency).
If diff-scoped (Phase 0), prepend a scope block to every auditor's launch prompt verbatim:
DIFF SCOPE
Only audit the files listed below. Do NOT report findings outside this list, even if your Glob would otherwise match them. Treat this list as the complete universe of source files for this audit.
Files (N):
<paths>
The file list is the same one from Phase 0. Auditors will narrow their Glob accordingly, which is the entire reason this mode is fast — no wasted scan of unchanged files.
While auditors run, inform the user:
diff vs <base>, plus file count if diff-scoped)After all auditors complete:
scratch/health-check-*-{date}.md fileWrite to scratch/health-check-{date}.md (full audit) or scratch/health-check-diff-{date}.md (diff-scoped) with:
Scope: full project audit (N Swift files)Scope: changed files vs `<base>` (merge-base `<short-SHA>`, N files), followed by the bulleted file list.This makes it unambiguous to the reader (and to any PR reviewer pasting the report into a comment) what was and wasn't inspected.
Top 5 most critical findings across all domains. Each with:
Group findings by domain (memory, accessibility, concurrency, etc.). Within each domain, sort by severity (CRITICAL first).
List auditors that found zero issues — this is valuable signal.
| Auditor | Trigger Reason | Findings | Severity Breakdown | Report File |
|---|---|---|---|---|
| memory-auditor | always | 3 | 1 HIGH, 2 MEDIUM | scratch/health-check-memory-{date}.md |
| ... | ... | ... | ... | ... |
If >100 total findings across all auditors:
If <=100 total findings:
For individual audits: Use the specific auditor agent directly (e.g., memory-auditor, accessibility-auditor)
For build-specific issues: build-fixer agent
For test-specific issues: test-failure-analyzer agent
Prompts that should launch this agent:
<example> user: "Run a health check on my project" assistant: [Launches health-check agent] </example> <example> user: "Scan everything for issues" assistant: [Launches health-check agent] </example> <example> user: "Give me a full audit of my codebase" assistant: [Launches health-check agent] </example>Explicit command: Users can also invoke this agent directly with axiom-health-check or /axiom:audit all (Claude Code only)
Runs all selected specialized auditor procedures through bounded delegation or sequential execution, deduplicates findings, and produces a unified report.
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Use when fixing or auditing ANY accessibility issue — VoiceOver, Dynamic Type, color contrast, touch targets, WCAG compliance, App Store accessibility review.
日本語の概要は準備中です。原文の説明を表示しています。
Use when implementing, testing, or evaluating ANY Apple Intelligence, on-device AI, or speech-to-text feature. Covers Foundation Models, @Generable, LanguageModelSession, Tool protocol, eval suites, model-as-judge scoring, SpeechTranscriber, CoreML.
日本語の概要は準備中です。原文の説明を表示しています。
Use when the user has a crash log (.ips, MetricKit JSON, legacy .crash text, .xccrashpoint bundle, or pasted text) that needs analysis.
日本語の概要は準備中です。原文の説明を表示しています。
Use when the user mentions Swift performance audit, code optimization, or performance review — ARC issues, allocation patterns, and generic specialization.
日本語の概要は準備中です。原文の説明を表示しています。
Use when the user mentions SwiftUI performance, janky scrolling, slow animations, or view update issues — expensive bodies, formatters, whole-collection dependencies, and missing lazy containers.
日本語の概要は準備中です。原文の説明を表示しています。
Use when the user mentions flaky tests, tests that pass locally but fail in CI, race conditions in tests, or needs to diagnose WHY a specific test fails.
日本語の概要は準備中です。原文の説明を表示しています。