Dynamic Context Injection — уникальная фича в скилах Claude Code

📌 TL;DR

  • !command в SKILL.md выполняет shell-команды ДО отправки промпта
  • Claude видит только результат, не команду
  • Это фича только Claude Code, не часть стандарта Agent Skills
  • Ни Codex, ни Cursor, ни Copilot не реализовали аналог в skills
  • Экономит токены, убирает ручной копипаст, повышает релевантность контекста
  • Есть disableSkillShellExecution для контроля
  • Заслуживает стандартизации как опциональное расширение

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.

1 комментарий