axiom-ios-performance

charleswiltgen/axiom · updated Apr 8, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$npx skills add https://github.com/charleswiltgen/axiom --skill axiom-ios-performance
0 commentsdiscussion
summary

You MUST use this skill for ANY performance issue including memory leaks, slow execution, battery drain, or profiling.

skill.md

iOS Performance Router

You MUST use this skill for ANY performance issue including memory leaks, slow execution, battery drain, or profiling.

When to Use

Use this router when:

  • App feels slow or laggy
  • Memory usage grows over time
  • Battery drains quickly
  • Device gets hot during use
  • High energy usage in Battery Settings
  • Diagnosing performance with Instruments
  • Memory leaks or retain cycles
  • App crashes with memory warnings

Routing Logic

Memory Issues

Memory leaks (Swift)/skill axiom-memory-debugging

  • Systematic leak diagnosis
  • 5 common leak patterns
  • Instruments workflows
  • deinit not called

Memory leak scan → Launch memory-auditor agent or /axiom:audit memory (6 common patterns: timers, observers, closures, delegates, view callbacks, PhotoKit)

Memory leaks (Objective-C blocks)/skill axiom-objc-block-retain-cycles

  • Block retain cycles
  • Weak-strong pattern
  • Network callback leaks

Performance Profiling

Performance profiling (GUI)/skill axiom-performance-profiling

  • Time Profiler (CPU)
  • Allocations (memory growth)
  • Core Data profiling (N+1 queries)
  • Decision trees for tool selection

Automated profiling (CLI)/skill axiom-xctrace-ref

  • Headless xctrace profiling
  • CI/CD integration patterns
  • Command-line trace recording
  • Programmatic trace analysis

Run automated profile → Use performance-profiler agent or /axiom:profile

  • Records trace via xctrace
  • Exports and analyzes data
  • Reports findings with severity

Hang/Freeze Issues

App hangs or freezes/skill axiom-hang-diagnostics

  • UI unresponsive for >1 second
  • Main thread blocked (busy or waiting)
  • Decision tree: busy vs blocked diagnosis
  • Time Profiler vs System Trace selection
  • 8 common hang patterns with fixes
  • Watchdog terminations

Energy Issues

Battery drain, high energy/skill axiom-energy

  • Power Profiler workflow
  • Subsystem diagnosis (CPU/GPU/Network/Location/Display)
  • Anti-pattern fixes
  • Background execution optimization

Symptom-based diagnosis/skill axiom-energy-diag

  • "App at top of Battery Settings"
  • "Device gets hot"
  • "Background battery drain"
  • Time-cost analysis for each path

API reference with code/skill axiom-energy-ref

  • Complete WWDC code examples
  • Timer, network, location efficiency
  • BGContinuedProcessingTask (iOS 26)
  • MetricKit setup

Energy scan → Launch energy-auditor agent or /axiom:audit energy (8 anti-patterns: timer abuse, polling, continuous location, animation leaks, background mode misuse, network inefficiency, GPU waste, disk I/O)

Timer Safety

Timer crash patterns (DispatchSourceTimer)/skill axiom-timer-patterns

  • 4 crash scenarios causing EXC_BAD_INSTRUCTION
  • RunLoop mode gotcha (Timer stops during scroll)
  • SafeDispatchTimer wrapper
  • Timer vs DispatchSourceTimer decision

Timer API reference/skill axiom-timer-patterns-ref

  • Timer, DispatchSourceTimer, Combine, AsyncTimerSequence APIs
  • Lifecycle diagrams
  • Platform availability

Swift Performance

Swift performance optimization/skill axiom-swift-performance

  • Value vs reference types, copy-on-write
  • ARC overhead, generic specialization
  • Collection performance

Swift performance scan → Launch swift-performance-analyzer agent or /axiom:audit swift-performance (unnecessary copies, ARC overhead, unspecialized generics, collection inefficiencies, actor isolation costs, memory layout)

Modern Swift idioms/skill axiom-swift-modern

  • Outdated API patterns (Date(), CGFloat, DateFormatter)
  • Foundation modernization (URL.documentsDirectory, FormatStyle)
  • Claude-specific hallucination corrections

MetricKit Integration

MetricKit API reference/skill axiom-metrickit-ref

  • MXMetricPayload parsing
  • MXDiagnosticPayload (crashes, hangs)
  • Field performance data collection
  • Integration with crash reporting

Runtime Console Capture

Capture simulator console output/skill axiom-xclog-ref or /axiom:console

  • Capture print(), os_log(), Logger output from simulator
  • Structured JSON with level, subsystem, category
  • Bounded collection with --timeout and --max-lines
  • Filter by subsystem or regex

Runtime State Inspection

LLDB interactive debugging/skill axiom-lldb

  • Set breakpoints, inspect variables at runtime
  • Crash reproduction from crash logs
  • Thread state analysis for hangs
  • Swift value inspection (po vs v)

LLDB command reference/skill axiom-lldb-ref

  • Complete command syntax
  • Breakpoint recipes
  • Expression evaluation patterns

Decision Tree

  1. Memory climbing + UI stutter/jank? → memory-debugging FIRST (memory pressure causes GC pauses that drop frames), then performance-profiling if memory is fixed but stutter remains
  2. Memory leak (Swift)? → memory-debugging
  3. Memory leak (Objective-C blocks)? → objc-block-retain-cycles
  4. App hang/freeze — is UI completely unresponsive (can't tap, no feedback)?
    • YES → hang-diagnostics (busy vs blocked diagnosis)
    • NO, just slow → performance-profiling (Time Profiler)
    • First launch only? → Also check for synchronous I/O or lazy initialization in hang-diagnostics
  5. Slowdown when multiple async operations complete at once? → Cross-route to axiom-ios-concurrency (callback contention, not profiling)
  6. Battery drain (know the symptom)? → energy-diag
  7. Battery drain (need API reference)? → energy-ref
  8. Battery drain (general)? → energy
  9. MetricKit setup/parsing? → metrickit-ref
  10. Profile with GUI (Instruments)? → performance-profiling
  11. Profile with CLI (xctrace)? → xctrace-ref
  12. Run automated profile now? → performance-profiler agent
  13. General slow/lag? → performance-profiling
  14. Want proactive memory leak scan? → memory-auditor (Agent)
  15. Want energy anti-pattern scan? → energy-auditor (Agent)
  16. Want Swift performance audit (ARC, generics, collections)? → swift-performance-analyzer (Agent)
  17. Need to inspect variable/thread state at runtime? → axiom-lldb
  18. Need exact LLDB command syntax? → axiom-lldb-ref
  19. Timer stops during scrolling? → timer-patterns (RunLoop mode)
  20. EXC_BAD_INSTRUCTION crash with DispatchSourceTimer? → timer-patterns (4 crash patterns)
  21. Choosing between Timer, DispatchSourceTimer, Combine timer, async timer? → timer-patterns
  22. Need timer API syntax/lifecycle? → timer-patterns-ref
  23. Code review for outdated Swift patterns? → swift-modern
  24. Claude generating legacy APIs (DateFormatter, CGFloat, DispatchQueue)? → swift-modern
  25. Need to see runtime console output before profiling? → xclog-ref or /axiom:console

Anti-Rationalization

Thought Reality
"I know it's a memory leak, let me find it" Memory leaks have 6 patterns. memory-debugging diagnoses the right one in 15 min vs 2 hours.
"I'll just run Time Profiler" Wrong Instruments template wastes time. performance-profiling selects the right tool first.
"Battery drain is probably the network layer" Energy issues span 8 subsystems. energy skill diagnoses the actual cause.
"App feels slow, I'll optimize later" Performance issues compound. Profiling now saves exponentially more time later.
"It's just a UI freeze, probably a slow API call" Freezes have busy vs blocked causes. hang-diagnostics has a decision tree for both.
"Memory is climbing AND scrolling stutters — two separate bugs" Memory pressure causes GC pauses that drop frames. Fix the leak first, then re-check scroll performance.
"It only freezes on first launch, must be loading something" First-launch hangs have 3 patterns: synchronous I/O, lazy initialization, main thread contention. hang-diagnostics diagnoses which.
"UI locks up when network requests finish — that's slow" Multiple callbacks completing at once = main thread contention = concurrency issue. Cross-route to ios-concurrency.
"I'll just add print statements to debug this" Print-debug cycles cost 3-5 min each (build + run + reproduce). An LLDB breakpoint costs 30 seconds. axiom-lldb has the commands.
"I can't see what the app is logging" xclog captures print() + os_log from the simulator with structured JSON. /axiom:console or /skill axiom-xclog-ref.
"I'll just use Timer.scheduledTimer, it's simpler" Timer stops during scrolling (.default mode), retains its target (leak). timer-patterns has the decision tree.
"DispatchSourceTimer crashed but it's intermittent, let's ship" DispatchSourceTimer has 4 crash patterns that are ALL deterministic. timer-patterns diagnoses which one.
"Claude already knows modern Swift" Claude defaults to pre-5.5 patterns (Date(), CGFloat, filter().count). swift-modern has the correction table.

Critical Patterns

Memory Debugging (memory-debugging):

  • 6 leak patterns: timers, observers, closures, delegates, view callbacks, PhotoKit
  • Instruments workflows
  • Leak vs caching distinction

Performance Profiling (performance-profiling):

  • Time Profiler for CPU bottlenecks
  • Allocations for memory growth
  • Core Data SQL logging for N+1 queries
  • Self Time vs Total Time

Energy Optimization (energy):

  • Power Profiler subsystem diagnosis
  • 8 anti-patterns: timers, polling, location, animations, background, network, GPU, disk
  • Audit checklists by subsystem
  • Pressure scenarios for deadline resistance

Example Invocations

User: "My app's memory usage keeps growing" → Invoke: /skill axiom-memory-debugging

User: "I have a memory leak but deinit isn't being called" → Invoke: /skill axiom-memory-debugging

User: "My app feels slow, where do I start?" → Invoke: /skill axiom-performance-profiling

User: "My Objective-C block callback is leaking" → Invoke: /skill axiom-objc-block-retain-cycles

User: "My app drains battery quickly" → Invoke: /skill axiom-energy

User: "Users say the device gets hot when using my app" → Invoke: /skill axiom-energy-diag

User: "What's the best way to implement location tracking efficiently?" → Invoke: /skill axiom-energy-ref

User: "Profile my app's CPU usage" → Use: performance-profiler agent (or /axiom:profile)

User: "How do I run xctrace from the command line?" → Invoke: /skill axiom-xctrace-ref

User: "I need headless profiling for CI/CD" → Invoke: /skill axiom-xctrace-ref

User: "My app hangs sometimes" → Invoke: /skill axiom-hang-diagnostics

User: "The UI freezes and becomes unresponsive" → Invoke: /skill axiom-hang-diagnostics

User: "Main thread is blocked, how do I diagnose?" → Invoke: /skill axiom-hang-diagnostics

User: "How do I set up MetricKit?" → Invoke: /skill axiom-metrickit-ref

User: "How do I parse MXMetricPayload?" → Invoke: /skill axiom-metrickit-ref

User: "Scan my code for memory leaks" → Invoke: memory-auditor agent

User: "Check my app for battery drain issues" → Invoke: energy-auditor agent

User: "Audit my Swift code for performance anti-patterns" → Invoke: swift-performance-analyzer agent

User: "How do I inspect this variable in the debugger?" → Invoke: /skill axiom-lldb

User: "What's the LLDB command for conditional breakpoints?" → Invoke: /skill axiom-lldb-ref

User: "I need to reproduce this crash in the debugger" → Invoke: /skill axiom-lldb

User: "My list scrolls slowly and memory keeps growing" → Invoke: /skill axiom-memory-debugging first, then /skill axiom-performance-profiling if stutter remains

User: "App freezes for a few seconds on first launch then works fine" → Invoke: /skill axiom-hang-diagnostics

User: "UI locks up when multiple API calls return at the same time" → Cross-route: /skill axiom-ios-concurrency (callback contention)

User: "My timer stops when the user scrolls" → Invoke: /skill axiom-timer-patterns

User: "EXC_BAD_INSTRUCTION crash in my timer code" → Invoke: /skill axiom-timer-patterns

User: "Should I use Timer or DispatchSourceTimer?" → Invoke: /skill axiom-timer-patterns

User: "How do I create an AsyncTimerSequence?" → Invoke: /skill axiom-timer-patterns-ref

User: "Review my Swift code for outdated patterns" → Invoke: /skill axiom-swift-modern

User: "Is there a more modern way to do this?" → Invoke: /skill axiom-swift-modern

User: "What is the app logging? I need to see console output" → Invoke: /skill axiom-xclog-ref or /axiom:console

User: "Capture the simulator logs while I reproduce this bug" → Invoke: /skill axiom-xclog-ref or /axiom:console

how to use axiom-ios-performance

How to use axiom-ios-performance on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add axiom-ios-performance
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$npx skills add https://github.com/charleswiltgen/axiom --skill axiom-ios-performance

The skills CLI fetches axiom-ios-performance from GitHub repository charleswiltgen/axiom and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/axiom-ios-performance

Reload or restart Cursor to activate axiom-ios-performance. Access the skill through slash commands (e.g., /axiom-ios-performance) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

User Story & Requirements Generation

Create detailed user stories, acceptance criteria, and feature specs

Example

Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios

Reduce spec writing time by 50%, ensure comprehensive coverage

Competitive Analysis

Research competitors, compare features, identify gaps

Example

Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities

Complete competitive research in 2 hours instead of 2 days

Roadmap Prioritization

Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs

Example

Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale

Make data-driven prioritization decisions faster

Stakeholder Communication

Draft PRDs, status updates, and stakeholder presentations

Example

Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement

Save 3-5 hours/week on communication overhead

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client
  • Access to product documentation and roadmap tools (Jira, Notion, etc.)
  • Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
  • Stakeholder contact information and communication channels

Time Estimate

30-60 minutes to see productivity improvements

Installation Steps

  1. 1.Install product management skill
  2. 2.Start with user story generation for known feature
  3. 3.Progress to competitive analysis: research 2-3 competitors
  4. 4.Use for roadmap prioritization: apply RICE/ICE scoring
  5. 5.Draft stakeholder communications and refine based on feedback
  6. 6.Build template library for recurring PM tasks
  7. 7.Share effective prompts with product team

Common Pitfalls

  • Not validating competitive research—verify facts before sharing
  • Accepting user stories without involving engineering team
  • Over-relying on frameworks without qualitative judgment
  • Not customizing outputs to company culture and communication style
  • Skipping stakeholder validation of generated requirements

Best Practices

✓ Do

  • +Validate research and competitive analysis with real data
  • +Collaborate with engineering when generating technical requirements
  • +Customize frameworks and templates to your company context
  • +Use skill for first drafts, refine with stakeholder input
  • +Document successful prompt patterns for PM tasks
  • +Combine AI efficiency with human judgment and intuition

✗ Don't

  • Don't publish competitive analysis without fact-checking
  • Don't finalize user stories without engineering review
  • Don't make prioritization decisions solely on AI scoring
  • Don't skip customer validation of generated requirements
  • Don't ignore company-specific context and culture

💡 Pro Tips

  • Provide context: company goals, constraints, customer feedback
  • Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
  • Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
  • Use skill for 70% generation + 30% customization to company needs

When to Use This

✓ Use When

Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.

✗ Avoid When

Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.

Learning Path

  1. 1Basic: user stories, feature specs, status updates
  2. 2Intermediate: competitive analysis, prioritization frameworks, PRDs
  3. 3Advanced: product strategy, go-to-market planning, OKR setting
  4. 4Expert: product vision, market positioning, business model innovation

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.575 reviews
  • Arjun Abbas· Dec 20, 2024

    Useful defaults in axiom-ios-performance — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Shikha Mishra· Dec 16, 2024

    Keeps context tight: axiom-ios-performance is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Xiao Reddy· Dec 16, 2024

    axiom-ios-performance is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Kiara Sharma· Dec 12, 2024

    axiom-ios-performance fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Sofia Singh· Dec 4, 2024

    Registry listing for axiom-ios-performance matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Kabir Chen· Dec 4, 2024

    I recommend axiom-ios-performance for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Ishan Gill· Nov 23, 2024

    Useful defaults in axiom-ios-performance — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Soo Park· Nov 23, 2024

    axiom-ios-performance reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Arjun Bhatia· Nov 19, 2024

    We added axiom-ios-performance from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Diego Anderson· Nov 11, 2024

    We added axiom-ios-performance from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

showing 1-10 of 75

1 / 8