BD Log Smell Auditor
Аудитор качества логирования приложений. Сканирует исходные файлы на наличие антипаттернов логирования — оставленные в производственных путях отладочные/печатные операторы, несоответствия уровней логирования (ошибки, регистрируемые как информация, игнорируемые предупреждения), риск раскрытия PII (адрес электронной почты, токен, пароль, появляющиеся в строках логов), отсутствие полей структурированного контекста (отсутствие request_id/trace_id в вызовах логирования обработчика веб-запросов) и избыточное заполнение логов в циклах. Поддерживает JavaScript/TypeScript (console.log, winston, pino), Python (logging, structlog, print), Go (log, zap, logrus), Java (SLF4J, Log4j) и Ruby (Rails logger). Отчеты по степени серьезности с указанием файлов и строк. Генерирует исправление в одну команду для наиболее распространенных проблем. Нет внешних API — чистый статический анализ файлов. Активируется по запросам "logging audit", "bad logs", "debug left in code", "PII in logs", "log level wrong", "missing trace id", "/log-audit".
машинный переводПоказать оригиналСкрыть оригинал«Application logging quality auditor. Scans source files for logging an…»
Application logging quality auditor. Scans source files for logging anti-patterns — debug/print statements left in production paths, log level mismatches (errors logged as info, warnings swallowed), PII exposure risk (email, token, password appearing in log strings), missing structured context fields (no request_id/trace_id in web handler log calls), and noisy debug flooding in tight loops. Supports JavaScript/TypeScript (console.log, winston, pino), Python (logging, structlog, print), Go (log, zap, logrus), Java (SLF4J, Log4j), and Ruby (Rails logger). Reports by severity with file and line citations. Generates a one-command fix for the most common issues. Zero external API — pure static file analysis. Triggers on "logging audit", "bad logs", "debug left in code", "PII in logs", "log level wrong", "missing trace id", "/log-audit".
Аудитор качества логирования приложений.
Как процесс D 47/100 · Процесс не доведён — слабые места: результат и критерий готовности, входы и предусловия, ошибки и развилки
Как улучшить
- Скажите в 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 / используй когда") - заметка
frontmatter-keyнеизвестное поле фронтматтера "homepage"
Процессный рейтинг: все десять параметров 47/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 30Повторный запуск. Изменяющих операций: 4, без проверки текущего состояния
- 40Согласованность. Имя во frontmatter (Log Smell Auditor) не совпадает с папкой (phy-log-smell-auditor)
- 60Инструменты и файлы. Используются инструменты (bash, python), но во frontmatter они не объявлены
- 70Когда включается. Сказано, когда применять, но не сказано, когда не стоит
- 100Шаги. Шагов: 9
- 100Стоимость исполнения. Тело инструкции 3520 токенов
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- high Скилл велит модели самой совершать необратимое действие, без подтверждения человеком
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 843: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- +2Инструкции на одном языке
- +5В description 7 примера фраз-триггеров в кавычках
- +4Структура: 14 заголовков
- +3Пошаговые инструкции: 9 пунктов
- +4Есть примеры (19 блоков кода)
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 69.