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 agentmods add skills/smicolon/ai-kit/declarative-routingnpx skills add smicolon/ai-kit --skill declarative-routinggit clone --depth 1 https://github.com/smicolon/ai-kitWrote 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/smicolon/ai-kit/declarative-routing)<a href="https://agentmods.dev/skills/smicolon/ai-kit/declarative-routing"><img src="https://agentmods.dev/badge/skills/smicolon/ai-kit/declarative-routing.svg" alt="Measured on agentmods" 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 | $0.00043 | $0.00552 |
| Opus 5 | $0.00022 | $0.00276 |
| Sonnet 5 | $0.00009 | $0.00110 |
| Haiku 4.5 | $0.00004 | $0.00055 |
Grade A, and why
declarative-routing 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 yesterday.
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 — 98 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Declarative Routing with GoRouter
Guide for configuring declarative routing, deep linking, and nested navigation in Flutter apps using go_router.
Setup & Initialization
Add dependency:
dependencies:
go_router: ^14.0.0
Configure in MaterialApp.router:
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp.router(
routerConfig: appRouter,
title: 'My App',
);
}
}
Router Configuration
final appRouter = GoRouter(
initialLocation: '/',
routes: [
GoRoute(
path: '/',
builder: (context, state) => const HomeScreen(),
routes: [
GoRoute(
path: 'details/:id',
builder: (context, state) {
final id = state.pathParameters['id']!;
return DetailsScreen(id: id);
},
),
],
),
GoRoute(
path: '/login',
builder: (context, state) => const LoginScreen(),
),
],
redirect: (context, state) {
final isAuthenticated = authService.isLoggedIn;
final isGoingToLogin = state.matchedLocation == '/login';
if (!isAuthenticated && !isGoingToLogin) {
return '/login?redirect=${state.matchedLocation}';
}
if (isAuthenticated && isGoingToLogin) {
return '/';
}
return null;
},
);
ShellRoute for Nested Navigation (Bottom Nav / Drawer)
ShellRoute(
builder: (context, state, child) {
return ScaffoldWithNavBar(child: child);
},
routes: [
GoRoute(
path: '/feed',
builder: (context, state) => const FeedScreen(),
),
GoRoute(
path: '/profile',
builder: (context, state) => const ProfileScreen(),
),
],
)
Navigation Best Practices
- Use
context.go('/path')to replace current route location. - Use
context.push('/path')when pushing onto the stack (e.g., detail modals). - Always extract path parameters via
state.pathParametersand query params viastate.uri.queryParameters.
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.
- yesterday First seen · 98 lines · 43 tokens per session scan A 2048fd50931e
declarative-routing is a skill published in the GitHub repository smicolon/ai-kit (6 stars, last pushed yesterday), licensed MIT. It adds 43 tokens to every session and 552 once invoked, about $0.0002 per session on Opus 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-09-04.
Other skills, from other repositories
add-signal
Add Signal channel integration via signal-cli device-link. Native adapter — no Chat SDK bridge.
swiftui-dev
Use this skill for SwiftUI development, architecture, structure, performance, and Apple native app profiling. It combines.
designing-hardware-products
AI-automated hardware product pipeline: from requirements to manufacturable Gerber + compiled firmware + cross-platform app. Orchestrates system design, ESP-IDF firmware, KiCad PCB, UniApp client, and release packaging in a zero-human-touch flow.
developing-mobile-apps
Mobile development knowledge reference covering iOS (SwiftUI), Android (Jetpack Compose), React Native, and Flutter. Use when building mobile apps, working with cross-platform frameworks, or implementing native UI patterns.
aio-ios-device-debug
Debug iOS apps on physical devices from the terminal — deploy to iPhone or iPad with xcodebuild, capture syslog via idevicesyslog, pull crash reports from the device, analyze .ips crash files, and take device screenshots. Covers the full loop: build, install, launch, capture syslog, pull crash report, analyze .ips…
lumi-app-finder
Finds verified live Lumi Studio iPhone and iPad apps from a first-party catalog covering 46 apps and all 50 Apple locales. Use when a user asks which iOS or App Store app fits a task, especially for pay-once or one-time-unlock, privacy-conscious, learning, productivity, photo, travel, or wellness needs. Returns…