About flutter-package-development
A Flutter development skill for designing and maintaining reusable, versioned Dart and Flutter packages. It covers package structure, compatibility, verification, and publication readiness without publishing without authorization.
Key features
- 01Choose a suitable package structure
- 02Review public API and compatibility
- 03Handle plugins and federation
- 04Format, analyze, and test packages
- 05Check publication readiness
Use cases
- 01Start a reusable Dart or Flutter package
- 02Maintain a package's public contract
- 03Prepare a plugin for supported platforms
- 04Review a package before publication
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ thienqo/ flutter-skills --skill flutter-package-developmentAfter installing, type/flutter-package-developmentin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/plugins-and-federation.mdpublic-api-and-quality.mdpublication-readiness.mdDetails
From the project READMEFlutter Package Development
Treat reusable packages as versioned contracts consumed by independent projects. Preserve SDK bounds, package architecture, supported platforms, and release conventions unless migration is requested.
Preflight
Inspect pubspec.yaml, public exports, examples, tests, platform folders, CI, changelogs, and consumers.
Choose the smallest viable shape:
- Dart package for reusable Dart-only logic.
- Flutter package for reusable widgets without native code.
- Plugin or FFI package when native platform implementations are required.
- Federated plugin only when independent platform ownership or release cadence justifies multiple packages.
Do not convert app-owned bridges into packages merely because code reuse is possible.
Load references conditionally
- Read public API and package quality for exports, deprecations, semver, and consumer compatibility.
- Read plugins and federation for platform interfaces, registration, FFI, and federated architecture.
- Read publication readiness for dry-run inspection, pub.dev checklist, and release verification.
Boundaries
flutter-platform-integrationowns app-side native code and low-level channel/FFI mechanics.flutter-dependency-upgradesowns consumer-side package upgrades in an application.flutter-build-releaseowns application stores and binary builds, not pub package publication.
Verification
Format, analyze, run tests, and exercise the example fixture across all claimed platforms. When publication readiness is in scope:
- Run
dart pub publish --dry-runand inspect all output, warnings, and included files. A passing dry run proves neither compatibility nor authorization. - Never publish, tag, or create releases without explicit user authorization. A conditional go-ahead ("publish if the dry run passes") does not cover changes you made after it: show the final diff and dry-run result, then ask before publishing.
- When tool or repository access is missing, provide an executable review plan with clear pass/fail criteria covering metadata, license, changelog, and dry-run output rather than fabricating results.