BB model-migrate-flagos
Перенесите модель из последнего репозитория vLLM в проект vllm-plugin-FL (зафиксирован на vLLM v0.13.0). Используйте этот навык, когда кто-то хочет добавить поддержку новой модели в vllm-plugin-FL, портировать код модели из vLLM или портировать недавно выпущенную модель. Активируйте, когда пользователь говорит что-то вроде «перенести модель X», «добавить поддержку модели X», «портировать X из vLLM», «заставить X работать с плагином FL» или просто «/model-migrate-flagos model_name». Аргумент model_name использует snake_case (например, qwen3_5, kimi_k25, deepseek_v4). НЕ используйте для моделей, которые уже поддерживаются ядром vLLM 0.13.0, или для мультимодальных компонентов, которые не требуют портирования.
машинный переводПоказать оригиналСкрыть оригинал«Migrate a model from the latest vLLM upstream repository into the vllm…»
Migrate a model from the latest vLLM upstream repository into the vllm-plugin-FL project (pinned at vLLM v0.13.0). Use this skill whenever someone wants to add support for a new model to vllm-plugin-FL, port model code from upstream vLLM, or backport a newly released model. Trigger when the user says things like "migrate X model", "add X model support", "port X from upstream vLLM", "make X work with the FL plugin", or simply "/model-migrate-flagos model_name". The model_name argument uses snake_case (e.g. qwen3_5, kimi_k25, deepseek_v4). Do NOT use for models already supported by vLLM 0.13.0 core, or for multimodal-only components that don't need backporting.
Перенесите модель из последнего репозитория vLLM в проект vllm-plugin-FL (зафиксирован на vLLM v0.13.0). Используйте этот навык, когда кто-то хочет добавить…
Как процесс B 72/100 · Почти готов — слабые места: результат и критерий готовности, входы и предусловия, повторный запуск
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».
Если отправка не нужна для задачи, уберите её: каталоги помечают такие скиллы как подозрительные и снимают с выдачи. Если нужна, назовите адрес явно, объясните, что именно уходит, и дайте пользователю выключатель.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Скилл просит больше прав, чем нужно для задачи: широкий доступ к инструментам, секретные переменные окружения, бинарные файлы. Каждое лишнее право расширяет ущерб при ошибке или взломе.
Сузьте allowed-tools и список переменных до минимума, замените бинарники на исходники или скрипты, которые можно прочитать.
Как улучшить
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 13
✓ Критических и высоких находок нет
Средние и низкие: 13
-
средняя Утечка данных
exfil-read-secret-filesREADME_zh.md:220Чтение файлов с учётными данными / секретами (в кавычках — упоминание, а не команда)> 1. 配置免密 SSH 登录 GT 机器:`ssh-copy-id -i ~/.ssh/id_ed25519 <user>@<GT_HOST_IP>`
в кавычках -
средняя Утечка данных
exfil-read-secret-filesREADME.md:223Чтение файлов с учётными данными / секретами (в кавычках — упоминание, а не команда)> 1. Set up passwordless SSH to the GT machine: `ssh-copy-id -i ~/.ssh/id_ed25519 <user>@<GT_HOST_IP>`
в кавычках -
средняя Утечка данных
exfil-read-secret-filesreferences/procedure.md:284Чтение файлов с учётными данными / секретами (в кавычках — упоминание, а не команда)If this fails, guide the user to set up SSH key: `ssh-copy-id -i ~/.ssh/id_ed25519 <GT_USER>@<GT_HOST_IP>`
в кавычках -
средняя Широкие права
meta-broad-allowed-toolsSKILL.md:1Заранее разрешены широкие инструменты: Bash(curl:*)allowed-tools: Bash(pytest:*) Bash(python3:*) Bash(git:*) Bash(vllm:*) Bash(cp:*) Bash(curl:*) Bash(bash:*) Bash(test:*) Bash(ls:*) Bash(pip:*) Bash(cd:*) Read Edit Write Glob Grep AskUserQuestion Tas
-
низкая Секреты в коде
secret-high-entropy-tokenreferences/compatibility-patches.md:100Строка, похожая на токен (может быть id, хеш или секрет)class Qwen…ion(Qwen…ion):
-
низкая Секреты в коде
secret-high-entropy-tokenreferences/compatibility-patches.md:104Строка, похожая на токен (может быть id, хеш или секрет)class Qwen…ion(Qwen…ion):
-
низкая Секреты в коде
secret-high-entropy-tokenreferences/compatibility-patches.md:108Строка, похожая на токен (может быть id, хеш или секрет) (значение-заглушка)super(Qwen…ion, self).__init__(...) # skip parent, call grandparent
заглушка -
низкая Опасные команды
cmd-background-processscripts/e2e_remote_serve.sh:66Запуск фонового / автозапускаемого процесса (комментарий в коде)# Start server in background: nohup docker exec ... &
комментарий -
низкая Секреты в коде
secret-high-entropy-tokenscripts/e2e_test_prompts.json:69Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример; в кавычках — упоминание, а не команда)"url": "data:image/png;base64,iVBO…AlC+aJAA…0b3/pZNm…3Pi/fUQe…PQN+753Q…UXz
тестовый файлв кавычках -
низкая Секреты в коде
secret-high-entropy-tokenscripts/e2e_test_prompts.json:90Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример; в кавычках — упоминание, а не команда)"url": "data:image/png;base64,iVBO…AlC+aJAA…wD1/cAiC…GYV
тестовый файлв кавычках -
низкая Секреты в коде
secret-high-entropy-tokenscripts/e2e_test_prompts.json:111Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример; в кавычках — упоминание, а не команда)"url": "data:image/png;base64,iVBO…AlC+aJAA…HZ7/YfyC…AKC+/AKC8/AKA8…Cjv/sHxh…AAA
тестовый файлв кавычках -
низкая Секреты в коде
secret-high-entropy-tokenscripts/e2e_test_prompts.json:132Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример; в кавычках — упоминание, а не команда)"url": "data:image/jpeg;base64,/9j/4AAQ…AAD/2wBD…NDL/2wBD…IyM
тестовый файлв кавычках -
низкая Секреты в коде
secret-high-entropy-tokenscripts/e2e_test_prompts.json:153Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример; в кавычках — упоминание, а не команда)"url": "data:image/jpeg;base64,/9j/4AAQ…AAD/2wBD…NDL/2wBD…IyM
тестовый файлв кавычках
Просканировано файлов: 16. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- заметка
frontmatter-keyнеизвестное поле фронтматтера "user-invokable"
Процессный рейтинг: все десять параметров 72/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 30Повторный запуск. Изменяющих операций: 2, без проверки текущего состояния
- 100Инструменты и файлы. Инструменты объявлены во frontmatter
- 100Шаги. Шагов: 14
- 100Когда включается. Сказано, когда применять и когда не применять
- 100Ошибки и развилки. Развилок: 2, есть раздел про ошибки
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 1798 токенов
- 100Отчётность по ходу. Скилл сообщает о ходе работы
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +3Формат ответа не описан: модель каждый раз решает сама
- +2Инструкции на одном языке
- +5В description 5 примера фраз-триггеров в кавычках
- +4Описание говорит, когда скилл НЕ применять
- +3Длина description 667 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 9 заголовков
- +3Пошаговые инструкции: 14 пунктов
- +4Есть примеры (3 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (3 из 3)
- +3Все 6 скриптов описаны в инструкциях
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 100.