AI Agents

SKILL.md Validator & Token Budget Linter

Проверить frontmatter SKILL.md и предупредить о раздутом теле skill сверх бюджета токенов.

Как это работает

SKILL.md — открытый формат Anthropic для агентских skills, выпущенный в октябре 2025 года и к середине 2026-го читаемый уже не только Claude Code, но и Codex CLI, Cursor, Gemini CLI и рядом других инструментов. Идея skill в том, что агент видит только имя и краткое описание при старте (десятки токенов), а полную инструкцию подгружает лишь когда задача реально совпала с описанием — это и называется progressive disclosure. SKILL.md Validator & Token Budget Linter online проверяет, что frontmatter корректен и что тело skill не раздулось настолько, что сама идея экономии контекста перестаёт работать.

Специализированного линтера для этого формата на середину 2026 года не существует нигде — экосистема выросла с нуля до сотен тысяч звёзд на GitHub за считанные месяцы, и линтинг просто не успел стать чьим-то приоритетом. Между тем практика сообщества уже выработала неформальный ориентир: тело skill стоит держать в пределах пятисот токенов, вынося всё длинное в отдельные reference-файлы, которые агент подгружает по необходимости, а не при каждом обращении к skill.

Инструмент проверяет обязательные поля frontmatter (name и description), длину описания (слишком длинное описание съедает токены уже на этапе первичного сканирования всех skills), и приблизительно оценивает объём тела skill в токенах, предупреждая, если он заметно превышает рекомендованный ориентир сообщества.

Частые вопросы

Что произойдёт, если в SKILL.md нет обязательных полей name или description?

Формально минимальный SKILL.md требует оба поля во frontmatter, без description агент не сможет понять по краткому сканированию, когда именно стоит подгрузить эту конкретную skill, что фактически делает её нерабочей.

Почему важно держать тело skill компактным, если контекстное окно и так большое?

Дело не в лимите контекста как таковом, а в экономике: агент при старте видит краткие описания всех установленных skills, и если тел много и они длинные, сама библиотека skills начинает конкурировать за внимание модели ещё до того, как реально понадобилась хоть одна из них.

Как правильно вынести длинный контент из тела skill, чтобы не раздувать его?

Формат поддерживает bundled reference-файлы и скрипты, на которые SKILL.md может ссылаться, агент читает их по необходимости отдельным шагом, а не подгружает автоматически вместе с телом самого skill при первом совпадении по описанию.

Одинаков ли формат SKILL.md у Claude Code и других инструментов вроде Codex CLI?

Базовое ядро формата (name, description, markdown-тело) идентично и работает во всех поддерживающих инструментах, специфичные для Claude Code поля вроде context: fork или allowed-tools безопасно игнорируются агентами, которые их не поддерживают.

Существует ли жёсткий лимит на размер skill, за которым Claude откажется её читать?

Жёсткого технического лимита формат не задаёт, ориентир в пятьсот токенов — это неформальная рекомендация сообщества по эффективности, а не ограничение самого стандарта, превышение не сломает skill технически, но снизит практическую пользу progressive disclosure.