Skip to content
Development
Skill

/omni-compression

Configure RTK (command output), Caveman (prose), and stacked compression modes. Manage language packs, custom rules, and test prompt compression reducing tokens by 60–90%.

From plugin
omniroute
86k46 skills

Claude Code

$ npx -y skills add cheaper-inference/omniroute --skill omni-compression --agent claude-code

SKILL.md

omni-compression.SKILL.md
name: omni-compression
description: Configure RTK (command output), Caveman (prose), and stacked compression modes. Manage language packs, custom rules, and test prompt compression reducing tokens by 60–90%.

<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->

Overview

Configure RTK (command output), Caveman (prose), and stacked compression modes. Manage language packs, custom rules, and test prompt compression reducing tokens by 60–90%.

Authentication

All requests require a valid Bearer token or session cookie. Obtain a token via `POST /api/auth/login` or configure `REQUIRE_API_KEY=false` for local development.

Endpoints

POST /api/compression/preview

Preview compression for a message payload

curl -X POST http://localhost:20128/api/compression/preview \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

GET /api/compression/language-packs

List Caveman compression language packs

curl http://localhost:20128/api/compression/language-packs \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"

GET /api/compression/rules

List Caveman compression rule metadata

curl http://localhost:20128/api/compression/rules \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"

POST /api/compression/compare

POST compression › compare

curl -X POST http://localhost:20128/api/compression/compare \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

POST /api/compression/compare/verify

POST compression › compare › verify

curl -X POST http://localhost:20128/api/compression/compare/verify \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

GET /api/compression/engines

GET compression › engines

curl http://localhost:20128/api/compression/engines \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN"

POST /api/compression/retrieve

POST compression › retrieve

curl -X POST http://localhost:20128/api/compression/retrieve \
  -H "Authorization: Bearer $OMNIROUTE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Payloads

See the full OpenAPI specification at `GET /api/openapi/spec` or `docs/openapi.yaml` for detailed request/response schemas.

<!-- skill:custom-start --> <!-- Migrated from skills/omniroute-compression/SKILL.md (preserved curated content) -->

OmniRoute — Compression

Requires `OMNIROUTE_URL` and `OMNIROUTE_KEY`. See [entry-point SKILL](https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/omni-auth/SKILL.md) for setup.

Overview

OmniRoute compresses token payloads before forwarding to providers. No code changes required — set it once, it applies to all requests transparently.

| Engine | Best for | Typical savings | | ------------------------- | ------------------------------------ | --------------- | | RTK | Terminal / build / test / git output | 60–90% | | Caveman | Human prose, chat history | 46% input | | Stacked (`rtk → caveman`) | Mixed coding sessions | 78–95% | | MCP accessibility filter | Browser/accessibility tool results | 60–80% |

Get current settings

curl $OMNIROUTE_URL/api/settings/compression \
  -H "Authorization: Bearer $OMNIROUTE_KEY"

Enable RTK (best for coding agents)

curl -X PUT $OMNIROUTE_URL/api/settings/compression \
  -H "Authorization: Bearer $OMNIROUTE_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "mode": "rtk", "enabled": true }'

Enable stacked mode (maximum savings)

curl -X PUT $OMNIROUTE_URL/api/settings/compression \
  -H "Authorization: Bearer $OMNIROUTE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "stacked",
    "enabled": true,
    "stackedPipeline": ["rtk", "caveman"]
  }'

Enable Caveman (prose / chat)

curl -X PUT $OMNIROUTE_URL/api/settings/compression \
  -H "Authorization: Bearer $OMNIROUTE_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "mode": "standard", "enabled": true }'

Caveman intensities: `lite` (safe), `standard` (balanced), `aggressive` (long sessions), `ultra` (context recovery).

Preview compression before enabling

curl -X POST $OMNIROUTE_URL/api/compression/preview \
  -H "Authorization: Bearer $OMNIROUTE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "rtk",
    "text": "$ npm test\n> jest\n\nPASS src/a.test.ts (2.1s)\nPASS src/b.test.ts (1.8s)\n..."
  }'

Response includes `compressed`, `original_length`, `compressed_length`, `savings_pct`.

MCP accessibility-tree filter (browser agent use)

When OmniRoute is used with browser/Playwright MCP tools, it automatically compresses verbose accessibility-tree tool results. Enabled by default; configure thresholds:

curl -X PUT $OMNIROUTE_URL/api/settings/compression \
  -H "Authorization: Bearer $OMNIROUTE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mcpAccessibility": {
      "enabled": true,
      "collapseThreshold": 30,
      "maxTextChars": 50000
    }
  }'

`collapseThreshold`: collapse sibling lines when ≥ N repeats (default 30). `maxTextChars`: hard truncate after N chars with navigation hint (default 50000).

Language packs (Caveman)

Caveman supports language-aware rules for pt-BR, es, de, fr, ja:

curl -X PUT $OMNIROUTE_URL/api/settings/compression \
  -H "Authorization: Bearer $OMNIROUTE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "standard",
    "cavemanConfig": {
      "language": "pt-BR",
      "autoDetectLanguage": true
    }
  }'

Via MCP

omniroute_compression_status     → current settings + savings analytics
omniroute_compression_configure  → update mode/threshold/language
omniroute_set_co
Read more
@diegosouzapw
Ships withomniroute

Created by Diego Souza

Stars on GitHub

Momentum

stars in total
86.1k
Star history of diegosouzapw/OmniRoute on GitHub, a chart by star-history.com

Other skills on omniroute.

cli-a2a

cli-a2a

Interact with the OmniRoute A2A server from the CLI. Send tasks, inspect skill execution history, and test the JSON-RPC 2.0…

cli-backup-sync

cli-backup-sync

Backup and restore OmniRoute data from the CLI. Trigger incremental snapshots, sync to cloud storage, manage backup schedules,…

cli-batches

cli-batches

Submit and monitor batch inference jobs from the CLI. Upload and manage files for batch processing, retrieve results, and…

cli-chat

cli-chat

Send chat completions, stream responses, and start an interactive REPL session from the CLI. Supports all OmniRoute providers,…

cli-compression

cli-compression

Configure and test prompt compression from the CLI. Manage RTK filters, Caveman rules, stacked compression modes, and preview…

cli-contexts

cli-contexts

Manage context engineering configurations, RTK filter sets, and conversation sessions from the CLI. Apply context-relay settings…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about omni-compression.

Which coding agents can use omni-compression?
omni-compression installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.