mcpField
F
flowr-usage

flowr-usage

github.com/hu-wentaoDevelopment238 installsUpdated 5w ago
Repository

About flowr-usage

flowr-usage is a development skill for Dart and Flutter packages using FlowR. It routes work to the relevant instructions and references, then specifies script and validation practices.

Key features

  1. 01Resolve core or Flutter package route
  2. 02Load task-specific FlowR references
  3. 03Run bundled scripts with uv
  4. 04Follow formatting and test checks

Use cases

  1. 01Identify FlowR guidance for a package
  2. 02Find rules for a specific FlowR concern
  3. 03Validate changes to Dart or Flutter code

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/hu-wentao/flowr --skill flowr-usage

After installing, type/flowr-usagein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
bloc-concurrency.md
core.md
flowr-dart-install.md
flowr-disposal.md
flowr-install.md
flowr-logging.md
flowr-run-catching.md
flowr-slowly.md
flowr-update.md
flutter-error-boundaries.md
flutter.md
fr-mvvm-env-install.md
fr-mvvm-env.md
fr-mvvm-locale-install.md
fr-mvvm-locale-slang.md
fr-mvvm-locale.md
fr-mvvm-theme-advance.md
fr-mvvm-theme-install.md
fr-mvvm-theme.md
fr-mvvm-user-install.md
fr-mvvm-user.md
fr-provider-di.md
fr-union.md
fr-vm-communication.md
freezed-install.md
slang-install.md
scripts/
resolve.py
scripts/tests/
test_resolve.py

Details

From the project README

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.

Comments

Markdown supported