Skip to main content

AI-assisted authoring

Package skills give your coding assistant instructions tied to the Stem packages you use: real API names, lifecycle rules, examples, and mistakes to avoid. They complement the documentation; they do not configure a worker or database.

Choose the skills you need​

DependencySkillUse it for
stemstem-tasksTyped task definitions, workers, results, and shutdown
stemstem-hosted-workflowsCheckpoints, waits, recovery, retries, and compensation
stem_builderstem_builder-codegenAnnotation setup, generated definitions, and custom codecs
stem_flutterstem_flutter-lifecycleApp/host ownership, foreground recovery, and UI observation
stem_sqlitestem_sqlite-persistenceSQLite storage setup and restart boundaries

These skills are included in the current source tree. Older published versions do not include them. Check the release notes for the package version you installed rather than assuming that the latest source is already on pub.dev.

Install into your application​

After adding the dependency and resolving packages, run this in your application directory:

dart run skills@ get -p stem

Select the task and/or workflow skills from the prompt. Repeat with -p stem_builder, -p stem_flutter, or -p stem_sqlite for dependencies your application uses.

To install both core skills for a known agent without a selection prompt:

dart run skills@ get -p stem --all --agent codex

Choose the agent supported by your editor; use dart run skills@ get --help for the current choices. The Codex target uses .agents/skills/. Other agents may use different locations. Inspect the installed instructions before letting an agent act on them.

Specifying -p also avoids the CLI's separate first-run suggestion to install official Dart/Flutter skill repositories. An unfiltered get --all can still show that suggestion in the current CLI.

Verify local skills before a release​

Use a disposable consumer project with a path dependency on the local package:

dependencies:
stem:
path: /absolute/path/to/stem/packages/stem

Resolve it, then run the same skills@ get -p stem command. For Flutter dependencies, create a Flutter consumer and use flutter pub get. If you are testing several unreleased packages, point their dependencies at the matching local package versions too; do not silently combine incompatible pub releases and workspace sources.

Confirm that the expected SKILL.md files appear in the consumer's agent directory. Test there rather than overwriting your real application's instructions while authoring a skill.

Keep instructions current​

After upgrading dependencies, run dart run skills@ get -p stem again to update the core skills. Use dart run skills@ list to inspect installed managed skills. Review local instruction changes before replacing them.

Package authors maintain consumer skills under each package's skills/ directory. .agents/skills/ is the installation location, not the source to publish. Repository contribution rules remain in CONTRIBUTING.md; they are not copied into downstream applications.

See Dart's package skills guide for installation and management, and Ship skills with packages for authoring conventions.