{
  "markdown": "<p align=\"center\">\n  <picture>\n    <source media=\"(prefers-color-scheme: light)\" srcset=\"assets/minimalist_logo_light.png\">\n    <img src=\"assets/minimalist_logo.png\" alt=\"Minimalist logo\" width=\"500\">\n  </picture>\n</p>\n\n\n<p align=\"center\">\n  <img src=\"assets/benchmark-headline.svg\" alt=\"~41% less code (up to 88%) - ~24% cheaper - ~20% faster\" width=\"760\">\n</p>\n\n<p align=\"center\">\n  <em>Make coding agents write less code, use fewer tokens, and skip the bloat.</em>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://img.shields.io/badge/license-MIT-3178c6?style=flat\" alt=\"MIT\">\n  <img src=\"https://img.shields.io/npm/v/minimalist-skill?style=flat&color=cb3837\" alt=\"npm version\">\n  <img src=\"https://img.shields.io/github/v/tag/DivyeshJayswal/minimalist?style=flat&color=8250df\" alt=\"release tag\">\n  <img src=\"https://img.shields.io/node/v/minimalist-skill?style=flat&color=339933\" alt=\"node engines\">\n  <img src=\"https://github.com/DivyeshJayswal/minimalist/actions/workflows/test.yml/badge.svg\" alt=\"tests\">\n  <img src=\"https://img.shields.io/github/last-commit/DivyeshJayswal/minimalist?style=flat&color=6e7681\" alt=\"last commit\">\n</p>\n\n---\n\n**What it does:** Minimalist helps coding agents do less. It pushes them to\nwrite smaller diffs, use fewer tokens, skip extra dependencies, and avoid\nfeatures you did not ask for. It also keeps a record of what it refused to\nbuild, so the same bloat does not come back later.\n\nIt is minimal, but not reckless: it does not remove validation, auth, error\nhandling, cleanup, tests, or secret-safety checks just to save lines.\n\n**In short:** in a real Claude Code LOC benchmark, Minimalist wrote on average about\n**41% less code**, used **24% fewer tokens**, cost **24% less**, and ran\n**20% faster** than no-skill baseline. All 288 LOC cells were correct.\n\n![Agentic benchmark](assets/benchmark-agentic.svg)\n\nThis is a real agentic run, not a single-shot prompt: Claude Code edited a\npinned FastAPI + React template and the benchmark scored the `git diff` it\nleft behind.\n\n| arm | LOC | tokens | cost | time |\n|---|---:|---:|---:|---:|\n| baseline | 100% | 100% | 100% | 100% |\n| caveman | 85% | 72% | 76% | 80% |\n| minimalist | 59% | 76% | 76% | 80% |\n| yagni-oneliner | 79% | 94% | 119% | 113% |\n| token-efficient | 112% | 121% | 132% | 143% |\n\nRaw files:\n\n- [`benchmarks/results/2026-07-05-agentic.md`](benchmarks/results/2026-07-05-agentic.md)\n- [`benchmarks/results/2026-07-05-agentic.json`](benchmarks/results/2026-07-05-agentic.json)\n\nIt ships as two skills:\n\n- `/minimalist` for coding tasks: less code, fewer tokens, fewer invented\n  requirements, no unsafe shortcuts.\n- `/minimalist-general` for writing, planning, research, and decisions: the\n  same subtraction discipline without code-specific rules.\n\nAsk your agent for a date picker. Left alone, it installs a library, writes\na wrapper component, a stylesheet, and a paragraph about timezones you\ndidn't ask for. With minimalist:\n\n```html\n<!-- descent step 4: the platform already has one -->\n<input type=\"date\">\n```\n\n**Minimalist** makes the agent ask simple questions before it writes code:\ndoes this need to exist, is it already in the repo, does the language or\nbrowser already do it, can it be one line? Only after that does it write new\ncode. Every rejected abstraction or dependency can be logged, so the same\nscope debate does not have to happen again next week.\n\n> [!TIP]\n> **Turn it on:** it's active by default the moment the plugin's installed.\n> Switch modes with `/minimalist lite|full|ultra|off`, or say \"stop minimalist\" /\n> \"normal mode\" to step out any time.\n\n> [!IMPORTANT]\n> **Honest numbers, not vibes.** Minimalist never invents a savings figure.\n> Every number above is a real measured run, not a guess.\n\n## The ledger\n\nEvery time the agent skips a dependency or a piece of extra code, it logs\nthe decision to a file on your machine — so you can check later what it\nskipped and why, instead of just trusting a line in chat:\n\n```\n$ node scripts/log-rejection.js --report\n3 rejected-scope entries in ~/.minimalist/ledger.jsonl\n\n- [platform] date picker library -> <input type=\"date\">\n- [yagni] config flag for a value that never changes\n- [stdlib] custom debounce helper -> AbortController + setTimeout\n```\n\n`/minimalist-gain` reads this file back — real history, not the model's\nmemory of the last five minutes.\n\n## Install\n\nNode.js 18+ on PATH (for the two lifecycle hooks; skills work without it).\n\n<img src=\"assets/claude_logo.png\" width=\"12\" alt=\"\"> **Claude Code**\n```\n/plugin marketplace add DivyeshJayswal/minimalist\n/plugin install minimalist@minimalist\n```\nDesktop app: Customize → personal plugins → Add from repository → repo URL.\n\n<img src=\"assets/chatgpt_logo.png\" width=\"12\" alt=\"\"> **Codex**\n```bash\ncodex plugin marketplace add DivyeshJayswal/minimalist\n```\n`/plugins` → install Minimalist → `/hooks` → trust its two hooks → new thread.\n\n<img src=\"assets/github_copilot_logo.png\" width=\"12\" alt=\"\"> **GitHub Copilot CLI**\n```bash\ncopilot plugin marketplace add DivyeshJayswal/minimalist\ncopilot plugin install minimalist@minimalist\n```\nCommands are namespaced: `/minimalist:minimalist ultra`.\n\n<img src=\"assets/gemini_logo.png\" width=\"20\" alt=\"\"> **Gemini CLI**\n```bash\ngemini extensions install https://github.com/DivyeshJayswal/minimalist\n```\n\n<img src=\"assets/gemini_logo.png\" width=\"20\" alt=\"\"> **Antigravity CLI**\n```bash\nagy plugin install https://github.com/DivyeshJayswal/minimalist\n```\nReuses the Gemini extension; also ships `.agents/rules/` for always-on rules.\n\nπ **Pi agent harness**\n```bash\npi install git:github.com/DivyeshJayswal/minimalist\n```\n\n<img src=\"assets/opencode_logo.png\" width=\"20\" alt=\"\"> **OpenCode**\n```json\n{ \"plugin\": [\"minimalist-skill\"] }\n```\nOr from a checkout: `{ \"plugin\": [\"./.opencode/plugins/minimalist.mjs\"] }`.\nOpenCode also auto-loads this repo's `AGENTS.md`.\n\n☰ **Hermes**\n```bash\nhermes plugins install DivyeshJayswal/minimalist --enable\n```\n\n🦞 **OpenClaw**\n```bash\nclawhub install @divyeshjayswal/minimalist\n```\nThe review, audit, gain, and help skills install the same way\n(`clawhub install @divyeshjayswal/minimalist-review`, and so on — the `@divyeshjayswal/`\nprefix disambiguates from unrelated same-named skills on the registry). Without\nClawHub, skills ship in `.openclaw/skills/`; point your skills path at the repo.\n\n**Cursor · Windsurf · Cline · Kiro · Devin · CodeWhale · Swival** — rule files\nare pre-generated, copy the one you need: `.cursor/rules/minimalist.mdc`,\n`.windsurf/rules/minimalist.md`, `.clinerules/minimalist.md`,\n`.kiro/steering/minimalist.md`, `.github/copilot-instructions.md`,\n`.devin-plugin/`, or generic `AGENTS.md`.\n\n## Update\n\nMost installs point back to this repo. After a release, Git-based installs\nupdate by pulling/reinstalling from GitHub; registry installs update from the\nregistry they came from.\n\n| install type | examples | update path |\n|---|---|---|\n| Git-based | Gemini, Antigravity, Pi, local OpenCode, copied rule files | pull or reinstall from GitHub; copy rule files again if needed |\n| Marketplace/plugin wrapper | Claude Code, Codex, Copilot CLI, Hermes | update/reinstall through that tool's plugin command |\n| Registry copy | npm/OpenCode package, ClawHub/OpenClaw | publish the new package there, then update through that registry |\n\n**Uninstall**\n```bash\nnode scripts/uninstall.js\n```\n\n## Commands\n\n| command | does |\n|---|---|\n| `/minimalist [lite\\|full\\|ultra\\|off]` | for coding tasks — set intensity (default **full**) |\n| `/minimalist-general [lite\\|full\\|ultra\\|off]` | for everything else: writing, planning, research |\n| `/minimalist-review` | review a diff for bloat — and for missing guards |\n| `/minimalist-audit` | ranked deletion candidates across the codebase |\n| `/minimalist-gain` | the ledger, read back — measured, never invented |\n| `/minimalist-help` | the whole tool in 15 lines |\n\n**lite** just flags over-engineering and lets you decide. **full** (the\ndefault) actually enforces the rules. **ultra** goes further and keeps its\nown explanations to almost nothing. The safety guardrail never turns off,\nat any of the three. Say \"stop minimalist\" or \"normal mode\" to switch it\noff entirely.\n\n## How it works\n\nMinimalist has one rulebook (`skills/minimalist/SKILL.md`). Every supported\ntool — Claude Code, Codex, Copilot, Gemini, OpenCode, and the rest — gets its\nown copy generated from that single file, so the rules stay identical\neverywhere instead of drifting between nine hand-maintained versions.\n\nYour chosen level (`lite`/`full`/`ultra`/`off`) and the rejection ledger both\npersist in `~/.minimalist/`, so they carry over between sessions.\n\nIf you're also running another instruction skill (like an output-style\nskill), minimalist won't fight it — it defers on prose style and keeps\nenforcing code-minimalism.\n\n## Star this repo\n\nCosts nothing, helps someone else find the smaller version of what they were\nabout to build. Fair trade. ⭐\n\n---\n\n<p align=\"center\"><em>Write less. Prove it. Break nothing.</em></p>\n",
  "bytes": 8984,
  "sha": "b60793164837b7a30b592b7e00f40013f8026934452318ddfb2ecc159951d5d0",
  "repo_slug": "divyeshjayswal/minimalist",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_divyeshjayswal_minimalist_6990913f/readme"
}