Dynamic Context Injection — уникальная фича в скилах Claude Code
TL;DR
!commandвSKILL.mdвыполняет shell-команды до отправки промпта- Claude видит только результат, не команду
- Это фича только Claude Code, не часть стандарта Agent Skills
- Ни Codex, ни Cursor, ни Copilot не реализовали аналог в skills
- Экономит токены, убирает ручной копипаст, повышает релевантность контекста
- Есть
disableSkillShellExecutionдля контроля - Заслуживает стандартизации как опциональное расширение
Что такое DCI
Dynamic Context Injection (DCI) — возможность выполнять shell-команды прямо внутри SKILL.md до того, как промпт уйдёт в Claude.
Простой пример: SKILL для ревью PR
Скилл без DCI:
Выполни gh pr diff и проанализируй результатClaude читает это → думает "ок, мне надо вызвать bash" → делает tool call → ждёт результат → анализирует. Это runtime — агент сам решает когда и что вызывать.
Скилл с DCI:
Claude читает этот восклицательный знак перед командной
— проанализируй результат гит диффа: !gh pr diffИ gh pr diff выполняется до отправки промпта. Claude получает промпт где вместо команды уже лежит готовый дифф. Он даже не знает что была команда. Он видит только данные. Это чистый препроцессинг.
Ещё пример как юзать
Инлайн — для однострочных команд:
Текущая ветка: !git branch --show-current
Последние коммиты: !git log --oneline -5
Статус: !git status --shortЦепочки и фоллбэки из DCI вызовов в скиле:
Docker: !docker ps 2>/dev/null || echo "Docker not running"
Тесты: !npm test 2>&1 | grep "FAIL" | head -5Переменные окружения (обычный $VAR не работает, нужно через shell):
API URL: !echo $API_BASE_URLСтоит ли это юзать?
Сотни фич за неделю вводятся, читать уже лень, но —
Самый главный профит: в skills без DCI (где агент сам решает, нужно ли ему запросить данные) тулюзы пропускались в 56% eval-кейсов. Агент просто не вызывал их. DCI решает эту проблему — данные уже в промпте, решать нечего.
Я ежедневно сталкиваюсь с проблемными тулюзами в скилах, где нет отслеживания прогресса через хук + progress.yaml/json.
Грамотная архитектура skills с on-demand загрузкой и препроцессингом позволяет сократить контекст на 50%+.
Сравнение с конкурентами
OpenAI Codex CLI
- Поддерживает Agent Skills ✅
- DCI: ❌
- Обходной путь:
!для shell в интерактивном режиме (но это не препроцессинг skills) и pipe stdin вcodex exec:
npm test 2>&1 | codex exec "summarize failing tests"Работает, но это ad-hoc, а не часть skill-системы.
Cursor
- Поддерживает Agent Skills ✅ (с v2.4, январь 2026)
- DCI: ❌
- Свой подход: вывод shell-команд пишется в файл, агент читает через
tail/readпо необходимости. Плюс hooks (pre/post agent actions) для lifecycle-контроля. Осознанный выбор file-based модели вместо inline injection.
Везде агент сам решает вызывать или нет тул в скиле. В существующей реальности тул может быть не вызван рандомно, чуть больше нагрузка на сервер Anthropic, Opus ленится выполнять команды и читать вывод и начинает фантазировать насчёт аутпута той или иной команды потому что ему так проще. И это не вакуум, а ежедневная боль.
Итого: Claude Code — единственный инструмент с полноценной поддержкой shell-препроцессинга в skills.
#claudecode #skills #dci #agentskills
Пост из Telegram-канала Аи Помогатор