Как ставить задачи 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/