skills/mobile-perf-auditor/SKILL.md
Evaluate mobile app performance holistically across cold start time, FPS drops, memory leaks, battery drain, and bundle size. Interpret profiling data and pinpoint platform-specific bottlenecks.
npx skillsauth add fatih-developer/fth-skills mobile-perf-auditorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Mobile devices have hard constraints on memory, CPU, and battery. What works fine on a fast developer machine or simulator might cause a crash or severe battery drain on a 4-year-old device. This skill analyzes performance metrics to find the root cause of sluggishness or resource exhaustion.
Core principle: Blaming the user's device is not an option. Find the bottleneck in the code.
1. Identify the performance symptom (e.g., slow start, UI stutter, OOM crashes)
2. Determine the context (iOS, Android, React Native, Platform context)
3. Request or analyze profiling data / metrics
4. Correlate metrics with common architectural anti-patterns
5. Propose a targeted, measurable fix
Categorize the user's complaint:
Understand the environment:
Ask for or analyze existing data from:
Identify common culprits based on data:
onScroll, heavy image decoding on the UI thread.Provide a specific code-level or architecture-level fix. "Optimize your images" is not acceptable. "Use downsampling during image decode via BitmapFactory.Options.inSampleSize before loading into memory" is acceptable.
# ⚡ Performance Audit Report
**Symptom:** [e.g., UI Scroll Jank on Android]
**Environment:** [e.g., React Native 0.72, Low-end Android devices]
## 🔍 Root Cause Analysis
Based on the provided metrics/context, the bottleneck appears to be:
[Detailed explanation of WHY this is happening. E.g., The JS thread is blocked during scroll because `setState` is being called excessively in the `onScroll` handler, causing a drop below 60FPS.]
## 🛠 Actionable Fix
### Fix 1: [Name of the fix, e.g., Debounce Scroll Events / Use Reanimated]
- **Current Pattern:** [What they are doing wrong]
- **Proposed Pattern:** [What they should do]
- **Code Example (if applicable):**
```javascript
// Optimized code snippet
[Explanation]
How to verify this worked: [E.g., "Run the React Native Performance Monitor. You should see the JS thread maintain 60FPS during aggressive scrolling, and the UI frame time should drop below 16ms."]
---
## When to Skip
- The user is asking about network API response times (that is backend latency, not mobile client performance).
- The user is asking about web browser performance (use a web/Lighthouse skill).
---
## Guardrails
- **Main Thread Rule:** Always prioritize freeing up the Main/UI thread. Never suggest solutions that move heavy work back to the main thread.
- **No Silver Bullets:** Do not blindly recommend caching or memoization without proving that re-computation is actually the bottleneck. Over-memoizing causes memory issues.
---
## References
See `references/EXAMPLES.md` for a worked case.
---
## 🔗 Next Steps & Handoffs
If you are executing the **Pre-Release Audit Flow** as defined in the Mobile ECOSYSTEM guide, and this performance audit passes, the next mandatory skill in the sequence is:
- `@mobile-security-auditor`
If you are executing the **Post-Launch Monitoring Flow** and have successfully optimized the app based on a crash/jank report, the flow concludes here or hands back to:
- `@crash-analyst` (to verify the fix in the next release)
tools
Create, optimize, critique, and structure prompts for AI systems. Use this skill whenever the user is designing or improving a prompt, system prompt, coding prompt, image prompt, evaluation rubric, agent prompt, workflow prompt, or MCP-oriented prompt package. Also use it when the user asks to turn vague AI behavior into a precise instruction set, tool policy, agent spec, or prompt architecture.
testing
Assumption-first architecture review skill to stress-test project plans and expose hidden risks.
testing
Enforce and manage DESIGN.md specifications, extract design systems from URLs, and combine design reasoning with token roles to prevent drift.
testing
Forces the agent to act with a Claude-like product mindset, prioritizing user journey, UX states, and visual quality before coding.