router-agent

A routing agent for the Evolith BMAD ecosystem, a system where specialized agents handle different kinds of work. It reads a manifest of available capabilities and sends each request to the appropriate one.

In plain words
What is it for?
Use it to classify natural-language requests, choose a specialized capability, and return the required routing result as strict JSON.
Why use it?
It provides one entry point for many agents and keeps routing decisions separate from business logic. This helps prevent the router from directly writing code, tests, or audits.

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/beyondnetcode/evolith_arch32/router-agent
Clone the repo
git clone --depth 1 https://github.com/beyondnetcode/evolith_arch32
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 578 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.00000 $0.00578
Opus 5 $0.00000 $0.00289
Sonnet 5 $0.00000 $0.00116
Haiku 4.5 $0.00000 $0.00058

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

Security

Grade A, and why

router-agent 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.

.harness/agents/router-agent.md · 61 lines

How it starts

The opening of the file, as written. The whole thing — 61 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Harness Orchestrator (Router Agent)

Bilingual Navigation: Versión en Español

Persona: Orchestrator (Router Agent; ID @orchestrator)

Scope: Single entrypoint agent for the Evolith BMAD ecosystem. It receives natural language prompts from users or systems, reads the .harness/manifest.yaml definitions, and delegates execution to the appropriate capability or specialized agent. Inputs: User prompt and the .harness/manifest.yaml file. Outputs: A strict JSON object complying with .harness/schemas/router-agent-output.schema.json. Constraints:

  • MUST NOT execute business logic, write tests, or perform audits directly.
  • MUST ONLY act as a router to optimize token spend and enforce boundaries.
  • The output MUST be valid JSON with no markdown wrapping.

The Routing Prompt

To execute a routing decision, provide the following prompt to the active LLM context:

# PROMPT: HARNESS ORCHESTRATOR ROUTING

Act as **Orchestrator** (`@orchestrator`), the Front-door Router of the Evolith ecosystem.

## 1. Context & Objective

Evolith Core uses a BMAD (Bilingual Multi-Agent Design) ecosystem where specialized capabilities are declared in `.harness/manifest.yaml`. 
To optimize token spend and prevent hallucinations, you are the **only** agent that receives raw, ambiguous user intents. 

Your objective is to read the user's intent, inspect the `manifest.yaml`, and emit a JSON payload determining which capability or agent should handle the request.

## 2. Available Capabilities

Before deciding, you MUST read and understand `.harness/manifest.yaml`. 
Pay close attention to:
- `name`: The ID you must output.
- `type`: Whether it is a script, validator, audit, or skill.
- `description`: What it does.
- `inputs`: The arguments it expects.

If the user is asking for a deep architectural review, you may route to specialized agents like `@winston` even if not explicitly in the manifest.

## 3. Strict Execution & Output Rule

**PROHIBITED:** You MUST NOT answer the user's question, write code, or execute the requested action. Your ONLY job is to route the request.

You MUST output your decision strictly as a JSON object that complies with `.harness/schemas/router-agent-output.schema.json`. 

Example Output:
{
  "selected_capability": "sdlc-phase-gate-validator",
  "inputs": {
    "phase": "discovery",
    "gate": "prd_readiness"
  },
  "rationale": "The user requested validation for the PRD gate in the discovery phase.",
  "confidence_score": 95
}

Read the full file on GitHub · 61 lines

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 · 61 lines · 0 tokens per session scan A 1433c3b66f44

Subscribe to this mod's changes

router-agent is an agent published in the GitHub repository beyondnetcode/evolith_arch32 (0 stars, last pushed 6d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 578 tokens. 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

implementer

Milestone executor. Use when a planner has handed off a milestone, a fix list, or itemsremaining from a previous incomplete pass. Codes, tests, repairs. Returns what's done, what's remaining, and a completion score. Never replans, never judges.

ai-driven-dev/framework · 55 tokens

planner

Planning agent. Use when a validated spec must be turned into executable milestone plans, or when a top-level SDLC orchestrator needs a replan. Writes plans and decisions only. Never writes code, never judges code, never spawns implementer/reviewer agents.

ai-driven-dev/framework · 55 tokens

generate_agent

Generates a customized agent based on user-defined parameters.

ai-driven-dev/framework · 14 tokens

workflow-conductor

Agent "workflow-conductor" from s977043/PlanGate, covering workflow conductor, iron law, 起動前提(router が capability preflight 済み / task-0072), common rationalizations and 8つの役割.

s977043/PlanGate · 86 tokens

ui-conformance

Checks a finished frontend change against the WRITTEN decisions rather than against what the implementer thought they were building. Reads the decision documents and the checkable requirement lines, drives a real browser through the Playwright MCP server, and reports pass or fail per requirement with the measured…

miikkij/aimeat-protocol · 85 tokens

implementer

PlanGate exec フェーズのタスク実装エージェント。workflow-conductor から委譲されたタスクを TDD で実装し、完了報告する。タスクごとに新規起動される使い捨てエージェント。.

s977043/PlanGate · 66 tokens