expo-runtime-crash-triage
Systematic loop for fixing Expo/React Native runtime crashes without dependency changes.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Expo Runtime Crash Triage Playbook
Goal
Stabilize the app by resolving runtime crashes with minimal diffs and no dependency changes.
Standard workflow
- Identify the crash source file + line from the stack trace.
- Determine whether the crash is:
- undefined component rendered in JSX (common:
type.displayName) - missing import/export mismatch (default vs named)
- undefined object property access
- undefined component rendered in JSX (common:
- Prefer fixing at the lowest, most reusable layer:
- If crash repeats from multiple callers, harden the shared component.
type.displayName specific
This usually means React received undefined where it expected a component:
-
<Icon />where Icon is undefined -
<SomeComponent />where import is wrong (named vs default) Fix patterns: - Correct import/export mismatch
- Add runtime guard:
Icon ? <Icon .../> : null - Provide safe fallback component
- Ensure callers don’t pass undefined
Validation
- Ensure TypeScript compiles.
- Restart Metro with cache clear if needed.
Mandatory output
Always end with HANDOFF PACKET (see guardrails skill).
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!