
Flow
Run Flow type checks against the React monorepo renderer you changed and get file-level error reports before merge.
Overview
flow is an agent skill for the Ship phase that runs React monorepo Flow type checking on the chosen renderer and reports file-level type errors.
Install
npx skills add https://github.com/facebook/react --skill flowWhat is this skill?
- Runs `yarn flow $ARGUMENTS` with default `dom-node` renderer
- Documents four renderers: dom-node, dom-browser, native, fabric
- Reports type errors with file locations for agent fixes
- Optional slow path via `yarn flow-ci` for comprehensive CI parity
- Calls out `$FlowFixMe` suppressions and missing type imports
- 4 documented Flow renderers (dom-node, dom-browser, native, fabric)
- Default renderer is dom-node when no argument is passed
Adoption & trust: 895 installs on skills.sh; 246k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You are patching React code and need the correct Flow renderer command without guessing yarn flags or missing hidden suppressions.
Who is it for?
Contributors or agents editing facebook/react with Flow failures or pre-merge type validation on a specific renderer.
Skip if: Greenfield apps outside the React monorepo, TypeScript-only projects, or teams that do not use Facebook’s yarn Flow scripts.
When should I use this skill?
When you need to run Flow type checking, or when seeing Flow type errors in React code.
What do I get? / Deliverables
After the skill runs, you have a renderer-accurate Flow result with error locations and guidance on whether to use full `yarn flow-ci` checking.
- Flow command invocation for the selected renderer
- List of type errors with file paths and fix hints
Recommended Skills
Journey fit
Static type verification belongs on the shipping gate where regressions are caught before release, even though you may invoke it while still coding. Flow is a QA command (`yarn flow`, `yarn flow-ci`) that validates typings across renderers—same shelf as other pre-ship test discipline.
How it compares
Use this procedural Flow runner instead of ad-hoc `tsc` or eslint assumptions when working in the React repository.
Common Questions / FAQ
Who is flow for?
Solo builders and coding agents who touch the React monorepo and need disciplined Flow runs aligned with upstream contributor practice.
When should I use flow?
Use it during Ship when validating typings before merge, while debugging Flow errors in DOM or React Native renderers, or when you need CI-grade `yarn flow-ci` after a renderer-scoped check.
Is flow safe to install?
It only documents yarn commands and reporting behavior—review the Security Audits panel on this page and treat repo access like any third-party skill before running scripts locally.
SKILL.md
READMESKILL.md - Flow
# Flow Type Checking Arguments: - $ARGUMENTS: Renderer to check (default: dom-node) ## Renderers | Renderer | When to Use | |----------|-------------| | `dom-node` | Default, recommended for most changes | | `dom-browser` | Browser-specific DOM code | | `native` | React Native | | `fabric` | React Native Fabric | ## Instructions 1. Run `yarn flow $ARGUMENTS` (use `dom-node` if no argument) 2. Report type errors with file locations 3. For comprehensive checking (slow), use `yarn flow-ci` ## Common Mistakes - **Running without a renderer** - Always specify or use default `dom-node` - **Ignoring suppressions** - Check if `$FlowFixMe` comments are masking real issues - **Missing type imports** - Ensure types are imported from the correct package