ios-performance

Route iOS performance issues to targeted diagnostic skill endpoints.

1.1k|81|Updated Nov 30, 2025
One-click install
npx skills add https://github.com/CharlesWiltgen/Axiom --skill ios-performance
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ios-performance
Source: https://github.com/CharlesWiltgen/Axiom/tree/main/.claude-plugin/plugins/axiom/skills/ios-performance
Command: npx skills add https://github.com/CharlesWiltgen/Axiom --skill ios-performance

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This router helps diagnose performance problems, memory leaks, and battery impact, guiding optimization and profiling workflows.

Core Features & Use Cases

  • Memory debugging, performance profiling, and energy optimization
  • Instrumentation workflows with Instruments and metric analysis
  • Anti-pattern fixes and targeted optimization guidance

Quick Start

Prompt: "Identify a memory leak and suggest a fix plan."

Frequently Asked Questions about ios-performance

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I identify and fix memory leaks in iOS apps?

Memory leaks occur when objects remain in memory after they're no longer needed, often due to retain cycles. Use Instruments' Allocations and Leaks tools to detect growth patterns, then trace references to find circular dependencies between objects and break them by weakifying captures or delegates.

What causes battery drain and how do I optimize energy usage?

Battery drain stems from excessive CPU usage, frequent network requests, and continuous location tracking. Profile energy impact with Instruments' Energy Impact tool to identify hot spots, then reduce background activity, batch network calls, and optimize sensor usage.

How do I profile CPU and memory bottlenecks with Instruments?

Instruments captures real-time CPU, memory, and I/O metrics during app execution. Use the System Trace and Core Animation tools to isolate slow function calls and frame drops, then correlate spikes with code sections to pinpoint bottlenecks causing sluggish performance.

Can I diagnose performance issues without rebuilding my app?

Yes, Instruments attaches to running apps on device or simulator without requiring changes to source code. Profile live performance metrics including memory allocations, CPU cycles, and energy draw to diagnose issues in your actual release or debug builds.

What's the difference between a memory leak and gradual memory growth?

Memory leaks are permanent unreleased objects; gradual growth indicates accumulating allocations over time, often from caches or retained temporary objects. Instruments' Allocations tool shows both patterns—leaks spike sharply, while growth climbs steadily and may stabilize.

How do I handle retain cycles involving blocks and closures?

Retain cycles with blocks occur when self captures the enclosing object, preventing deallocation. Break cycles by capturing self weakly in closures or using unowned references when the object outlives the block, verified through Instruments' heap analysis.