business-ops
Business operations: strategy, technology, growth, competitive intelligence, support, finance, HR, legal, operations, sales, productivity, product management.
Jev-powered request router: classifies via TypeSafe's Jev API, then dispatches to the matched agent, skill, and pipeline.
$ npx -y skills add notque/vexjoy-agent --skill d --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/dContext preview
The summary Claude sees to decide when to auto-load this skill.
Jev-powered request router: classifies via TypeSafe's Jev API, then dispatches to the matched agent, skill, and pipeline.
name: d
version: "1.0.0"
description: "Jev-powered request router: classifies via TypeSafe's Jev API, then dispatches to the matched agent, skill, and pipeline."
user-invocable: true
argument-hint: "[request]"
allowed-tools:
- Read
- Bash
- Grep
- Glob
- Skill
- Task
routing:
triggers:
- "jev router"
- "route with jev"
- "use the d router"
not_for: "General-purpose task execution — /d classifies and dispatches, it does not perform the work itself."
category: meta-toolingClassifies requests via TypeSafe's Jev API and dispatches to the matched agent, skill, and pipeline. One API call replaces reading the full routing manifest into context.
The classification path has three layers: a deterministic `pre-route.py` force-route guard (offline, runs first, authoritative for git/security), a TypeSafe presence check, and a two-stage Jev classification — a cheap wide-rank stage 1 over all manifest candidates plus a trivial-bypass gate, then a full-detail shortlist-rerank stage 2 with per-candidate fit checks and stack/fan-out signals.
Design rationale: `${CLAUDE_SKILL_DIR}/references/jev-classifier-design.md`.
Every phase: `/d > Phase N: PHASE_NAME — description...` After Phase 1 resolves: `===` routing banner. Both required.
---
`scripts/jev-route.py` owns the entire classification in one subprocess call.
When `JEV_RESULT` is already in context (the `jev-route-injector` hook ran the script before your first token), use it and skip the command below.
REQUEST_FILE=$(mktemp); printf '%s' "{user_request}" > "$REQUEST_FILE"
python3 "$SDIR/jev-route.py" --request-file "$REQUEST_FILE" --json-compact
rm -f "$REQUEST_FILE"Resolve `$SDIR`: `${HOME}/.claude/scripts`, falling back through `.hermes`/`.factory`/`.codex`/`.reasonix`, or the repo's `scripts/` directory.
Hold the result as `JEV_RESULT`. Shape (stable — see design reference for full schema):
`available`, `jev_called`, `matched`, `fallback`, `fallback_reason`, `agent`, `skill`, `pipeline`, `complexity`, `confidence`, `match_type`, `reasoning`, `stack`, `signals`, `signal_scores`, `source`, `latency_ms`, `usage`, `agents`, `gate_score`, `fits_scores`, `stage1_shortlist`.
`latency_ms` and `usage` are itemized dicts (`{"stage1_ms","stage2_ms","total_ms"}` and `{"stage1","stage2"}`). Read `.total_ms` for a single latency figure.
**Gate**: `source == "jev-trivial-bypass"` → Phase 1T. `fallback == true` → Phase 1F (stop). Otherwise → Phase 2.
---
Stage 1's gate fired: `gate_score` below threshold, no agent/skill/pipeline needed. Terminal state (`matched: true`, `fallback: false`). Show the routing banner with `Classification: Trivial` and `Source: jev-trivial-bypass`, then handle the request directly — answer the question, do the one-line action. Do not run Phase 3 or Phase 4; do not call `build-dispatch.py`. Stop here.
---
Jev could not classify this request. `JEV_RESULT.source` explains why:
plugin disabled).
Show:
=================================================================== /d: Jev unavailable — [JEV_RESULT.fallback_reason] Use /do for manifest-based routing. ===================================================================
Stop here. Do not attempt the request.
---
`JEV_RESULT.source` is either `pre-route-force` (deterministic guard matched, Jev not called) or `jev` (Jev classification, manifest-validated).
Apply directly:
validated against the live manifest membership sets inside the script.
`pre-route-force`), default to `medium`, except a single one-line trivial fix → `simple`.
**Routing banner** (first visible output):
=================================================================== ROUTING (/d): [brief summary] =================================================================== Selected: -> Agent: [JEV_RESULT.agent] - [JEV_RESULT.reasoning] -> Skill: [JEV_RESULT.skill] - [JEV_RESULT.reasoning] -> Pipeline: [JEV_RESULT.pipeline, if set] -> Source: [JEV_RESULT.source] (confidence: [JEV_RESULT.confidence]) Invoking... ===================================================================
Always include `Source:` — it distinguishes a Jev decision from a force-route match.
**Gate**: Agent+skill set, banner shown. Phase 3.
---
`JEV_RESULT.signals` (booleans at 0.6 confidence threshold, computed by the script) map to stack entries:
| Signal true | Stack | |---|---| | `tests_requested` | `testing` | | `research_needed` | add `research-coordinator-engineer` to agents (fan-out) | | `comprehensive_review` | `review` (drop if a real multi-file diff exists — `right-size-review.py` outranks it) | | `local_only` | inject `shared-patterns/local-only.md` | | `objective_loop_worthy` | `process` |
`anti-rationalization-core` always rides. When `source` is `pre-route-force` and `JEV_RESULT.stack` is non-empty (e.g. `programming`), keep it.
**Fan-out agents**: union `JEV_RESULT.agents` (script-computed fan-out picks, each passed its per-candidate fit check) into the `research_needed` agent list, deduped. Dispatch fan-out agents as separate parallel `Agent` tool calls alongside the primary `build-dispatch.py` dispatch.
**Gate**: Stack applied. Phase 4.
---
Build the task spec (request_verbatim unchanged; intent, constraints, files, ownership, acceptance filled
Essays and writing behind this toolkit live at vexjoy.com. VexJoy Agent connects plain-English requests to specialist agents, skills, and workflows. /do selects the knowledge and tools needed for your task.
Repo: notque/vexjoy-agent
Business operations: strategy, technology, growth, competitive intelligence, support, finance, HR, legal, operations, sales, productivity, product management.
Design workflows — UX copy, design systems, design critique, accessibility review, design handoff, user research synthesis. Use when writing UI copy, reviewing…
Marketing: SEO audits, campaign planning, content strategy, email sequences, competitive analysis, brand review, performance reporting.