FlowR Usage
Before FlowR work, resolve the target package:
uv run --script .agents/skills/flowr-usage/scripts/resolve.py --task auto
Read the resolved instructions once per instructions_id.
Run every bundled Python entrypoint with uv run --script <path>. Add or
update its PEP 723 dependencies with uv add --script <path> <dependency>;
never invoke a bundled script with python, python3, or uv run python.
Route Selection
auto is the normal entry. It reads the nearest pubspec.yaml.
- A package that directly depends only on
flowr_dart and has no Flutter SDK
dependency resolves to core. It loads no Flutter or flowr material.
- A package that directly depends on
flowr and declares a Flutter SDK
dependency resolves to flutter. It loads core rules first, then Flutter
rules and the optional project profile.
flowr without a Flutter SDK dependency is invalid. Fix the target package;
do not silently downgrade it to the core route.
--task core and --task flutter are explicit routes. The resolver rejects
flutter for a Dart-only package.
Common Rules
- Follow the repository
AGENTS.md and preserve its existing architecture.
- Read core instructions for every resolved route. Flutter instructions extend
rather than replace the core rules.
- Import only public package entry points. Do not import
flowr/src/... or
flowr_dart/src/... from application code.
- Keep package API usage here. File layout, component ownership, and contract
decisions remain the responsibility of the calling architecture skill.
References
Load only the reference relevant to the task:
references/core.md: FlowR/FlowB, logging, state, streams, scheduling, and
disposal rules.
references/flutter.md: FrViewModel, FrBlocViewModel, FrProvider,
FrView, listeners, and Flutter ownership rules.
references/flowr-dart-install.md: add flowr_dart to a pure Dart package.
references/flowr-install.md: add flowr and first Flutter provider/view.
references/flowr-logging.md, flowr-run-catching.md, flowr-slowly.md,
flowr-disposal.md, flowr-update.md: the named core concern.
references/flutter-error-boundaries.md: install complementary
FlutterError, PlatformDispatcher, and zone boundaries at a Flutter app
entry point while retaining local logE recovery logging.
references/bloc-concurrency.md: evaluate and configure per-handler event
concurrency for asynchronous FlowB or FrBlocViewModel handlers. Load it
when overlapping events could race, duplicate work, emit stale results, or
require ordered processing; do not add bloc_concurrency by default.
references/freezed-install.md: add immutable Freezed state generation.
references/slang-install.md: install and generate type-safe slang
translations; the project convention uses S..
references/fr-mvvm-locale-slang.md: integrate slang translation catalogs
with fr_mvvm_locale as the application locale owner.
references/fr-provider-di.md, fr-vm-communication.md, fr-union.md:
Flutter advanced provider, VM coordination, and FrUnion use.
references/fr-mvvm-*.md: the corresponding optional Flutter extension.
Validation
- Format changed Dart files with the package's configured Dart/Flutter tool.
- Run focused tests for the target package.
- Run the repository analyzer command when shared APIs or package surfaces
change.
1---2name: flowr-usage3description: Use FlowR correctly in pure Dart or Flutter projects. Resolve the target package first, then use FlowR/FlowB core APIs or Flutter FrViewModel, FrProvider, and FrView APIs without loading Flutter rules for flowr_dart-only packages.4---56# FlowR Usage78Before FlowR work, resolve the target package:910```bash11uv run --script .agents/skills/flowr-usage/scripts/resolve.py --task auto12```1314Read the resolved instructions once per `instructions_id`.1516Run every bundled Python entrypoint with `uv run --script <path>`. Add or17update its PEP 723 dependencies with `uv add --script <path> <dependency>`;18never invoke a bundled script with `python`, `python3`, or `uv run python`.1920## Route Selection2122- `auto` is the normal entry. It reads the nearest `pubspec.yaml`.23- A package that directly depends only on `flowr_dart` and has no Flutter SDK24 dependency resolves to `core`. It loads no Flutter or `flowr` material.25- A package that directly depends on `flowr` and declares a Flutter SDK26 dependency resolves to `flutter`. It loads core rules first, then Flutter27 rules and the optional project profile.28- `flowr` without a Flutter SDK dependency is invalid. Fix the target package;29 do not silently downgrade it to the core route.30- `--task core` and `--task flutter` are explicit routes. The resolver rejects31 `flutter` for a Dart-only package.3233## Common Rules3435- Follow the repository `AGENTS.md` and preserve its existing architecture.36- Read core instructions for every resolved route. Flutter instructions extend37 rather than replace the core rules.38- Import only public package entry points. Do not import `flowr/src/...` or39 `flowr_dart/src/...` from application code.40- Keep package API usage here. File layout, component ownership, and contract41 decisions remain the responsibility of the calling architecture skill.4243## References4445Load only the reference relevant to the task:4647- `references/core.md`: FlowR/FlowB, logging, state, streams, scheduling, and48 disposal rules.49- `references/flutter.md`: `FrViewModel`, `FrBlocViewModel`, `FrProvider`,50 `FrView`, listeners, and Flutter ownership rules.51- `references/flowr-dart-install.md`: add `flowr_dart` to a pure Dart package.52- `references/flowr-install.md`: add `flowr` and first Flutter provider/view.53- `references/flowr-logging.md`, `flowr-run-catching.md`, `flowr-slowly.md`,54 `flowr-disposal.md`, `flowr-update.md`: the named core concern.55- `references/flutter-error-boundaries.md`: install complementary56 `FlutterError`, `PlatformDispatcher`, and zone boundaries at a Flutter app57 entry point while retaining local `logE` recovery logging.58- `references/bloc-concurrency.md`: evaluate and configure per-handler event59 concurrency for asynchronous `FlowB` or `FrBlocViewModel` handlers. Load it60 when overlapping events could race, duplicate work, emit stale results, or61 require ordered processing; do not add `bloc_concurrency` by default.62- `references/freezed-install.md`: add immutable Freezed state generation.63- `references/slang-install.md`: install and generate type-safe slang64 translations; the project convention uses `S.`.65- `references/fr-mvvm-locale-slang.md`: integrate slang translation catalogs66 with `fr_mvvm_locale` as the application locale owner.67- `references/fr-provider-di.md`, `fr-vm-communication.md`, `fr-union.md`:68 Flutter advanced provider, VM coordination, and `FrUnion` use.69- `references/fr-mvvm-*.md`: the corresponding optional Flutter extension.7071## Validation7273- Format changed Dart files with the package's configured Dart/Flutter tool.74- Run focused tests for the target package.75- Run the repository analyzer command when shared APIs or package surfaces76 change.