BC Cron Explainer
Объяснение, проверка и преобразование выражений cron. Переводит любое выражение cron на простой английский язык ("0 */6 * * *" → "Каждые 6 часов, в 0 минут"), показывает следующие 5 запланированных времен запуска с точными датами, обнаруживает невозможные/конфликтующие выражения (30 февраля, конфликтующие день недели + день месяца), определяет подозрительные шаблоны (каждую минуту в продакшене, очень частые расписания для дорогостоящих операций) и преобразует описания на простом английском языке в cron ("каждый будний день в 9 утра" → "0 9 * * 1-5"). Поддерживает все основные варианты: стандартный Unix 5 полей, 6 полей с секундами, AWS EventBridge, расписание GitHub Actions, Kubernetes CronJob, Spring @Scheduled и специальные строки (@yearly, @monthly, @daily, @hourly, @reboot). Также сканирует файлы .github/workflows/ и Kubernetes YAML на наличие расписаний cron и проверяет их. Нулевое внешнее API — чистое локальное парсинг. Триггеры по "cron expression", "what does this cron mean", "cron to English", "cron schedule", "explain cron", "@reboot", "/cron".
машинный переводПоказать оригиналСкрыть оригинал«Cron expression explainer, validator, and converter. Translates any cr…»
Cron expression explainer, validator, and converter. Translates any cron expression into plain English ("0 */6 * * *" → "Every 6 hours, at minute 0"), shows the next 5 scheduled run times with exact dates, detects impossible/conflicting expressions (Feb 30, conflicting day-of-week + day-of-month), identifies suspicious patterns (every minute in production, very-frequent schedules on expensive operations), and converts plain English descriptions to cron ("every weekday at 9am" → "0 9 * * 1-5"). Supports all major flavors: standard Unix 5-field, 6-field with seconds, AWS EventBridge, GitHub Actions schedule, Kubernetes CronJob, Spring @Scheduled, and special strings (@yearly, @monthly, @daily, @hourly, @reboot). Also scans .github/workflows/ and Kubernetes YAML files for cron schedules and audits them. Zero external API — pure local parsing. Triggers on "cron expression", "what does this cron mean", "cron to English", "cron schedule", "explain cron", "@reboot", "/cron".
Объяснение, проверка и преобразование выражений cron.
Как процесс C 53/100 · Есть пробелы — слабые места: результат и критерий готовности, входы и предусловия, ошибки и развилки
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Скилл содержит команды, которые удаляют файлы, переписывают диски или исполняют код, скачанный из сети. Агент может выполнить их без вопроса, если считает, что так требует инструкция.
Замените разрушительные команды на безопасные аналоги с подтверждением, ограничьте область действия конкретной папкой и не тяните код через curl | bash: укажите версию и контрольную сумму.
Как улучшить
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 4
✓ Критических и высоких находок нет
Средние и низкие: 4
-
средняя Опасные команды
cmd-persistenceSKILL.md:3Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (документация security-скилла)description: Cron expression explainer, validator, and converter. Translates any cron expression into plain English ("0 */6 * * *" → "Every 6 hours, at minute 0"), shows the next 5 scheduled run timessecurity-скилл
Ещё 3 совпадений отнесены к цитатам в документации скилла по безопасности и не считаются находками.
Просканировано файлов: 2. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
frontmatter-yamlSKILL.md: фронтматтер не разбирается как YAML (YAML parse error: Nested mappings are not allowed in compact mappings at line 2, column 14: description: Cron expression explainer, validator, and converter. Translates an… ^ ); поля прочитаны построчно. Обычная причина — двоеточие в незакавыченном значении - предупреждение
name-formatname должен быть в kebab-case (строчные буквы, цифры, дефисы) - предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда") - предупреждение
body-longтело SKILL.md ≈ 6739 токенов (рекомендуется < 5000); вынесите детали в references/ - заметка
frontmatter-keyнеизвестное поле фронтматтера "homepage"
Процессный рейтинг: все десять параметров 53/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 40Согласованность. Имя во frontmatter (Cron Explainer) не совпадает с папкой (phy-cron-explainer)
- 70Когда включается. Сказано, когда применять, но не сказано, когда не стоит
- 70Стоимость исполнения. Тело инструкции 6739 токенов
- 100Инструменты и файлы. Внешние инструменты не нужны
- 100Шаги. Шагов: 9
- 100Повторный запуск. Изменяющих операций нет
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 982: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- +2Инструкции на одном языке
- +5В description 10 примера фраз-триггеров в кавычках
- +4Структура: 13 заголовков
- +3Пошаговые инструкции: 9 пунктов
- +4Есть примеры (9 блоков кода)
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 49.