00:00:00Это Superpowers — фреймворк для агентских навыков, собравший более 50 000 звезд на GitHub,
00:00:05который не дает вашему ИИ-кодеру спешить и совершать ошибки, направляя его через структурированный
00:00:10рабочий процесс: мозговой штурм, реализация, разработка через тестирование (TDD),
00:00:15и даже использование субагентов для параллельного выполнения задач и проверки кода.
00:00:19Но чем это отличается от обычного режима планирования или разработки на основе спецификаций?
00:00:24Подписывайтесь, и давайте разберемся.
00:00:27Итак, перед нами проект под названием XDL — это консольная утилита для скачивания видео из Twitter.
00:00:32Я хочу создать веб-интерфейс для этого инструмента, который не только скачивает видео в браузер
00:00:38по ссылке, но и создает на его основе статью. Я использовал Opus 4.6 в режиме планирования Claude Code,
00:00:46чтобы попытаться создать этот интерфейс. И вот что из этого вышло.
00:00:50К сожалению, когда я запустил код в первый раз, возникли некоторые проблемы.
00:00:53Поэтому я прошелся по коду, чтобы исправить ошибки, и, надеюсь, все разрешилось.
00:00:58Теперь, похоже, все работает.
00:01:00Я перейду в Twitter и скопирую ссылку на этот твит.
00:01:03Прости, Кевин. Вставлю ее сюда и посмотрю, скачается ли видео.
00:01:06Идет извлечение... и видео удалось скачать.
00:01:09Если я нажму сюда, оно откроется в новой вкладке — не совсем то, что я ожидал, но это работает.
00:01:15Теперь попробуем создать статью из этого твита: вставляю ссылку, запускаю генерацию,
00:01:20и мы видим этапы процесса. Сначала извлекается видео, затем —
00:01:24аудио. И вот результат: мы получаем статью в идеально отформатированном Markdown,
00:01:29что действительно впечатляет. А теперь взглянем на ту же задачу, выполненную в Opus 4.6,
00:01:35но с использованием Superpowers. Сразу видно, что дизайн намного лучше, с кнопками
00:01:39скачивания и генерации статьи. Вставим ту же ссылку, нажмем «скачать», и снова —
00:01:45извлечение видео, но на этот раз оно скачивается прямо в браузер, и я могу сразу его посмотреть.
00:01:51Теперь используем тот же твит для генерации статьи. Здесь видны все шаги,
00:01:56которые предпринимает агент. По завершении всех этапов статья транслируется прямо в браузер.
00:02:01У меня есть возможность скопировать её и вставить куда угодно. Как видите,
00:02:06версия с Superpowers превосходит вариант без неё. Мы разберем
00:02:10код чуть позже, а пока давайте посмотрим, как я это сделал. После
00:02:15установки плагина Superpowers появляются новые команды, такие как brainstorm,
00:02:20execute_plan и write_plan (которая составляет план на основе мозгового штурма).
00:02:25На деле нам нужна только эта команда, так как Superpowers сама направит нас на следующий этап.
00:02:31Запускаем её и вставляем промпт. Нажимаем Enter. Теперь загружается
00:02:35навык мозгового штурма, и система начинает изучать текущий проект. Здесь она задаст мне
00:02:39несколько вопросов для уточнения плана. Я отвечу: «React плюс Vite», и добавлю про
00:02:44пошаговую генерацию статьи. Далее система просит подтвердить структуру архитектуры —
00:02:49выглядит неплохо. Также следуют вопросы об интерфейсе, эндпоинтах и логике сервера.
00:02:54После ответов на все вопросы запускается создание плана, который
00:02:58сохраняется в отдельную директорию. Взглянув на план, мы видим глубокую детализацию:
00:03:03обзор, стек технологий, структуру, дизайн, макеты, API и многое другое.
00:03:09По сути, это очень похоже на то, что выдает Claude Code при самостоятельном планировании.
00:03:15Но самое интересное начинается на следующем шаге. Когда я подтвердил план
00:03:19и готовность к реализации, система составляет еще один план — план внедрения. Сначала она
00:03:25анализирует исходный проект дизайна, который мы создали,
00:03:31и разбивает его на мелкие, управляемые задачи для параллельных субагентов. Теперь составлен
00:03:36новый план и снова сохранен в папку с планами. Посмотрев на него,
00:03:41мы увидим, что вместо общего обзора архитектуры всё разбито
00:03:46на конкретные задачи. Вот задача по созданию каркаса проекта с пошаговым описанием.
00:03:52Вот еще одна — создание клиента на Vite и React. И так далее,
00:03:57для каждой задачи, необходимой для завершения проекта. После этого Superpowers
00:04:03предлагает выбрать подход: через субагентов или через параллельные сессии.
00:04:08Первый вариант использует отдельного субагента для каждой задачи без подтверждения человеком.
00:04:14Второй вариант создает новые сессии из текущей, выполняет задачи пакетами
00:04:18и затем запрашивает у меня подтверждение, всё ли в порядке, прежде чем продолжить.
00:04:24Ради скорости я выберу подход через субагентов. Теперь система
00:04:28приступила к выполнению задач проекта. К сожалению,
00:04:32эти задачи выглядят иначе, чем предыдущие, потому что в первый раз я забыл
00:04:36включить запись экрана. Я начал заново с тем же промптом. Сейчас происходит
00:04:41следующее: каждый субагент сначала пишет тест, который должен провалиться.
00:04:47Затем он пишет минимальный код, чтобы тест прошел. Закончив работу над функцией,
00:04:52агент проверяет соответствие требованиям плана и переходит к
00:04:57контролю качества кода: проверяет его чистоту и удобство поддержки. Большинство
00:05:02задач завершено, теперь идет финальное тестирование. И вот результат: все задачи
00:05:06выполнены, по ходу дела даже был найден и исправлен один баг. Если
00:05:11посмотреть на код, он разделен на серверную и клиентскую части (source).
00:05:16Внутри есть компоненты: вкладка статьи, вкладка скачивания и т.д. В файле
00:05:21pipeline progress мы видим этапы в виде объекта и интерфейс TypeScript. Похоже, для
00:05:27стилизации используется CSS-in-JS. Задним числом понимаю, что стоило указать Tailwind,
00:05:32но и так сойдет. И посмотрите на это — Opus в режиме плана не сделал бы этого сам.
00:05:37На каждом этапе Superpowers создавала git-коммит: от развертывания
00:05:43скелета проекта до добавления CLI-обертки и Hono. Проверяю
00:05:48статус git: мне нечего коммитить, ветка чиста. Это значительно экономит мои силы.
00:05:53Вы можете спросить: а где же файлы тестов? Об этом я расскажу чуть позже.
00:05:57Честно говоря, Superpowers — впечатляющий проект. Мне нравится их
00:06:02фокус на навыках. Кажется, их 14, и они делают всё: от мозгового штурма
00:06:08до планирования, реализации и код-ревью. Ценю упор на TDD,
00:06:12особенно подход «red-green», когда сначала пишутся тесты, чтобы они «покраснели»,
00:06:18а затем — минимальный код для успеха. Но иногда это не срабатывает, так как агент
00:06:24решает проигнорировать этот этап. Взгляните: здесь в навыке написания плана
00:06:31было четко указано TDD. По какой-то причине Claude решил этого не делать.
00:06:36Я попросил подтвердить это, и он признал вину: «Да, мой косяк. В навыке указано TDD, но я не сделал».
00:06:42На вопрос «почему?» он ответил, что сосредоточился на быстрой сдаче кода, а не на процессе.
00:06:47Не совсем понимаю, почему так ведет себя современная модель, но это доказывает,
00:06:53что нельзя слепо доверять ИИ. Важно читать план и проверять, всё ли идет как надо.
00:06:57Это одна из причин, почему я не буду использовать Superpowers для абсолютно всех
00:07:03своих проектов или мелких правок. Если задача небольшая,
00:07:08мне проще обсудить её с Claude, составить документ и очистить контекст перед выполнением.
00:07:13Но когда дело доходит до реализации
00:07:19сразу нескольких функций (что периодически случается), Superpowers становится
00:07:24отличным подспорьем, так как мастерски разбивает сложные требования на части
00:07:31для субагентов. Да, функция задач в Claude Code умеет нечто подобное,
00:07:37но мне нравится, что Superpowers создает для этого полноценный план перед кодингом.
00:07:43Как Superpowers соотносится с Beads, SpecKit или вообще с архитектурой разработки по спецификациям?
00:07:48Для меня это выглядит как упрощенная версия планирования перед исполнением.
00:07:53Конечно, не такая простая, как Ralph, а скорее нечто среднее
00:07:58между Ralph и Beads. Мне кажется, появляется всё больше инструментов,
00:08:02помогающих писать качественный код с помощью ИИ-агентов. Это хорошо,
00:08:06но у каждого свои предпочтения. Думаю, правильно брать понемногу от каждого
00:08:10и в итоге создать свой идеальный рабочий процесс. Возможно, я именно так и поступлю
00:08:16в будущем. И если повезет, запишу видео о том, как я это сделал.