DF deploy
Развертывание и инфраструктура: веб-развертывание, ветки разработки, cron, установка пакетов, конфигурация оболочки.
машинный переводПоказать оригиналСкрыть оригинал«Deploy and infrastructure: web deploy, dev branches, cron, package ins…»
Deploy and infrastructure: web deploy, dev branches, cron, package install, shell configuration.
Развертывание и инфраструктура: веб-развертывание, ветки разработки, cron, установка пакетов, конфигурация оболочки.
Как процесс F 32/100 · Не запустится — Скилл ссылается на файлы, которых нет в архиве: scripts/*.sh
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Скилл просит больше прав, чем нужно для задачи: широкий доступ к инструментам, секретные переменные окружения, бинарные файлы. Каждое лишнее право расширяет ущерб при ошибке или взломе.
Сузьте allowed-tools и список переменных до минимума, замените бинарники на исходники или скрипты, которые можно прочитать.
Как улучшить
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- В тексте есть ссылки на отсутствующие файлы: добавьте файлы или уберите ссылки.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 22
✓ Критических и высоких находок нет
Средние и низкие: 22
-
средняя Широкие права
meta-broad-allowed-toolsSKILL.md:1Заранее разрешены широкие инструменты: Bashallowed-tools: Read Write Bash Grep Glob Edit Agent
-
низкая Опасные команды
cmd-cron-mentionreferences/headless-cron-creator.md:145Упоминание редактирования crontab (в кавычках — упоминание, а не команда)Solution: Check `crontab -l` manually. Restore from `~/.claude/crontab-backups/`.
в кавычках -
низкая Опасные команды
cmd-background-processreferences/pid-resolution.md:20Запуск фонового / автозапускаемого процесса (в кавычках — упоминание, а не команда)- You used `nohup`, `setsid`, or any other wrapper binary
в кавычках -
низкая Опасные команды
cmd-background-processreferences/pid-resolution.md:30Запуск фонового / автозапускаемого процессаnohup my_server --port 8080 > log 2>&1 &
-
низкая Опасные команды
cmd-background-processreferences/pid-resolution.md:82Запуск фонового / автозапускаемого процессаnohup my_server > log 2>&1 &
-
низкая Опасные команды
cmd-background-processreferences/pid-resolution.md:109Запуск фонового / автозапускаемого процессаnohup my_server > log 2>&1 &
-
низкая Опасные команды
cmd-background-processreferences/preferred-patterns.md:26Запуск фонового / автозапускаемого процессаnohup python3 -m http.server 8080 --bind 127.0.0.1 > log 2>&1 &
-
низкая Опасные команды
cmd-background-processreferences/preferred-patterns.md:47Запуск фонового / автозапускаемого процесса (в кавычках — упоминание, а не команда)Any hit requires manual inspection: if the backgrounded command is a shell builtin or simple exec it may be safe; if it is anything that daemonizes, forks, or goes through `nohup`/`setsid`, the captur
в кавычках -
низкая Опасные команды
cmd-background-processreferences/preferred-patterns.md:55Запуск фонового / автозапускаемого процессаnohup python3 -m http.server 8080 > log 2>&1 &
-
низкая Опасные команды
cmd-background-processreferences/public-web-deploy.md:155Запуск фонового / автозапускаемого процессаsystemctl enable --now fail2ban && fail…ent status
-
низкая Опасные команды
cmd-background-processreferences/shell-process-patterns.md:7Запуск фонового / автозапускаемого процесса| Background start | Ad-hoc long-running child in a script or session | Redirect fd 0/1/2, capture real PID, disown if parent exits |
-
низкая Опасные команды
cmd-background-processreferences/shell-process-patterns.md:8Запуск фонового / автозапускаемого процесса (строка таблицы в документации)| Daemonization | Process must survive terminal close, become session leader | `setsid` + fd redirect + write PID file atomically |
таблица -
низкая Опасные команды
cmd-background-processreferences/shell-process-patterns.md:17Запуск фонового / автозапускаемого процесса (в кавычках — упоминание, а не команда)- Starting background processes (`&`, `nohup`, `disown`, `setsid`, daemonization).
в кавычках -
низкая Опасные команды
cmd-background-processreferences/shell-process-patterns.md:36Запуск фонового / автозапускаемого процесса (строка таблицы в документации)| starting a background process, `&`, `nohup`, `disown`, `setsid`, daemonize | `starting-processes.md` | Launch-time patterns and fd/session rules |
таблица -
низкая Опасные команды
cmd-background-processreferences/shell-process-patterns.md:78Запуск фонового / автозапускаемого процесса (в кавычках — упоминание, а не команда)3. **Decide if `disown` is needed.** `disown $!` removes the job from the shell's job table so the shell does not send SIGHUP when it exits. Needed for scripts that start long-running children and ret
в кавычках -
низкая Опасные команды
cmd-background-processreferences/starting-processes.md:8Запуск фонового / автозапускаемого процесса (в кавычках — упоминание, а не команда)This file covers the idioms for launching shell processes that outlive or run alongside the parent script: `&`, `nohup`, `disown`, `setsid`, and full daemonization. It does not cover PID capture (see
в кавычках -
низкая Опасные команды
cmd-background-processreferences/starting-processes.md:16Запуск фонового / автозапускаемого процесса (строка таблицы в документации)| Detach from job control but stay in session | `cmd & disown` | Removes from jobs table; still receives SIGHUP from controlling terminal loss. Use with `nohup` if terminal may close. |
таблица -
низкая Опасные команды
cmd-background-processreferences/starting-processes.md:17Запуск фонового / автозапускаемого процесса (строка таблицы в документации)| Fully detach — new session, new process group, no controlling terminal | `setsid cmd > log 2>&1 < /dev/null &` | Proper daemonization in one line. Survives parent exit, terminal loss, and signals to
таблица -
низкая Опасные команды
cmd-background-processreferences/starting-processes.md:32Запуск фонового / автозапускаемого процессаnohup long_running_task > /var/log/task.log 2>&1 &
-
низкая Опасные команды
cmd-background-processreferences/starting-processes.md:41Запуск фонового / автозапускаемого процесса (в кавычках — упоминание, а не команда)- It does not create a new session (use `setsid` for that)
в кавычках -
низкая Опасные команды
cmd-background-processSKILL.md:188Запуск фонового / автозапускаемого процесса (строка таблицы в документации)| Detach from job control | `cmd & disown` |
таблица -
низкая Опасные команды
cmd-background-processSKILL.md:189Запуск фонового / автозапускаемого процесса (строка таблицы в документации)| Full detach, new session | `setsid cmd > log 2>&1 < /dev/null &` |
таблица
Просканировано файлов: 25. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда") - предупреждение
missing-refссылка на отсутствующий файл: scripts/*.sh - заметка
frontmatter-keyнеизвестное поле фронтматтера "routing"
Процессный рейтинг: все десять параметров 32/100
- 0Инструменты и файлы. Не хватает 1 файла(ов): scripts/*.sh
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 17, без проверки текущего состояния
- 85Шаги. Шагов: 22, расплывчатых формулировок: 1
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 2245 токенов
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- low Ответ описан самодельной разметкой (11 тегов): типизированный вызов надёжнее
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 96: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- +4Нет примеров входа/выхода
- +1Лицензия не указана
- +2Инструкции на одном языке
- +4Структура: 9 заголовков
- +3Пошаговые инструкции: 22 пунктов
- +4Справочные файлы упоминаются в инструкциях (24 из 24)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 62.