BF Memory Leak Detector
Сканер шаблонов утечек статической памяти для Node.js, Python, Go и Java. Анализирует исходные файлы для обнаружения утечек обработчиков событий (addEventListener без соответствующего removeEventListener), неограниченного роста кэша (Maps/объекты, растущие в замыканиях без вытеснения), ссылок setInterval/setTimeout, которые препятствуют сборке мусора, больших выделений буфера внутри обработчиков запросов, накопления глобальных переменных, шаблонов циклических ссылок и отсутствия очистки в деструкторах классов/useEffect. Для Node.js также выполняет сравнение снимков кучи --expose-gc (до/после нагрузочного тестирования) для подтверждения утечек во время выполнения. Нулевой внешний сервис — чистый статический анализ + необязательная локальная куча Node.js. Триггеры: "memory leak", "heap growing", "OOM in production", "memory usage", "event listener leak", "setInterval not cleared", "/mem-leak".
машинный переводПоказать оригиналСкрыть оригинал«Static memory leak pattern scanner for Node.js, Python, Go, and Java.…»
Static memory leak pattern scanner for Node.js, Python, Go, and Java. Analyzes source files to detect event listener leaks (addEventListener without corresponding removeEventListener), unbounded cache growth (Maps/objects grown in closures without eviction), setInterval/setTimeout references that prevent GC, large buffer allocations inside request handlers, global variable accumulation, circular reference patterns, and missing cleanup in class destructors/useEffect. For Node.js also runs --expose-gc heap snapshot diff (before/after load test) to confirm leaks at runtime. Zero external service — pure static analysis + optional local Node.js heap. Triggers on "memory leak", "heap growing", "OOM in production", "memory usage", "event listener leak", "setInterval not cleared", "/mem-leak".
Сканер шаблонов утечек статической памяти для Node.js, Python, Go и Java. Анализирует исходные файлы для обнаружения утечек обработчиков событий…
Как процесс F 32/100 · Не запустится — Скилл ссылается на файлы, которых нет в архиве: \w+
Как улучшить
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- В тексте есть ссылки на отсутствующие файлы: добавьте файлы или уберите ссылки.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 0
✓ Критических и высоких находок нет
Просканировано файлов: 2. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
name-formatname должен быть в kebab-case (строчные буквы, цифры, дефисы) - предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда") - предупреждение
missing-refссылка на отсутствующий файл: \w+ - заметка
frontmatter-keyнеизвестное поле фронтматтера "homepage"
Процессный рейтинг: все десять параметров 32/100
- 0Инструменты и файлы. Не хватает 1 файла(ов): \w+
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 30Повторный запуск. Изменяющих операций: 1, без проверки текущего состояния
- 40Согласованность. Имя во frontmatter (Memory Leak Detector) не совпадает с папкой (phy-memory-leak-detector)
- 70Когда включается. Сказано, когда применять, но не сказано, когда не стоит
- 70Стоимость исполнения. Тело инструкции 4040 токенов
- 100Шаги. Шагов: 9
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- -2Ссылки на localhost: у другого пользователя не заработает
- +2Инструкции на одном языке
- +5В description 7 примера фраз-триггеров в кавычках
- +3Длина description 796 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 13 заголовков
- +3Пошаговые инструкции: 9 пунктов
- +4Есть примеры (13 блоков кода)
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 64.