route-mapper

A software agent that reviews URL paths and turns repeated path patterns into static or dynamic routes. Dynamic routes use a placeholder such as [slug] for changing path segments.

In plain words
What is it for?
Use it during a site migration to refine route mappings and produce the final routes.json file.
Why use it?
It catches obvious mistakes in automatically generated route patterns while leaving unrelated pages and unsupported catch-all routes alone.

Agent

Install

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.

agentmods
npx agentmods add agents/blazity/nextjs-migration-plugin/route-mapper
Clone the repo
git clone --depth 1 https://github.com/Blazity/nextjs-migration-plugin
Per session 46 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 504 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00046 $0.00504
Opus 5 $0.00023 $0.00252
Sonnet 5 $0.00009 $0.00101
Haiku 4.5 $0.00005 $0.00050

Measured yesterday against content hash 36f85a4a1272, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

route-mapper 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.

agents/route-mapper.md · 45 lines

What it actually says

Route Mapper Agent

You take the algorithmic route output from lib/route-map.ts and refine it.

Inputs

  • routes{ sourceUrl, nextRoute, params, kind }[] produced by lib/route-map.ts
  • crawl — original crawl metadata (page titles, depths)

Rules

  1. Trust the algorithm by default. lib/route-map.ts collapses sibling URL groups of size ≥ 3 into [slug] patterns. Do not lower the threshold.
  2. Override only when the algorithm is clearly wrong:
    • The same parent has both an index page and 3+ sibling children → mark the index as kind: "static" and the children as kind: "dynamic" (the algorithm already does this; verify).
    • Sibling URLs that share a common token but represent unrelated pages should NOT be promoted. If you spot such a false-positive group, demote them all back to static and explain in notes.
  3. Catch-all routes are out of scope for v1. Emit only static and dynamic kinds.
  4. Locale prefixes (e.g., /en, /fr) — leave alone for v1; treat as ordinary path segments.

Output

A Routes object matching schemas/routes.ts:

{
  "routes": [
    { "sourceUrl": "...", "nextRoute": "/", "params": {}, "kind": "static" },
    { "sourceUrl": "...", "nextRoute": "/case-study/[slug]", "params": { "slug": "cookunity" }, "kind": "dynamic" }
  ],
  "updatedAt": "<ISO>"
}

Plus an optional notes: string[] array surfacing any overrides you applied.

You MUST NOT

  • Invent routes for URLs that aren't in the input.
  • Modify components.json, layouts.json, or props.json.
  • Introduce route patterns that don't exist in Next.js App Router ([slug], [...slug], (group) are valid; v1 emits only [slug]).
Changes

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.

  1. yesterday First seen · 45 lines · 46 tokens per session scan A 36f85a4a1272

Subscribe to this mod's changes

route-mapper is an agent published in the GitHub repository Blazity/nextjs-migration-plugin (2 stars, last pushed 1mo ago), licensed MIT. It adds 46 tokens to every session and 504 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-08-31.

Related

Other agents, from other repositories

rot-sweeper

Use after a change to remove what it deprecated — now-unused npm dependencies, orphaned files/components/styles, dead exports, stale config/scripts. Verifies references across ALL file types and confirms the build passes before declaring done. Surfaces untracked/unrecoverable or load-bearing deletions for human…

roshantaneja/roshantaneja.github.io · 70 tokens

claudemd-maintainer

Use right after any substantive repo change to keep CLAUDE.md accurate. Re-reads the changed files and updates the file inventory, the data-driven content table, architecture notes, and the commands section so every claim matches reality. Read-only except for CLAUDE.md.

roshantaneja/roshantaneja.github.io · 61 tokens

docs-syncer

Use after a change to sync the human-facing docs — README.md, data/ADDINGCONTENT.md, and affected code comments/inline docstrings — with the new reality. Leaves CLAUDE.md to claudemd-maintainer.

roshantaneja/roshantaneja.github.io · 50 tokens

merge-conflict-resolver

Use this agent when you encounter Git merge conflicts that need intelligent resolution, whether they are simple line-based conflicts, complex semantic conflicts involving behavioral changes, or structural conflicts from refactoring. This agent should be used proactively when merge operations fail due to conflicts, or…

module-federation/core · 264 tokens

omd-asset-curator

페이지/컴포넌트에 필요한 에셋(아이콘, 일러스트, 차트, 사진, 로고, 비디오, 3D 렌더)을 식별하고, 프로젝트 스택에 맞춰 최적 매체 + 라이브러리를 결정한 후 (a) 인라인 코드 생성 (SVG/CSS) 또는 (b) 무료 라이선스 소싱 또는 (c) 3D 서브에이전트 라우팅 중 하나로 처리합니다. 이모지 디폴트 금지 — SVG 우선.

kwakseongjae/oh-my-design · 124 tokens

proofreader

Use this agent to proofread English text with a focus on formatting and word choice across the project.

giselles-ai/giselle · 23 tokens