← SkillSafe
Route Lens

For Flutter developers shipping deep links, web URLs and multi-step flows

Route LensA GoRouter the app never uses, a context.go('/basket') with nothing behind it. See your route map, find the dead links, then rewrite the router.

Paste your routing code. Your browser rebuilds the go_router table with every full path, resolves every context.go and push against it, and checks the router is wired in, named routes, pageless pushes, slashes on nested paths, unread :params, a not-found page and nested flows (key, default, PopScope) - then writes a deep-link smoke test. Then the review, and the rewritten router.

Try a sample:

The routing free

The scan free

What the scan found

The route map

The skill's routing workflows

Your deep-link smoke test and checklist free

Every declared path, opened through the router in a widget test - it fails when a screen's builder throws (a parameter that stops parsing, a missing argument). A renamed path lands on the error page without throwing - the scan catches that, not the test.

test/routes_test.dart


    

The review

Pricing as soon as the session is ready...

NOT RUN YET

The page's check of this reply

    Saved routing reviews

    How it works - and what it cannot see

    The scan reads the Dart itself: comments and strings are masked, every call is matched to its closing bracket and its named arguments are read at their own depth. It rebuilds the go_router table by following each GoRoute's routes: list, so every route has its full path, and matches every literal context.go, push and goNamed target against it - an interpolated segment like '/items/$id' matches any :parameter. It follows the skill: go_router with MaterialApp.router for deep links and the web, no named routes, context.go instead of Navigator.push, relative nested paths, and nested flows with a kept GlobalKey<NavigatorState>, an onGenerateRoute that throws on unknown names, and PopScope.

    It cannot follow redirects, guards, ShellRoute tab stacks or targets built at run time - that is the review. The page re-scans the rewritten router, so a fix that did not land is flagged rather than trusted, and the free smoke test opens every declared path in CI.