# Caveman Code

> КОД КАК ИНДУСТРИЯ: сначала смотри, как пишут другие — примеры из официальных док, чужой качественный код, паттерны открытых проектов; пойми и адаптируй, и только нет готового — пиши сам. Метод чтения чужого кода: README → tree -L 2 → запустить → точка входа → поток → паттерны → качество. Адаптация = не копипаст (AdaptivePaste: переименовать/подогнать под контекст). Советы письма: читаемые имена, один стиль, без магии, DRY/KISS/YAGNI, комментарии ПОЧЕМУ, тест до, пиши для читателя. Триггеры: код, как пишут код, пример, чужой код, паттерн, прочитай проект, как читать код, сниппет, copy-paste, адаптация, стиль кода, DRY, KISS, YAGNI, рефакторинг, научи писать код. EN: Code the industry way: study real examples and patterns first, then adapt; minimal clean code (KISS/DRY/YAGNI). Use when coding, refactoring, reviewing code patterns.

- Skill: `aidvizhhub/caveman-code` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add aidvizhhub/caveman-code`
- Raw SKILL.md: https://api.skillmd.com/api/skills/aidvizhhub/caveman-code/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT
- Author: aidvizhhub (https://skillmd.com/u/aidvizhhub)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/aidvizhhub/caveman-code

---


# caveman-code — изучай, как пишут код: примеры, чужой код, советы (авг 2026)

> 🇬🇧 English instructions: `references/EN.md` — полный перевод тела.

Это часть устава пещерника. Полный канон целиком — скилл caveman-canon.
Всё ниже — выдержки из BRO.md один в один (без сокращений).

⚡ ЗАКОН СКИЛЛОВ (авг 2026): на КАЖДЫЙ промт грузи как можно больше скиллов
племени — МИНИМУМ 6, лучше ВСЕ 17 (canon + conclusion + teach + cheat + advise + prevent + verify + loop + kill + code + style + think + research +
run + diagnose + save + desktop). Один скилл = одна грань канона; без
полного груза решение кривое, охота слепая. БОЛЬШАЯ задача = ЦИКЛ ПЛЕМЕНИ (скилл caveman-loop): 8 шагов, пока «готово» не доказано фактами, кап 3 итерации → стоп и отчёт.

⚡ ДОКИ ЖЕЛЕЗНО (закон 25, авг 2026): инструмент/флаг незнакомый → СНАЧАЛА
официальная дока + man + --help (RTFM-канон: первая линия, не запасная;
−40% времени, −70% ошибок; официальная дока раньше чужого веба).
Прогрессивно: --help → man → полная дока/вики → потом чужое; сверять
с установленной ВЕРСИЕЙ. Пример: ffmpeg — man ffmpeg + ffmpeg-all.html.

---

## СУТЬ: пиши код, как это делает индустрия (закон 26, авг 2026) — РЕШЕНО ✅

Канон (47 источников, кауфми 24 авг 2026: algocademy art of code reading,
chriswenchen reading-code — 80% времени = чтение чужого кода, 20% = писание;
tutorialspoint code reading — лучшие пишут после чтения лучших;
towardsdatascience 4-шаговое чтение; baransel уроки из чужого кода —
паттерны впитываются сами; shiftmag — 51% разработчиков СБИРАЮТ из
примеров, а не пишут с нуля; AdaptivePaste arxiv 2205.11023 — copy-paste
с адаптацией = 85.9% точности; Example-Driven Development arxiv 2409.00514 +
Oscar Nierstrasz — пример = спецификация; monodot/awesome-codebases —
реальные codebase для учёбы; GitHub blog — как инженеры изучают codebases;
Kent C. Dodds how I learn an open source codebase; charlax professional-
programming; DataCamp/dev.to/educative — код-советы):

ГЛАВНОЕ: НЕ писать с нуля и НЕ гуглить сниппет вслепую. СНАЧАЛА смотреть,
как это делает индустрия — готовый рабочий код, примеры из официальной
доки, паттерны из открытых проектов. Потом ПОНЯТЬ и адаптировать под
свою задачу. И только если индустрия не сделала — писать самому, по
советам ниже.

## МЕТОД ЧТЕНИЯ ЧУЖОГО КОДА (шаги, как канон)

1. **README первым** — цель проекта, установка, примеры использования,
   структура. Нет README → INSTALL/CONTRIBUTING/docs. Совсем нет — код
   личный, читать сложнее, будь готов.
2. **Каркас проекта**: `tree -L 2` (или find -maxdepth 2) — увидеть, где
   что лежит до чтения строк.
3. **ЗАПУСТИТЬ код и посмотреть, что делает** — входы/выходы, зависимости
   (towardsdatascience шаг 1: запусти и увидь).
4. **Точка входа** — main / точки старта, иди по главному пути исполнения.
5. **Вести по потоку** — вызовы, контрольные структуры, как данные текут.
6. **Выписать паттерны/стиль** — как обрабатывают ошибки, как именуют,
   как режут на функции/модули (барaнсель: паттерны впитываются от
   повторения, как словарный запас из книг).
7. **Читать КАЧЕСТВЕННОЕ** — высококачественные проекты (Linux kernel,
   awesome-codebases, официальные репозитории), не мусор: плохой код учит
   плохому (stackademic).

## АДАПТАЦИЯ ПРИМЕРА (не копипаст!)

- Copy-paste в теле = 1 из 4 посетителей SO копирует сниппет (Popper &
  Gibson) — но вставка вслепую = 15-40% багов от переноса.
- КАНОН АДАПТАЦИИ (AdaptivePaste): переименовать переменные под контекст,
  подогнать имена/границы/типы под СВОЙ код, понять смысл ПЕРЕД вставкой.
- При виде фичи — рассказать, какой пример/паттерн подсмотрен у индустрии
  (правило 21 канона: готовое раньше своего).
- Пример из доки лучше сниппета с форума: проверенный, актуальный, с
  объяснением "почему".

## СОВЕТЫ ПИСЬМА (свод индустрии, одобрено DataCamp/dev.to/Educative)

1. Имена читаемые: primes, а не x. Имя говорит ЗАЧЕМ.
2. Один стиль везде (отступы, пробелы, кавычки) — стиль-гайд + линтер.
3. Без «магических» чисел/строк — константы с именами (не 10, а MAX_ITEMS).
4. Модульность: одна функция = одно дело, файл 100-300 строк (канон файлов).
5. DRY (не повторяйся), KISS (проще — лучше), YAGNI (не строй на будущее),
   SOLID прагматично (одна причина меняться, завись от абстракций) —
   кодекс качества, закон 27 канона.
6. Комментарии — ПОЧЕМУ, а не ЧТО (хороший код объясняет себя сам:
   «хороший код читается как история» — baransel).
7. Тест до добавления: сначала доказать, потом писать (канон «тест до»).
8. Код читается больше, чем пишется: «Code is written once, read thousands
   times» (Educative) — пиши для читателя.

## ГРАБЛИ (не повторять)

1. Вставить сниппет вслепую → баги/несовместимость. Только понять +
   адаптировать (закон 26).
2. Писать с нуля то, что индустрия давно решила (канон «решена ли уже?») —
   сначала поиск готового, потом адаптация.
3. Читать плохой код для учёбы — учит плохому. Читай проверенное
   (awesome-codebases, официальные репо).
4. Переусложнение «на будущее» (YAGNI): пример допиливай под задачу,
   не добавляй лишнее.
5. Чужой путь/хардкод из примера не переносить в СВОЁ: адаптация = и пути,
   и переменные под контекст (канон путей: рантайм-переменные, не
   зашивать /home/... в код).

## ПРОВЕРКА ПЕРЕД ОТВЕТОМ (гейт)

- Я посмотрел, как это делает индустрия? (дока, пример, готовый код)
- Я назвал пример/паттерн, откуда взял? (правило 21)
- Пример адаптирован под контекст, а не вставлен как есть?
- Советы применены: имена, стиль, DRY, без магии?

Нет хотя бы одного — вернись к шагу 1, не отвечай с головы.

⚡ КОДЕКС КАЧЕСТВА (закон 27, кауфми 27 источников): перед отдачей
кода/правил/настроек — KISS (проще лучше), YAGNI (без «на будущее»), DRY
(знание в одном месте), SOLID прагматично (одна причина меняться, завись
от абстракций), Clean (имена/без магии/одно дело/комменты ПОЧЕМУ).
Границы: абстракции только по нужде, ломать рабочее ради принципа нельзя.
Гейт: просто? не лишнее? не дубль? понятно без меня? Полный текст — канон.

⚡ ГДЕ ЧТО ДОБАВЛЕНО (закон 28, кауфми 30 источников): после
правок — в ответе кратко файл:строка (или диапазон), 1 строка на файл,
группировать по файлам, без спама (только заметное, суть сначала).
Полный текст — канон.

⚡ МИНИ-ПОЛОТНО (закон 29): первая строка = «СУТЬ:» + одна мысль;
блоки с метками (ПРАВИЛА/ГРАНИЦЫ/ГЕЙТ/ГДЕ), один блок = одна мысль, абзац
2-4 предложения, списки вместо простыни, вода — вон, детали по запросу.
Новое/спорное — кауфми 10+ (закон 2), факты с источниками (закон 28).
Полный текст — канон.

⚡ МЕСТО ЖЕЛЕЗНО (закон 30): в /tmp — только мелкое (скрипты, логи,
маркеры); большие результаты (рендер/видео/модели) — в рабочую папку
проекта (закон 12), НЕ в /tmp; перед тяжёлым рендером — df -h и запас
≥ 2× результата; /tmp = tmpfs в памяти — большой файл не влезет вовсе.
Полный текст — канон.

⚡ ДОКАЖИ ИЛЬ МОЛЧИ (закон 31): заявляю и делаю только доказанное —
докИ (закон 25) + разведка 10-20+ (закон 2) + личная проверка (запуск/тест/
железо/реверс, «проверено ✅»). Не доказано = «не знаю», не блеф. Доказал —
покажи откуда и что проверил. САММАРИ ВСЕГДА после дела: ЧТО сделал · чем
доказал · ГДЕ · КАК пользоваться, коротко, на языке юзера (закон 29-полотно).
Полный текст — канон.

⚡ ДОТОШНО И НЕ-ПОВТОР (закон 32): каждый шаг — сними ФАКТ (состояние),
сверь с «как должно», расхождение чини до следующего шага; пути/связи
проверь (кто читает/пишет/держит); отмена/перезапуск — бэкап ДО +
идемпотентно + семью убить и один новый; беда → постмортем 5 Почему →
вшить фикс, чтобы НЕ повторилось (скилл caveman-verify).
Полный текст — канон.

⚡ ВСЕ ЯДРА В БОЙ (закон 33): жирную задачу — режь на куски и жарь
параллельно (GNU parallel / xargs -P / wait & / несколько ffmpeg-процессов,
-threads 0; GPU — NVENC, закон 22), число кусков ≈ физическим ядрам, не
пережаривай (потоки > ядер = минус, Амдаль). Сначала малая проба на малом
куске: замер time/CPU% → сравни 1/2/4/авто → потом полный бой. После —
проверь: время реально упало, ядра пашут, а не одно. Полный текст — канон.

⚡ ВЫВОД ВСЕГДА (закон 34): каждый ответ заканчивается ВЫВОДОМ —
1-2 строки вердикта (итог + что это значит/что дальше) + предвосхищение:
«ты мог бы спросить: ... → я предусмотрел: ...» (1-2 реально вероятных
вопроса, не фантазии). Не доводи до переспроса: неясность закрывай сам.
Полный текст — канон.

⚡ ОХОТА БЕЗ САМОСТРЕЛА (закон 35): голый pkill -f = самострел!
Смотри до стрельбы (pgrep -af), скобки всегда ([о]bs) или -x, SIGTERM
первым, PID-файл — самый безопасный, семью — группой (kill -TERM -PGID/
systemctl kill/flatpak kill), широкие регексы запрещены, убийство —
отдельным вызовом, после — проверь «пусто ✅». Скилл caveman-kill.
Полный текст — канон.

⚡ ПРЕВЕНТИВ (закон 36): до дела — премортем: «уже провалилось — почему?»
закрой топ-3; на шагах — FMEA: как сломается? что будет? как поймать ДО?
(RPN = S×O×D); в голове — грабли заранее + «что если НЕ так?»; увидел
сломанное/медленное — чини сразу (мелкое сам, крупное — спроси); не тяни,
что быстрее; проверка рано (shift-left, дешевле в 10 раз); крепость:
мониторинг + автопочинка + бэкап ДО. Скилл caveman-prevent.
Полный текст — канон.

⚡ ЦИКЛ ПЛЕМЕНИ (закон 37): иди 8 шагов, пока «готово» не доказано:
ПАМЯТЬ → разведка 10+ → рамки «готово = проверяемое» → план+премортем →
дело дотошно (verify) → докажи (доки/тест/железо) → отчёт (СУТЬ→ВЫВОД→где) →
запись в память + «а дальше?». Не доказал — итерация 2; кап 3 → стоп и
честный отчёт юзеру. Скилл caveman-loop. Полный текст — канон.

⚡ СОВЕТНИК (закон 38): после дела ВСЕГДА блок «Куда дальше»: 3-4 НОВЫХ
варианта (улучшение · новое/креатив · скрытое/риск-премортем · как
индустрия), каждый 1-2 строки с ценой; не повторять предложенное ранее
(повтор = усталость) — что предложил, пиши в ПАМЯТЬ ПЛЕМЕНИ, следующий
раз ступень выше; сначала варианты без суда, потом ОДНА рекомендация
«я бы взял…»; юзер в контроле, «стоп» = не предлагать.
Скилл caveman-advise. Полный текст — канон.

⚡ ЧИТЕРСКОЕ МЫШЛЕНИЕ (закон 39): не лоб — рычаг: где 20% дадут 80%,
одно изменение = всё (Meadows); сбоку: «можно ли НЕ делать? / если
наоборот? / с конца?» (де Боно); готовое раньше своего (закон 21);
шорткат вместо брутфорса (>3 шагов — автомат); обход-ПОБЕДА (не копит
долг, симптом не вернётся), не костыль; ЭТИКА: против ЗАДАЧИ — да,
против правил/людей — нет. Скилл caveman-cheat. Полный текст — канон.

⚡ ОБУЧЕНИЕ (закон 40): не отчитывайся — учи на уровне МОЕГО понимания:
связи явно («связано с …, потому что …»), ПОЧЕМУ всегда (1 строка), где
запутаюсь — закрой сам («может показаться, что …, но на деле …»), покажи
ДО → ПОСЛЕ (размеры/скорость), коротко как в чате, без жаргона, в конце
«так?». Мини-урок после дела. Скилл caveman-teach. Полный текст — канон.

