About flutter-background-execution
A guidance skill for planning and verifying Flutter background jobs across operating-system schedulers. It helps Flutter developers choose an execution model based on job requirements and validate platform lifecycle behavior.
Key features
- 01Job requirement assessment
- 02Scheduler ownership guidance
- 03Conditional platform references
- 04Lifecycle and failure verification
Use cases
- 01Choosing a scheduler for deferrable work
- 02Checking behavior after process termination or reboot
- 03Testing retries, cancellation, and duplicate delivery
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ thienqo/ flutter-skills --skill flutter-background-executionAfter installing, type/flutter-background-executionin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/android-scheduling-and-services.mdapple-background-tasks.mdheadless-execution-and-reliability.mdDetails
From the project READMEFlutter Background Execution
Treat background execution as an operating-system contract, not a Dart timer that is guaranteed to keep running. Preserve the project's scheduler or plugin when it satisfies the requirement; inspect pubspec.yaml, SDK constraints, target platforms, native capabilities, and existing registration before changing it.
Define the job
Record the trigger, acceptable delay, maximum duration, survival across process death or reboot, network/power constraints, user visibility, cancellation, and what should happen after sign-out or data deletion. Separate “must eventually run” from “must run at an exact time”; mobile schedulers are commonly opportunistic.
Choose the owner
- Keep work in
dart-concurrencywhen it only needs to run while the app process is alive. - Use an OS-backed scheduler for deferrable work that must survive the visible app.
- Use a user-visible foreground or continued-processing mode only when the platform permits the use case and its disclosure, permissions, and limits are satisfied.
- Route exact user reminders and notification delivery to
flutter-notifications. - Route a custom native scheduler bridge or reusable plugin implementation to
flutter-platform-integration.
Do not add a scheduling package by default. Verify platform coverage, maintenance, target SDK support, callback model, and the repository's existing dependencies first.
Load details conditionally
- Read Android scheduling and services for WorkManager, foreground services, exact alarms, reboot behavior, or Android permissions.
- Read Apple background tasks for BGTaskScheduler, refresh/processing work, expiration, capabilities, or iOS scheduling expectations.
- Read headless execution and reliability for callback dispatchers, isolates, plugin access, retries, deduplication, or durable progress.
Verification
Test the job body behind a platform-free boundary, including success, retryable failure, permanent failure, cancellation, duplicate delivery, and stale identity. Then verify the native registration and lifecycle on every supported target: backgrounding, process termination, constraints, expiration or timeout, rescheduling, reboot when promised, and sign-out cleanup. Report actual device and lifecycle evidence; a successful direct function call does not prove OS scheduling.