{"slug": "show-hn-skillmaxxing-make-every-agent-self-evolving", "title": "Show HN: Skillmaxxing – make every agent self-evolving", "summary": "Skillmaxxing, a new open-source CLI tool, enables coding agents like Claude Code and Codex to automatically create and improve their own skills over time by reflecting on completed work, eliminating the need for manual commands or triggers. The tool hooks into agent sessions to crystallize reusable patterns into persistent skills, making agents self-evolving and more efficient on specific codebases. Inspired by the Hermes Agent self-improvement loop, Skillmaxxing requires Node.js 20+ and can be installed globally or via npx.", "body_md": "**Self-evolving skills for your coding agent.**\n\nYour agent auto-creates and auto-improves its own skills as it works — no command, no trigger, no babysitting.\n\nEvery coding agent starts every task from zero. It solves the same gnarly migration, re-derives the same release flow, re-learns the same repo quirk — and forgets it the moment the session ends.\n\n**Skill Maxing makes the forgetting stop.** It hooks into your agent so that, after real work, the agent reflects on what it just did and crystallizes the reusable parts into a **skill** — or improves a skill it already has. Over days, your agent gets measurably better at *your* codebase. That's a self-evolving agent, and it takes one line to turn on.\n\nInspired by the [Hermes Agent](https://github.com/NousResearch/hermes-agent) self-improvement loop, adapted to run on the hooks that Claude Code, Codex, and other agents already expose.\n\n**Requirement:** Node.js ≥ 20 (the CLI is a Node program). Check with `node -v`\n\n.\n\n```\nnpm i -g skillmaxxing && skillmaxxing plugin install\n```\n\nInstalls the CLI globally and wires the hooks to it. Restart your agent session and you're done — **you never have to invoke anything.** Fast, persistent, and works on every laptop.\n\n```\nnpx skillmaxxing plugin install\n```\n\nWorks without installing anything globally; the hooks fall back to a version-pinned `npx`\n\ncall. Great for trying it out — for daily use prefer the global install (the `npx`\n\nhook adds a little latency at each turn-end).\n\n```\n/plugin marketplace add Bennyoooo/skillmaxxing\n/plugin install skillmaxxing\nnpm i -g skillmaxxing && skillmaxxing plugin install --agent codex\n```\n\nCodex has no programmatic stop hook, so self-evolution runs **in-session** via standing guidance written to `AGENTS.md`\n\n. Claude Code gets the full background loop below.\n\nPick one mechanism per agent.For Claude Code, use either the marketplace pluginor`plugin install`\n\n— not both, or you'll get duplicate hooks.\n\nManage it any time:\n\n```\nskillmaxxing plugin status      # is it active?\nskillmaxxing plugin uninstall   # remove the hooks\n```\n\nSkill Maxing installs just two hooks. You do nothing — the loop runs itself.\n\n```\n┌──────────────────────────────────────────────────────────────┐\n│  SessionStart   →  inject standing guidance                    │\n│                    \"crystallize reusable work; fix stale skills\"│\n│                                                                │\n│  Stop (task done) → count tool calls in the transcript; if     │\n│                     enough new work accrued, fork a background  │\n│                     reflector: review the session and, if       │\n│                     warranted, create ONE new skill or improve  │\n│                     an existing one — autonomously, trusted:false│\n└──────────────────────────────────────────────────────────────┘\n```\n\nThere's no per-tool hook — work is counted from the session transcript at Stop — so the agent stays fast on every install path. This mirrors Hermes' layers:\n\n| Hermes | Skill Maxing |\n|---|---|\n| Always-on system-prompt nudge | SessionStart hook injects skill-creation guidance |\n| Background review after N iterations | Stop hook counts transcript tool calls and forks a headless reflector past a threshold |\n| Provenance-gated curation | New/changed skills are recorded until you approve them`trusted: false` |\n\nTwo key Hermes ideas carry straight over: the reflector **prefers updating an existing skill over creating a near-duplicate**, and it is **conservative** — most sessions produce no skill at all.\n\n| Mode | What happens on a substantial session | Pick it when |\n|---|---|---|\n`auto` (default) |\nA background agent (`claude -p` , restricted to skill tools) reflects and writes/updates a skill while you keep working |\nYou want truly hands-off self-evolution |\n`nudge` |\nThe agent is reminded to crystallize the workflow itself, in-session | You want zero extra processes / full visibility |\n\n```\nnpx skillmaxxing plugin install --mode nudge --threshold 12\n```\n\nThe background reflector is **recursion-guarded** (it can never trigger itself) and **detached** (it never blocks your session). Every skill it writes is `trusted: false`\n\nand never auto-executes until you grant trust.\n\nEverything above is built on two CLI primitives the reflector (or you) can call directly. The CLI is **model-agnostic** — it does the deterministic work; your agent supplies the reasoning.\n\n**Create** — turn a workflow into a tested skill:\n\n```\nskillmaxxing skillify --draft draft.json    # stage → smoke-test → review → --commit\n```\n\n**Improve** — make an existing skill measurably better, safely:\n\n```\nskillmaxxing optimize <score|apply|gate|promote|revert>\n```\n\n`optimize`\n\nis an **eval-gated** loop (rollout → reflect → bounded edit → validate): a candidate is promoted only on a strict score win with no regression, every version is retained, and any change is reversible.\n\n**Untrusted by default.** Auto-created and improved skills are`trusted: false`\n\n; the sandbox refuses to run their code without your explicit`--allow-exec`\n\n.**Reversible.** Promotions are atomic and every prior version is retained — revert any time.**No surprise execution.** The background reflector writes skills; it does not run untrusted code or touch your project source.\n\n| Capability | Status |\n|---|---|\n| Auto-create skills (hook-driven) | ✅ v1 |\n| Auto-improve skills (eval-gated) | ✅ v1 |\n| Cross-agent install (Claude Code, Codex) | ✅ v1 |\n| Discover skills from public sources | 🧰 CLI ready — landing in the plugin next |\n| Team workspace: share + collaboratively optimize | 🧰 CLI ready — landing in the plugin next |\n\nDiscovery and team sharing already exist as CLI commands (`skillmaxxing discover`\n\n, `skillmaxxing workspace`\n\n); they're intentionally held out of the v1 plugin surface to keep the install dead-simple.\n\n``` php\nnpm install\nnpm run build      # tsc -> dist/\nnpm test           # node:test, ~90 tests\nnode scripts/gen-hero.mjs   # regenerate the hero\n```\n\nZero runtime dependencies beyond `yaml`\n\n. ESM, Node ≥ 20.\n\nMIT", "url": "https://wpnews.pro/news/show-hn-skillmaxxing-make-every-agent-self-evolving", "canonical_source": "https://github.com/Bennyoooo/skillmaxxing", "published_at": "2026-06-26 22:37:12+00:00", "updated_at": "2026-06-26 23:07:05.137335+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "machine-learning", "large-language-models", "ai-tools"], "entities": ["Skillmaxxing", "Claude Code", "Codex", "Hermes Agent", "NousResearch", "Node.js"], "alternates": {"html": "https://wpnews.pro/news/show-hn-skillmaxxing-make-every-agent-self-evolving", "markdown": "https://wpnews.pro/news/show-hn-skillmaxxing-make-every-agent-self-evolving.md", "text": "https://wpnews.pro/news/show-hn-skillmaxxing-make-every-agent-self-evolving.txt", "jsonld": "https://wpnews.pro/news/show-hn-skillmaxxing-make-every-agent-self-evolving.jsonld"}}