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 fatihkan/badi --skill expo-routergit clone --depth 1 https://github.com/fatihkan/badiWrote 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/fatihkan/badi/expo-router)<a href="https://agentmods.dev/skills/fatihkan/badi/expo-router"><img src="https://agentmods.dev/badge/skills/fatihkan/badi/expo-router/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/fatihkan/badi/expo-router"><img src="https://agentmods.dev/badge/skills/fatihkan/badi/expo-router.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium MCP Rug Pull · line 31 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
- medium MCP Rug Pull · line 158 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
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.00080 | $0.01400 |
| Opus 5.5 | $0.00032 | $0.00560 |
| Sonnet 5.5 | $0.00016 | $0.00280 |
| Haiku 4.5 | $0.00008 | $0.00140 |
Grade A, and why
expo-router 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 — 193 lines — stays where its author put it; the contents beside it link to each section on GitHub.
expo-router
File-based routing discipline for Expo Router (v3+). Guides the app/ directory structure, dynamic routes, layout chains, deep linking, and navigation patterns. Stays out of build/release or native config.
What It Does
app/directory structure recommendation (tabs, stack, drawer, modal)- Configures dynamic and catch-all route patterns
_layout.tsxchains and nested-layout discipline- Deep linking (
expo-linking) + scheme + universal links configuration - Prefetch, redirects, error boundaries, not-found handling
- Typed routes and
useLocalSearchParamstype discipline
Basic Setup
npx expo install expo-router react-native-safe-area-context react-native-screens \
expo-linking expo-constants expo-status-bar
package.json:
{ "main": "expo-router/entry" }
app.json:
{
"expo": {
"scheme": "myapp",
"plugins": ["expo-router"],
"experiments": { "typedRoutes": true }
}
}
Directory Structure (recommended)
app/
_layout.tsx # Root layout (providers, theme, fonts)
index.tsx # / route
+not-found.tsx # 404
(auth)/ # group — not reflected in the URL
_layout.tsx
login.tsx
register.tsx
(tabs)/ # tab navigator
_layout.tsx # Tabs definition
index.tsx # /
profile.tsx # /profile
settings.tsx
posts/
index.tsx # /posts
[id].tsx # /posts/:id (dynamic)
[...slug].tsx # /posts/* (catch-all)
modal.tsx # presentation: modal
Layout Examples
Root Layout
// app/_layout.tsx
import { Stack } from "expo-router";
import { SafeAreaProvider } from "react-native-safe-area-context";
export default function RootLayout() {
return (
<SafeAreaProvider>
<Stack screenOptions={{ headerShown: false }}>
<Stack.Screen name="(tabs)" />
<Stack.Screen name="modal" options={{ presentation: "modal" }} />
<Stack.Screen name="+not-found" />
</Stack>
</SafeAreaProvider>
);
}
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 · 193 lines · 80 tokens per session scan A 07a3fffefb3e
expo-router is a skill published in the GitHub repository fatihkan/badi (7 stars, last pushed 20d ago), licensed MIT. It adds 80 tokens to every session and 1,400 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-09-06.
Other skills, from other repositories
web-artifacts-builder
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
react
Use when building or reviewing a client-side React SPA bundled by Vite (React 19.2): components, where state lives, hooks, server data fetching, client routing, re-render and effect bugs. NOT App Router / server components / SSR (that is nextjs); NOT native screens (that is react-native).
capacitor-react
Guides the agent through Capacitor app development with React — project structure, hooks for native features, state management patterns, using Capacitor plugins in React components, and React-specific best practices. Do not use for Ionic Framework with React (use ionic-react), migrating or upgrading Capacitor apps or…
rn-best-practices
This skill should be used when writing or reviewing React Native / Expo code — before writing list rendering, animations, data fetching, component APIs, navigation, or image/media UI — and when asked to "review best practices", "check performance", "optimize renders", "review list rendering", "check animation…
state-management
State Management - React Query, Zustand, MMKV. Use when managing application state.
audit-agents-skills
Audit Claude Code agents, skills, and commands for quality and production readiness. Use when evaluating skill quality, checking production readiness scores, or comparing agents against best-practice templates.