SKILLEMALL.ai

CC Fish Audio S1 TTS Skill

Этот навык использует Fish Audio S1 для генерации высококачественного аудио из текста в речь и загрузки его в NextCloud.

машинный переводПоказать оригиналСкрыть оригинал«This skill uses Fish Audio S1 to generate high-quality text-to-speech…»

This skill uses Fish Audio S1 to generate high-quality text-to-speech audio and upload it to NextCloud.

modbender/skill-library-mcp Agent Skills автор: modbender MIT 2 файла тело ≈ 2 731 токенов Открыть источникgithub.com проанализирован 2 дн назад

Этот навык использует Fish Audio S1 для генерации высококачественного аудио из текста в речь и загрузки его в NextCloud.

Как процесс C 61/100 · Есть пробелы — слабые места: результат и критерий готовности, когда включается, согласованность

ИнтеграцияРазработкаДанные и аналитикаТексты и документытип и темы размечены автоматически по тексту скилла
JSON
Технический рейтинг
C
72/100
безопасность, качество, тесты
Безопасность 60%
78
Качество 40%
62
Прогон на моделях
не было
Процессный рейтинг
C
61/100
Есть пробелы
Результат и критерий готовности вес 14
0
Отчётность по ходу вес 2
0
Когда включается вес 12
20
три самых слабых из десяти параметров · все десять

Чем это грозит

Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.

Утечка данных средняя серьёзность

Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.

Если установить

Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».

Автору

Если отправка не нужна для задачи, уберите её: каталоги помечают такие скиллы как подозрительные и снимают с выдачи. Если нужна, назовите адрес явно, объясните, что именно уходит, и дайте пользователю выключатель.

Как улучшить

  1. Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
Для прогона на моделях — необязательно
  • Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
  • spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.

Находки guard · 6

✓ Критических и высоких находок нет

Средние и низкие: 6
  • средняя Утечка данных net-credential-use SKILL.md:31
    Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
    curl -s -u "$NEXTCLOUD_USER:$NEXTCLOUD_PASS" \
  • средняя Утечка данных net-credential-use SKILL.md:181
    Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
    curl -s -u "$NEXTCLOUD_USER:$NEXTCLOUD_PASS" \
  • средняя Утечка данных net-credential-use SKILL.md:241
    Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
    if ! curl -s -u "$NEXTCLOUD_USER:$NEXTCLOUD_PASS" \
  • средняя Утечка данных net-credential-use SKILL.md:341
    Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
    curl -s -u "$NEXTCLOUD_USER:$NEXTCLOUD_PASS" \
  • низкая Секреты в коде secret-high-entropy-token SKILL.md:42
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    export NEXTCLOUD_PASS="N95q…EW5"
    в кавычках
  • низкая Секреты в коде secret-high-entropy-token SKILL.py:18
    Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)
    NEXTCLOUD_PASS = os.environ.get('NEXTCLOUD_PASS', 'N95q…EW5')
    в кавычках

Просканировано файлов: 2. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.

По спецификации Agent Skills

  • предупреждение name-format name должен быть в kebab-case (строчные буквы, цифры, дефисы)
  • предупреждение description-no-when description не говорит, КОГДА применять скилл (нет "use when / используй когда")

Процессный рейтинг: все десять параметров 61/100

  • 0Результат и критерий готовности. Не сказано, что считать результатом
  • 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
  • 20Когда включается. Не сказано, при каком запросе скилл включается
  • 40Согласованность. Имя во frontmatter (Fish Audio S1 TTS Skill) не совпадает с папкой (fish-tts)
  • 50Ошибки и развилки. Развилок: 0, есть раздел про ошибки
  • 70Входы и предусловия. Входные данные и предусловия перечислены
  • 100Инструменты и файлы. Внешние инструменты не нужны
  • 100Шаги. Шагов: 72
  • 100Стоимость исполнения. Тело инструкции 2731 токенов
  • 100Повторный запуск. Изменяющие операции проверяют текущее состояние
  • low Разделов верхнего уровня: 18. Похоже на несколько доменов в одном скилле

Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.

Сигналы качества

  • +5В description нет примеров фраз, по которым скилл должен срабатывать
  • +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
  • +3Длина description 103: рекомендуется 120–800 символов
  • +3Формат ответа не описан: модель каждый раз решает сама
  • -2Ссылки на localhost: у другого пользователя не заработает
  • +1Лицензия не указана
  • +2Инструкции на одном языке
  • +4Структура: 41 заголовков
  • +3Пошаговые инструкции: 72 пунктов
  • +4Есть примеры (12 блоков кода)

База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 62.