arisguimera/mobiai-core/mobiai-analyze-crash
Claude Code and agent skill by arisguimera/mobiai-core
- community
Checking that the SKILL.md file is still in the repository.
Use when the user shares a crash from any source (stack trace, log, screenshot, error description) and wants to find the root cause and fix it.
Install
npx vskill@latest install arisguimera/mobiai-core/mobiai-analyze-crashSKILL.md
Analyze Crash
Analyze a crash that the user provides, find the root cause in the codebase, and fix it.
When to Use
- User shares a stack trace, crash log, error screenshot, or any crash information
- User pastes a crash from any source (Crashlytics, Sentry, Bugsnag, logcat, Xcode console, a Slack message, an email — anything)
- User asks to investigate why something is crashing
What You Receive
The user may give you the crash in any format:
- A raw stack trace pasted into the chat
- A screenshot of a crash
- A log file
- A description like "the app crashes when I tap X"
- A URL to a crash reporting tool
- Anything else — work with what you have
Workflow
Step 1: Extract the Signal
From whatever the user gave you, identify the key information:
- Exception / error type — e.g.,
NullPointerException,EXC_BAD_ACCESS,RangeError,SIGSEGV - Crash location — file, line number, method name (if available in the stack trace)
- Call stack — the sequence of calls that led to the crash
- Context — what the user was doing when it happened, which screen, which action
If the information is incomplete, ask the user for more context. But don't block on it — work with what you have.
Step 2: Classify the Crash Type
Identify the category to guide your investigation:
| Type | Common Signals | Where to Look | |
|---|---|---|---|
| Null reference | NullPointerException, EXC_BAD_ACCESS, forced unwrap nil | Trace where the null value originates — usually an upstream initialization issue | |
| Concurrency | ConcurrentModificationException, data race, random EXC_BAD_ACCESS | Shared mutable state, missing synchronization, wrong thread | |
| Index out of bounds | IndexOutOfBoundsException, ArrayIndexOutOfBoundsException | Array/list access without bounds checking, empty collections | |
| Lifecycle | IllegalStateException, "view not attached", "no activity" | Fragment/Activity lifecycle, accessing UI after destroy | |
| Memory | OutOfMemoryError, jetsam kill | Leaks, large bitmap allocations, unbounded caches | |
| Network | SocketTimeoutException, SSLException | Missing error handling in network layer | |
| Database | SQLiteException, Core Data error | Schema migrations, thread safety, constraint violations | |
| Type casting | ClassCastException, Swift as! failure | Wrong type assumptions, generics, serialization |
Step 3: Find the Root Cause in the Codebase
For root cause investigation, follow the mobiai-mobile-debugging skill methodology: no guessing, trace data backward, form hypotheses based on evidence.
Starting from the crash location:
- Find the crashing code — use the file and line from the stack trace:
`` Grep for the class name or method name from the stack trace Read the file at the crash location ``
- Trace backwards — the crash site is usually not the root cause. Follow the data flow upstream:
- Where does the null value come from?
- Who populates this list that's empty?
- What thread is calling this method?
- Check recent changes — the crash may have been introduced recently:
``bash git log --oneline -10 -- <crashing-file> git blame <crashing-file> ``
- Understand the full context — read surrounding code, the class structure, how the component is used.
Step 4: Decide — Fix or Propose
Based on confidence and complexity:
- High confidence, simple fix — apply the fix directly. Use the
mobiai-fix-issueskill workflow: edit the code, verify it compiles, run tests. - Complex fix or uncertain root cause — explain what you found, what the root cause is, and propose how to fix it. Let the user decide.
- Can't find the root cause — explain what you investigated, what you ruled out, and ask the user for more context.
Step 5: If Fixing
Apply a minimal fix:
- Change only what is necessary
- Do NOT refactor surrounding code
- Verify it compiles
- Run existing tests to check for regressions
- If applicable, load the
mobiai-write-testsskill to add a regression test
Platform-Specific Patterns
Android
FATAL EXCEPTIONin logcat — app process crashed- ANR (Application Not Responding) — main thread blocked >5 seconds
Process: <package>lines identify which app crashed- StrictMode violations in debug builds hint at production issues
iOS
EXC_BAD_ACCESS— memory access violation (nil dereference, dangling pointer)EXC_BREAKPOINT—fatalError(),preconditionFailure(), Swift runtime checks- Release builds need symbolication —
atosor Xcode Organizer - Crash reports in
~/Library/Logs/DiagnosticReports/
Flutter
FlutterError— widget build errors, assertion failures- Platform channel errors — bridge between Dart and native
- Check BOTH the Dart stack trace AND the native (Android/iOS) logs
React Native
- Red screen errors in development
- JavaScript errors in
adb logcat | grep ReactNativeJS - Native crashes appear in normal Android/iOS logs — not in JS
KMP
- Shared code crashes may appear differently per platform
- Check if the crash is in
commonMain(shared) or platform-specific (androidMain/iosMain) - Kotlin/Native memory model issues on iOS side
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/core/skills/mobiai-analyze-crash/SKILL.md
Popularity
- Repository stars
- 391
- Repository forks
- 12
- 7-day trend score
- 30
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/arisguimera/mobiai-core/mobiai-analyze-crash)