— Поставь вот этот репозиторий, — Аня кинула ссылку и развернулась к макету.
— Сначала одна фраза, — сказал я. — «Прочитай репо и объясни, что оно сделает у меня: какие команды выполнит, куда пойдёт в сеть, что изменит на машине».
— И всё? Это же просто вежливость.
— Это пауза. Между «нашёл интересный скилл» и «он уже получил мои права».
Что происходит после фразы
Агент открывает README и файлы, а возвращается не с «всё ок», а со списком: какие зависимости тянет, какой install-скрипт запустит, что допишет в настройки, куда стучится по сети. На этом этапе ещё ничего не выполнено — и это главное.
В отчёте по чужому скиллу или плагину обычно всплывает то, чего не видно в описании на GitHub: npm install с пост-установочным скриптом, curl | bash в инструкции, правка ~/.claude/settings.json, запуск MCP-сервера, который живёт отдельным процессом, или чтение .env «для проверки ключа».
Чего фраза не делает
Она не аудит. Отчёт — это пересказ, а пересказ бывает неполным: агент может не заметить обфусцированный кусок, а может и послушаться инструкции, которая лежит в чужом README. Для модели текст в репозитории — такое же содержимое, как код, и «забудь предыдущие указания» там работает ровно так же, как в письме.
Поэтому «прочитай и объясни» — это фильтр от случайного, а не защита от злого. Ставить всё равно стоит в отдельном окружении: другой пользователь, контейнер или виртуалка, без sudo и без доступа к вашим ключам. Агент, который просит права администратора для установки скилла, — уже ответ.
Как читать отчёт
Красные флаги, на которые я смотрю в первую очередь: команда, скачивающая и сразу выполняющая скрипт; установка в глобальные пути; обращение к домашним конфигам и ключам; запуск фонового процесса; «выполни этот шаг вручную» вместо нормальной установки. Если в отчёте есть слово «hook» — читаю, что именно этот хук делает: он выполняется при каждом действии.
Чем это кончилось у нас
Тот репозиторий мы поставили. В отчёте оказался пост-установочный скрипт, который тянул бинарь с чужого домена, — поставили в контейнере, посмотрели, что он делает, и только потом пустили в рабочую папку. Аня согласилась, что фраза стоила пары минут.
— То есть ты всё равно ставишь чужое? — спросила она.
— Конечно. Просто теперь я знаю, что именно ставлю.
Фраза не делает чужой код безопасным. Она делает так, что решение принимаете вы, а не установщик. Вопрос после отчёта правильный один: «что я мог не увидеть?» — и если ответа нет, значит, смотрели невнимательно.
P.S. Если скилл или плагин просит «просто запустить», а объяснять отказывается — это и есть объяснение.