cli-a2a
Interact with the OmniRoute A2A server from the CLI. Send tasks, inspect skill execution history, and test the JSON-RPC 2.0…
Create and run evaluation suites, watch live benchmark progress, view scorecards, compare model performance, and integrate eval runs with CI workflows from the CLI.
Claude Code
$ npx -y skills add cheaper-inference/omniroute --skill cli-eval --agent claude-code
Codex
$ npx skills add cheaper-inference/omniroute --skill cli-eval -a codex -y
Cursor
$ npx skills add cheaper-inference/omniroute --skill cli-eval -a cursor -y
Gemini CLI
$ npx skills add cheaper-inference/omniroute --skill cli-eval -a gemini-cli -y
GitHub Copilot
$ npx skills add cheaper-inference/omniroute --skill cli-eval -a github-copilot -y
OpenCode
$ npx skills add cheaper-inference/omniroute --skill cli-eval -a opencode -y
Windsurf
$ npx skills add cheaper-inference/omniroute --skill cli-eval -a windsurf -y
name: cli-eval description: Create and run evaluation suites, watch live benchmark progress, view scorecards, compare model performance, and integrate eval runs with CI workflows from the CLI.
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
Create and run evaluation suites, watch live benchmark progress, view scorecards, compare model performance, and integrate eval runs with CI workflows from the CLI.
npm install -g omniroute # or: npx omniroute omniroute --version
**Example:**
omniroute eval
**Example:**
omniroute eval suites
**Example:**
omniroute eval list
**Example:**
omniroute eval get <suiteId>
**Flags:**
**Example:**
omniroute eval create
**Flags:**
**Example:**
omniroute eval run <suiteId>
**Flags:**
**Example:**
omniroute eval list
**Example:**
omniroute eval get <runId>
**Flags:**
**Example:**
omniroute eval results <runId>
**Flags:**
**Example:**
omniroute eval cancel <runId>
**Example:**
omniroute eval scorecard <runId>
**Flags:**
**Example:**
omniroute simulate [prompt]
<!-- skill:custom-start --> <!-- Migrated from skills/omniroute-cli-eval/SKILL.md (preserved curated content) -->
Requires the `omniroute` CLI. See [CLI entry-point skill](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/cli-serve/SKILL.md) for install + global flags.
Evals are automated test suites that score LLM outputs against expected answers or rubrics. OmniRoute stores suites and run results in its local database.
omniroute eval suites list # List all eval suites omniroute eval suites list --json # JSON output omniroute eval suites get <suiteId> # Full suite definition
omniroute eval suites create \
--name "code-quality" \
--rubric "exact-match" \
--samples-file ./samples.jsonl # JSONL: {input, expected_output}Rubric options: `exact-match`, `contains`, `llm-judge`, `regex`.
`--samples-file` format (one JSON object per line):
{"input": "What is 2+2?", "expected_output": "4"}
{"input": "Translate 'hello' to Spanish", "expected_output": "hola"}omniroute eval suites run <suiteId> \ --model claude-sonnet-4-6 # Run suite against a specific model omniroute eval suites run <suiteId> \ --model gpt-4o \ --watch # Live TUI progress (EvalWatch)
The run is asynchronous. Use `--watch` for a live terminal dashboard or poll manually:
RUN_ID=$(omniroute eval suites run <suiteId> --model claude-sonnet-4-6 --output json | jq -r '.id') omniroute eval get $RUN_ID
omniroute eval list # List all eval runs omniroute eval list --json omniroute eval get <runId> # Run details (status, model, score) omniroute eval results <runId> # Per-sample results omniroute eval scorecard <runId> # Full scorecard with pass/fail per sample omniroute eval cancel <runId> # Cancel a running eval
omniroute eval scorecard <runId> --output json
Response fields per sample:
{
"id": "sample-1",
"score": 0.95,
"passed": true,
"input": "What is 2+2?",
"output": "4",
"expected": "4"
}Run the same suite against multiple models and compare:
for MODEL in claude-sonnet-4-6 gpt-4o gemini-2.0-flash; do
omniroute eval suites run $SUITE_ID --model $MODEL --output json | jq '{model: .model, score: .score}'
done# Run and fail CI if score drops below threshold
SCORE=$(omniroute eval suites run $SUITE_ID --model claude-sonnet-4-6 --output json | jq -r '.score')
python3 -c "import sys; score=float('$SCORE'); sys.exit(0 if score >= 0.90 else 1)"<!-- skill:custom-end -->
Interact with the OmniRoute A2A server from the CLI. Send tasks, inspect skill execution history, and test the JSON-RPC 2.0…
Backup and restore OmniRoute data from the CLI. Trigger incremental snapshots, sync to cloud storage, manage backup schedules,…
Submit and monitor batch inference jobs from the CLI. Upload and manage files for batch processing, retrieve results, and…
Send chat completions, stream responses, and start an interactive REPL session from the CLI. Supports all OmniRoute providers,…
Configure and test prompt compression from the CLI. Manage RTK filters, Caveman rules, stacked compression modes, and preview…
Manage context engineering configurations, RTK filter sets, and conversation sessions from the CLI. Apply context-relay settings…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.