[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-4609":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":33,"readmeContent":34,"aiSummary":35,"trendingCount":16,"starSnapshotCount":16,"syncStatus":15,"lastSyncTime":36,"discoverSource":37},4609,"claude-smart","ReflexioAI\u002Fclaude-smart","ReflexioAI","A Claude Code plugin that makes Claude Code self-improve — learning from your corrections, not just remembering them (also support codex now)","https:\u002F\u002Fwww.reflexio.ai\u002Fdocs\u002Fclaude-smart",null,"Python",643,70,23,2,0,75,124,573,225,99.55,"Apache License 2.0",false,"main",[26,27,28,29,30,31,32],"ai-agents","claude","claude-code","claude-code-plugin","memory","self-improvement","self-improving-ai","2026-06-12 04:00:22","\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fclaude-smart-icon.png\" alt=\"claude-smart\" width=\"140\">\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">\n  claude-smart\n\u003C\u002Fh1>\n\n\u003Ch4 align=\"center\">A self-improvement plugin for \u003Ca href=\"https:\u002F\u002Fclaude.com\u002Fclaude-code\" target=\"_blank\">Claude Code\u003C\u002Fa> and Codex that turns interactions into durable skills they follow in future sessions.\u003C\u002Fh4>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"LICENSE\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache%202.0-blue.svg\" alt=\"License\">\n  \u003C\u002Fa>\n  \u003Ca href=\"plugin\u002Fpyproject.toml\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fversion-0.2.42-green.svg\" alt=\"Version\">\n  \u003C\u002Fa>\n  \u003Ca href=\"plugin\u002Fpyproject.toml\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-%3E%3D3.12-brightgreen.svg\" alt=\"Python\">\n  \u003C\u002Fa>\n  \u003Ca href=\"package.json\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fnode-%3E%3D20-brightgreen.svg\" alt=\"Node\">\n  \u003C\u002Fa>\n  \u003Ca href=\"#quick-start\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fhosts-Claude%20Code%20%2B%20Codex-purple.svg\" alt=\"Hosts\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#quick-start\">Quick Start\u003C\u002Fa> •\n  \u003Ca href=\"#how-it-works\">How It Works\u003C\u002Fa> •\n  \u003Ca href=\"#commands\">Commands\u003C\u002Fa> •\n  \u003Ca href=\"#dashboard\">Dashboard\u003C\u002Fa> •\n  \u003Ca href=\"#configuration\">Configuration\u003C\u002Fa> •\n  \u003Ca href=\"TROUBLESHOOTING.md\">Troubleshooting\u003C\u002Fa> •\n  \u003Ca href=\"#license\">License\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  claude-smart learns from your corrections \u003Ci>and\u003C\u002Fi> from what's already working — so the assistant stops repeating mistakes and reuses proven paths. Project-specific skills capture repo-local rules, and shared skills roll up durable patterns for reuse across projects.\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cb>vs \u003Ccode>claude-mem\u003C\u002Fcode>:\u003C\u002Fb> ~3× better at turning your corrections into rules Claude follows, ~50% more of your guidance is retained. \u003Ca href=\"EXPERIMENT.md\">\u003Cb>Read the benchmark →\u003C\u002Fb>\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n## Quick Start\n\n### Claude Code\n\n```bash\nnpx claude-smart install     # or: uvx claude-smart install\n```\n\nThen restart Claude Code.\n\nRequires Node.js (for `npx`) or uv (for `uvx`) to already exist.\n\nAlternatively, install via Claude Code's plugin marketplace:\n\n```bash\nclaude plugin marketplace add ReflexioAI\u002Fclaude-smart\nclaude plugin install claude-smart@reflexioai\n```\n\nTo uninstall:\n\n```bash\nnpx claude-smart uninstall     # or: uvx claude-smart uninstall\n```\n\nOr, if installed via the plugin marketplace:\n\n```bash\nclaude plugin uninstall claude-smart@reflexioai\n```\n\n### Codex\n\n```bash\nnpx claude-smart install --host codex\n```\n\nThen fully quit and reopen Codex so hooks reload.\n\nRequires the `codex` CLI on `PATH` and Node.js (for `npx`).\n\nTo uninstall:\n\n```bash\nnpx claude-smart uninstall --host codex\n```\n\nRestart Codex after uninstalling. The uninstaller stops local claude-smart services and removes plugin\u002Fcache\u002Fconfig state; learned data under `~\u002F.reflexio\u002F` and `~\u002F.claude-smart\u002F` is preserved and shared with Claude Code, so you can switch between hosts without losing skills or preferences.\n\nDeveloping the plugin itself? See [DEVELOPER.md](.\u002FDEVELOPER.md#developing-locally) for what the installer does, manual toggles via `\u002Fplugins`, and clone-based development.\n\n> **Not supported:** Claude Code Cowork, claude.ai\u002Fcode web, or remote Codex environments without local plugin hooks — they run outside your local machine, so the local backend\u002Fdashboard and `~\u002F.reflexio\u002F` aren't reachable.\n\n---\n\n## Why Learning, Not Memory\n\nMost memory tools just record. Claude remembers what happened, but doesn't change what it does next.\n\n`claude-smart` focuses on learning instead.\n\nFour things this changes:\n\n- 💡 **Stop repeating the same mistakes:** Produces actionable skills Claude can follow next time; memory only records what happened.\n\n  > *Example:* a deploy fails after Claude bumps `prisma` from 5.x to 6.0; you tell it to roll back because 6.0 breaks nested writes in your order flow.\u003Cbr>\n  > **Memory:** “deploy broke after prisma bump; user rolled back”\u003Cbr>\n  > **Learning:** “treat major-version bumps of ORMs\u002FDB drivers as breaking — verify with integration tests, not just unit tests”\n\n- 🚀 **Start from the optimized path:** Records and optimizes the steps that worked so Claude can reuse them, instead of re-exploring each session.\n  > *Example:* Claude spends several iterations trying to start the local dev environment before discovering that this repo requires `pnpm dev:all` instead of the usual `npm run dev`.\u003Cbr>\n  > **Memory:** “user mentioned that `npm run dev` did not work”\u003Cbr>\n  > **Learning:** “for this repo, always use `pnpm dev:all` to start the full local stack — `npm run dev` only starts the frontend and causes missing service errors”\n\n  Instead of re-exploring, Claude Code starts from the proven path—reducing planning steps, latency, and token usage.\n\n- 🌐 **Project-specific and shared skills:** Session memory disappears with the conversation. Project-specific skills preserve repo-local rules, while shared skills roll up patterns that should transfer across projects. Preferences stay scoped to the current project so per-repo preferences don't leak across projects.\n\n- 🪶 **Better context without prompt bloat:** Distilled, deduplicated skills stay in dozens of tokens—not thousands—even as the project grows.\n\n---\n\n## Demo\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fed84d73a-d5b7-4a0d-ab2c-f2c060c3f276\n\n---\n\n## Key Features\n\n- 🧠 **Learn, don't just remember** — Corrections become structured, deduplicated rules, not transcript replays.\n- ⚡ **Fully automatic learning** — Every user turn, tool call, and assistant response is captured via lifecycle hooks and extracted into rules without you running anything.\n- 📈 **Continuously self-tuning, not just append-on-conflict** — Existing rules are continuously refined, not just appended to. Wording gets clearer, *when-to-apply* triggers tighten or broaden as evidence accumulates, near-duplicates merge, stale rules are superseded, and dead ones are archived. The library gets sharper, not just bigger.\n  > *e.g.* correct the same `npm test --run` gotcha twice → consolidated into one rule. New evidence shows it applies to `vitest` too → scope broadened. Switch policy to `pnpm test` → old rule archived, new one supersedes it.\n- 🔌 **No external API call** — semantic search runs on an in-process ONNX embedder (all-MiniLM-L6-v2), and all data (preferences, skills, interaction buffers) is stored locally on your machine (`~\u002F.reflexio\u002F` and `~\u002F.claude-smart\u002F`).\n- 🔎 **Hybrid search** — Skills and preferences are indexed with vector + BM25 search for fast, robust retrieval.\n- 🧪 **Offline resilience** — If the reflexio backend is down, hooks buffer to disk; the next successful publish drains them.\n- 🧰 **Manual correction marker** — `\u002Fclaude-smart:learn` in Claude Code, or `bash ~\u002F.reflexio\u002Fplugin-root\u002Fscripts\u002Fcli.sh learn` in Codex, flags the last turn as a correction so the extractor weights it heavily.\n\n---\n\n## Dashboard\n\nA web UI for browsing session histories, inspecting preferences, and editing project-specific and shared skills. The dashboard auto-starts alongside the backend, so you can open **http:\u002F\u002Flocalhost:3001** directly. Or run `\u002Fclaude-smart:dashboard` in Claude Code to open it in your browser. In Codex, run `bash ~\u002F.reflexio\u002Fplugin-root\u002Fscripts\u002Fdashboard-open.sh`.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fpreferences_dashboard.png\" alt=\"Preferences dashboard\" width=\"49%\">\n  \u003Cimg src=\"assets\u002Fskills_dashboard.png\" alt=\"Skills dashboard\" width=\"49%\">\n\u003C\u002Fp>\n\n---\n\n## How It Works\n\nclaude-smart builds three artifacts as you work and injects the relevant ones into Claude Code or Codex:\n\n- **Preferences** (project-scoped) — how you work in this specific repo (stack, role, small quirks). *e.g.* \"uses pnpm, not npm\"; \"prefers terse answers\"; \"backend engineer — explain frontend with backend analogues.\"\n- **Project-specific skills** — durable rules with triggers and rationales learned from corrections in a project. *e.g.* \"always pass `--run` to `npm test` — watch mode hangs CI.\"\n- **Shared skills** — optimized rollups of project-specific skills that should transfer across projects. *e.g.* \"use real Postgres for integration tests — mocks once hid a broken migration.\"\n\nSkills clean themselves up: correct the same thing twice and they merge; change your mind and the old one is archived.\n\nUnder the hood: hooks watch your turns, tool calls, and assistant replies, auto-flagging corrections (or anything you flag with `\u002Fclaude-smart:learn`). At session end (or on `\u002Fclaude-smart:learn`), [reflexio](https:\u002F\u002Fgithub.com\u002FReflexioAI\u002Freflexio) — the self-improving engine that powers claude-smart — extracts preferences and project-specific skills, then rolls durable patterns into shared skills. On each new user prompt, claude-smart searches for matching context and injects only the relevant hits. Run `\u002Fclaude-smart:show` or the equivalent CLI command to audit the current learned state. Everything runs on your machine.\n\n**Citations.** At the end of a reply, the assistant may append a short marker:\n\n```\n✨ 2 claude-smart learnings applied [cs:s1-252,p1-5aed]\n```\n\nThat signals a preference (`p…`) or skill (`s…`) materially shaped the reply.\nOpen the session's detail page in the [dashboard](http:\u002F\u002Flocalhost:3001) to see the exact cited item.\n\nSee [ARCHITECTURE.md](.\u002FARCHITECTURE.md) for hooks, data flow, and reflexio details.\n\n---\n\n## Commands\n\nClaude Code installs these as plugin slash commands. Codex does not currently\nsupport plugin-provided slash commands, so claude-smart ships a Codex skill that\nmaps requests like \"claude-smart show\" or \"run claude-smart learn\" to the\nequivalent action.\n\n| Claude Code | Codex request | What it does |\n| --- | --- | --- |\n| `\u002Fclaude-smart:dashboard` | `open claude-smart dashboard` | Open the dashboard in your browser, auto-starting the reflexio backend and dashboard services if they aren't already running. |\n| `\u002Fclaude-smart:show` | `claude-smart show` | Print current project-specific skills, shared skills, and the current project's preferences so you can audit learned state manually. |\n| `\u002Fclaude-smart:learn [note]` | `claude-smart learn with note \"optional note\"` | Flag the most recent turn as a correction (for cases the automatic heuristic missed) and force reflexio to run extraction *now* on the session's unpublished interactions. The optional note becomes the correction description the extractor sees. |\n| `\u002Fclaude-smart:restart` | `restart claude-smart` | Restart the reflexio backend and dashboard to pick up new changes (e.g. after upgrading the plugin or editing local reflexio code). |\n| `\u002Fclaude-smart:clear-all` | `clear all claude-smart learnings` | **Destructive.** Delete *all* reflexio interactions, preferences, and skills. Use when you want to wipe learned state and start fresh. |\n\n---\n\n## Configuration\n\nAdvanced users can tune claude-smart via environment variables — see [DEVELOPER.md](.\u002FDEVELOPER.md#environment-variables) for the full list.\n\n### Where data lives\n\n| Path | What |\n| --- | --- |\n| `~\u002F.reflexio\u002Fdata\u002Freflexio.db` | Source of truth for learned preferences, skills, interactions, full-text indexes, and embedding tables (plus `.db-shm` \u002F `.db-wal` WAL sidecars). Inspect with `sqlite3`. |\n| `~\u002F.reflexio\u002F.env` | Provider config — `CLAUDE_SMART_USE_LOCAL_CLI`, `CLAUDE_SMART_USE_LOCAL_EMBEDDING`, any optional API keys. |\n| `.claude\u002Fsettings.local.json` or `~\u002F.claude\u002Fsettings.json` | Claude Code hook environment, such as `CLAUDE_SMART_ENABLE_OPTIMIZER`; use project-local settings for one repo or user settings for all projects. |\n| `~\u002F.codex\u002Fconfig.toml` | Codex plugin state, hook feature flags, and per-hook trust entries after `claude-smart install --host codex`. |\n| `~\u002F.codex\u002Fplugins\u002Fcache\u002Freflexioai\u002Fclaude-smart\u002F\u003Cversion>\u002F` | Codex's cached install of the `claude-smart` plugin from the `ReflexioAI` marketplace. |\n| `~\u002F.reflexio\u002Fplugin-root` | Self-healed symlink to the active plugin dir (managed by `ensure-plugin-root.sh` — written on install, refreshed each `SessionStart`). Claude Code slash commands and Codex shell-command helpers resolve through it, so don't delete it; if you do, the next session will recreate it. |\n| `~\u002F.claude-smart\u002Fsessions\u002F{session_id}.jsonl` | Per-session buffer. User turns, assistant turns, tool invocations, `{\"published_up_to\": N}` watermarks. Safe to inspect and safe to delete — everything past the latest watermark has already been written to reflexio's DB. |\n| `~\u002F.claude-smart\u002Fnode\u002Fcurrent\u002F` | Private Node.js\u002Fnpm runtime used by hooks and the dashboard after install. |\n| `~\u002F.cache\u002Fchroma\u002Fonnx_models\u002Fall-MiniLM-L6-v2\u002F` | Cached ONNX weights (~86 MB, downloaded once). Delete to force a re-download. |\n\nFor troubleshooting, see [TROUBLESHOOTING.md](.\u002FTROUBLESHOOTING.md).\n\n---\n\n## License\n\nThis project is licensed under the **Apache License 2.0**. Reflexio is a separate Apache 2.0 project consumed as the `reflexio-ai` Python package. Claude Code is Anthropic's and not covered by this license.\n\nSee the [LICENSE](LICENSE) file for details.\n\n---\n\n## Support\n\n- **Issues**: open one on GitHub describing the symptom and include the reflexio backend log (`~\u002F.claude-smart\u002Fbackend.log`) and the relevant lines of `~\u002F.claude-smart\u002Fsessions\u002F{session_id}.jsonl`.\n\n---\n\n**Built on** [reflexio](https:\u002F\u002Fgithub.com\u002FReflexioAI\u002Freflexio) · **Runs on** [Claude Code](https:\u002F\u002Fclaude.com\u002Fclaude-code) and Codex · **Written in** Python 3.12+\n","claude-smart 是一个为 Claude Code 和 Codex 设计的自我改进插件，它能够从用户的纠正中学习并持续优化，而不仅仅是记住这些纠正。该插件使用 Python 编写，通过分析用户反馈来减少重复错误，并在未来的会话中重用已验证的有效路径。它支持项目特定技能的捕捉以及跨项目的共享技能模式。适用于需要提高代码助手效率和准确性的开发场景，如软件开发、代码审查等。","2026-06-11 02:59:57","CREATED_QUERY"]