self-learning
Skill1 starsChanged 58 days agoMITView on GitHub
Петля самообучения: сбор уроков из секции LESSONS отчётов субагентов, триаж по четырём корзинам, каталог классов ошибок C-NNN, межконтурный разнос. Триггеры: «оттриажить уроки», «класс ошибки», «почему агенты забывают», рецидив закрытого класса. НЕ запись инцидента (incident-log), не хендофф (session-handoff).
12 other projects use a version of this.
Adopted by
Most recently taken up by
- Proboi-ai/rolestheir own version, first seen Nov 8, 2026
- gopalparashar421/agent-skillstheir own version, first seen Nov 8, 2026
- Grinv/anilist-mcp-servertheir own version, first seen Oct 22, 2026
- Grinv/steam-games-mcptheir own version, first seen Oct 22, 2026
- Grinv/mal-mcptheir own version, first seen Oct 22, 2026
- Grinv/tmdb-mcptheir own version, first seen Oct 22, 2026
Used with
Projects with it also use changelog-style, docs-consistency-check and 4 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
GrinvSkillchangelog-style
Turn a commit range into CHANGELOG.md entries following common-changelog style. Use when finishing a PR or cutting a release, to write/fix the [Unreleased] section's entries — moving [Unreleased] under a new dated version heading is a separate, automated step (see the release skill / scripts/sync-version.ts), not this skill's job.
Also in 4 projects that use this
GrinvSkilldocs-consistency-check
Check README/manifest.json/server.json/CHANGELOG.md/AGENTS.md and docs/*.md for drift against the actual registered tools and source. Use after adding, renaming, or removing a tool, or as part of a live-audit pass.
Also in 4 projects that use this
MicrosoftSkillrelease
Use ONLY when the user explicitly asks to cut/publish a Huabu desktop release or tag a version. Performs an outward action — bumps the version in apps/desktop/package.json, commits + annotated-tags vX.Y.Z, and pushes the branch + tag. That tag push auto-builds the macOS/Windows installers and publishes a GitHub Release. Provides `status`, `bump`, `tag-push`, and a one-command `run` (bump → tag-push).
Also in 4 projects that use this
- +3 more from Grinv
Other versions12 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 12
- Kulaxyz/self-learning-skills★ 956same name
- ychampion/claude-self-learning★ 8same name
- Grinv/steam-games-mcp★ 5same name
- Grinv/tmdb-mcp★ 4same name
- Grinv/mal-mcp★ 3same name
- EvianEvans/rumor-checker★ 2same name
- gopalparashar421/agent-skills★ 2same name
- Grinv/anilist-mcp-server★ 1same name
- Proboi-ai/roles★ 1same name
- VodouAI/OS★ 1same name
2 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository21 other files it gives its agents.
- censorSkill
- compact-guardSkill
- deep-researchSkill
- delegation-managerSkill
- dev-envSkill
- doc-extractSkill
- doc-toolsSkill
- fact-auditSkill
- firmware-stabilitySkill
- incident-logSkill
- markitdownSkill
- md-docSkill
- measure-methodologySkill
- new-contourSkill
- rn-article-styleSkill
- sci-searchSkill
- session-handoffSkill
- six-corner-auditSkill
- terminologySkill
- web-publishSkill
- workflowSkill
The file
Files
self-learning — чтобы опыт не умирал вместе с контекстом
Веса заморожены. Всё, что система «помнит», — это текст, который снова попадёт в контекст, либо код, который исполнится помимо контекста. Отсюда закон, из которого следует остальное:
Урок выучен не тогда, когда он записан, а тогда, когда у него есть машинный триггер, предъявляющий его в момент риска.
Проверено фактом на своей же истории: правило §33 лежало в глобальном CLAUDE.md — рецидив
через три дня (моделирование:W-022); мера высшей ступени по надзорный:W-026 была мутационно
проверена — рецидив через сутки в соседнем скрипте (надзорный:W-030). Запись не защищает.
Защищает привод.
Слои памяти — куда класть урок
| Слой | Носитель | Когда всплывает | Цена |
| L0 | хук / гейт / скрипт-проверка | принудительно, всегда | ~0 токенов |
| L1 | CLAUDE.md, frontmatter скилла | каждая сессия | самый дорогой актив (×все сессии ×все контуры) |
| L2 | тело SKILL.md, references | если сработал триггер | платится при чтении |
| L3 | SESSION-STATE, TODO | старт сессии | дёшево |
| L4 | журналы W/P, DECISIONS | только явным поиском | ~0, но и защиты ~0 |
Обучение = движение уроков ВВЕРХ; §28-бюджет давит ВНИЗ. Равновесие — заменой: правило, поглощённое хуком, ужимается до указателя. Порог L1: урок нужен более чем в ~30% сессий, иначе L2 или L0.
Двухосевая лестница мер (главное отличие от incident-log)
Лестница §32 знает только СИЛУ меры. Этого мало — доказано надзорный:W-026→W-030:
| Узкая область (один скрипт/файл) | Область класса (все проявления) | |
| Слабая сила (запись/правило) | заметка в журнале | правило класса в доктрине |
| Сильная сила (хук/устранение) | патч одного скрипта ← здесь провалилось | гейт класса по сигнатуре |
При рецидиве первый вопрос — не «поднять ступень?», а «провалилась СИЛА или ОХВАТ?» Если мера была высшей, но узкой — поднимать некуда, нужно расширять охват.
Петля — шесть шагов, у каждого свой привод
| Шаг | Что | Привод (не дисциплина) |
| CAPTURE | секция LESSONS: (0–3 пункта, «ожидал X → оказалось Y → обход Z») в отчёте субагента | хук lessons_gate.py блокирует Agent-вызов без неё (порог 600 симв.) |
| BUFFER | дамп LESSONS в <контур>\audit\lessons-inbox.md первым действием при приёме отчёта | файл переживает сжатие контекста |
| TRIAGE | 4 корзины (ниже) | хук lessons_inbox_counter.py считает - [ ] и напоминает на каждом промпте |
| DISTILL | классовый урок → класс C-NNN в ~/.claude/references/error-classes.md | новый инцидент обязан сослаться на C-NNN либо завести класс |
| DEPLOY | урок → в слой всплытия (обычно L0: сигнатура в реестр диспетчера) | хук-диспетчер инъецирует вопросом, не императивом |
| SPREAD | доктринальный урок → глобальный references/ + промпты владельцам зон (§12) | harvest-скрипт с курсором + крон |
Четыре корзины триажа
мусор (норма, большинство — выбрасывать без сожаления) / локальный (в проект) /
классовый (в каталог C-NNN + журнал) / доктринальный (в глобальную доктрину +
разнос по контурам).
Жёсткое правило маршрутизации: факт о платформе, ОС или общем инструменте (Windows-кодировки,
Bash-транспорт, Ollama, git, хуки) не имеет права на корзину «локальный». Именно так умер
урок про Job Object — лежал в приватном DECISIONS.md одного контура, пока не был найден случайно.
Каталог классов C-NNN
~/.claude/references/error-classes.md. Класс определяется по причине, не по симптому:
«потерял данные» — последствие; «предположил семантику флага по имени» — класс.
Обязательные поля: формулировка · проявления (составной ключ контур:W-NNN — номера
уникальны только внутри контура!) · trigger-signature · вопрос-инъекция (≤120 симв.) ·
текущая мера с пометкой узкая/классовая · статус.
Сигнатуру не выдумывать. Нет машинно-проверяемого условия — писать «класс слабо защищён, ожидаем рецидив». Это честная ранняя диагностика, а не поражение.
Форма инъекции — вопрос, не императив
«Ты читал код этого флага — или вывел его смысл из имени?» работает лучше, чем «читай код флагов». Вопрос требует ответа в текущем рассуждении; императив требует лишь согласия три часа назад. Потолки: ≤2 строк на урок и ≤3 урока на вызов (согласовано с §31.C.4 — там же обоснование Ω=1–3; до 30.08 здесь стояло «≤2», расхождение снято в пользу доктрины); триггер, срабатывающий чаще чем на 20% вызовов, — сужать.
Уроки в контекст — выборкой, не журналом (§31.C.4, 2026-08-30)
В бриф/промпт попадают ≤3 наиболее релевантных задаче урока, отобранных RAG'ом по журналам (движок приватного RAG-скилла — импортом, §33), а не журнал целиком. Обоснование: эпизодическая память агента эффективна ОГРАНИЧЕННОЙ (Reflexion, arXiv 2303.11366: Ω = 1–3 записи); длинный список уроков — несжатый контекст: доступен, но не работает. Рост журнала не должен означать рост промпта — журнал это архив для выборки, не приложение к брифу.
Правило второго случая (против инфляции правил)
Первый инцидент класса → журнал + сигнатура, и всё. Текстовое правило или отдельный хук — со второго случая, ЛИБО сразу, если цена необратима (метрология, финансы, push, delete). Инфляция правил — режим отказа: чем больше always-on, тем хуже всплывает каждое.
Проверка меры
- Хук/гейт — мутационно: воспроизвести условие инцидента и показать, что мера сработала; повторять при каждой правке хука. Зелёный прогон не значит ничего, пока не показано, что он умеет краснеть (#SA-3).
- Текстовое правило — вопрос «где именно оно всплывёт?» задаёт не автор (§31.A: свой контекст заражён сделанным), а стерильный проход. Нет ответа — правило мертворождённое, переразмещать.
- Ре-верификация L0 периодически: хук может быть мёртв с установки, и молчание
неотличимо от работы (
надзорный:W-015).
Метрика — одна, вычислимая скриптом
Доля классов с рецидивом ПОСЛЕ принятой меры (цель → 0 для мер уровня хук+); MTBR по классам; latency «инцидент → общий слой». Считает скрипт по каталогу и составным ключам — не самопометка агента (метрика, наказывающая за рецидив, дестимулирует его признание).
НЕ метрика: число записей и правил. Это графомания, а не обучение.
Границы
incident-log— нормативный дом лестницы мер и полей записи инцидента. Здесь на неё только ссылка; дублировать формулировки нельзя (два дома одного правила = дрейф).session-handoff— состояние для продолжения работы, не уроки.- §31 IRON MODE — как не допустить (стерильные проверки, лестница делегирования).
incident-log— что делать, когда допустил. Здесь — как сделать, чтобы урок не пропал и не потребовался второй раз.
Anti-patterns
- ❌ Институциализировать петлю текстовым правилом без привода — умрёт молча (эмпирика:
«сводный анализ раз в 10 записей» из
incident-log— 0 исполнений за 30 записей). - ❌ Отвечать на рецидив повторной записью в журнал — рецидив означает, что ступень уже провалена.
- ❌ Считать «мусор» плохим результатом триажа — 90% мусора это норма, ценность в хвосте.
- ❌ Развёрнутые LESSONS — длинная форма порождает отписки.
- ❌ Грузить журналы в контекст «на всякий случай» — оплата ретривала до потребности.
- ❌ Полносвязная рассылка инцидентов всем контурам — канал умирает от спама за месяц.
- ❌ Хук на каждый урок — инфляция переезжает из CLAUDE.md в settings.json; нужен ОДИН диспетчер с реестром.
История
Создан 2026-08-21 по запросу оператора («продумай очень хорошо стратегию самообучения,
сделай самоаудит»). Стратегия прошла двойной стерильный аудит §31.A: независимый дизайнер
и адверсариальный скептик, не видевшие работы друг друга. Скептик вынес по первой версии
3 КРИТИЧНО + 8 СЕРЬЁЗНО («нежизнеспособна»): петля целиком держалась на текстовых правилах,
провал которых сама же и доказывала; метрика была невычислима; два опорных факта диагностики
не прошли проверку источником (ошибочная ссылка D-031 вместо D-037; мера W-026 названа
журнальной, тогда как она была высшей ступени, но узкой). Все находки учтены в v2.
Полные документы: <work-root>\надзорный\prompts\self-learning\
(STRATEGY-v2.md, AUDIT-1-sterile-designer.md, AUDIT-2-adversarial-skeptic.md).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

