axiom-testing
- Repo stars 977
- Forks 74
- License MIT
- Author updated Jun 15, 2026, 03:09 AM
- Author repo Axiom
- Domain
- Engineering
- Compatible agents
-
- Claude Code
- Cursor
- Cline
- Codex
- Windsurf
- Gemini CLI
- +20
- Trust score
- 94 / 100 · audit passed
- Author / version / license
- @CharlesWiltgen · MIT
- Token usage
- Lean
- Setup complexity
- Guided setup
- External API key
- Not required
- Operating systems
- Unspecified (assume cross-platform)
- Runtime requirements
- No special requirements
- Permissions
-
- Read-only
- Write / modify
- Shell exec
- Network behavior
- Local-only
- Install commands
- 26 variants
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
---
name: axiom-testing
description: Use when writing ANY test, debugging flaky tests, making tests faster, or choosing Swift Testing…
category: engineering
runtime: no special runtime
---
# axiom-testing output preview
## PART A: Task fit
- Use case: Use when writing ANY test, debugging flaky tests, making tests faster, or choosing Swift Testing vs XCTest. Covers unit tests, UI tests, async testing, test architecture..
- Inputs: target material, constraints, expected output, and acceptance criteria.
- Evidence boundary: follow “Quick Reference / Decision Tree / Swift Testing vs XCTest Quick Guide” and do not present inference as author intent.
## PART B: Execution result
- **01** The card summarizes the use case; runtime output centers on “Use when writing ANY test, debugging flaky tests, making tests faster, or choosing Swift Testing vs XCTest. Covers unit tests, UI tests, async testing, test architecture.”.
- **02** When the source has headings, the agent prioritizes “Quick Reference / Decision Tree / Swift Testing vs XCTest Quick Guide” so the result follows the author’s structure.
- **03** Typical output includes task judgment, concrete steps, required commands or file edits, validation, and follow-up options.
- **04** Risk context follows the fingerprint: read files, write/modify files, run shell commands; mostly runs locally; usually needs no extra API key.
## Running Rules
- read files, write/modify files, run shell commands; mostly runs locally; usually needs no extra API key.
- Validate with a small sample before expanding scope.
- Return the result, validation criteria, and next iteration options. The source mentions slash commands such as `/axiom`; use them first when your agent supports command triggers.
Name target files or source material, expected output, forbidden changes, and whether network or shell access is allowed. Permission fingerprint: read files, write/modify files, run shell commands.
Start with a small task and check whether the result follows “Quick Reference / Decision Tree / Swift Testing vs XCTest Quick Guide”. Inspect diffs, logs, previews, or tests before expanding scope.
Confirm the final output includes a concrete result, evidence, and next action. If it stays generic, tighten inputs, boundaries, and acceptance criteria.
---
name: axiom-testing
description: Use when writing ANY test, debugging flaky tests, making tests faster, or choosing Swift Testing…
category: engineering
source: CharlesWiltgen/Axiom
---
# axiom-testing
## When to use
- Use when writing ANY test, debugging flaky tests, making tests faster, or choosing Swift Testing vs XCTest. Covers uni…
- Use it when the task has clear inputs, repeatable steps, and validation criteria.
## What to provide
- Target material, scope, expected result, and forbidden changes.
- Whether network, commands, file writes, or external services are allowed.
## Execution rules
- Organize steps around “Quick Reference / Decision Tree / Swift Testing vs XCTest Quick Guide” and keep inference separate from source facts.
- read files, write/modify files, run shell commands; mostly runs locally; usually needs no extra API key.
- Validate with a small sample before expanding the task.
## Output requirements
- Return the deliverable, key evidence, validation method, and next action.
- Mark missing information as unknown; do not invent commands, platforms, or dependencies. The author source anchors workflow facts; repository files anchor sources and commands; Fluxly only adds fit, limitations, and quality judgment.
skill "axiom-testing" {
input -> user goal + target files + boundaries + acceptance criteria
context -> Quick Reference / Decision Tree / Swift Testing vs XCTest Quick Guide
rules -> SKILL.md triggers / order / output contract
runtime -> no special runtime | read files, write/modify files, run shell commands | mostly runs locally
guardrails -> usually needs no extra API key + small-sample validation + diff/log review
output -> copyable result + checklist + next iteration
} Testing
You MUST use this skill for ANY testing-related question, including writing tests, debugging test failures, making tests faster, or choosing between testing approaches.
Quick Reference
| Symptom / Task | Reference |
|---|---|
| Writing unit tests, Swift Testing (@Test, #expect) | See skills/swift-testing.md |
| Making tests run without simulator | See skills/swift-testing.md |
| Parameterized tests, tags, traits | See skills/swift-testing.md |
| Migrating from XCTest to Swift Testing | See skills/swift-testing.md |
Warning-severity issues / cancelling a test — Issue.record(severity:), Test.cancel (OS27) |
See skills/swift-testing.md |
| Testing async/await functions | See skills/testing-async.md |
| confirmation for callbacks | See skills/testing-async.md |
| @MainActor tests, parallel execution | See skills/testing-async.md |
| Writing UI tests, XCUITest | See skills/ui-testing.md |
| Condition-based waiting patterns | See skills/ui-testing.md |
| Recording UI Automation (Xcode 26) | See skills/ui-testing.md |
| Network conditioning, multi-factor testing | See skills/ui-testing.md |
| XCUIElement queries, waiting strategies | See skills/xctest-automation.md |
| Accessibility identifiers, test plans | See skills/xctest-automation.md |
| CI/CD test execution | See skills/xctest-automation.md |
| Record/Replay/Review workflow (Xcode 26) | See skills/ui-recording.md |
| Test plan multi-configuration replay | See skills/ui-recording.md |
| Enhancing recorded tests for stability | See skills/ui-recording.md |
Decision Tree
digraph testing {
start [label="Testing task" shape=ellipse];
what [label="What kind of test?" shape=diamond];
start -> what;
what -> "skills/swift-testing.md" [label="unit tests,\nSwift Testing,\nfast tests"];
what -> "skills/testing-async.md" [label="testing async code,\ncallbacks,\nconfirmation"];
what -> "skills/ui-testing.md" [label="UI tests,\nflaky tests,\nrecording"];
what -> "skills/xctest-automation.md" [label="XCUITest patterns,\nelement queries"];
what -> "skills/ui-recording.md" [label="Xcode 26\nRecord/Replay/Review"];
}
- Writing unit tests / Swift Testing? →
skills/swift-testing.md - Testing async/await code? →
skills/testing-async.md - Writing UI tests / XCUITest / flaky tests? →
skills/ui-testing.md - XCUIElement queries, waiting, test plans, CI? →
skills/xctest-automation.md - Record UI interactions (Xcode 26)? →
skills/ui-recording.md - Flaky tests / race conditions (Swift Testing)? → test-failure-analyzer (Agent)
- Tests crash / environment wrong? → See axiom-build (skills/xcode-debugging.md)
- Run tests from CLI / parse results? → test-runner (Agent)
- Fix failing tests automatically? → test-debugger (Agent)
- Want test quality audit? → testing-auditor (Agent) or
/axiom:audit testing - Automate without XCUITest / AXe CLI? → simulator-tester (Agent) + See axiom-xcode-mcp (skills/axe-ref.md)
Swift Testing vs XCTest Quick Guide
| 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 |
Critical Patterns
Swift Testing (skills/swift-testing.md):
- @Test/@Suite macros, #expect/#require assertions
- Parameterized testing for eliminating repetitive tests
- Fast tests architecture: Package extraction, Host Application: None
- Reliable async testing with withMainSerialExecutor and TestClock
- Migration guide from XCTest (comparison table)
- XCTestCase + Swift 6.2 MainActor compatibility fix
Async Testing (skills/testing-async.md):
- confirmation for single/multiple callbacks
- expectedCount: 0 to verify something never happens
- @MainActor test isolation
- Timeout control with .timeLimit
- Parallel execution gotchas and .serialized
UI Testing (skills/ui-testing.md):
- Condition-based waiting (replaces sleep())
- Recording UI Automation (Xcode 26)
- Network conditioning for 3G/LTE testing
- Multi-factor testing (device size + network speed)
- Crash debugging from UI test failures
XCUITest Automation (skills/xctest-automation.md):
- Element identification with accessibilityIdentifier
- Waiting strategies (appear, disappear, hittable)
- Test plans for multi-configuration testing
- CI/CD integration with parallel execution
UI Recording (skills/ui-recording.md):
- Xcode 26 Record/Replay/Review workflow
- Enhancing recorded code for stability
- Query selection guidelines
- Test plan configuration for multi-language replay
Automated Scanning
Test quality audit → Launch testing-auditor agent or /axiom:audit testing (maps test coverage shape against production code, detects flaky patterns and speed issues, identifies untested critical paths, scores overall test health)
Flaky test analysis → Launch test-failure-analyzer agent (scans for patterns causing intermittent failures in Swift Testing: missing confirmation, shared mutable state, missing @MainActor)
Anti-Rationalization
| Thought | Reality |
|---|---|
| "Simple test question, I don't need the skill" | Proper patterns prevent test debt. skills/swift-testing.md has copy-paste solutions. |
| "I know XCTest well enough" | Swift Testing is significantly better for unit tests. Migration guide included. |
| "Tests are slow but it's fine" | Fast tests enable TDD. skills/swift-testing.md shows how to run without simulator. |
| "I'll fix the flaky test with a sleep()" | sleep() makes tests slower AND flakier. skills/ui-testing.md has condition-based waiting. |
| "I'll add tests later" | Tests written after implementation miss edge cases. |
Example Invocations
User: "How do I write a unit test in Swift?"
→ Read: skills/swift-testing.md
User: "My UI tests are flaky in CI"
→ Check codebase: XCUIApplication/XCUIElement? → skills/ui-testing.md
→ Check codebase: @Test/#expect? → test-failure-analyzer (Agent)
User: "How do I test async code without flakiness?"
→ Read: skills/testing-async.md
User: "What's the Swift Testing equivalent of XCTestExpectation?"
→ Read: skills/testing-async.md
User: "I want my tests to run faster"
→ Read: skills/swift-testing.md (Strategy 1: Package extraction)
User: "Should I use Swift Testing or XCTest?"
→ Read: skills/swift-testing.md (Migration section) + this decision tree
User: "How do I record UI automation in Xcode 26?"
→ Read: skills/ui-recording.md
User: "Run my tests and show me what failed" → Invoke: test-runner (Agent)
User: "Audit my tests for quality issues" → Invoke: testing-auditor (Agent)
Decide Fit First
Design Intent
How To Use It
Boundaries And Review