skills/omni-compression/SKILL.md
Configure RTK (command output), Caveman (prose), and stacked compression modes. Manage language packs, custom rules, and test prompt compression reducing tokens by 60–90%.
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.
Preview compression for a message payload
curl -X POST https://localhost:20128/api/compression/preview \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'
List Caveman compression language packs
curl https://localhost:20128/api/compression/language-packs \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
List Caveman compression rule metadata
curl https://localhost:20128/api/compression/rules \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
See the full OpenAPI specification at GET /api/openapi/spec or docs/openapi.yaml for detailed request/response schemas.
Requires OMNIROUTE_URL and OMNIROUTE_KEY. See entry-point SKILL for setup.
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% |
curl $OMNIROUTE_URL/api/settings/compression \
-H "Authorization: Bearer $OMNIROUTE_KEY"
curl -X PUT $OMNIROUTE_URL/api/settings/compression \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{ "mode": "rtk", "enabled": true }'
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"]
}'
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).
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.
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).
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
}
}'
omniroute_compression_status → current settings + savings analytics
omniroute_compression_configure → update mode/threshold/language
omniroute_set_compression_engine → switch engine at runtime
curl -X PUT $OMNIROUTE_URL/api/settings/compression \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-d '{ "enabled": false }'
400 invalid mode → use off, lite, standard, aggressive, ultra, rtk, or stacked400 invalid stackedPipeline → array must contain valid engine ids (rtk, caveman)