SKILLEMALL.ai

CB Bash

Writes, debugs, and hardens Bash shell scripts — quoting, arrays, strict mode, traps, argument parsing, and macOS/Linux portability. Use when writing or reviewing any script, one-liner, cron job, deploy script, container entrypoint, or CI step; when a script breaks on spaces in filenames, exits silently, ignores set -e, hangs, or returns the wrong exit code; when quoting, IFS, globs, arrays, heredocs, process substitution, trap, getopts, or mapfile misbehave; when shellcheck flags SC2086 and friends; when unbound variable, bad substitution, command not found, ambiguous redirect, or unexpected end of file show up; when a script works by hand but fails under cron, systemd, sudo, or a CI runner; or when porting between macOS bash 3.2, GNU/Linux, WSL, and POSIX sh. Not for interactive zsh or fish configuration, not for PowerShell, and not for host-level cron, systemd, or permission failures (linux).

ClawHub Agent Skills автор: Iván v1.0.6 MIT-0 23 файла тело ≈ 4 204 токенов Открыть источникclawhub.ai проанализирован 2 дн назад

Как процесс B 66/100 · Почти готов — слабые места: входы и предусловия, повторный запуск

ГенераторРазработкаИнфраструктуратип и темы размечены автоматически по тексту скилла
JSON
Технический рейтинг
C
74/100
безопасность, качество, тесты
Безопасность 60%
70
Качество 40%
80
Прогон на моделях
не было
Процессный рейтинг
B
66/100
Почти готов
Входы и предусловия вес 11
0
Повторный запуск вес 4
30
Когда включается вес 12
50
три самых слабых из десяти параметров · все десять

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

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

Опасные команды средняя серьёзность

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

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

Скилл содержит команды, которые удаляют файлы, переписывают диски или исполняют код, скачанный из сети. Агент может выполнить их без вопроса, если считает, что так требует инструкция.

Автору

Замените разрушительные команды на безопасные аналоги с подтверждением, ограничьте область действия конкретной папкой и не тяните код через curl | bash: укажите версию и контрольную сумму.

Как улучшить

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

    Находки guard · 14

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

    Средние и низкие: 14
    • средняя Опасные команды cmd-persistence cron.md:33
      Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (определение детектора / чёрного списка)
      - Files in `/etc/cron.d/` are ignored by `run-parts` if the filename contains a dot — `backup.sh` there never runs, `backup` does. `/etc/cron.d` and `/etc/crontab` also take a USER field before the co
      детектор
    • средняя Опасные команды cmd-persistence cron.md:81
      Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (в кавычках — упоминание, а не команда)
      - `~/Library/LaunchAgents/<label>.plist` for user jobs, `/Library/LaunchDaemons/` for system ones; `StartCalendarInterval` for a schedule, `StartInterval` for "every N seconds", `RunAtLoad` for boot
      в кавычках
    • средняя Опасные команды cmd-persistence cron.md:85
      Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (в кавычках — упоминание, а не команда)
      - Reload after editing: `launchctl unload` then `launchctl load` the plist; editing alone changes nothing
      в кавычках
    • средняя Опасные команды cmd-pipe-to-shell SKILL.md:189
      Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (в кавычках — упоминание, а не команда)
      - **Safety posture**: whether scripts may `sudo`, dry-run first, banned constructs (`eval`, `curl | sh`, `rm -rf` on a variable) — affects `security.md` and destructive workflows
      в кавычках
    • низкая Опасные команды cmd-cron-mention cron.md:35
      Упоминание редактирования crontab (в кавычках — упоминание, а не команда)
      - `crontab -e` validates syntax; copying a file over `/var/spool/cron/…` by hand does not
      в кавычках
    • низкая Опасные команды cmd-privilege debugging.md:75
      Повышение привилегий / права на запись для всех (в кавычках — упоминание, а не команда)
      - Redirection is done by YOUR shell before sudo runs: `sudo cmd > /root/out` fails on permissions; `cmd | sudo tee /root/out >/dev/null` works.
      в кавычках
    • низкая Опасные команды cmd-background-process processes.md:79
      Запуск фонового / автозапускаемого процесса (в кавычках — упоминание, а не команда)
      - `nohup cmd &` survives a hangup but still shares the terminal's session; `setsid cmd` starts a new session, fully detached
      в кавычках
    • низкая Опасные команды cmd-background-process processes.md:80
      Запуск фонового / автозапускаемого процесса (в кавычках — упоминание, а не команда)
      - `disown -h %1` removes a running job from the shell's SIGHUP list without stopping it — the fix when you forgot `nohup`
      в кавычках
    • низкая Опасные команды cmd-privilege quoting.md:59
      Повышение привилегий / права на запись для всех (определение детектора / чёрного списка)
      - `su -c`, `bash -c`, `sudo sh -c`, `xargs sh -c`, `find -exec sh -c` — same hop, same fix. With `find`, keep the data out of the string: `find . -exec sh -c 'process "$1"' _ {} \;` passes the filenam
      детектор
    • низкая Опасные команды cmd-pipe-to-shell security.md:15
      Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (строка таблицы в документации; документация security-скилла)
      | `bash <(curl …)`, `curl … \| sh` | Executes whatever the server returns, including a truncated download | Download, verify a published checksum or signature, inspect, then run |
      таблицаsecurity-скилл
    • низкая Опасные команды cmd-privilege security.md:45
      Повышение привилегий / права на запись для всех (с отрицанием — текст это запрещает)
      - Never `chmod 777` a temp path to "fix permissions"; set the umask (`umask 077`) before creating instead
      с отрицанием
    • низкая Опасные команды cmd-privilege security.md:52
      Повышение привилегий / права на запись для всех (документация security-скилла)
      - Setuid on a shell script does nothing on Linux — the kernel ignores it, and every workaround (wrapper binaries, `sudo` shims) is a privilege-escalation surface. Grant a narrow `sudo` rule for one ex
      security-скилл
    • низкая Опасные команды cmd-privilege SKILL.md:205
      Повышение привилегий / права на запись для всех (строка таблицы в документации)
      | `sudo cmd > /root/out` | the redirection is performed by YOUR shell before sudo runs — permission denied | `cmd \| sudo tee /root/out >/dev/null` |
      таблица

    Ещё 1 совпадений отнесены к цитатам в документации скилла по безопасности и не считаются находками.

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

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

    • предупреждение name-format name должен быть в kebab-case (строчные буквы, цифры, дефисы)
    • заметка frontmatter-key неизвестное поле фронтматтера "slug"
    • заметка frontmatter-key неизвестное поле фронтматтера "homepage"
    • заметка frontmatter-key неизвестное поле фронтматтера "changelog"

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

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

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

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

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

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

    Внешние проверки

    ClawHub: clean
    This is a Bash scripting guidance skill with disclosed local preference storage and no hidden execution, exfiltration, or persistence behavior.
    LLM: benign (high) · VirusTotal: · 26 июл. 2026 г.