Парсер и сбор данных. Скрипт сбора данных и сохранения в PostgreSQL. Результат — строки в таблице и второй запуск без дублей. На скринах учебные подписи — имя, домен и токен замените своими. Карты, пароли и чужие кабинеты в чат не кладите.
Вечер один: узкий запрос, затем diff, затем одна вторая правка по теме «Парсер и сбор данных». Не смешивайте её в том же диалоге с оплатой, деплоем или «перепиши проект».

Что должно лежать в таблице
Сначала закройте это: Скрипт: список URL → HTML или JSON → строки в таблицу. Пока пункта нет в diff, к следующей правке не переходите.
Дальше держите условие «PostgreSQL: таблица с url, title, fetched_at». Если агент принёс соседнюю задачу, отклоните diff и повторите запрос без неё.
Отдельной границей остаётся вот что: Пауза между запросами, нормальный User-Agent, обработка 429/5xx. Это не пожелание на потом.
В списке ещё пункт «Не логините агента в чужие кабинеты и не обходите защиту «чтобы получилось»». Короткий diff с ним полезнее длинного «я ещё улучшил».
Всё это умещается в первое сообщение. Вторую тему в него не добавляйте, даже если она кажется соседней.
Папка и первый запрос
Откройте пустую папку через File → Open Folder. Не домашний каталог и не рабочий стол: иначе агент читает чужие файлы и правит не тот проект.
Первое сообщение для «Парсер и сбор данных» — на один экран:

Плохо звучит «сделай нормально». Хорошо звучит просьба, которая начинается с «Скрипт: список URL → HTML или JSON → строки в таблицу». После ответа откройте результат сами. Если страница, бот или команда молчит — вставьте агенту текст ошибки, а не слово «не работает».
Скрипт сбора
В diff ищете главный файл, не пачку новых зависимостей. Следующее сообщение указывайте через @ на этот файл, чтобы агент не создал копию рядом.

В файле должна читаться тема «Парсер и сбор данных». Ключей, паролей и чужих репозиториев рядом быть не должно. Лишний фреймворк — повод отклонить diff.
Повторный запуск без дублей
Вторая задача одна. Не просите заодно тесты, деплой и новый дизайн.

«Напиши скрипт на Python: читает urls.txt, кладёт title в Postgres, секреты из .env». Потом отдельно: ретраи, идемпотентность по url.
@ на схему и сам скрипт. Если агент тянет Selenium «на всякий случай» — спросите, хватит ли обычного HTTP.
Проверка: два запуска подряд не плодят дубли.
Если на эту правку открылось больше пары файлов, оставьте только то, что относится к «Парсер и сбор данных».
Если агент уехал в сторону
Откатите лишнее. Для этой темы хватает трёх фраз:
- «верни только файлы из первого запроса, соседние проекты не трогай»;
- «не добавляй пакет и аналитику, если их не было в списке: Скрипт: список URL → HTML или JSON → строки в таблицу»;
- «секреты не пиши в код и не проси прислать их в чат».
Короткий diff лучше длинного, который заодно переименовал половину репозитория.
Какие файлы нормальны
После вечера достаточно fetch.py, urls.txt, .env со строкой Postgres и схема таблицы. node_modules и сборки в git не кладите.
Тексты и подписи меняйте отдельно: «замени формулировки, структуру файлов не трогай». Тема вечера остаётся прежней: Парсер и сбор данных.
Когда парсер готов
Проверьте сами то, что обещает описание: Скрипт сбора данных и сохранения в PostgreSQL. Когда это видно без чата агента, можно открыть связанные материалы: новости про контекст, как начать.
Следующий пример из каталога начинайте новым чатом.