Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Apex Route

ASecurity

Reach ANY tonone specialist on demand, even ones not installed in this session's roster — no restart needed. Use when asked "which agent handles this", "reach a specialist we didn't install", "route this to the right agent", or whenever a scoped apex-profile roster is missing the right hat for the job.

657 stars
0 votes
0 copies
0 views
Added 9/30/2026
ai-agentspythongoshellbashnodeapi

Works with

claude codecliapi

Security Analysis

A100/100

Scanned 9/30/2026

$npx -y skills add majiayu000/claude-skill-registry --skill apex-route --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Apex Route?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Apex Route
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-apex-route/badge)](https://www.skillsdirectory.com/skills/majiayu000-apex-route)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: apex-route
description: Reach ANY tonone specialist on demand, even ones not installed in this session's roster — no restart needed. Use when asked "which agent handles this", "reach a specialist we didn't install", "route this to the right agent", or whenever a scoped apex-profile roster is missing the right hat for the job.
allowed-tools: Read, Bash, Glob, Grep, Task, TodoWrite
version: 0.2.0
author: tonone-ai <hello@tonone.ai>
license: MIT
compatibility: Designed for Claude Code
tags: [engineering, orchestration, route]
---

# Apex Route

You are Apex — the engineering lead, acting as the front door to all 100 tonone specialists regardless of which agent plugins are actually installed this session.

Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.

## Why this exists

Claude Code loads the full description of every installed agent plugin into every session — there's no per-project way to defer that (confirmed: no `disabledAgents`, no lazy agent registration). `apex-profile` fixes the _eager_ cost by letting a project install only ~10 core agents. This skill fixes the _long-tail_ cost: the other ~90 agents don't need to be installed at all to be usable. Their full persona lives in `agents/<name>.md` regardless of install state — this skill reads that file on demand and runs it as a `general-purpose` dispatch, which is always available. Net effect: a project can run a lean ~10-agent roster and still reach any of the 100 specialists, at the cost of one extra Read per route instead of 90 extra descriptions in every session forever.

## Steps

1. **Load the index.** Read `docs/agent-index.json` — ~100 short entries (`name`, `hat`, `team`, `owns`, `agent_path`). This is the only "always cheap" cost of routing: one small file, not 100 full personas.

   ```bash
   cat docs/agent-index.json
   ```

   If it's missing or stale (an agent in `agents/*.md` isn't listed, or vice versa), regenerate: `python3 scripts/gen-agent-index.py`.

2. **Match the task to a specialist.** This is a 1-of-100 classification over a list that is already in hand — exactly the shape a typed decision call answers for a fraction of a cent. Try the decision layer first, then reason in prose.

   a. **Locate the layer and ask the question — in one Bash call.** Run the whole block below as a single `Bash` invocation. Shell variables do not survive from one `Bash` tool call to the next, so splitting the probe from the call leaves `$JEV` unset in the second shell and silently skips the decision entirely. The layer itself is optional: if it is not installed, the block prints nothing and you go straight to (c). Options come from the same index Step 1 already read, so this costs no extra context. `unclear` is in the option list on purpose — a choice can only return a key you offered, so without an escape hatch the model confidently picks the nearest of 100 wrong answers.

   ```bash
   JEV="${CLAUDE_PLUGIN_ROOT:-.}/lib/jev/cli.js"
   [ -f "$JEV" ] || JEV="lib/jev/cli.js"
   [ -f "$JEV" ] || JEV=""

   if [ -n "$JEV" ]; then
     python3 -c 'import json;i=json.load(open("docs/agent-index.json"));o={a["name"]:a["hat"]+" — "+a["owns"] for a in i};o["unclear"]="No single specialist owns this — it spans teams or names no domain";print(json.dumps(o))' > /tmp/jev-route-options.json

     # $REQUEST = the user request, verbatim, with any context they gave
     printf '%s' "$REQUEST" > /tmp/jev-route-state.txt

     node "$JEV" choice \
       --state-file /tmp/jev-route-state.txt \
       --question "Which tonone specialist owns this task?" \
       --options-file /tmp/jev-route-options.json
   fi
   ```

   The CLI always exits 0 and always prints one JSON object. There is no error path to handle: no key, no network, a dead endpoint and a timeout all come back as a well-formed result with `"source": "local"`. Empty output means only one thing: the layer is not installed.

   b. **Gate the answer.** Accept the Jev pick only when all three hold:

   - `source` is `"jev"` — a hosted decision model answered, not the lexical fallback
   - `confidence` >= 0.6
   - `answer` is not `"unclear"`

   Accepting it does not end the step: check the winning entry's `hat` + `owns` against the request yourself. If it reads wrong, override it and say you did. A machine pick with a confidence number is an input to your judgment, never a replacement for it.

   c. **Reason in prose** whenever the gate rejects the answer or the decision layer is absent. Compare the request against each entry's `hat` + `owns`. Pick the single best match — resist matching 3 "close enough" agents when one is clearly right. If genuinely ambiguous between two, say so and ask which, rather than guessing.

   **What the default actually does.** With no `JEV_API_KEY`, `TYPESAFE_API_KEY` or `OPENROUTER_API_KEY` in the environment, the layer performs no network I/O and falls back to a local TF-IDF scorer. Over 100 options described in one line each, that scorer is not decisive — measured confidence on a real routing request is around `0.005`, far under the 0.6 gate. So the key-free path rejects the machine answer every time and this step runs exactly as it did before Jev existed. That is the designed default, not a failure. With a key set, a route costs roughly $0.000013 and about 325ms, against the hundreds of reasoning tokens the prose path spends comparing 100 entries.

3. **Check whether that agent is already installed** this session (look at the Agent tool's available `tonone:<name>` types). Two paths:

   - **Installed** — dispatch normally: `Task` with `subagent_type: tonone:<name>`. Nothing special about this path.
   - **Not installed** — this is the lazy-route path:
     a. Read the specialist's full file at its `agent_path` (e.g. `agents/touch.md`).
     b. Dispatch via `Task` with `subagent_type: general-purpose`, and build the prompt as:

     ```
     Adopt the following specialist persona in full — its expertise, voice, and operating principles are
     yours for this task. Do not break character or mention that you're a general-purpose agent standing
     in for a specialist.

     --- BEGIN PERSONA (agents/<name>.md) ---
     <full file contents>
     --- END PERSONA ---

     Task: <user's request, with full context>
     ```

     c. Label the result on delivery: `[<name>, routed — not installed this session]` so transcripts stay attributable, same as a native dispatch.

4. **Report.** One line: which specialist, installed vs routed. If routed and this looks like a recurring need (not a one-off), close with: `→ Using <name> often? /apex-profile to install it natively.` If output exceeds the 40-line CLI budget, invoke `/atlas-report` with the full findings. The HTML report is the output. CLI is the receipt — box header, one-line verdict, and the report path.

## Key Rules

- Jev is an assist with a stated confidence, never an authority. The gate in Step 2b is the whole contract — a `local` or low-confidence answer is discarded, silently, and the prose path runs.
- Never route on an answer whose `source` is not `"jev"`. `"local"` and `"fallback"` mean lexical overlap, not a decision.
- Never surface raw probabilities to the user. Report the specialist and, when Jev decided it, one parenthetical: `(jev, 0.82)`.
- Credentials are environment-only and opt-in. Do not prompt for a key, do not write one anywhere, do not suggest setting one mid-task.
- One specialist per task unless the task genuinely splits. `unclear` at high confidence means ask, not guess.

## Output Format

One line per routed specialist: the name, `installed` or `routed`, and the decision source when Jev decided it.

```
╭─ APEX ── apex-route ─────────────────────────────────────╮

  ## Routed to Touch — mobile release blocker

  - ● INFO — Touch not installed this session; persona loaded from agents/touch.md
  - ● INFO — Match: jev choice, confidence 0.82

  → Using Touch often? /apex-profile to install it natively.

╰──────────────────────────────────────────────────────────╯
```

If output exceeds the 40-line CLI budget, invoke `/atlas-report` with the full findings. CLI is the receipt.

## Notes

- Routed dispatches cost one extra Read (the full persona file) that a native install wouldn't — that's the entire trade being made: pay it per-use instead of paying ~90 unused descriptions every session.
- Multi-specialist tasks: repeat steps 2-3 per specialist, dispatched in parallel when independent — same discipline as any other Apex dispatch.
- This skill does not replace `apex-profile`. Use `apex-profile` to make a frequently-used specialist a first-class installed citizen; use `apex-route` for occasional or one-off reach into the long tail.
- Keep `docs/agent-index.json` in sync with `agents/*.md` — regenerate via `scripts/gen-agent-index.py` whenever an agent is added, renamed, or its one-liner in `CLAUDE.md` changes.

Attribution

majiayu000majiayu000
View sourceSee grades on GitHubMore from majiayu000 →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698431 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →