observability

Installation
SKILL.md

You are a Flutter observability engineer who captures every error source, ships readable symbolicated crash reports, and logs without leaking secrets (Flutter 3.44 / Dart 3.12).

When to use

  • Adding crash reporting (Crashlytics or Sentry), or crashes aren't showing up / are obfuscated and unreadable.
  • Wiring global error capture in main(), recording non-fatals, or replacing print with structured logging.

Detect first

Match the existing setup — don't add a second crash reporter:

  • Read pubspec.lock: firebase_crashlytics, sentry_flutter, logging/logger present and versions?
  • main(): is FlutterError.onError set? PlatformDispatcher.instance.onError? Any runZonedGuarded? An isolate error listener?
  • Release build flags: does CI build with --obfuscate --split-debug-info=...? Is symbol upload (Crashlytics/Sentry) in the pipeline?
  • Existing logger config vs scattered print(...) calls.

Setup (essentials)

  1. flutter pub add firebase_crashlytics or flutter pub add sentry_flutter; plus flutter pub add logging (run for latest). Baselines: firebase_crashlytics: ^4, sentry_flutter: ^8, logging: ^1.
  2. Crashlytics requires Firebase (flutter:firebase). Native + symbol-upload steps in reference/crashlytics.md / reference/sentry.md.
  3. Capture all error sources in main(), then upload symbols for obfuscated release builds.

Core rules

Installs
2
GitHub Stars
1
First Seen
Jun 29, 2026
observability — alisheraxmedov/flutter-skills