一键导入
mobiai-analyze-crash
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.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
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.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
first community fixture skill
second community fixture skill
third community fixture skill
Actualiza el binario `mobiai` a la última versión publicada en GitHub Releases. Usá esta skill cuando el banner de SessionStart muestre "MobiAI update available" o cuando el usuario pida explícitamente actualizar MobiAI.
Use when starting any conversation — establishes how to find and invoke MobiAI skills, requiring `Skill` tool invocation before ANY response including clarifying questions, git/file reads, or code exploration
test fixture
| name | mobiai-analyze-crash |
| description | 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. |
| license | MIT |
| compatibility | ["claude-code","cursor","copilot","codex"] |
| platforms | ["android","ios","kmp","flutter","react-native"] |
Analyze a crash that the user provides, find the root cause in the codebase, and fix it.
The user may give you the crash in any format:
From whatever the user gave you, identify the key information:
NullPointerException, EXC_BAD_ACCESS, RangeError, SIGSEGVIf the information is incomplete, ask the user for more context. But don't block on it — work with what you have.
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 |
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:
Check recent changes — the crash may have been introduced recently:
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.
Based on confidence and complexity:
mobiai-fix-issue skill workflow: edit the code, verify it compiles, run tests.Apply a minimal fix:
mobiai-write-tests skill to add a regression testFATAL EXCEPTION in logcat — app process crashedProcess: <package> lines identify which app crashedEXC_BAD_ACCESS — memory access violation (nil dereference, dangling pointer)EXC_BREAKPOINT — fatalError(), preconditionFailure(), Swift runtime checksatos or Xcode Organizer~/Library/Logs/DiagnosticReports/FlutterError — widget build errors, assertion failuresadb logcat | grep ReactNativeJScommonMain (shared) or platform-specific (androidMain/iosMain)