SKILLEMALL.ai

DC opencode-qa

Проводит QA opencode, по каждому случаю: проверяет CLI/терминал (opencode run, db, serve, export), доказывает срабатывание конкретного плагина/действия/события через SSE event stream, проводит smoke-test TUI в tmux и исследует сессии в SQLite DB opencode по id, заголовку/имени или тексту сообщения. Поставляет протестированные вспомогательные скрипты (каждый с --self-test) плюс справочные материалы по каждому домену. Используйте, когда кто-то хочет провести QA, smoke-test, проверить или отладить CLI, HTTP-сервер, плагины/события или TUI opencode, или найти/исследовать сессии opencode в базе данных. Триггеры: opencode qa, qa opencode, test opencode, verify opencode hook, opencode session db, find opencode session by id/name/text, opencode tui test, opencode server health, opencode event stream.

машинный переводПоказать оригиналСкрыть оригинал«QA opencode itself, per case: verify the CLI/terminal (opencode run, d…»

QA opencode itself, per case: verify the CLI/terminal (opencode run, db, serve, export), prove a specific plugin hook/action/event fired via the SSE event stream, smoke-test the TUI under tmux, and investigate sessions in opencode's SQLite DB by id, title/name, or message text. Ships tested helper scripts (each with a --self-test) plus per-domain references. Use whenever someone wants to QA, smoke-test, verify, or debug opencode's CLI, HTTP server, plugin hooks/events, or TUI, or to find/inspect opencode sessions in the database. Triggers: opencode qa, qa opencode, test opencode, verify opencode hook, opencode session db, find opencode session by id/name/text, opencode tui test, opencode server health, opencode event stream.

code-yeongyu/oh-my-openagent Agent Skills автор: code-yeongyu NOASSERTION 22 файла · 13 скриптов тело ≈ 2 691 токенов Открыть источникgithub.com проанализирован 3 ч назад

Проводит QA opencode, по каждому случаю: проверяет CLI/терминал (opencode run, db, serve, export), доказывает срабатывание конкретного…

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

ИнтеграцияDockerРазработкатип и темы размечены автоматически по тексту скилла
JSON
Технический рейтинг
D
59/100
безопасность, качество, тесты
Безопасность 60%
43
Качество 40%
83
Прогон на моделях
не было
Процессный рейтинг
C
54/100
Есть пробелы
Результат и критерий готовности вес 14
0
Входы и предусловия вес 11
0
Отчётность по ходу вес 2
0
три самых слабых из десяти параметров · все десять

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

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

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

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

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

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

Автору

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

Как улучшить

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

    Находки guard · 21

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

    Средние и низкие: 21
    • средняя Утечка данных net-credential-use references/events-hooks.md:23
      Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
      curl -N -u opencode:$PASS "http://127.0.0.1:4096/event?directory=$PWD"
    • средняя Утечка данных net-credential-use references/events-hooks.md:69
      Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
      curl -N -u opencode:$PASS "http://127.0.0.1:4096/event?directory=$PWD" \
    • средняя Утечка данных net-credential-use references/events-hooks.md:73
      Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
      curl -X POST -u opencode:$PASS -H 'Content-Type: application/json' \
    • средняя Утечка данных net-credential-use references/server-api.md:60
      Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
      curl -s -u opencode:$PASS http://127.0.0.1:4096/doc | jq '.paths | keys'
    • средняя Утечка данных net-credential-use references/server-api.md:68
      Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
      curl -s -u opencode:$PASS http://127.0.0.1:4096/global/health | jq .
    • средняя Утечка данных net-credential-use references/server-api.md:71
      Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
      curl -s -u opencode:$PASS http://127.0.0.1:4096/doc | jq '.paths|length'
    • средняя Утечка данных net-credential-use references/server-api.md:77
      Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
      curl -s -u opencode:$PASS "http://127.0.0.1:4096/session?directory=$PWD" | jq 'length'
    • средняя Утечка данных net-credential-use references/server-api.md:191
      Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
      curl -X POST -u opencode:$PASS -H 'Content-Type: application/json' \
    • средняя Утечка данных net-credential-use SKILL.md:107
      Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)
      curl -X POST -u opencode:$OPENCODE_SERVER_PASSWORD -H 'Content-Type: application/json' \
    • низкая Секреты в коде secret-high-entropy-token scripts/db-session-by-id.sh:6
      Строка, похожая на токен (может быть id, хеш или секрет)
      #   db-session-by-id.sh ses_…Eb3
    • низкая Секреты в коде secret-high-entropy-token scripts/export-roundtrip.sh:10
      Строка, похожая на токен (может быть id, хеш или секрет)
      #   export-roundtrip.sh ses_…PjZ   # prints clean JSON
    • низкая Опасные команды cmd-background-process scripts/lib/common.sh:139
      Запуск фонового / автозапускаемого процесса
      disown "$OQA_SERVER_PID" 2>/dev/null || true
    • низкая Опасные команды cmd-background-process scripts/serve-wake-split-probe.sh:119
      Запуск фонового / автозапускаемого процесса
      disown "$FAKE_SERVER_PID" 2>/dev/null || true
    • низкая Утечка данных net-credential-use scripts/serve-wake-split-probe.sh:312
      Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (в кавычках — упоминание, а не команда)
      status_json="$(curl -sf -u "opencode:${pass}" "${url}/session/status" 2>/dev/null)" || true
      в кавычках
    • низкая Утечка данных net-credential-use scripts/serve-wake-split-probe.sh:563
      Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (в кавычках — упоминание, а не команда)
      health_code="$(curl -so /dev/null -w "%{http_code}" -u "opencode:${OQA_SERVER_PASS}" \
      в кавычках
    • низкая Опасные команды cmd-background-process scripts/serve-wake-split-probe.sh:779
      Запуск фонового / автозапускаемого процесса
      disown "$OQA_SERVER_PID" 2>/dev/null || true
    • низкая Утечка данных net-credential-use scripts/serve-wake-split-probe.sh:801
      Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (в кавычках — упоминание, а не команда)
      ses_response="$(curl -sS -u "opencode:${pass}" \
      в кавычках
    • низкая Утечка данных net-credential-use scripts/serve-wake-split-probe.sh:820
      Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (в кавычках — упоминание, а не команда)
      prompt_response="$(curl -sS -u "opencode:${pass}" \
      в кавычках
    • низкая Утечка данных net-credential-use scripts/sse-hook-probe.sh:17
      Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (комментарий в коде)
      #                              curl -X POST -u opencode:$PASS \
      комментарий
    • низкая Опасные команды cmd-background-process scripts/sse-hook-probe.sh:50
      Запуск фонового / автозапускаемого процесса
      disown "$cpid" 2>/dev/null || true
    • низкая Секреты в коде secret-high-entropy-token SKILL.md:159
      Строка, похожая на токен (может быть id, хеш или секрет)
      bash scripts/db-session-by-id.sh ses_…Eb3

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

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

    • заметка edit-residue в тексте есть пометки об устаревшем (строки 167): проверьте, не остались ли старые правила рядом с новыми — полная проверка читает текст на противоречия

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

    • 0Результат и критерий готовности. Не сказано, что считать результатом
    • 0Входы и предусловия. Не сказано, что нужно иметь на входе
    • 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
    • 30Повторный запуск. Изменяющих операций: 4, без проверки текущего состояния
    • 50Ошибки и развилки. Развилок: 0, есть раздел про ошибки
    • 60Инструменты и файлы. Используются инструменты (bash, web), но во frontmatter они не объявлены
    • 70Когда включается. Сказано, когда применять, но не сказано, когда не стоит
    • 100Шаги. Шагов: 18
    • 100Согласованность. Имя и обязательные поля на месте
    • 100Стоимость исполнения. Тело инструкции 2691 токенов
    • medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
    • low Разделов верхнего уровня: 10. Похоже на несколько доменов в одном скилле
    • low Ответ описан самодельной разметкой (7 тегов): типизированный вызов надёжнее

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

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

    • +5В description нет примеров фраз, по которым скилл должен срабатывать
    • +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
    • +3Формат ответа не описан: модель каждый раз решает сама
    • -2Ссылки на localhost: у другого пользователя не заработает
    • -31 из 9 скриптов не упомянуты в SKILL.md
    • +1Лицензия не указана
    • +2Инструкции на одном языке
    • +3Длина description 734 символов: достаточно сигнала, не съедает бюджет
    • +4Структура: 11 заголовков
    • +3Пошаговые инструкции: 18 пунктов
    • +4Есть примеры (7 блоков кода)
    • +4Справочные файлы упоминаются в инструкциях (8 из 8)

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