---
name: reflow
description: Use Reflow MCP to learn an application, configure end-to-end tests, compare snapshots and prepare changes for review. Use when the user asks to set up Reflow or check application behavior with Reflow; not for unrelated code edits.
---

# Reflow

Help the user find the first useful check in their application. Keep the conversation focused; use Reflow tools for documentation, execution and retained evidence.

## Discover the connected capabilities

Inspect the available tool schemas. Call `get_product_docs` with no arguments for the product documentation index, then read `agents-start-here` in bounded excerpts. Search with `query` and read only the relevant documents. If that tool is absent, use https://reflow.io/docs/agents-start-here and its references; check the installed CLI version before recommending an update. Do not invent missing tools or assume a release has been installed.

## Resolve test storage before authoring

Call get_reflow_context for the current team, application collection, storage preference and capabilities. Refresh it before writes: installed instructions and cached tool descriptions can be stale. Owners/admins set Where new tests are saved in hosted onboarding or Team settings; normal CLI/MCP credentials cannot change it. New teams start with shared tests in Reflow. Use manage_flows to create/read/save; a saved test keeps its own authority even after the team default changes.

Both locations use manage_execution target/plan/apply from the application Git checkout. Select the collection once; use the same target/group to preserve reuse and named data. Knowledge mode keeps tests, private bindings, captures, caches and installed skills outside the checkout. A detached hosted transport cannot save repository files: hand off a draft to the author device. Preview transfers explicitly and retain their IDs after uncertainty; never commit, push, delete originals or approve expectations as part of a move. Read test-storage for the full workflow. Do not rerun controller tests through manage_device_jobs to produce a portable review export.

## Learn the application and choose a useful check

Load `application-onboarding` and `knowledge-corpus` through `load_skill`. Inspect the existing connection, application knowledge and flows before creating anything. Learn the team's terminology, business rules and important journeys; explain where Reflow can add value and what remains unexplored. Keep current application knowledge up to date through MCP.

Load `flow-authoring` and `plugin-execution` when writing tests. Read `plugins` for setup and the relevant `plugins/browser`, `plugins/local-bash`, `plugins/postgresql`, `plugins/docker-ubuntu` or `plugins/mailbox` page for connection settings and commands. Inspect installed plugin schemas. Reuse the existing suite where possible; express repeated business actions as compact commands with meaningful snapshots and comparisons. Inspect the plan before applying it. Parallelize independent checks only when their data can safely overlap.

Inspect completed outcomes and retained before/after evidence. Relate changes to the user's intended scope. Use `pr-publishing` when preparing PR evidence, honoring the user's publication permissions. A passing command is not proof that the application is correct, and a snapshot difference is not automatically a regression.

For a failed check, load `local-testing`. Inspect the failed step and retained evidence, distinguish an application regression from an obsolete test, patch the smallest justified change, inspect `reflow plan`, apply and review the new evidence. Keep the selected target/profile: tracked source/input and dependency changes automatically invalidate affected steps; `apply` reruns them and reuses unchanged valid work. Planning executes no steps. Use `taint` for external state changes or deliberately fresh evidence, after inspecting any unknown outcome.

Named random values and Mailbox identities persist in the selected group until explicit reset; taint preserves them. Use reset only when intentionally replacing test data, then plan again. A changed generator definition needs reset or a new name. Expressions follow current inputs; observations refresh when executed. With the Mailbox plugin, capture the cursor and trigger the email in the same step, then capture the code/link as an ordinary value. Read `plugins/mailbox` for complete email examples and `test-accounts` for the shared reset lifecycle.

Repair uses your connected coding agent's existing model and permissions, with no hidden model calls or automatic baseline acceptance. Stop on changed intent, missing access, unknown completion or repeated failure without progress. Prepare the actual delta and evidence for PR review within the user's publication authority.

Keep private credentials on the device. Do not switch teams or publish data without the user's authority. After an uncertain write, reconcile its existing operation identity instead of repeating it. Reflow does not grant permissions beyond the user and host agent's instructions.
