Глава 04
Навыки и агенты
DWP независим от агента, но предполагает два повторяющихся строительных блока — навыки и агенты — и продуманный способ сориентироваться в репозитории до того, как начнётся любая работа.
Навыки против агентов
Навык
как — переиспользуемая процедура
fix-lintadd-componenttranslate-syncdwp-create
Агент
кто — специализированный исполнитель
reviewerexecutorarchitecti18n-guardian
.claude .agents символическая ссылка → обратная совместимость Эти два понятия легко спутать, но они служат разным целям:
- Навыки — это переиспользуемые процедуры, вызываемые по имени. Навык упаковывает повторяемый рабочий процесс — запуск тестов, исправление линта, создание компонента, — чтобы агенты и люди вызывали его одинаково каждый раз.
- Агенты — это специализированные исполнители с определённой ролью: reviewer, executor, architect. У каждого агента есть сфокусированная зона ответственности, и он действует в её рамках.
Полезная подсказка: навык — это как выполнять повторяющуюся задачу; агент — это кто отвечает за класс работы.
Живой набор: репозиторий растит собственные навыки
Онбординг превращает репозиторий в harness агента; он не замораживает его. Набор призван расти по мере того, как проясняются рабочие процессы репозитория. DWP предоставляет под-навык author — вызываемый через /skill-create и /agent-create, — который рассуждает о существующей структуре .agents/ и соглашениях репозитория, а затем пишет новый навык, агента или тонкий командный делегатор, соответствующий им. Репозиторий сам создаёт собственный набор, а не наследует универсальный.
Под-навык author внимателен к уместности. Он создаёт навык для повторяемой процедуры, которую люди запускают вручную, агента — для повторяющейся роли с отдельными потребностями в модели или инструментах, а команду — только как тонкую точку входа, маршрутизирующую к навыку или агенту. Он пропускает всё универсальное, что не соответствует реальному рабочему процессу, и поддерживает каталог .agents/docs/ в синхронизации со всем, что добавляет. Тот же под-навык лежит в основе обязательной задачи Skills & Agents Discovery, которая сверяет каталог с тем, что фактически есть на диске, — а /dwp-verify подтверждает эту сверку объективно, давая отказ, если каталог и файлы расходятся.
Дополнения для сопровождения
Помимо авторства, DWP поставляет опциональные дополнения для сопровождения — никогда не обязательные для того, чтобы репозиторий был AI-first. Дополнение dependency-upgrade — канонический пример: оно рассуждает о реальном менеджере пакетов репозитория (npm, pnpm или yarn с ncu; pip, poetry или uv; Cargo; Go modules; Bundler; Composer), вместо того чтобы предполагать какой-то один, затем обновляет небольшими партиями, запускает реальный validation gate репозитория после каждой партии, откатывает любую партию, которая не прошла, и подводит итог без автоматического коммита. Дополнения принимаются явно во время онбординга; отказ от любого из них оставляет репозиторий полностью соответствующим стандарту.
Онбординг репозитория на основе рассуждений
Перед созданием или выполнением плана агент проходит онбординг в репозитории. Онбординг основан на рассуждениях, а не на скрипте: агент читает структуру, документацию и конфигурацию репозитория, чтобы построить ментальную модель, а не запускать фиксированный скрипт настройки.
Во время онбординга агент определяет архетип репозитория (отдельный против оркестратора), команды сборки, тестирования и линтинга, существующие соглашения по стилю, структуре и именованию, а также уже доступные навыки и агентов. Именно это понимание позволяет агенту планировать и выполнять работу так, чтобы вписываться в репозиторий, а не бороться с ним.
Каталог .agents/ и символьная ссылка .claude → .agents
DWP собирает всё, что определяет поведение агента — навыки, команды, определения агентов, внутреннюю документацию и настройки, — в едином каноническом каталоге .agents/. Название сигнализирует, что содержимое разделяется между агентами, а не привязано к какому-либо одному инструменту.
Для обратной совместимости с инструментами, которые исторически читали из .claude/, этот путь является символьной ссылкой на .agents/:
ls -la .claude
# .claude -> .agents
Каждый путь .claude/... прозрачно разрешается в свой эквивалент .agents/..., поэтому старый инструментарий продолжает работать, а новое содержимое ссылается на каноническое расположение .agents/. Навыки и агенты редактируются через реальные файлы в .agents/, а не через символьную ссылку.