BC skill-publisher
Публикация навыков — синхронно публикует существующие навыки на трех платформах: GitHub, ClawHub и SkillHub. Активируется, когда пользователь говорит «опубликовать навык на трех платформах» / «опубликовать обновление навыка» / «итеративная публикация навыка». ⚠️ Область действия этого навыка (что нужно знать пользователю): ① Публикация кода на внешних платформах (GitHub/ClawHub/SkillHub), операция видна снаружи и может быть необратимой ② Синхронизация с локальным каталогом установки TRAE (перезапишет существующую версию) ③ Добавление журнала публикации в локальные docs/knowledge/. Перед выполнением потребуется подтверждение пользователя. Включает проверку безопасности, очистку конфиденциальности, проверку уникальности номера версии, генерацию структуры репозитория, исключение файлов ClawHub, предварительную проверку SkillHub в режиме dry-run. НЕ ИСПОЛЬЗУЙТЕ для создания контента навыков, общего программирования или не связанных с навыками проектов.
машинный переводПоказать оригиналСкрыть оригинал«技能发布 — 将已有 Skill 三平台同步推送到 GitHub + ClawHub + SkillHub。当用户说 技能发布到三平台/发布…»
技能发布 — 将已有 Skill 三平台同步推送到 GitHub + ClawHub + SkillHub。当用户说 技能发布到三平台/发布技能更新/迭代技能发布 时触发。⚠️ 本技能的行为范围(用户须知):① 推送代码到外部平台(GitHub/ClawHub/SkillHub),操作对外可见且可能不可逆 ② 同步到本地 TRAE 安装目录(会覆盖已有版本) ③ 在本地 docs/knowledge/ 追加发布日志。执行前会向用户确认。含安全审查、隐私清洗、版本号查重、仓库结构生成、ClawHub 自动文件排除、SkillHub dry-run 预检。Do NOT use for creating skill content, general coding, or non-skill projects.
Публикация навыков — синхронно публикует существующие навыки на трех платформах: GitHub, ClawHub и SkillHub.
Как процесс C 51/100 · Есть пробелы — слабые места: результат и критерий готовности, входы и предусловия, согласованность
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».
Если отправка не нужна для задачи, уберите её: каталоги помечают такие скиллы как подозрительные и снимают с выдачи. Если нужна, назовите адрес явно, объясните, что именно уходит, и дайте пользователю выключатель.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Скилл содержит команды, которые удаляют файлы, переписывают диски или исполняют код, скачанный из сети. Агент может выполнить их без вопроса, если считает, что так требует инструкция.
Замените разрушительные команды на безопасные аналоги с подтверждением, ограничьте область действия конкретной папкой и не тяните код через curl | bash: укажите версию и контрольную сумму.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Скилл просит больше прав, чем нужно для задачи: широкий доступ к инструментам, секретные переменные окружения, бинарные файлы. Каждое лишнее право расширяет ущерб при ошибке или взломе.
Сузьте allowed-tools и список переменных до минимума, замените бинарники на исходники или скрипты, которые можно прочитать.
Как улучшить
- Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 8
✓ Критических и высоких находок нет
Средние и низкие: 8
-
средняя Утечка данных
exfil-read-secret-filesreferences/publishing-guide.md:569Чтение файлов с учётными данными / секретами (строка таблицы в документации)| Reading sensitive dirs | `cat ~/.ssh/id_rsa` | Remove |
таблица -
средняя Опасные команды
cmd-pipe-to-shellreferences/skillhub-publishing.md:26Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (хост вендора самого скилла)curl -fsSL https://skillhub.cn/install/install.sh | bash -s -- --cli-only
vendor-host -
средняя Опасные команды
cmd-shell-rcreferences/skillhub-publishing.md:27Запись в файл автозагрузки shell (.bashrc / .zshrc / .profile)echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
-
средняя Широкие права
meta-broad-allowed-toolsSKILL.md:1Заранее разрешены широкие инструменты: Bash(rm:*)allowed-tools: Bash(git:*) Bash(clawhub:*) Bash(skillhub:*) Bash(gh:*) Bash(python:*) Bash(cat:*) Bash(ls:*) Bash(mkdir:*) Bash(cp:*) Bash(mv:*) Bash(rm:*) Bash(Compress-Archive:*) Read Write Edit Glo
-
низкая Утечка данных
exfil-read-secret-filesreferences/security-audit.md:84Чтение файлов с учётными данными / секретами (строка таблицы в документации; документация security-скилла)| Reading sensitive dirs | `cat ~/.ssh/id_rsa` | Remove |
таблицаsecurity-скилл -
низкая Утечка данных
net-credential-usereferences/skillhub-publishing.md:63Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (хост вендора самого скилла; в кавычках — упоминание, а не команда)skillhub login --key "$SKILLHUB_TOKEN" --host https://api.skillhub.cn
vendor-hostв кавычках -
низкая Утечка данных
net-credential-usereferences/skillhub-publishing.md:67Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (хост вендора самого скилла)python "$env:USERPROFILE\.skillhub\skills_store_cli.py" login --key $token --host https://api.skillhub.cn
vendor-host -
низкая Утечка данных
net-credential-usereferences/skillhub-publishing.md:265Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (хост вендора самого скилла)python script.py login --key $token --host https://api.skillhub.cn
vendor-host
Просканировано файлов: 9. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
body-longтело SKILL.md ≈ 10460 токенов (рекомендуется < 5000); вынесите детали в references/ - заметка
frontmatter-keyнеизвестное поле фронтматтера "slug" - заметка
frontmatter-keyнеизвестное поле фронтматтера "displayName" - заметка
frontmatter-keyнеизвестное поле фронтматтера "summary"
Процессный рейтинг: все десять параметров 51/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 30Повторный запуск. Изменяющих операций: 65, без проверки текущего состояния
- 40Согласованность. Имя во frontmatter (skill-publisher) не совпадает с папкой (skill-publisher-ai)
- 40Стоимость исполнения. Тело инструкции 10460 токенов: вытесняет саму задачу из окна
- 50Когда включается. Не сказано, при каком запросе скилл включается
- 50Ошибки и развилки. Развилок: 0, есть раздел про ошибки
- 85Шаги. Шагов: 67, расплывчатых формулировок: 1
- 100Инструменты и файлы. Инструменты объявлены во frontmatter
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- low Ответ описан самодельной разметкой (38 тегов): типизированный вызов надёжнее
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +3Формат ответа не описан: модель каждый раз решает сама
- -4Абсолютные локальные пути (C:\Users, /home/…): скилл не переносим
- -276 эмодзи в инструкциях: шум для модели
- +2Инструкции на одном языке
- +4Описание говорит, когда скилл НЕ применять
- +3Длина description 356 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 32 заголовков
- +3Пошаговые инструкции: 67 пунктов
- +4Есть примеры (12 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (7 из 7)
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 74.