minimal-code
Skill9 starsChanged 3 months agoMITView on GitHub
Перед правкой кода, когда есть выбор решения (абстракция, зависимость, копипаста) - минимальное: переиспользование, stdlib, потом новое. Тривиальная правка без выбора - избыточен.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- Yesterday-AI/ytstacktheir own version, first seen Nov 8, 2026
- dewil/ai-toolkitword for word, first seen Aug 25, 2026
Other versions2 projects use a version of this.
Word for word · 1
- dewil/ai-toolkit★ 9100% same
Edited · 0
None found.
Wrote their own version · 1
- Yesterday-AI/ytstack★ 2same name
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 repository37 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- agent-browserSkill
- android-apk-releaseSkill
- asana-blockersSkill
- asana-commentsSkill
- asana-projectSkill
- backlog-taskSkill
- canon-syncSkill
- csv-xlsxSkill
- estimate-calibrationSkill
- gdocsSkill
- harvest-canonSkill
- implementSkill
- jev-decideSkill
- llm-ruSkill
- local-transcriptionSkill
- md-docxSkill
- md-pdfSkill
- md-pptxSkill
- memory-compactSkill
- memory-searchSkill
- migrateSkill
- mymeet-snapshotSkill
- office-mdSkill
- pii-maskSkill
- proofreadSkill
- qa-browserSkill
- redmine-snapshotSkill
- repo-publicationSkill
- requirementsSkill
- reviewSkill
- sddSkill
- session-costSkill
- telegram-sendSkill
- telegram-snapshotSkill
- tutorSkill
- web-researchSkill
The file
Files
Минимализм кода
Перед тем как писать код, пройди лестницу молча (без пошагового нарратива) и остановись на первой подходящей ступени:
- Это нужно прямо сейчас? Нет -> не пиши (YAGNI).
- Уже есть в кодовой базе -> переиспользуй или расширь.
- Есть в stdlib или нативных возможностях платформы (HTML, CSS, ОС) -> используй.
- Есть в установленных зависимостях -> используй.
- Иначе -> минимальное ясное изменение в стиле проекта.
Если остановился на ступени 5 не самоочевидным образом - одной строкой скажи пользователю, почему предыдущие ступени не подошли.
Новая зависимость - вне лестницы: не добавляй молча. Предложи ее явно с одной строкой обоснования, почему ступени 2-4 не покрывают (например: security-чувствительный или сложный домен, где свой код хуже проверенной библиотеки).
Когда НЕ применять
- Решение уже принято и реализовано - лестница ступеней нужна на развилке, а не как повод переписать работающий код. Переписывание ради простоты это отдельная задача с отдельным обоснованием.
- Сложность требуется по существу - криптография, транзакции, обработка отказов в распределенной системе. Здесь "минимально" не равно "проще": срезанная ступень оборачивается дефектом.
- Чужой код в чужом стиле - правка в существующем проекте следует его конвенциям, даже если они сложнее нужного (см.
karpathy-guidelines.mdпро хирургичность).
Багфикс: чини общую функцию, а не путь из тикета
Тикет называет симптом - место, где проблема всплыла. Прежде чем ставить guard там, найди функцию, в которой дефект на самом деле, и прогреби ее вызывающих (grep). Один фикс в общей функции - меньший диф, чем guard на каждом вызове, а патч только по пути из тикета оставляет соседние вызовы сломанными.
Свип вызывающих - это разведка, а не фронт работ, и решает он ровно один вопрос: что функция обещает.
- Обещает нужную гарантию - чини внутри нее, вызовы не трогай. Обещание бывает и параметром:
resolve_path(path, sandbox_root=None)уже заявляет, что при переданномsandbox_rootрезультат не выйдет за него; если не выходит - дефект внутри функции, и guard'ы у вызывающих его не закрывают, а размазывают (следующий вызов снова забудут). - Не обещает, а гарантия нужна части вызывающих - чини у них, на границе доверия. Тот же
resolve_path()без такого параметра зовут и HTTP-контроллер с путем от пользователя, и backup-CLI с доверенным абсолютным путем; sandbox-проверка внутри общей функции закроет дыру и сломает бэкап. Диф в общей функции короче, но поведенчески шире запроса - это уже не минимализм, а поломка соседей.
Вопрос "чего ждут вызывающие" сам по себе развилку не решает: ждать они могут разного как раз потому, что функция обещает разное поведение по флагу.
Это ступень 2, примененная к багфиксу: сначала посмотри, что уже есть, потом решай, где чинить.
Осознанное упрощение помечай в коде
Срезал реальный угол с известным потолком (глобальный лок вместо пула, перебор вместо индекса, наивная эвристика) - оставь рядом маркер-комментарий: что упрощено, где потолок, чем заменить, когда упрется.
# SIMPLIFIED: глобальный лок вместо пула - хватает до ~10 rps, дальше нужен пул соединенийБез пометки срезанный угол неотличим от недосмотра: ни ревьюер, ни ты через месяц не отличите "решили так осознанно" от "не подумали". Единый маркер по проекту дает реестр техдолга одним grep.
Маркер подчиняется конвенциям проекта, а не наоборот: принят свой (HACK:, NOTE:) - используй его, не заводи второй; проект запрещает такие комментарии (линтер вроде no-warning-comments, генерируемые файлы, код под checksum) - зафиксируй упрощение там, где проект ведет учет: в описании PR, тикете, CHANGELOG. Требование - чтобы потолок был записан, а не чтобы он был записан именно комментарием.
Никогда не режь ради краткости
Корректность, читаемость, необходимые тесты, валидацию на границах доверия (внешний ввод, API), security, защиту от потери данных, доступность (a11y).
Из двух решений одного размера выбирай edge-case-корректное: минимализм - это меньше кода, а не более хлипкий алгоритм.
Принцип
Ленивый в решении - не ленивый в чтении: сначала изучи существующий код.
См. также rules/karpathy-guidelines.md (Simplicity First): там - общий принцип поведения, здесь - процедура выбора решения.
Модель и текущие назначения
Перед новым заданием и запуском применяй маршрутизацию моделей: свежий MODELS выше канонического дефолта. Границы данных и полномочий этого навыка сохраняются.
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.

