Use when writing ANY test, debugging flaky tests, making tests faster, or asking about Swift Testing vs XCTest. Covers unit tests, UI tests, fast tests without simulator, async testing, test architecture.
/plugin marketplace add CharlesWiltgen/Axiom/plugin install axiom@axiom-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
You MUST use this skill for ANY testing-related question, including writing tests, debugging test failures, making tests faster, or choosing between testing approaches.
Use this router when you encounter:
This router invokes specialized skills based on the specific testing need:
Triggers:
@Test, #expect, #require, @Suite)withMainSerialExecutor, TestClockswift test)Why swift-testing: Modern Swift Testing framework with parallel execution, better async support, and the ability to run without launching simulator.
Invoke: Read the swift-testing skill
Triggers:
sleep() or arbitrary timeoutsWhy ui-testing: XCUITest requires simulator and has unique patterns for reliability.
Invoke: Read the ui-testing skill
Triggers:
Why xcode-debugging: Test failures from environment issues, not test logic.
Invoke: Read the xcode-debugging skill
User has testing question
│
├─ Writing unit tests or asking about Swift Testing?
│ └─ YES → swift-testing
│
├─ Writing UI tests or debugging XCUITest?
│ └─ YES → ui-testing
│
├─ Tests crash or environment seems wrong?
│ └─ YES → xcode-debugging (via ios-build)
│
├─ Tests are slow, want to speed them up?
│ └─ YES → swift-testing (Fast Tests section)
│
└─ Testing async code, seeing flaky failures?
└─ YES → swift-testing (Async Testing section)
| Need | Use |
|---|---|
| Unit tests (logic, models) | Swift Testing |
| UI tests (tap, swipe, assert screens) | XCUITest (XCTest) |
| Tests without simulator | Swift Testing + Package/Framework |
| Parameterized tests | Swift Testing |
| Performance measurements | XCTest (XCTMetric) |
| Objective-C tests | XCTest |
Do NOT skip this router for:
Fast, reliable tests are foundational to code quality.
User: "How do I write a unit test in Swift?" → Invoke: swift-testing
User: "My UI tests are flaky in CI" → Invoke: ui-testing
User: "How do I test async code without flakiness?" → Invoke: swift-testing (Async Testing section)
User: "I want my tests to run faster" → Invoke: swift-testing (Fast Tests section)
User: "Should I use Swift Testing or XCTest?" → Invoke: swift-testing (Migration section) + this decision tree
User: "Tests crash before any assertions" → Invoke: xcode-debugging
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.