Skip to content

AI Agent Skills

Flueco packages include Agent Skills: concise instructions, examples, and guardrails that help AI coding agents use Flueco APIs and architecture correctly. Package skills live under each package's top-level skills/ directory and are included when the package is published. The example app also has repository-specific skills for common feature-development tasks.

Skills complement the package references and guides; they do not replace API documentation, tests, or engineering review. A skill is most useful when a request matches the workflow it describes.

Install Package Skills

From a Flutter app that depends on Flueco packages, run the package:skills CLI:

dart run skills@ get

The command scans direct dependencies and lets you select available skills. Add the package you need as a direct dependency first. To install all skills from a particular package, use -p:

dart run skills@ get -p flueco_dio

To install one skill, specify both the package and exact skill name:

dart run skills@ get -p flueco_core -s flueco-core-custom-router

To install all available dependency skills without a prompt, use dart run skills@ get --all. Run dart run skills@ list to inspect managed skills, and rerun dart run skills@ get to update them after changing package versions. The CLI installs skills into the directory used by the selected AI coding agent, commonly .agents/skills/.

After installation, describe the task normally or name the relevant skill in your request, for example: “Use the Flueco Dio skill to configure the HTTP client and register its provider.” The agent can load the skill's SKILL.md when that workflow is relevant.

Package Skills

The following skills ship with package dependencies. Each link opens the source SKILL.md in this repository.

Package Skill Use it for
flueco flueco-app Compose an app with the bundle, bootstrap providers, and use app-facing services.
flueco_core flueco-core Compose with core contracts, providers, lifecycle, registries, and events.
flueco_cli flueco-cli Scaffold and prepare an app generated from the repository example.
flueco_get_it flueco-get-it Configure the GetIt service container and provider registrations.
flueco_dio flueco-dio Configure the Dio HTTP adapter, options, and interceptors.
flueco_auto_route flueco-auto-route Connect an AutoRoute router and generate routes.
flueco_messaging flueco-messaging Connect the messaging instance to Flueco event handling.
flueco_hive flueco-hive Configure Hive secure storage and review key handling.
flueco_shared_preferences flueco-shared-preferences Use shared preferences through the LocalStorage contract.
flueco_theming flueco-theming Configure appearances and consume theme updates.
flueco_auth flueco-auth Compose authentication providers and manage authentication lifecycle.
flueco_auth_basic flueco-auth-basic Configure HTTP Basic authentication and protect credentials.
flueco_auth_token flueco-auth-token Configure token authentication, storage, expiry, and refresh policy.
flueco_auth_dio_interceptor flueco-auth-dio-interceptor Wire auth lifecycle and safely scope credentials on Dio requests.
flueco_state_management flueco-state-management Build Provider-backed view models and test state updates.

Custom flueco_core integrations

These skills guide the creation of app-owned adapters. Each recommends putting the implementation and provider in a separate internal package that depends on flueco_core, then adding that package to the app:

Example App Skills

The example's six skills are repository-specific workflows stored in example/skills/. They are not distributed by a published Flueco package. When working in this repository, ask the agent to follow the relevant skill by name or path. To use one in another project, copy it into that agent's recognized project skills directory and adapt its example-specific paths.

Authoring and Publishing

Package skills must live under <package-root>/skills/<package-name>-<skill-name>/SKILL.md. The skill directory prefix must match the package name; package names with underscores may use hyphens in the prefix. For example, flueco_core skills use the flueco-core- prefix. Keep the skill focused, provide prescriptive guidance, and update it when package APIs or recommendations change.

Before publishing, run dart pub publish --dry-run from the package directory and verify the skills/ files appear in the archive. For an end-to-end install check, use a consumer app with a path dependency and run dart run skills@ get there.

See Dart's guides to package skills and shipping skills with packages for the full workflow and Agent Skills specification links.