From beagle-react
Reviews React Router v6.4+ code for data loading via loaders/defer, mutations with Forms/useFetcher, error boundaries, and navigation with Link/useNavigation.
npx claudepluginhub existential-birds/beagle --plugin beagle-reactThis skill uses the workspace's default tool permissions.
| Issue Type | Reference |
Provides React Router best practices for performance and architecture, covering loaders, actions, forms, data fetching, streaming, and route organization.
Reviews React components for architecture, hooks usage, React 19 patterns, state management, performance optimization, accessibility, and TypeScript. Use before merging PRs, after new features, or for validation.
Guides React Router for routing, data loading, actions, navigation, forms, error handling, fetchers, and middleware in React SPAs, SSR, and framework apps.
Share bugs, ideas, or general feedback.
| Issue Type | Reference |
|---|---|
| useEffect for data, missing loaders, params | references/data-loading.md |
| Form vs useFetcher, action patterns | references/mutations.md |
| Missing error boundaries, errorElement | references/error-handling.md |
| navigate() vs Link, pending states | references/navigation.md |
loader not useEffectdefer() for parallel data fetching when appropriate<Form> or useFetcher not manual fetcherrorElement on routesisRouteErrorResponse() to check error types<Link> over navigate() where possibleuseNavigation() or fetcher.stateThese patterns are correct React Router usage - do not report as issues:
useLoaderData<typeof loader>() is a type annotation, not a type assertionOnly flag these issues when the specific context applies:
| Issue | Flag ONLY IF |
|---|---|
| Missing loader | Data is available server-side (not client-only) |
| useEffect for data fetching | Data is NOT client-only (localStorage, browser APIs, window size) |
| Missing errorElement | No parent route in the hierarchy has an error boundary |
| navigate() instead of Link | Navigation is NOT triggered by an event handler or conditional logic |
Load and follow review-verification-protocol before reporting any issue.