
Лорен Тан (Lauren Tan, в X @poteto) входит в команду React и работает над React Compiler. До этого она писала код в Meta и Netflix, сейчас работает в Cursor. Свои скилы для AI-агентов она собрала в плагин pstack, он лежит в официальном репозитории плагинов Cursor cursor/plugins. 29 сентября Мэтт Покок (Matt Pocock) поставил её первой в списке трёх лучших авторов скилов и написал, что всегда многому учится, читая их скилы. Пост собрал больше 7500 лайков, а на следующий день Мэтт анонсировал с ней интервью в прямом эфире.
Статья описывает версию 0.15.32 от 23 октября 2026 года, а набор обновляется почти каждый день.
В README Лорен соглашается, что AI-агенты пишут много небрежного кода, и отвечает так: «if you want to go fast, go deep first», то есть чтобы работать быстро, сначала работайте глубоко. Если одному агенту можно доверить проверенный код, таких агентов можно запускать параллельно и не перепроверять каждого вручную. Цель набора, по её словам, писать меньше кода, но лучшего качества.
Принципы, как Лорен рассказывает, появились ещё в её проекте до Cursor. Потом ей надоело вызывать скилы по одному, и она сделала внутренний /lauren-mode, который сам выбирает скилы под тип задачи, а наружу выложила его как /poteto-mode.
В pstack 58 скилов. Точка входа одна, poteto-mode. Ещё 24 скила содержат по одному инженерному принципу, остальные описывают воркфлоу: how объясняет устройство кода, why ищет причины решений, architect проектирует интерфейсы до кода, interrogate устраивает ревью. У всех скилов, кроме setup-pstack, в шапке стоит disable-model-invocation: true. Агент не подгружает их сам, они работают только по вызову, поэтому Лорен пишет, что сама установка токенов не тратит.
Вы пишете /poteto-mode перед задачей. Скил сопоставляет её с одним из 23 плейбуков: исследование, исправление бага, производительность, фича, рефакторинг, прототип, автономный прогон на ночь и другие. Шаги плейбука агент копирует дословно в начало списка задач. Шаг, который он решил не делать, остаётся в списке с пометкой skip: <причина>. В ответе агент обязан назвать каждый принцип, повлиявший на решение, и само решение, которое тот изменил.
В скиле записаны и правила автономии. Обратимую работу агент делает без вопросов, а перед необратимой останавливается: force-push в общую ветку, деплой, удаление данных, сообщения клиентам. Отдельно сказано, что «нет» тоже допустимый ответ, и агент должен возражать, если идея не стоит усилий.
Плейбук Bug fix начинается с правила: каждая отправленная строка опирается на данные из работающей программы. Правка, которая «может помочь», считается гипотезой и в коммит не попадает. Если данные опровергли гипотезу, всё, что из неё выросло, откатывается.
Первое: агент сам воспроизводит баг там же, где его видит пользователь, и не перекладывает это на человека. Если баг не воспроизводится, агент создаёт условия или добавляет логирование, пока ошибка не сработает. Второе: ищет причину бинарным поиском. На каждом проходе он выбирает проверку, которая отсекает больше всего гипотез, пока не останется одна, подтверждённая данными. Третье: планирует исправление и отдаёт его субагенту, а если правка затрагивает границы функций, сначала вызывает architect. Четвёртое: проверяет результат в том же месте, где воспроизводил баг. Результат «не удалось проверить» не засчитывается, а юнит-тесты, по формулировке плейбука, проверяют ветки кода и не доказывают, что бага нет. Пятое: коммит с падающим тестом идёт в истории раньше исправления. В ответе агент вставляет вывод до и после правки дословно.
Отдельное правило касается вопросов к человеку. Прежде чем спросить «какой подход выбрать», агент классифицирует вопрос. Если ответ можно увидеть, запустив код (поведение, тайминг, вёрстку, вывод, производительность), человеку его задавать не нужно, агент делает быстрый прототип. В скиле это сформулировано коротко: «The ask is the slow path», то есть вопрос к человеку дольше всего. Спрашивать стоит только о продуктовых решениях и вкусах, которые эксперимент не решит.
Плейбук Prototype единственный, где качество кода не важно. Агент называет решение, ради которого строит прототип, пишет одноразовый код в отдельной папке, кладёт варианты за один переключатель и проверяет их наблюдением: скриншотами, логами таймингов, выводом.
Для любого кода правило одно: сначала назвать форму данных. Принцип Model the Domain предлагает конечный автомат вместо разбросанных булевых флагов и таблицу или реестр вместо ветвлений по разным файлам. Признак, что этот шаг пропустили, назван прямо: новая фича добавила ещё одну ветку в цепочку if/else или второй флаг, который приходится синхронизировать с первым.
Плейбук Feature идёт так. how изучает затронутую подсистему. architect просит несколько моделей набросать дизайн: сначала код вызывающей стороны, потом типы и сигнатуры с пустыми телами. Лучший набросок дополняется находками остальных. Потом агент пишет чекпоинт: что блокирует остальную работу, что можно распараллелить, где исполнители делят изменяемое состояние и какое разбиение самое безопасное. Код пишет субагент, а ведущий агент читает его diff сам.
Каждый принцип занимает от 10 до 20 строк, и Лорен считает их самой долговечной частью набора. Многие из них она вытащила из своих сессий, где поправляла агентов с начала 2026 года.
Laziness Protocol требует держать каждое решение в одном источнике правды и делать самый маленький diff, который решает задачу. Subtract Before You Add велит сначала удалить лишнее, а потом строить, проектировать под реальное использование и не добавлять валидаторы и проверки сверх спеки. Prove It Works запрещает судить о результате по косвенным признакам вроде «компилируется» или отчёта субагента. Агент проверяет сам артефакт, а если проверка упала, сначала подозревает способ проверки. Guard the Context Window отправляет объёмное чтение в субагентов и оставляет в главном контексте только выводы. Как это работает в Claude Code, мы разбирали в статье о субагентах. Attack the Premise срабатывает, когда два исправления на одном допущении провалили одну и ту же проверку: агент записывает допущение и проверяет его до третьей попытки.
Именами принципов удобно поправлять агента. Гайд pstack предлагает написать «apply prove it works» и попросить показать реальные записи после импорта: полное правило агент уже прочитал, и одна фраза заменяет абзац инструкций.
Этот подход Лорен применяет к самому набору. 10 октября она сжала промпты скилов, и, по её словам, pstack стал на 10% меньше без потерь в поведении. На следующий день она вырезала из семи скилов разделы, которые агент выполняет и без текста. В описании коммита сказано, что каждый вырез сверяли с поведением скила до и после. Изменения скилов она проверяет эвалами по отдельному плейбуку. Кандидаты в нём не знают, что их оценивают, а судья видит ответы под нейтральными метками, без названий моделей.
/interrogate отдаёт один и тот же diff, рубрику и чек-лист качества кода нескольким ревьюерам на разных моделях, по умолчанию Claude Opus 5.5 и Grok 4.7. Скил рассчитывает на разницу между моделями, а не на роли, которые раздают ревьюерам в промпте. Замечание, которое нашли две модели независимо, считается самым надёжным. Ведущий агент раскладывает находки по четырём группам: исправить, обдумать, принять к сведению, отклонить с причиной. Код он не правит, результат скила только вердикт.
poteto-mode описывает стиль Лорен, и она предлагает собрать свой. /automate-me читает транскрипты текущего проекта, только его папку и без чужих проектов. Субагенты параллельно разбирают отрезки истории за последние недели, и паттерн принимается, только если встретился хотя бы в двух. Потом скил задаёт пару вопросов с вариантами ответа и один открытый, пишет черновик <имя>-mode с тем же флагом disable-model-invocation: true, вычищает текст скилом unslop и открывает PR из отдельного git worktree.
В Cursor плагин ставится командой /add-plugin pstack. Поддержка Claude Code появилась 16 октября, в README она описана так:
/plugin marketplace add cursor/plugins
/plugin install pstack@cursor-pluginsКоманды плагина в Claude Code идут с префиксом: /pstack:poteto-mode, /pstack:setup-pstack. Начать стоит с setup-pstack, он записывает модели для ролей в ~/.claude/rules/pstack-models.md. Автообновление для сторонних маркетплейсов Claude Code по умолчанию выключает. Включить его можно в /plugin на вкладке маркетплейсов, а обновить вручную командой claude plugin update pstack@cursor-plugins. Как устроены скилы в плагинах, мы разбирали в статье о скилах.
Скилы написаны под Cursor, и адаптер для Claude Code переводит их имена: тул Task становится Agent, субагент только для чтения становится Explore, облачный агент становится отдельным git worktree. У адаптера есть два ограничения. Модели не от Anthropic он не подставляет, такой субагент работает на модели сеанса. Поэтому все ревьюеры /interrogate в Claude Code работают на моделях Claude, и разница между моделями, на которой построен скил, теряется. Шаги с функциями, которых в Claude Code нет (Bugbot, Cursor Automations, облачные агенты), агент пропускает и пишет об этом одной строкой.
Несколько правил переносятся в свой CLAUDE.md или скил почти дословно. Шаги процесса агент копирует в список задач, а пропущенный оставляет с причиной. На вопрос, ответ на который можно увидеть, агент отвечает прототипом. Каждое утверждение в ответе помечено как измеренное, выведенное или догадка. Принципы короткие и с именами, чтобы поправлять агента одной фразой.
Ещё одну идею Лорен называет перевёрнутой пирамидой. В посте от 16 октября больше всего усилий она советует вкладывать в архитектуру и типы, меньше в линтеры, тесты и CI, ещё меньше в текстовые правила вроде AGENTS.md и скилов, и меньше всего в ручное ревью. По этой же логике работает скил /correct: он находит в истории коммитов повторяющиеся ошибки агентов и закрывает каждую на самом сильном уровне, от архитектуры и типов до тестов, а документацию оставляет напоследок.
Субагенты, панели ревью и параллельные попытки тратят много токенов. Гайд советует снизить бюджет в setup-pstack, урезать панели и вызывать /poteto-mode только там, где нужна строгость. Больше всего, по словам Лорен, тратят большие рои субагентов, и агенту можно прямо запретить их создавать.
Набор рассчитан на Cursor, часть шагов ссылается на его встроенные функции и на плагин cursor-team-kit, который в pstack не входит. Сообщения в рабочий чат и правки тикетов агент делает без вопросов, это стоит сверить с правилами команды. И набор быстро меняется: в июньской версии 0.9.0 было 15 плейбуков, сейчас 23. На наш взгляд, pstack полезнее всего как образец того, как писать плейбуки и принципы для своих скилов, даже если целиком вы его ставить не будете.
Как писать свои скилы, настраивать субагентов и проверять работу агента в Claude Code, разбираем на курсе.


