CC universal-voice-agent
Агент голосовых звонков в реальном времени с целевой ориентацией. Используйте, когда вам нужно совершать телефонные звонки с конкретной целью: размещать заказы, делать бронирования, оказывать поддержку клиентам, проводить ободряющие звонки или любую другую разговорную цель. Haiku ведет звонок в реальном времени вашим голосом (ElevenLabs), транскрибирует ответы (Groq Whisper), интеллектуально адаптируется к ходу разговора, обрабатывает паузы/ожидание и отправляет вам SMS-сводку. Никаких сценариев, чистое мышление в реальном времени.
машинный переводПоказать оригиналСкрыть оригинал«Real-time goal-oriented voice calling agent. Use when you need to make…»
Real-time goal-oriented voice calling agent. Use when you need to make phone calls with a specific objective: place orders, make reservations, customer service, encouragement calls, or any conversational goal. Haiku runs the call in real-time with your voice (ElevenLabs), transcribes responses (Groq Whisper), adapts intelligently to conversation flow, handles silence/holds, and sends you an SMS summary. No scripts, pure real-time reasoning.
Агент голосовых звонков в реальном времени с целевой ориентацией.
Как процесс C 51/100 · Есть пробелы — слабые места: результат и критерий готовности, когда включается, входы и предусловия
Такой же скилл встречается ещё в 2 местах: skill-library-mcp, skill-library-mcp
Чем это грозит
Скилл содержит фрагменты, которые в чужих руках стоят денег или данных. Ниже, что рискует потерять тот, кто установит, и что должен сделать автор.
Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».
Если отправка не нужна для задачи, уберите её: каталоги помечают такие скиллы как подозрительные и снимают с выдачи. Если нужна, назовите адрес явно, объясните, что именно уходит, и дайте пользователю выключатель.
Как улучшить
- Разберите находки высокой серьёзности: каждая стоит 18 баллов безопасности. Если это ложное срабатывание, добавьте код правила в guard.allow в spec.yaml.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 14
-
высокая Утечка данных
exfil-webhook-urlreferences/WEBSOCKET_SETUP.md:66URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес)Forwarding https://abc1….io -> http://loca…000
Средние и низкие: 13
-
средняя Утечка данных
exfil-webhook-urlREADME.md:27URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (в кавычках — упоминание, а не команда)Set **Webhook URL** to: `https://abc1….io/call-webhook`
в кавычках -
средняя Утечка данных
exfil-webhook-urlreferences/WEBSOCKET_SETUP.md:74URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (в кавычках — упоминание, а не команда)- **Webhook URL**: `https://abc1….io/call-webhook`
в кавычках -
средняя Утечка данных
exfil-webhook-urlSETUP.md:85URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (в кавычках — упоминание, а не команда)3. Set URL to: `https://abc1….io/call-webhook`
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:22Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha5…GLi+2W/6ao+6Y7gu/RCwR…Kng==",
детектор -
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:44Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha5…Jqj+nOOr…S5A==",
детектор -
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:72Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha5…9dM/mwVgvbZJaSNaRk+bshk…Kbz+IoId…W0Q==",
детектор -
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:78Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha5…Zif+qXa4n+oYzK…TZQ/vlgJrCoNQlg==",
детектор -
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:157Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha5…SDq+2kAA…MOe/+5cdoEdg==",
детектор -
низкая Утечка данных
exfil-webhook-urlREADME.md:21URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (демонстрация атаки / пример; в кавычках — упоминание, а не команда)Copy the ngrok URL (e.g., `https://abc1….io`)
демонстрацияв кавычках -
низкая Секреты в коде
secret-high-entropy-tokenrun.sh:4Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)export TWILIO_ACCOUNT_SID="AC35…ca9"
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenscripts/agent.js:21Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)const TWILIO_ACCOUNT_SID = process.env.TWILIO_ACCOUNT_SID || 'AC35…ca9';
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenscripts/websocket-server.js:29Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)const ACCOUNT_SID = process.env.TWILIO_ACCOUNT_SID || 'AC35…ca9';
в кавычках -
низкая Утечка данных
exfil-webhook-urlSETUP.md:78URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (демонстрация атаки / пример; в кавычках — упоминание, а не команда)Copy the ngrok URL (e.g., `https://abc1….io`)
демонстрацияв кавычках
Просканировано файлов: 10. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
frontmatter-yamlSKILL.md: фронтматтер не разбирается как YAML (YAML parse error: Nested mappings are not allowed in compact mappings at line 2, column 14: description: Real-time goal-oriented voice calling agent. Use when you need to … ^ ); поля прочитаны построчно. Обычная причина — двоеточие в незакавыченном значении
Процессный рейтинг: все десять параметров 51/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 3, без проверки текущего состояния
- 100Инструменты и файлы. Внешние инструменты не нужны
- 100Шаги. Шагов: 39
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 1042 токенов
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- -31 из 2 скриптов не упомянуты в SKILL.md
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 444 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 14 заголовков
- +3Пошаговые инструкции: 39 пунктов
- +4Есть примеры (7 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (1 из 2)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 75.