1k-sentry-analysis
SKILL.md
Sentry Error Analysis & Fixes
Complete workflow for analyzing and fixing production errors from Sentry crash reports.
Workflow Overview
1. Obtain Sentry JSON log
β
2. Analyze error
β
3. Identify root cause
β
4. Generate bug analysis log
β
π¨ WAIT FOR USER CONFIRMATION π¨
β
5. Implement fix (only after approval)
β
6. Test & verify
β
7. Create PR
Critical Requirements
MUST follow these rules:
- β
Always create a bug analysis log in
node_modules/.cache/bugs/before implementing fixes - π¨ MUST wait for user confirmation before starting any code changes
- β Bug analysis must be complete with all sections filled
- β Use evidence-based methodology (η―η―ηΈζ£οΌιζ₯ιθΏ)
Quick Reference
Common Error Types
| Type | Description | Common Causes |
|---|---|---|
| AppHang | iOS app frozen >5s | Too many concurrent requests, main thread blocking |
| ANR | Android Not Responding | Heavy operations on main thread, deadlocks |
| Crash | App terminated | Null pointer, memory issues, unhandled exceptions |
| Exception | Handled error | Network failures, validation errors, state issues |
Analysis Methodology
Use 6 types of proof to establish causation:
- Stack Trace Evidence - Error location in code
- Breadcrumbs Evidence - User actions leading to error
- Code Logic Evidence - Why the code causes the issue
- Timing Evidence - When and how often it occurs
- Device/Platform Evidence - Affected platforms/devices
- Fix Verification - Testing confirms fix works
Common Fix Patterns
// Pattern 1: Concurrent request control
async function executeBatched<T>(
tasks: Array<() => Promise<T>>,
concurrency = 3,
): Promise<Array<PromiseSettledResult<T>>> {
const results: Array<PromiseSettledResult<T>> = [];
for (let i = 0; i < tasks.length; i += concurrency) {
const batch = tasks.slice(i, i + concurrency);
const batchResults = await Promise.allSettled(
batch.map((task) => task()),
);
results.push(...batchResults);
}
return results;
}
// Pattern 2: Main thread offloading (React Native)
import { InteractionManager } from 'react-native';
InteractionManager.runAfterInteractions(() => {
// Heavy operation here
});
// Pattern 3: Error boundary
<ErrorBoundary fallback={<ErrorFallback />}>
<Component />
</ErrorBoundary>
Detailed Guide
For comprehensive Sentry error analysis workflow, see fix-sentry-errors.md.
Topics covered:
- Obtaining Sentry JSON logs
- Python-based quick analysis
- Bug analysis log template
- 6 types of proof methodology
- Root cause identification
- Common fix patterns (AppHang, ANR, Crashes)
- Real-world case studies
- Testing and verification
- PR creation workflow
Key Files
| Purpose | Location |
|---|---|
| Bug analysis logs | node_modules/.cache/bugs/ |
| Sentry config | packages/shared/src/modules/sentry/ |
| Error boundaries | packages/kit/src/components/ErrorBoundary/ |
When to Use This Skill
- Analyzing iOS AppHang errors (5+ second freezes)
- Fixing Android ANR (Application Not Responding)
- Investigating crash reports with stack traces
- Understanding user actions before crashes (breadcrumbs)
- Creating evidence-based bug analysis reports
- Implementing fixes for production errors
Related Skills
/1k-performance- Performance optimization patterns/1k-error-handling- Error handling best practices/1k-sentry- Sentry configuration and filtering/1k-code-quality- Lint fixes and code quality
Weekly Installs
42
Repository
onekeyhq/app-monorepoGitHub Stars
2.3K
First Seen
Feb 1, 2026
Security Audits
Installed on
opencode42
gemini-cli42
github-copilot42
codex42
cursor42
kimi-cli41