agent-skill-linter
- title
- agent-skill-linter
- type
- toolbox
- summary
- Проверяет пакеты agent skills на соответствие спецификации и готовность к публикации, умеет автоисправлять ошибки
- tags
- python, skills, linting, ai-agents, watchlist
- language
- Python
- license
- Apache-2.0
- created
- 2026-05-02
- updated
- 2026-05-02
- lang
- ru
- translation_of
- agent-skill-linter
- source_updated
- 2026-05-02
- translated
- 2026-09-01
- translator
- lllm/antigravity/gemini-3.7-flash-medium
Linter для репозиториев agent-skill: сверяет SKILL.md со спецификацией, а затем проверяет готовность к публикации по файлу LICENSE, бейджам в README, CI-пайплайну, структуре кода и стилю Python-скриптов. Рассчитан на кросс-платформенную экосистему Agent Skills с реестром на agentskills.io - один и тот же набор навыков работает в Claude Code, Cursor, Gemini CLI, Amp, Roo Code и Copilot.
Позиционирование: этот linter служит входным фильтром, определяющим, "готов ли навык к публикации в реестре", а не инструментом проверки корректности в рантайме. Ближайшие аналоги по формату - markdownlint или actionlint: предметно-ориентированный lint с автоматическим исправлением простых недочётов.
Что проверяется (~21 правило)
Уровни важности: Error / Warning / Info; для части предупреждений доступен флаг --fix.
Спецификация и метаданные
- Соответствие SKILL.md спецификации (через эталон
skills-ref) - Error - Наличие и корректность поля
authorво frontmatter - Warning, с автоисправлением
Лицензирование
- Файл
LICENSEприсутствует, содержит лицензию Apache-2.0 или MIT и указывает текущий год - Warning, частично исправляется автоматически
Документация
- В README есть бейджи CI, лицензии и совместимости с Agent Skills - Warning, с автоисправлением
- Присутствует раздел с инструкцией по установке - Warning, с автоисправлением
- Раздел по использованию содержит примеры промптов - Warning
- Подраздел по работе через CLI - Info
Инфраструктура
- В
.github/workflows/настроен хотя бы один рабочий процесс CI - Warning, с автоисправлением
Качество кода
- Единообразные шаблоны вызова Python-скриптов (в стиле uv)
- Файлы шаблонов и справочников разложены по ожидаемым путям
- Структура репозитория изолирует навык
- Зоны ответственности между README и SKILL.md чётко разделены
Продвинутые правила
- SKILL.md укладывается в 500 строк - Info (экономия контекстного окна)
- Входные скрипты используют встроенные метаданные зависимостей по PEP 723 - Warning
- Рабочие процессы CI включают шаг семантического анализа и триажа - Info
Установка
Универсальная однострочная команда использует инсталлятор skills, который становится стандартом де-факто для пакетов навыков (его же использует impeccable):
npx skills add William-Yeh/agent-skill-linter
Команда сразу раскладывает навык по директориям всех поддерживаемых сред. Описана и ручная установка:
# Claude Code
cp -r skill/ ~/.claude/skills/agent-skill-linter/
# Cursor
cp -r skill/ .cursor/skills/agent-skill-linter/
После установки навык обучает агента запускать linter по текстовым запросам:
"Lint the skill in this directory for publishing readiness." "Check ~/projects/my-skill for spec compliance and fix any issues."
Использование через CLI
Точку входа на Python можно запускать и напрямую без среды агента:
./scripts/skill-lint.py check ./my-skill
./scripts/skill-lint.py check . --fix
./scripts/skill-lint.py check ./my-skill --format json
Вывод в формате JSON сделан специально для того, чтобы агент мог передать результаты lint'а обратно в свой цикл и обработать их.
Зачем навыкам детерминированный linter
Тот же аргумент, что и для детектора в impeccable: когда LLM оценивает вывод другой LLM, сказывается смещение из общих обучающих данных. Поэтому дешёвое и понятное правило справляется с задачей "не забыт ли файл LICENSE" надёжнее умного, но размытого судьи. Набор из 21 правила намеренно невелик: это чеклист готовности к публикации, а не планка качества. Любые субъективные оценки должны происходить до запуска linter'а.
Статус
Проекту три месяца (создан 2026-02-12), 2 звезды, 1 форк, один автор (William-Yeh), 4 релиза вплоть до v0.11.0 (апрель 2026 года), 0 открытых issue. Высокая частота релизов 0.x говорит об активной поддержке; скромное число звёзд - обратный сигнал. Экосистема кросс-платформенных навыков пока мала, поэтому полезный инструмент заметят, скорее всего, только тогда, когда наберёт популярность проверяемый им реестр (agentskills.io).
Внесён в watchlist - повторная проверка 2026-08-02. Что отслеживать: распространение реестра, появление второго контрибьютора, выход за рамки навыков авторства William-Yeh.
Ограничения
- Глубокие проверки (PEP 723, запуск через uv) работают только для навыков на Python. Для пакетов на TypeScript/JS проверяются правила по документации, лицензии и CI, но не языковые особенности.
- Завязан на актуальность спецификации
skills-ref: если реестр сменит владельца или разделится, linter'у придётся догонять изменения. - Пока нет интеграции с редакторами (нет LSP, нет pre-commit хука в репозитории); входными точками остаются только CLI и промпты к агенту.
- Две звезды говорят о размере экосистемы, а не о качестве: инструмент вполне может работать нормально, просто оставаясь в узкой нише.
См. также
- mcp-vs-skills - контекст: что вообще такое "навык агента" и почему важна их переносимость.
- impeccable - тот же шаблон установки через
npx skills add ..., та же философия детерминированного lint'а, но другая область (клише в визуальном дизайне). - claude-defuddle - пример узкоспециализированного навыка для Claude Code, на который рассчитан этот linter.
- clippy-stricter-config - аналогичный подход к "проверке готовности к публикации через lint-конфигурации" в Rust.
Репозиторий
github.com/William-Yeh/agent-skill-linter · 2★ · Apache-2.0 · Python · v0.11.0
Источник: agent-skill-linter-readme.