{
  "markdown": "<div align=\"center\">\n\n![paleo logo](assets/logo.jpg)\n\n[![Version](https://img.shields.io/badge/version-2.5.0-blue)](https://github.com/mocasus/paleo/releases) · [![Benchmark](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/mocasus/paleo/main/bench/badge.json)](https://github.com/mocasus/paleo/blob/main/BENCHMARK.md) · [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE) · [![Python](https://img.shields.io/badge/python-3.9%2B-blue)](https://www.python.org) · [![Status](https://img.shields.io/badge/status-active-brightgreen)](https://github.com/mocasus/paleo) · [![Benchmarks](https://img.shields.io/badge/benchmarks-reproducible-orange)](BENCHMARK.md) · [![Agents](https://img.shields.io/badge/agents-40%2B-lightgrey)](https://agentskills.io)\n\n# 🦴 paleo\n\n> Token-saving skills for LLM agents — cut output & context tokens without choking the model.\n\n[Why](#why-paleo) · [See it](#see-it-before--after) · [Features](#features) · [Skills](#skills) · [Combos](#recommended-combos) · [Quick Start](#quick-start) · [Benchmarks](#benchmarks) · [Comparison](#comparison) · [Tips](#tips--triggers) · [Install](#installation)\n\n</div>\n\n## Why paleo?\n\n- **Tokens cost money and latency.** Every trimmed token means faster, cheaper inference.\n- **One-size-fits-all prompting fails.** Sometimes you want terse output, sometimes a hard budget, sometimes just no fluff. paleo gives each as a separate, well-scoped skill.\n- **Skills stay minimal.** Every `SKILL.md` is written terse on purpose — loading one costs less context than a long prompt.\n\n## See it (Before / After)\n\npaleo compresses *delivery*, not meaning. Code, commands, and technical terms stay byte-exact.\n\n| Normal agent | 🦴 paleo |\n|---|---|\n| \"The re-render happens because you create a new object literal on every render. That inline object is a fresh reference each time, so React sees a changed prop and re-renders. Wrap it in `useMemo` to keep a stable reference.\" | \"New object each render → new ref → re-render. Wrap in `useMemo`. Stable ref = no re-render.\" |\n| \"To authenticate requests, add middleware that checks the token on each request and returns 401 if it is missing or expired.\" | \"Add auth middleware. Check token per request. 401 if missing/expired.\" |\n\n> [!NOTE]\n> paleo keeps technical accuracy at 100% — it drops filler, not facts.\n\n## Features\n\n- [x] **Modular & composable** — load one skill or all seven, mix per task.\n- [x] **Output + context savings** — ~50–70% fewer output tokens (median ~54% on a 6-task sample — see [BENCHMARK.md](./BENCHMARK.md)), plus proactive context trimming.\n- [x] **Auto-detect** — `paleo-auto` watches session state and enables the right skills automatically. No thinking required.\n- [x] **Production-safe** — compresses output and context only; never rewrites your code.\n- [x] **Hard token budget** — `paleo-budget` caps spend and summarizes the tail.\n- [x] **Cross-agent** — open Agent Skills standard: Claude Code, Codex, Gemini CLI, Qwen Code, OpenCode, Cursor, GitHub Copilot, Cline, Windsurf + **40+ agents** via `npx skills add`.\n- [x] **Zero-setup triggers** — plain English phrases, no slash commands to register.\n- [x] **Low overhead** — each `SKILL.md` is intentionally terse, so loading stays cheap.\n- [x] **Open & extensible** — drop in your own token-saving skills.\n\n## Skills\n\n| Skill | What it does | Trigger example |\n|---|---|---|\n| `paleo` | Terse output mode — cut output tokens ~50–70%, keep code/terms exact. | `paleo mode` · `be brief` · `save tokens` |\n| `paleo-auto` | 🆕 Zero-touch auto-detection — watches session & enables the right skills automatically. | `paleo-auto` · `auto paleo` · `enable auto-save` |\n| `paleo-budget` | Hard token budget per task — cap spend, summarize if exceeded. | `budget 2000` · `stay under 2000 tokens` |\n| `paleo-trim-context` | Proactively trim/summarize context to save tokens without losing task state. | `trim context` (auto on long sessions) |\n| `paleo-converse` | Condense old chat turns + merge duplicate messages; keep last N verbatim. | `condense chat` · `compress conversation` · `paleo-converse N=8` |\n| `paleo-summary` | Tight intisari of bulky tool output / logs / diffs / dumps. | `tldr` · `condense this` · `summarize output` |\n| `paleo-json` | Minify & compact structured/JSON output, stay parseable. | `compact json` · `minify` |\n\n## Recommended combos\n\n`paleo` is the base — keep it on. Layer the rest by what you're doing:\n\n| Situation | Combo | Why |\n|---|---|---|\n| Daily driver (long / chatty sessions) | `paleo` + `paleo-trim-context` | Base + automatic context hygiene. |\n| History piling up | + `paleo-converse` | Condense + merge duplicate turns once a session gets long. |\n| Debugging / bulky tool output | `paleo` + `paleo-summary` + `paleo-json` | Logs → intisari; JSON → minified. |\n| Tight cost / hard limit | `paleo` + `paleo-budget` (+ `paleo-trim-context`) | Hard ceiling + shrink context first. |\n| Max savings (all on) | all seven skills | Overkill daily, but safe for extreme thrift. |\n\n> [!TIP]\n> You rarely need every skill at once. `paleo` + `paleo-auto` is the default for most users — auto-detect handles the rest. For manual control: `paleo` + `paleo-trim-context` is the baseline; add `paleo-converse` for messy chats, `paleo-summary` / `paleo-json` for heavy tool output, and `paleo-budget` only when a hard cap is required.\n\n## Quick Start\n\n```bash\n# 1. Clone the collection\ngit clone https://github.com/mocasus/paleo.git\n\n# 2. Claude Code — one plugin bundles all 7 skills\nclaude plugin marketplace add https://github.com/mocasus/paleo\nclaude plugin install paleo@paleo\n\n# 3. Any agent via the open Agent Skills registry (installs to 40+ clients)\nnpx skills add mocasus/paleo\n```\n\nThen just talk to your agent — no command to register:\n\n> `paleo mode` · `save tokens` · `budget 2000` · `trim context`\n\n## Benchmarks\n\nReal, reproducible numbers — not hand-waved claims.\n\n| Model | Tasks | Median output savings | Mean |\n|---|---|---|---|\n| `claude-sonnet-4.5` | 6 | **53.8%** | 45.1% |\n\nFull method, per-task table, and the runnable harness are in [BENCHMARK.md](./BENCHMARK.md). Rerun on your own stack:\n\n```bash\nexport IDROUTER_API_KEY=your_key\npython3 bench/benchmark.py --model claude-sonnet-4.5\n```\n\n> [!TIP]\n> Savings are task-dependent: biggest on verbose generative work (code, walkthroughs, comparisons — 54–79%), smaller on already-compact factual answers. paleo also cuts *context* tokens via `paleo-trim-context`, a layer a terse-persona prompt cannot reach.\n\n## Comparison\n\npaleo is often compared with two other token-saving approachesa **terse-persona system prompt** and **Ponytail** (a code-reuse coding skill). Here is how they differ.\n\n| Dimension | 🦴 paleo | Terse-persona prompt | Ponytail |\n|---|---|---|---|\n| **Form** | 7 composable skills | Single system prompt (persona) | Single coding skill / workflow |\n| **What it targets** | Output tokens **+** context **+** conversation turns | Output tokens only | Volume of code the agent writes (+ MCP caching) |\n| **Granularity** | Per-task, mix & match | One mode | One workflow |\n| **Touches your code** | ❌ No (output/context only) | ❌ No | ⚠️ Yes — refactors / reuses code |\n| **Context & reasoning savings** | ✅ `paleo-trim-context` | ❌ None | ◑ Partial (caching) |\n| **Hard budget** | ✅ `paleo-budget` | ❌ | ❌ |\n| **Cross-agent** | ✅ 40+ agents (open standard) | ➖ Portable prompt, but monolithic | ➖ Claude Code skill |\n| **Activation** | Plain phrases | Edit system prompt | Install + invoke skill |\n| **Reasoning-model safe** | ✅ Never compresses thought | ❌ Can *raise* tokens (e.g. +3% on Opus) | ➖ |\n| **Known risk** | None (output-only) | Can fight \"expand\" heuristics; may *raise* tokens on reasoning models | Refactor can change behavior |\n| **Open benchmark** | ✅ Reproducible harness | ❌ Claim only | ❌ Claim only |\n\n> [!TIP]\n> **They're complementary, not rivals.** Ponytail cuts the *code you have to write*; paleo cuts the *tokens in the conversation*. Terse-persona prompts proved a terse prompt helps output — paleo takes that same idea and makes it modular, adds context-trimming and a hard budget, and drops the persona gimmick. Use Ponytail for code-heavy work and paleo for chatty, long sessions.\n\n## FAQ\n\n<details>\n<summary><b>Prompt dipangkas, context dipotong, kualitas gak bakal sama dong?</b></summary>\n\nGak lebih jelek — malah sering lebih bagus. paleo bukan potong buta, dia buang *redundansi* (ulang-ulang, filler, boilerplate hasil tool, whitespace), bukan info esensial. Constraint, error, code, keputusan tetap utuh. Prompt lo gak diapa-apain — yang di-trim itu context kerja agent (hasil tool berulang, riwayat convo). Context bersih = model fokus ke signal, bukan lost track karena noise. Benchmark: median **53.8%** token turun, kualitas task gak drop. Trade-off jujur: budget ekstrem (token cap rendah banget) bisa turun kualitas, tapi setting *optional*. Intinya: lebih murah & cepet, kualitas tetap.\n\n</details>\n\n<details>\n<summary><b>System prompt itu buat bikin model bagus, klo dipangkas banyak yg ilang dong?</b></summary>\n\npaleo gak pernah sentuh system prompt. System prompt = aturan main, utuh 100%. Instruksi yang define behavior gak diapa-apain — paleo jalan *setelah* system prompt ke-load, cuma kerja di context dinamis. Yang di-trim itu context kerja (tool output berulang, convo kepanjangan), bukan instruksi. System prompt kecil dibanding noise yang numpuk dari tool output. Plus bisa whitelist bagian yang mau dijaga. Efeknya kebalik: context bersih bikin model *lebih* patuh ke system prompt. Aturan main tetep nempel.\n\n</details>\n\n<details>\n<summary><b>Bisa ngerusak code / formatting gak?</b></summary>\n\nGak. paleo melindungi code block, structured output (JSON/table), dan error message secara default. Yang di-compress cuma prose bertele-tele & tool output redundant. Kalo masih ragu, bisa whitelist file/section tertentu biar 100% gak ke-trim.\n\n</details>\n\n<details>\n<summary><b>Ini butuh API key atau service eksternal?</b></summary>\n\nEnggak. paleo murni teknik prompt/context — gak ada server, gak ada API call, gak ada dependensi luar. Skill-nya tinggal di-load ke agent lo, jalan di lokal. No overengineering.\n\n</details>\n\n<details>\n<summary><b>Token savings-nya beneran kelihatan di billing?</b></summary>\n\nKelihatan, terutama di session panjang & agent loop. Tiap token yang gak dikirim = gak dibayar. Benchmark kita median **53.8%** turun di context + output. Di agent yang muter 20+ tool call, itu selisih gede per run.\n\n</details>\n\n<details>\n<summary><b>Works di semua model/provider?</b></summary>\n\nIya. paleo model-agnostic — kerja di level prompt & context, bukan di model tertentu. Claude, GPT, Gemini, GLM, Qwen, lokal — semua bisa. Sifatnya instruksi, bukan fine-tune.\n\n</details>\n\n<details>\n<summary><b>Beda sama auto-compaction bawaan agent (Claude compaction, dll)?</b></summary>\n\nCompaction bawaan itu generic & reaktif (baru jalan pas context mau penuh, sering blind truncation). paleo proaktif + selektif: jaga info esensial, buang redundansi, configurable, ada safety net (whitelist). Plus paleo juga ngurus output verbosity & tool-result summarization, bukan cuma convo history.\n\n</details>\n\n<details>\n<summary><b>Cara enable/disable per task?</b></summary>\n\nTrigger pakai natural language (`skip preamble`, `ringkas output`, `trim context`) — gak perlu slash command. Mau matiin? Tinggal gak dipanggil, atau cabut skill dari agent. No global lock-in.\n\n</details>\n\n## Tips & Triggers\n\n> paleo activates from natural-language triggers — no slash command to register. Type the trigger, the skill loads and applies.\n\n<details>\n<summary>Activation & switches (plain phrases)</summary>\n\n**paleo** — terse output\n- On: `paleo mode` · `be brief` · `terse` · `compress output` · `save tokens`\n- Level: `paleo full` (default) · `paleo lite` · `paleo ultra`\n- Off: `stop paleo` · `normal mode`\n\n**paleo-budget** — token cap\n- On: `budget 2000` · `stay under 2000 tokens` · `token limit`\n- Off: `no budget` · `unlimited`\n\n**paleo-trim-context** — auto on long sessions; `trim context` to force.\n**paleo-auto** — `paleo-auto` · `auto paleo` — off: `disable paleo-auto` · `manual paleo`\n**paleo-converse** — `condense chat` · `compress conversation` · `paleo-converse N=8`\n**paleo-summary** — `tldr` · `condense this` · `summarize output`\n**paleo-json** — `compact json` · `minify`\n\n**Combo:** `paleo` + `paleo-budget` = max savings. Add `paleo-trim-context` on long sessions, `paleo-converse` on chatty ones, `paleo-summary` for bulky tool output.\n\n</details>\n\n## Installation\n\n<details><summary><b>🔵 Claude Code</b></summary>\n\n```bash\nclaude plugin marketplace add https://github.com/mocasus/paleo\nclaude plugin install paleo@paleo\n```\n</details>\n\n<details><summary><b>🟢 Codex</b></summary>\n\n```bash\nnpx skills add mocasus/paleo\n```\n</details>\n\n<details><summary><b>🟡 Gemini CLI</b></summary>\n\n```bash\nmkdir -p ~/.gemini/skills && cp -r skills/* ~/.gemini/skills/\n```\n</details>\n\n<details><summary><b>🟣 Hermes Agent</b></summary>\n\n```bash\nhermes skills install mocasus/paleo\n# Or copy skills manually\ncp -r skills/paleo* ~/.hermes/skills/\n```\n</details>\n\n<details><summary><b>⚫ Cursor</b></summary>\n\n```bash\nnpx skills add mocasus/paleo\n```\n</details>\n\n<details><summary><b>🔷 GitHub Copilot</b></summary>\n\n```bash\nnpx skills add mocasus/paleo\n```\n</details>\n\n<details><summary><b>🌊 Windsurf</b></summary>\n\n```bash\nnpx skills add mocasus/paleo\n```\n</details>\n\n<details><summary><b>📦 Universal (any agent)</b></summary>\n\n```bash\ngit clone https://github.com/mocasus/paleo.git\n# copy skills/paleo*/ into your agent's skills directory\n```\n</details>\n\nAll 7 skills load automatically — `paleo`, `paleo-trim-context`, `paleo-auto`, `paleo-budget`, `paleo-converse`, `paleo-summary`, `paleo-json`.\n\n> Full per-agent steps in [INSTALL.md](./INSTALL.md). See real compression numbers in [BENCHMARK.md](./BENCHMARK.md).\n\n## Hermes Integration\n\n> paleo is battle-tested on [Hermes Agent](https://github.com/NousResearch/hermes-agent) by [@mocasus](https://github.com/mocasus) — first user & case study.\n\n```bash\n# Install via Hermes skills manager\nhermes skills install mocasus/paleo\n\n# Or by path\ncp -r skills/paleo* ~/.hermes/skills/\n```\n\nThen in your Hermes chat (Telegram, WhatsApp, etc.):\n\n```\n> paleo\n🦴 paleo full — terse output, code-first\n\n> build a REST API with FastAPI\n[terse, code-first response — no preamble, no filler]\n\n> paleo-auto\n🦴 paleo-auto: watching session... enabled paleo + trim-context (23 turns)\n\n> budget 2000\n🦴 paleo-budget: 2000 output tokens, hard mode\n```\n\n**Hermes tips:**\n- Start with `paleo` — instant token savings on every reply.\n- `paleo-auto` for sessions >15 turns (watches context fill & enables the right skills).\n- Combine `paleo` + `budget` for expensive models via provider routing.\n- `paleo-converse` kicks in when your agent loop hits 60%+ context cap.\n\n## Custom Skills\n\npaleo is open — wire your own token-saving skills:\n\n1. `skills/<your-name>/SKILL.md` with `name` + `description` frontmatter.\n2. Add the skills directory to `.claude-plugin/plugin.json` — the `skills` field is a path **string** (e.g. `\"./skills/\"`), not an array. Gemini + other agents pick skills up natively; no extra manifest needed.\n3. Bump version badge (this file + footer) + plugin `version`.\n4. Commit + push.\n\nNo repo edit needed — just drop any `SKILL.md` into your agent's skills dir (e.g. `~/.hermes/skills/<name>/`). paleo loads whatever it finds under `skills/`.\n\n## User Stats\n\n> Share your numbers, get listed. PR your monthly token savings to this table.\n\n| User / Team | Agent | Tokens/month saved | Skills |\n|---|---|---|---|\n| *[Add yours →](https://github.com/mocasus/paleo/issues/new?title=stats)* | — | — | — |\n\n**How to measure:**\n1. Use agent 1 week without paleo → note token usage from provider dashboard\n2. Enable `paleo` (or `paleo-auto`) 1 week → note new usage\n3. Diff × 4 = estimated monthly savings\n\n## Contributing\n\nContributions are welcome — new token-saving skills, better triggers, or benchmark data.\n\n- Open an issue describing the skill or improvement.\n- Keep `SKILL.md` files terse (they load into context).\n- Add `name` + `description` frontmatter and register in both plugin manifests.\n- Bump the version badge and `version` fields before opening a PR.\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n\n---\n\n<div align=\"center\">\n\n## Sponsors\n\n<a href=\"https://kliqo.co\"><img src=\"./assets/kliqo-banner.jpg\" alt=\"Kliqo.co\" width=\"420\"></a>\n\n**Kliqo.co** sponsors paleo · <a href=\"https://kliqo.co\">kliqo.co</a>\n\n🦴 paleo · v2.5.0 · MIT\n\n</div>\n",
  "bytes": 16604,
  "sha": "a84b01ce950fc558548bdc3d60c8b0972dc059459db508c1a68d37eaef721773",
  "repo_slug": "mocasus/paleo",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_mocasus_paleo_91b0943b/readme"
}