DC social-scheduler
(описание отсутствует)
Как процесс C 56/100 · Есть пробелы — слабые места: результат и критерий готовности, когда включается, входы и предусловия
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».
Если отправка не нужна для задачи, уберите её: каталоги помечают такие скиллы как подозрительные и снимают с выдачи. Если нужна, назовите адрес явно, объясните, что именно уходит, и дайте пользователю выключатель.
Как улучшить
- Добавьте description во фронтматтер: без него скилл никогда не сработает.
- Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 20
✓ Критических и высоких находок нет
Средние и низкие: 20
-
средняя Утечка данных
exfil-webhook-urlscripts/platforms/discord.js:21URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (определение детектора / чёрного списка)'Expected format: https://discord.com/api/webhooks/ID/TOKEN\n\n' +
детектор -
средняя Утечка данных
exfil-webhook-urlscripts/platforms/discord.js:187URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (в кавычках — упоминание, а не команда)configFormat: 'Webhook URL string: https://discord.com/api/webhooks/ID/TOKEN',
в кавычках -
низкая Утечка данных
read-dotenvANNOUNCEMENT.md:59Чтение файла .envcp .env.example .env
-
низкая Утечка данных
read-dotenvannouncements/README.md:139Чтение файла .env3. Copy .env.example to .env
-
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:22Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha5…Enc/vzKw…pBK+z+KYh9…dU9+g2G+7zanTIGbw==",
детектор -
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:137Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha5…JbG+vnnQ…1TK+nxAp…hhm+kzE4…g4g==",
детектор -
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:154Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha512-vuBv+fm2s…sik+GMDJ…gLl+u3Mo…feA==",
детектор -
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:184Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha5…pdo+E3+pCyA…t4i+W7OO…FT3+y5NZZfOOS/Bdcanm1MYA==",
детектор -
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:247Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha5…HxH+tv3k…kSo+8o0wxg9lZWw==",
детектор -
низкая Утечка данных
read-dotenvREADME.md:34Чтение файла .envcp .env.example .env
-
низкая Утечка данных
read-dotenvREADME.md:425Чтение файла .envcp .env.example .env
-
низкая Утечка данных
exfil-webhook-urlRELEASE.md:87URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/...
заглушка -
низкая Утечка данных
exfil-webhook-urlscripts/platforms/telegram.js:114URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)const url = `https://api.telegram.org/bot${botToken}/sendMessage`;заглушка -
низкая Утечка данных
exfil-webhook-urlscripts/platforms/telegram.js:167URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)const url = `https://api.telegram.org/bot${botToken}/${method}`;заглушка -
низкая Утечка данных
exfil-webhook-urlscripts/test.js:23URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (тестовый файл / пример; в кавычках — упоминание, а не команда)discord.validate('https://discord.com/api/webhooks/123/abc');тестовый файлв кавычках -
низкая Секреты в коде
secret-labelled-tokenscripts/test.js:95Токен / ключ рядом с меткой (формат неизвестен — проверьте, что это не живой секрет) (значение-заглушка)api_key: 'molt…890'
заглушка -
низкая Секреты в коде
secret-password-literalscripts/test.js:95Захардкоженный пароль / ключ (возможно, пример) (значение-заглушка)api_key: 'molt…890'
заглушка -
низкая Утечка данных
exfil-webhook-urlscripts/test.js:164URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (тестовый файл / пример; в кавычках — упоминание, а не команда)config: 'https://discord.com/api/webhooks/123/abc'
тестовый файлв кавычках -
низкая Утечка данных
exfil-webhook-urlSKILL.md:248URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)- Message bot, then call: `https://api.telegram.org/bot<TOKEN>/getUpdates`
заглушка -
низкая Утечка данных
exfil-webhook-urlSKILL.md:783URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)export DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/..."
заглушка
Просканировано файлов: 50. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- ошибка
frontmatterSKILL.md: no YAML frontmatter block found - ошибка
name-missingSKILL.md: нет поля name во фронтматтере - ошибка
description-missingSKILL.md: нет description — скилл никогда не сработает - предупреждение
body-longтело SKILL.md ≈ 6642 токенов (рекомендуется < 5000); вынесите детали в references/
Процессный рейтинг: все десять параметров 56/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Когда включается. Не сказано, при каком запросе скилл включается
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 30Повторный запуск. Изменяющих операций: 21, без проверки текущего состояния
- 70Стоимость исполнения. Тело инструкции 6642 токенов
- 85Шаги. Шагов: 166, расплывчатых формулировок: 1
- 100Инструменты и файлы. Внешние инструменты не нужны
- 100Ошибки и развилки. Развилок: 1, есть раздел про ошибки
- 100Согласованность. Имя и обязательные поля на месте
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- low Разделов верхнего уровня: 12. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 0: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- -5В тексте остались TODO / заглушки
- -254 эмодзи в инструкциях: шум для модели
- -38 из 14 скриптов не упомянуты в SKILL.md
- +1Лицензия не указана
- +2Инструкции на одном языке
- +4Структура: 53 заголовков
- +3Пошаговые инструкции: 166 пунктов
- +4Есть примеры (97 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 0.