| name | explain-complex-code |
| description | Навык объяснять сложный код простым языком. Активируется только по запросу: объясни, разбери, что тут, как работает, eli5. |
Explain Complex Code
Навык объяснять сложный код простым языком. Активируется только по запросу пользователя.
Триггеры
Пользователь говорит:
- «объясни [код/функцию/файл/это]»
- «что тут происходит»
- «разбери» / «разложи»
- «explain» / «walk me through»
- «как это работает»
- «не понимаю этот кусок»
- «объясни как новичку»
- «eli5» / «explain like I'm 5»
Формат ответа
Всегда соблюдай структуру:
TL;DR (1-2 строки) → суть без деталей
Аналогия из реального мира → привязка к знакомому
Структура/архитектура → как организовано
Ключевые механизмы → что важно
Поток выполнения → что за чем происходит
Подводные камни → баги, риски, edge cases
Если код короткий — сократи до TL;DR + аналогия + 1 абзац.
Если код длинный — добавь все секции.
Правила
Обязательные
- TL;DR всегда первым. 1-2 строки. Без TL;DR — ответ провален.
- Аналогия из реального мира. Не абстрактная. Физический объект, бытовая ситуация, профессия.
- Термин = мгновенное пояснение. Нельзя написать «использует debounce» без «(задержка чтобы не дёргать на каждый чих)».
- Код — в code block. Объяснение — вокруг кода, не внутри.
- Архитектура — диаграмма текстом. Стрелки, отступы, ASCII. Не «ну ты понял».
Запрещённые
- ❌ «Ну это просто...» — для просящего это НЕ просто
- ❌ «Очевидно что...» — ничего не очевидно
- ❌ «Как вы знаете...» — не предполагаешь уровень
- ❌ Ссылка на документацию вместо объяснения
- ❌ Пересказ кода строчка-за-строчкой без контекста ЗАЧЕМ
Уровни детализации
Используй gradual.md когда:
- Пользователь просит «объясни постепенно» / «от простого»
- Код очень сложный (500+ строк, много абстракций)
- Пользователь явно новичок
Используй eli5.md когда:
- Пользователь говорит «объясни как ребёнку» / «eli5» / «на пальцах»
- Нужно убрать весь жаргон
- Объясняешь концепцию, не детали реализации
Используй feynman.md когда:
- Пользователь просит «разбери по шагам» / «как это работает внутри»
- Нужно понять механизм, не просто «что делает»
- Готовишься к собеседованию или code review
Контрольный вопрос
После объяснения всегда заканчивай:
Нужно разобрать какой-то кусок глубже?
Если пользователь сказал «да» — бери feynman.md или gradual.md в зависимости от контекста.
Адаптация под язык
Отвечай на языке пользователя. Если код на русском — объяснение на русском. Если на английском — на английском. Термины и код не переводить.