{"id":50929006,"url":"https://github.com/winterddo/claude-skill-flywheel","last_synced_at":"2026-06-17T02:04:14.474Z","repository":{"id":361367518,"uuid":"1254182791","full_name":"WinterDDo/claude-skill-flywheel","owner":"WinterDDo","description":"Self-improving skill system for Claude Code. A SKILL CHECK hook makes Claude reliably invoke the right skill every turn; a distillation flywheel learns from your corrections so it improves over time. Fine-tuning without fine-tuning, 100% local. Claude Code hooks plus a portable prompt for claude.ai, Codex, Cursor.","archived":false,"fork":false,"pushed_at":"2026-05-30T09:17:04.000Z","size":112,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-30T11:12:28.014Z","etag":null,"topics":["agent-skills","ai-memory","anthropic","claude","claude-code","claude-code-hooks","claude-code-plugin","claude-skills","context-engineering","llm","prompt-engineering","self-improving-ai","skill-routing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WinterDDo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-30T08:38:48.000Z","updated_at":"2026-05-30T09:16:31.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/WinterDDo/claude-skill-flywheel","commit_stats":null,"previous_names":["winterddo/claude-skill-flywheel"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/WinterDDo/claude-skill-flywheel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WinterDDo%2Fclaude-skill-flywheel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WinterDDo%2Fclaude-skill-flywheel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WinterDDo%2Fclaude-skill-flywheel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WinterDDo%2Fclaude-skill-flywheel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WinterDDo","download_url":"https://codeload.github.com/WinterDDo/claude-skill-flywheel/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WinterDDo%2Fclaude-skill-flywheel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34430691,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-skills","ai-memory","anthropic","claude","claude-code","claude-code-hooks","claude-code-plugin","claude-skills","context-engineering","llm","prompt-engineering","self-improving-ai","skill-routing"],"created_at":"2026-06-17T02:03:58.919Z","updated_at":"2026-06-17T02:04:14.465Z","avatar_url":"https://github.com/WinterDDo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# claude-skill-flywheel\n\n**Claude that keeps what it learns from you.**\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-3fb950.svg)](LICENSE)\n[![Version](https://img.shields.io/github/v/release/WinterDDo/claude-skill-flywheel?label=version\u0026color=58a6ff)](https://github.com/WinterDDo/claude-skill-flywheel/releases)\n[![Claude Code](https://img.shields.io/badge/Claude%20Code-plugin-8957e5.svg)](https://code.claude.com/docs/en/plugins)\n[![Local](https://img.shields.io/badge/data-100%25%20local-3fb950.svg)](#privacy)\n\n[English](README.md) · [简体中文](README.zh.md) · [Português](README.pt.md) · [Español](README.es.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Deutsch](README.de.md) · [Français](README.fr.md)\n\n\u003c/div\u003e\n\nEvery session with an AI starts from zero. You correct it, the session ends, and the correction dies with it. Next time, the same mistake. You are always teaching; it never learns.\n\nThis lets Claude keep what it learns from you. Correct it once, and the lesson is saved. The next session opens by reading it back, so the mistake does not return. When the same correction keeps recurring, it hardens into a principle Claude carries into every task. Your feedback stops being disposable and starts to compound.\n\nThat compounding is the flywheel: the teaching you already do, finally adding up instead of evaporating.\n\nEverything lives in a few plain text files on your own computer. Nothing is sent anywhere.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/demo.svg\" alt=\"A session logging a correction, and the next session recalling it\" width=\"760\"\u003e\n\u003c/div\u003e\n\n## Install\n\n**Claude Code plugin (recommended).** Two lines inside Claude Code:\n\n```\n/plugin marketplace add WinterDDo/claude-skill-flywheel\n/plugin install flywheel@claude-skill-flywheel\n```\n\nRun `/reload-plugins` or restart. Send a message, and the skill check appears before the reply.\n\n**Install script.** If you prefer a script:\n\n```bash\ngit clone https://github.com/WinterDDo/claude-skill-flywheel.git\ncd claude-skill-flywheel\n./install.sh\n```\n\nIt backs up whatever it changes, adds to your `settings.json` without overwriting it, and leaves any memory you have built alone. Remove it with `./uninstall.sh`. Needs `python3`.\n\n**Anywhere else (claude.ai, Cursor, Codex).** Those have no hooks, so the loop cannot run on its own. Paste [`portable/PROMPT.md`](portable/PROMPT.md) into the conversation or the custom instructions, and it carries the same habits by hand.\n\n## New to skills? Start here\n\nThe flywheel makes your skills fire reliably. If you do not have many yet, start here, then run `/flywheel:doctor` to watch them show up.\n\n- **[Anthropic's official skills](https://github.com/anthropics/skills):** documents, design, MCP building, and more. The place to begin.\n- **[gstack](https://github.com/garrytan/gstack):** Garry Tan's setup, opinionated skills that act as a CEO, designer, eng manager, and release manager.\n- **[andrej-karpathy-skills](https://github.com/multica-ai/andrej-karpathy-skills):** coding principles drawn from Andrej Karpathy's notes on where LLMs go wrong. This project's own principles build on it.\n\nFor the full landscape, browse [awesome-claude-skills](https://github.com/travisvn/awesome-claude-skills).\n\n## How it works\n\nIt does two things: it makes Claude use the skills you already set up, and it remembers what you teach it. Three small hooks and two files.\n\n**The skill check.** Before each reply, a `UserPromptSubmit` hook adds one line:\n\n```\nTask type: [identify] → Applying: [a skill, or none needed]\n```\n\nClaude has to name the task and choose. That one step is what stops it from forgetting the skills you installed. To see which of your skills have never fired, run `/flywheel:doctor`.\n\n**The load back.** When you say \"log this\" after a correction, it is written to `corrections.md`. At the start of each session, a `SessionStart` hook reads your most recent corrections back into context, so they are in front of Claude before it can repeat them.\n\n**The distillation.** Run `/flywheel:distill` when corrections accumulate. A lesson becomes a standing principle only if it has recurred across genuinely different tasks, holds in more than one domain, and would be missed if it were removed. Promoted principles load every session. `/flywheel:flywheel-status` shows what has been learned so far. The aim is fewer principles over time, not more: a long list means you are patching symptoms instead of finding causes.\n\nIf you know the machine learning version of this, it is, in effect, fine tuning without the fine tuning. Corrections are the training signal, distillation is the update step, the principles are the weights. The difference is that it runs in plain text, on your own machine, with no training run.\n\nFor the longer version of why Claude forgets skills in the first place, see [this note](docs/why-claude-code-forgets-skills.md).\n\n## Privacy\n\nThe memory is two Markdown files under `~/.claude/.flywheel/`: your corrections, and the principles distilled from them. You can read, edit, or delete them in any text editor. There is no server, no account, and no telemetry. Uninstalling removes the machinery and leaves your files.\n\n## Questions\n\n**Does it send my data anywhere?** No. The files stay under `~/.claude/`. There is no server and no telemetry.\n\n**Do I need the plugin?** The automatic loop needs the plugin or the install script, both for Claude Code. Elsewhere, use the portable prompt.\n\n**Will it overwrite my own `CLAUDE.md` or settings?** No. It backs up first, adds to `settings.json` without replacing it, and skips files you already have.\n\n**Does it work with skills I already use?** Yes. It ships no skills of its own. It makes the ones under `~/.claude/skills/` fire reliably and improve as you correct them.\n\n## Star history\n\n\u003ca href=\"https://star-history.com/#WinterDDo/claude-skill-flywheel\u0026Date\"\u003e\n  \u003cimg src=\"https://api.star-history.com/svg?repos=WinterDDo/claude-skill-flywheel\u0026type=Date\" alt=\"Star history chart\" width=\"600\"\u003e\n\u003c/a\u003e\n\nIf it saves you from repeating a mistake, a star helps someone else find it.\n\n## Credits\n\nBuilds on the work of Andrej Karpathy, Paul Graham, and others.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwinterddo%2Fclaude-skill-flywheel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwinterddo%2Fclaude-skill-flywheel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwinterddo%2Fclaude-skill-flywheel/lists"}