> axiom-using-axiom
Use when starting any iOS/Swift conversation - establishes how to find and use Axiom skills, requiring Skill tool invocation before ANY response including clarifying questions
curl "https://skillshub.wtf/CharlesWiltgen/Axiom/axiom-using-axiom?format=md"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>
Using Axiom Skills
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 ios-build first. |
| "I can fix this SwiftUI bug quickly" | SwiftUI issues have hidden gotchas. Check ios-ui first. |
| "Let me just add this database column" | Schema changes risk data loss. Check ios-data first. |
| "This async code looks straightforward" | Swift concurrency has subtle rules. Check ios-concurrency first. |
| "I'll debug the memory leak manually" | Leak patterns are documented. Check ios-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" | Your training ended January 2025. 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:
- Environment/Build first (ios-build) — Fix the environment before debugging code
- Architecture patterns (ios-ui, axiom-ios-data, axiom-ios-concurrency) — These determine HOW to structure the solution
- Implementation details (ios-integration, axiom-ios-ai, axiom-ios-vision) — These guide specific feature work
Examples:
- "Xcode build failed" → ios-build first (environment)
- "Add SwiftUI screen" → ios-ui first (architecture), then maybe ios-integration if using system features
- "App is slow" → ios-performance first (diagnose), then fix the specific domain
- "Network request failing" → ios-build first (environment check), then ios-networking (implementation)
iOS Project Detection
Axiom skills apply when:
- Working directory contains
.xcodeprojor.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:
- Check the appropriate router skill first (ios-build, axiom-ios-ui, axiom-ios-data, etc.)
- Router will invoke the specialized skill(s) you actually need
- 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 ios-ui AND ios-data
- "My widget isn't showing updated data from SwiftData" → invoke both ios-integration AND ios-data
- "My Foundation Models session freezes the UI" → invoke both ios-ai AND ios-concurrency
- "My Core Data saves lose data from background tasks" → invoke both ios-data AND ios-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-swift-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.
> related_skills --same-repo
> axiom-eventkit
Use when working with ANY calendar event, reminder, EventKit permission, or EventKitUI controller. Covers access tiers (no-access, write-only, full), permission migration from pre-iOS 17, store lifecycle, reminder patterns, EventKitUI controller selection, Siri Event Suggestions, virtual conference extensions.
> axiom-eventkit-ref
Use when needing EventKit API details — EKEventStore, EKEvent, EKReminder, EventKitUI view controllers, EKCalendarChooser, authorization methods, predicate-based fetching, recurrence rules, Siri Event Suggestions donation, EKVirtualConferenceProvider, location-based reminders, and EKErrorDomain codes
> axiom-contacts
Use when accessing ANY contact data, requesting Contacts permissions, choosing between picker and store access, implementing Contact Access Button, or migrating to iOS 18 limited access. Covers authorization levels, CNContactStore, ContactProvider, key fetching, incremental sync.
> axiom-contacts-ref
Use when needing Contacts API details — CNContactStore, CNMutableContact, CNSaveRequest, CNContactFormatter, CNContactVCardSerialization, CNContactPickerViewController, ContactAccessButton, contactAccessPicker, ContactProvider extension, CNChangeHistoryFetchRequest, contact key descriptors, and CNError codes