Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add JohnWayneeee/ai-agent-skills --skill react-flow-best-practicesgit clone --depth 1 https://github.com/JohnWayneeee/ai-agent-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/johnwayneeee/ai-agent-skills/react-flow-best-practices)<a href="https://agentmods.dev/skills/johnwayneeee/ai-agent-skills/react-flow-best-practices"><img src="https://agentmods.dev/badge/skills/johnwayneeee/ai-agent-skills/react-flow-best-practices/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/johnwayneeee/ai-agent-skills/react-flow-best-practices"><img src="https://agentmods.dev/badge/skills/johnwayneeee/ai-agent-skills/react-flow-best-practices.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00073 | $0.00998 |
| Opus 5.5 | $0.00029 | $0.00399 |
| Sonnet 5.5 | $0.00015 | $0.00200 |
| Haiku 4.5 | $0.00007 | $0.00100 |
Grade A, and why
react-flow-best-practices scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 71 lines — stays where its author put it; the contents beside it link to each section on GitHub.
React Flow Best Practices
Purpose
Use this skill to review and improve React Flow implementations with the current @xyflow/react v12 patterns. Optimize for correctness first: stable node and handle IDs, typed node data, predictable viewport behavior, accessible controls, and performance that does not collapse as the workflow grows.
First Steps
- Inspect the React Flow package and usage:
package.jsonfor@xyflow/react.- Global CSS for
@xyflow/react/dist/style.css. - Canvas and node widget directories.
- If API behavior is version-sensitive or uncertain, fetch current docs with Context7 for
React Flow/@xyflow/reactbefore recommending changes. - Choose the smallest reference file needed:
- Canvas/state/viewport: read
references/canvas-state-and-viewport.md. - Custom nodes, handles, toolbars, resizers, edges: read
references/custom-nodes-handles-and-edges.md. - Review output checklist: read
references/review-checklist.md.
- Canvas/state/viewport: read
Review Workflow
- Map the flow architecture before judging details.
- Identify where domain data becomes
Node[]andEdge[]. - Identify the
ReactFlowwrapper, provider boundary, customnodeTypes, customedgeTypes, and global CSS import. - Confirm whether the canvas is static/narrative, editable, or partially interactive. This changes which issues matter.
- Identify where domain data becomes
- Check identity contracts.
- Node
id, nodetype, handleid,sourceHandle, andtargetHandlemust line up exactly. - Edge ids should be deterministic from source/target/semantic relationship.
- Changing these IDs is a migration-level change because saved flows, viewport focus, and edges can break.
- Node
- Check state ownership.
- Use controlled
nodesandedgeswhen the app needs domain-driven status, selection, persistence, or custom updates. - Preserve user moves/resizes unless the product intentionally rebuilds layout from domain state.
- Keep frequent transient canvas state out of app-global stores unless another feature truly needs it.
- Use controlled
- Check custom components.
nodeTypesandedgeTypesmust be defined outside render or memoized.- Custom nodes should use typed
NodeProps<Node<Data, "type">>when practical. - Interactive controls inside nodes or edge labels need
nodrag,nopan, and oftennowheel.
- Check viewport and accessibility.
- Do not let auto-fit or status-driven focus override a user's manual pan/zoom after interaction.
- Keep keyboard behavior deliberate: selection, multi-selection, pan activation, delete key, focusability.
- Provide
ariaLabelConfig, useful labels for custom controls, and visible selected/focused states.
- Report findings with concrete risk.
- Explain whether the issue can break edges, cause re-renders, trap interactions, override user viewport, or reduce accessibility.
- Prefer small, local fixes that preserve existing visual language and architectural boundaries.
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 71 lines · 73 tokens per session scan A 2188e3302553
react-flow-best-practices is a skill published in the GitHub repository JohnWayneeee/ai-agent-skills (1 stars, last pushed 3d ago), licensed MIT. It adds 73 tokens to every session and 998 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
raycast
Build Raycast extensions with React and TypeScript, create Script Commands, and troubleshoot URL schemes and extension execution on macOS.
graphql-client
Build Apollo Client or urql queries and mutations, manage cache behavior, and handle authentication and errors.
algolia-search
Expert patterns for Algolia search implementation, indexing strategies, React InstantSearch, and relevance tuning.
genpage
Creates, updates, and deploys Power Apps generative pages for model-driven apps using React v17, TypeScript, and Fluent UI V9. Orchestrates specialist agents for planning, entity creation, and code generation. Use it when user asks to build, retrieve, or update a page in an existing Microsoft Power Apps model-driven…
add-localization
Adds or extends multilingual localization in a Power Pages code-site SPA. Use whenever the user asks to translate, localize, internationalize, support multiple languages, add a language selector, add locale routes, repair an i18n setup, or add languages to an existing React, Vue, Angular, or Astro Power Pages site.
pcf
Builds, tests, diagnoses, upgrades, deploys and verifies Power Apps component framework (PCF) code components for model-driven apps and Power Pages — field and dataset controls, standard and virtual (React) — from Microsoft-maintained templates and recipes pinned to a tested version matrix. Runs quality gates…