CF autothread
Добавьте `/topic` в начало любого сообщения, и агент создаст тему/ветку с автоматически сгенерированным заголовком. Telegram и Nicegram: тема форума создается через Bot API, и исходное сообщение цитируется внутри нее (медиа пересылается). Discord: из сообщения создается публичная ветка, и цитата публикуется внутри. Signal не имеет встроенных тем или веток, поэтому его адаптер вместо этого отправляет сообщение с заголовком в группу (или как личное сообщение по номеру телефона) — там объект темы не создается. Все учетные данные считываются из локальной конфигурации OpenClaw; ничего не отправляется, кроме API самой целевой платформы. Каждый адаптер платформы представляет собой отдельный скрипт, реализующий только свою платформу; скрипты/общие вспомогательные файлы обрабатывают резервный вариант заголовка и вывод JSON. Репозиторий также поставляется с автономным набором тестов с локальным mock API-сервером (не является частью среды выполнения).
машинный переводПоказать оригиналСкрыть оригинал«Add `/topic` to the start of any message and the agent creates a topic…»
Add `/topic` to the start of any message and the agent creates a topic/thread from it with an auto-generated title. Telegram and Nicegram: a forum topic is created via the Bot API and the original message is quoted inside it (media is forwarded). Discord: a public thread is created from the message and the quote is posted inside. Signal has no native topics or threads, so its adapter instead posts a titled digest message to the group (or as a DM to a phone number) — no topic object is created there. All credentials are read from the local OpenClaw config; nothing is sent anywhere except the target platform's own API. Each platform adapter is a separate script that implements only its own platform; scripts/ shared helpers handle title fallback and JSON output. The repo also ships an offline test suite with a localhost mock API server (not part of the runtime).
Добавьте /topic в начало любого сообщения, и агент создаст тему/ветку с автоматически сгенерированным заголовком.
Как процесс F 40/100 · Не запустится — Скилл ссылается на файлы, которых нет в архиве: <link>
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».
Если отправка не нужна для задачи, уберите её: каталоги помечают такие скиллы как подозрительные и снимают с выдачи. Если нужна, назовите адрес явно, объясните, что именно уходит, и дайте пользователю выключатель.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Скилл просит больше прав, чем нужно для задачи: широкий доступ к инструментам, секретные переменные окружения, бинарные файлы. Каждое лишнее право расширяет ущерб при ошибке или взломе.
Сузьте allowed-tools и список переменных до минимума, замените бинарники на исходники или скрипты, которые можно прочитать.
Как улучшить
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- В тексте есть ссылки на отсутствующие файлы: добавьте файлы или уберите ссылки.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 5
✓ Критических и высоких находок нет
Средние и низкие: 5
-
средняя Утечка данных
net-credential-usescripts/autothread-discord.sh:75Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)CHANNEL_INFO=$(curl -s -H "Authorization: Bot ${BOT_TOKEN}" "$API_BASE/channels/${CHANNEL_ID}") -
средняя Утечка данных
net-credential-usescripts/autothread-telegram.sh:81Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)CREATE_RESULT=$(curl -s "$API/bot${BOT_TOKEN}/createForumTopic" \ -
средняя Утечка данных
net-credential-usescripts/autothread-telegram.sh:101Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)SEND_RESULT=$(curl -s "$API/bot${BOT_TOKEN}/sendMessage" \ -
средняя Утечка данных
net-credential-usescripts/autothread-telegram.sh:113Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)FWD_RESULT=$(curl -s "$API/bot${BOT_TOKEN}/forwardMessage" \ -
средняя Широкие права
meta-broad-allowed-toolsSKILL.md:1Заранее разрешены широкие инструменты: Bash(curl)allowed-tools: Bash(scripts/autothread-telegram.sh) Bash(scripts/autothread-discord.sh) Bash(scripts/autothread-signal.sh) Bash(scripts/autothread-nicegram.sh) Bash(curl) Bash(jq) Bash(signal-cli) Bas
Просканировано файлов: 9. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда") - предупреждение
missing-refссылка на отсутствующий файл: <link>
Процессный рейтинг: все десять параметров 40/100
- 0Инструменты и файлы. Не хватает 1 файла(ов): <link>
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 9, без проверки текущего состояния
- 70Входы и предусловия. Входные данные и предусловия перечислены
- 100Шаги. Шагов: 16
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 982 токенов
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 871: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- +2Инструкции на одном языке
- +4Структура: 6 заголовков
- +3Пошаговые инструкции: 16 пунктов
- +4Есть примеры (5 блоков кода)
- +3Все 4 скриптов описаны в инструкциях
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 67.