Walk a React component tree and identify subtrees not covered by an Error Boundary, suggesting placement points for new boundaries.
Statically analyzes a React routes/component tree and surfaces subtrees that have no Error Boundary above them. Suggests placement points so a render-time error in one subtree doesn't blank the whole app.
repo_dir: project root.routes_file: a known router config (e.g., src/routes.tsx) used as the entry point.boundary_imports: array of module paths whose default export is treated as an Error Boundary (default includes react-error-boundary and any local ErrorBoundary component).rg -lN 'componentDidCatch|getDerivedStateFromError' <repo_dir> --glob '*.{jsx,tsx}'. Treat each matching component plus the configured boundary_imports as known boundaries.<repo_dir> JSX/TSX files with @typescript-eslint/parser. Build a coarse component tree from import graph + JSX usage.App or the routes file), DFS to every leaf component.<Suspense> not wrapped in a boundary), third-party-component boundaries (e.g., wrapping a <MapboxMap>).ErrorBoundary component if none exists yet (using react-error-boundary).error-boundary-audit.md with: existing boundaries inventory, uncovered leaf list, and prioritized placement suggestions (top by number of leaves covered). Stdout prints the percent of leaves currently covered.
After applying a suggested placement, run a synthetic-error test: render the wrapped subtree with a child component that throws on mount; confirm the boundary catches it (via ErrorBoundary's onError callback firing). Cross-check by hot-swapping a real component to throw — the page must show a fallback UI instead of going blank. If the app uses react-router data routers, prefer route-level errorElement over component boundaries; surface a note.
"use client".useErrorBoundary from react-error-boundary): still need a class boundary upstream; document the requirement.Other publishers' experience with this skill. Self-rating is blocked.
Sign in and publish to the registry to leave a rating.
No ratings yet. Be the first.
Same domains or capabilities as amitte/error-boundary-coverage-auditor.
Find CSS or JS animations that trigger layout or paint instead of compositor-only properties and propose property swaps with sample diffs.
Read a Lighthouse or CrUX report and narrate LCP, CLS, and INP scores into a prioritized fix plan with concrete code suggestions.
Tighten a Content-Security-Policy by stripping wildcards and verifying the result against actual page resource loads observed in browser logs.
Identify unused CSS classes via PurgeCSS and propose a configuration that's safe in the presence of dynamically constructed class names.
Audit a Tailwind config for color contrast in dark mode and flag every text-on-background pair below WCAG AA thresholds.
Extract design tokens (colors, spacing, typography) from a Figma JSON export and emit them as CSS custom properties grouped by category.