BF persistent-sshfs
Bash-инструмент, который подключает SSHFS-монтирования и повторяет попытку подключения до успешного соединения. Запускает один фоновый процесс для каждого монтирования, который ожидает аутентификации по SSH-ключам (с бесконечными повторами, без резервного копирования паролем), затем монтирует с помощью `sshfs -o reconnect`. ВАЖНО — это не активный наблюдатель: каждый рабочий процесс завершается (`break`) после успешного монтирования, поэтому весь процесс завершается с кодом 0 (он будет работать бесконечно только в том случае, если аутентификация по ключу для хоста никогда не удастся). Устойчивость к временным отключениям обеспечивается самим `sshfs -o reconnect`, а не этим скриптом; ничто не перемонтирует полностью отказавшее монтирование, если вы не ЗАПУСТИТЕ СКРИПТ СНОВА (его логика «монтировать все, что сейчас не работает» делает повторный запуск реальным механизмом восстановления — запланируйте его через cron/таймер). Монтирования определяются по одной строке в текстовом файле (`local_dir:user@host:port:remote_dir`), без другой конфигурации. Используйте, когда пользователь хочет надежно подключить SSHFS-монтирования при загрузке/входе в систему с повторными попытками до подключения и `sshfs reconnect` для кратковременных сбоев.
машинный переводПоказать оригиналСкрыть оригинал«Bash tool that brings up SSHFS mounts and retries the initial mount un…»
Bash tool that brings up SSHFS mounts and retries the initial mount until it connects. Spawns one background worker per mount that waits for key-based SSH auth (retrying forever, no password fallback), then mounts with `sshfs -o reconnect`. IMPORTANT — it is NOT a live watchdog: each worker `break`s and exits once its mount is up, so once all mounts succeed the process exits 0 (it only blocks forever if a host's key auth never succeeds). Transient-drop survival comes from `sshfs -o reconnect` itself, not this script; nothing re-mounts a mount that fully dies unless you RUN THE SCRIPT AGAIN (its "mount whatever's currently down" logic makes re-running the real recovery mechanism — schedule it via cron/timer for that). Mounts are defined one-per-line in a plain-text file (`local_dir:user@host:port:remote_dir`), no other config. Use when the user wants SSHFS mounts brought up reliably at boot/login with retry-until-connected + sshfs reconnect for blips.
Bash-инструмент, который подключает SSHFS-монтирования и повторяет попытку подключения до успешного соединения.
Как процесс F 44/100 · Не запустится — Скилл ссылается на файлы, которых нет в архиве: references/setup.md
Как улучшить
- В тексте есть ссылки на отсутствующие файлы: добавьте файлы или уберите ссылки.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 0
✓ Критических и высоких находок нет
Просканировано файлов: 0. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
frontmatter-yamlSKILL.md: фронтматтер не разбирается как YAML (YAML parse error: Nested mappings are not allowed in compact mappings at line 2, column 14: description: Bash tool that brings up SSHFS mounts and retries the initial moun… ^ ); поля прочитаны построчно. Обычная причина — двоеточие в незакавыченном значении - предупреждение
missing-refссылка на отсутствующий файл: references/setup.md - заметка
frontmatter-keyнеизвестное поле фронтматтера "homepage"
Процессный рейтинг: все десять параметров 44/100
- 0Инструменты и файлы. Не хватает 1 файла(ов): references/setup.md
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 50Ошибки и развилки. Развилок: 0, есть раздел про ошибки
- 70Когда включается. Сказано, когда применять, но не сказано, когда не стоит
- 85Шаги. Шагов: 15, расплывчатых формулировок: 1
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 1386 токенов
- 100Повторный запуск. Изменяющие операции проверяют текущее состояние
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 964: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- -4Абсолютные локальные пути (C:\Users, /home/…): скилл не переносим
- +1Лицензия не указана
- +2Инструкции на одном языке
- +4Структура: 6 заголовков
- +3Пошаговые инструкции: 15 пунктов
- +4Есть примеры (3 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 60.