shekhar23/claude-zero-to-hero-android-kmp/android-crash-reporting
Claude Code and agent skill by shekhar23/claude-zero-to-hero-android-kmp
- community
Checking that the SKILL.md file is still in the repository.
Crash reporting and ANR detection for Android - Firebase Crashlytics setup, non-fatal exception boundaries, custom keys and log lines, user identity rules, ANR detection, ViewModel crash boundaries, and debug vs release configuration. Use this skill whenever adding crash reporting, recording non-fatal errors, adding diagnostic context to crashes, setting up Crashlytics, or tuning crash triage workflows. Trigger on phrases like "crash reporting", "Crashlytics", "Firebase Crashlytics", "non-fatal", "ANR", "crash boundary", "recordException", "crash log", "custom key", "crash triage".
Install
npx vskill@latest install shekhar23/claude-zero-to-hero-android-kmp/android-crash-reportingSKILL.md
Android Crash Reporting
Overview
Crash reporting surfaces real-world failures that never appear in tests. This skill covers the full setup from Gradle to triage, with strict rules on what context to attach and how to keep PII out of crash reports.
Stack: Firebase Crashlytics (primary), Strict Mode for ANR/violation detection.
Related skills: android-analytics-logging, android-error-handling.
Gradle Setup
Enable / Disable by Build Type
Never send debug crashes to Crashlytics — it pollutes production data.
Or programmatically in Application.onCreate():
CrashReporter Interface (Domain Layer)
Wrap Crashlytics behind an interface so presentation/domain never import Firebase directly.
Koin binding:
Non-Fatal Boundaries in ViewModels
Record exceptions at recovery boundaries — not deep inside business logic.
Custom Keys for Crash Context
Set keys immediately before the risky operation. Keys are overwritten each call — the last value before the crash is what Crashlytics shows.
Safe to attach: feature name, screen name, anonymized entity IDs (hashed), operation type, non-sensitive counts.
Never attach: email, name, phone, auth tokens, passwords, raw user content.
ANR Detection with StrictMode
Enable in debug builds only to catch main-thread violations before they reach users.
ViewModel Crash Boundary
Uncaught exceptions in viewModelScope crash the app. Use a CoroutineExceptionHandler to record them.
Release Checklist
- [ ] Crashlytics disabled in debug, enabled in release
- [ ] No PII in
setUserId— hashed/anonymous IDs only - [ ] Mapping file upload configured (Crashlytics Gradle plugin handles this automatically)
- [ ] StrictMode zero violations in debug before merging to main
- [ ] Main thread never blocked > 200ms
- [ ] Non-fatal alert thresholds configured in Firebase console
Anti-Patterns
| Anti-pattern | Why it's wrong | Instead | |
|---|---|---|---|
recordException in every catch block | Floods dashboard, hides real issues | Record only at top-level boundaries | |
setUserId(email) | PII violation | Use a hashed or server-assigned anonymous ID | |
| Crashlytics enabled in debug | Pollutes production dashboard | Guard with BuildConfig.DEBUG | |
| Logging full request/response bodies | May contain tokens or PII | Log only operation name and error code | |
| Ignoring non-fatal volume | High-rate non-fatals degrade UX as much as crashes | Set up Firebase alerts on non-fatal rate |
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/android-crash-reporting/SKILL.md
Popularity
- Repository stars
- 9
- Repository forks
- 5
- 7-day trend score
- 12
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/shekhar23/claude-zero-to-hero-android-kmp/android-crash-reporting)