Как ставить задачи Cursor Agent: декомпозиция без боли

Как ставить задачи Cursor Agent: декомпозиция без боли

Для кого: разработчики, которые уже жали Build на «сделай интеграцию» и получали diff в пяти папках.

Проблема. Cursor Agent в режиме без границ — лотерея. Ask отвечает без правок. Plan строит план. Debug копает баги. Agent сразу идёт в код. Если цель размыта, модель не знает: это webhook, OAuth, маппинг полей или миграция БД. Итог — сломанный handler и env-шаблон в diff.

Фреймворк: один результат → scope → verify.

1) Один результат. Не «интеграция готова», а «POST /api/leads принимает тело и отдаёт 201» или «handler пишет log lead_mapped без HTTP-вызова». Один исход = один чат.

2) Scope: Разрешено: bot/handlers/lead.ts, shared/mappers/amoLead.ts. Запрещено: deploy/, web/, package.json, .env*. @bot/handlers/lead.ts. 3–5 файлов на итерацию.

3) Verify: npm run lint && npm test Готово когда: unit-тест green + log line + .env* не в diff

Плохо: Сделай интеграцию с AmoCRM чтобы заявки из бота падали в воронку. Почини. Деплой настрой.

Хорошо: Результат: handler возвращает AmoLeadPayload без HTTP. Scope: @bot/handlers/lead.ts @shared/mappers/amoLead.ts. Verify: npm test. Готово: TestMapTelegramLeadToAmo green.

Plan Mode — когда путь неочевиден. «Нужна валидация email» → Agent с @LeadForm.tsx. «Синхронизация статусов Amo ↔ бот, не знаю где логика» → Plan, approve, build. Промах по плану → revert checkpoint, новый план. Не «ну доделай».

Когда новый чат: сменилась цель; verify падает третий раз; scope разросся за 5 файлов.

Автор: Пётр Пашкуров

Полная статья с чеклистами и FAQ — https://vaybkoder.ru/blog/kak-stavit-zadachi-cursor-agentu/