
Как отключить автоматический запуск Agent Skills
По умолчанию AI-агент может сам выбрать подходящий skill по его description. Обычно это удобно: попросил сделать саммари — агент нашёл нужную инструкцию и выполнил её.
Под автоматическим запуском я здесь понимаю не выполнение самого skill при старте программы, а автоматический вызов — implicit invocation. Агент видит описание skill и может выбрать его в ответ на подходящий запрос.
Но некоторые процессы я хочу запускать только вручную. Например, генерацию дневного лога, передачу контекста между сессиями или ретроспективу. Они создают файлы, читают много контекста или меняют состояние рабочего процесса. Здесь автоматическая инициатива агента скорее мешает.
Это не механизм безопасности. Настройка запрещает автоматический вызов skill, но не отбирает у агента доступ к файлам, командной оболочке или сети. Если нужна жёсткая граница, её следует настраивать через permissions, sandbox или hooks конкретного клиента.
Claude Code и Pi
В Claude Code и Pi достаточно добавить одно поле в YAML-frontmatter файла SKILL.md:
---
name: daily-log
description: Generate a daily work log.
disable-model-invocation: true
---
После этого skill останется доступным для ручного запуска, но модель не сможет выбрать его сама.
В Claude Code команда будет выглядеть так:
/daily-log
В Pi:
/skill:daily-log
Если команда недоступна в Pi, проверь параметр enableSkillCommands: true.
Есть ещё небольшой бонус: Claude Code и Pi не добавляют описание этого skill в стартовый контекст. Оно загрузится вместе с инструкцией только после явного вызова.
В Claude Code настройка действует немного шире: она также запрещает заранее загружать skill в контекст дочернего агента и вызывать его напрямую из задачи по расписанию. Это важно, если ручной процесс позже захочется автоматизировать.
Codex
Codex использует другой механизм. Рядом с SKILL.md нужно создать agents/openai.yaml:
daily-log/
├── SKILL.md
└── agents/
└── openai.yaml
Содержимое файла:
policy:
allow_implicit_invocation: false
После этого Codex не будет выбирать skill автоматически. Для явного вызова используется команда:
$daily-log
Поле disable-model-invocation можно оставить в SKILL.md. Codex не использует его для управления вызовом: здесь действует политика из agents/openai.yaml. Поэтому один и тот же каталог может работать сразу в нескольких агентах.
В отличие от Claude Code и Pi, для Codex документирован именно запрет автоматического вызова. Рассчитывать, что описание skill обязательно исчезнет из стартового контекста, не стоит.
Это не часть общего стандарта
Важная деталь: управление запуском пока не унифицировано в Agent Skills. Базовый стандарт описывает структуру каталога и основные поля SKILL.md, а механизм вызова каждая среда добавляет сама.
Чтобы один и тот же skill работал во всех трёх средах, я использую обе настройки:
my-skill/
├── SKILL.md # Claude Code и Pi
└── agents/
└── openai.yaml # Codex
Как проверить
После изменения лучше открыть новую сессию — для Pi это особенно важно, поскольку он сканирует каталоги skills при запуске. Затем достаточно сделать две проверки:
- Дать агенту запрос, явно совпадающий с
description: skill не должен запуститься. - Вызвать тот же skill вручную: он должен выполниться как обычно.
Claude Code обычно подхватывает изменения SKILL.md без перезапуска. Codex тоже отслеживает их автоматически, но если он не подхватил новую политику, его стоит перезапустить.
Когда отключать автоматический вызов
Такой подход особенно полезен для процессов с побочными эффектами или тех, для которых важен момент запуска: деплой, публикации, отчёты, дайджесты, передача контекста между сессиями, обслуживание памяти. Недорогие, обратимые процессы без внешних действий — поиск документации, подготовку саммари, работу с Obsidian — можно оставить автоматическими.
Простое правило: если процесс безопасен и обратим, его автоматический выбор можно оставить агенту. Если процесс меняет внешнее состояние, расходует заметные ресурсы или должен начаться в определённый момент — команду лучше оставить человеку.
Актуальность. Настройки проверены по документации 31 июля 2026 года.
Ссылки: