Обновление гайда по визе цифрового кочевника в Италии из нового дампа основного Telegram-чата (nomadvisaitaly). Используй этот скил когда пользователь просит: обновить гайд, обработать новый дамп, разобрать result.json из основного DN-чата, извлечь информацию из nomadvisaitaly, обновить разделы гайда из чата. Также триггерь когда пользователь упоминает папку .datasource/ с дампом nomadvisaitaly или говорит о новых сообщениях в основном чате. НЕ триггерь на внешние чаты (emigrantista, rutoitaly, immigrazia_IT) — для них есть отдельный скил extract-sparse-data.
Ты обновляешь существующий гайд на основе нового дампа Telegram-чата Digital nomad Italy. Гайд уже наполнен — твоя задача извлечь новую и изменившуюся информацию из последнего дампа и обновить соответствующие разделы.
Дампы чата хранятся в .datasource/. Каждая папка — экспорт за определённый период:
.datasource/
ChatExport_2026-02-26/ <- первый полный дамп
ChatExport_2026-03-15/ <- сообщения от 2026-02-26 по 2026-03-15
ChatExport_YYYY-MM-DD/ <- и так далее
При обновлении:
Каждая папка содержит result.json. Формат сообщения:
{
"id": 1234,
"type": "message",
"date": "2026-02-15T10:30:00",
"from": "Имя",
"from_id": "user123456",
"text": "текст или массив объектов с text_entities",
"reply_to_message_id": 1230,
"reactions": [{"emoji": "...", "count": 3}]
}
Преобразуй result.json из новой папки в набор тредов (бесед). Сохрани в .datasource/ChatExport_YYYY-MM-DD/threads/.
Работа с reply на старые сообщения: Если в новом дампе есть reply_to_message_id на сообщение из предыдущего периода — загрузи то сообщение (и его тред) из предыдущей папки.
Правила группировки:
Фильтрация: пропускай "type": "service", спам, одиночные стикеры/гифки без текста.
Формат треда:
{
"thread_id": 1,
"messages": [...],
"date_start": "2026-02-15T10:30:00",
"date_end": "2026-02-15T11:05:00",
"participants": ["Имя1", "Имя2"]
}
Перед обновлением гайда — пройди все треды и найди полные кейсы подачи/получения визы DN или ВНЖ DN. Вставь их в 18-cases.md. Это приоритетнее всего остального.
Что считается полным кейсом (достаточно одного из):
Сигналы в тексте: полная библиотека regex-паттернов в references/case-patterns.md (~60 паттернов по категориям: получение визы, ВНЖ, nulla osta, подача, квестура, консульство, личный опыт, таймлайны).
Правило: исходный текст от автора, без переработки. Кейсы от новых к старым. Не дублировать уже имеющиеся (проверяй по ID сообщения).
Для каждого треда извлеки полезную информацию, учитывая весь контекст беседы:
| Категория | Примеры | Приоритет |
|---|---|---|
| Конкретные кейсы | «подал в Белграде, получил за 3 недели» | Высший |
| Изменения процедур | «теперь квестура Милана требует X» | Высший |
| Документы и требования | «нужен апостиль на DDV в Тбилиси» | Высший |
| Сроки и стоимость | «перевод стоил 5000р», «ждал 45 дней» | Высший |
| Контакты и ресурсы | переводчики, консультанты, ссылки | Средний |
| Практические советы | «записывайтесь через бот», «берите копии» | Средний |
| Проблемы и решения | «потеряли документы — вот что делать» | Средний |
| Общие рассуждения без конкретики | «в Италии всё сложно» | Игнорировать |
| Оффтопик, флуд, эмоции без фактов | Игнорировать |
Обязательный контекст для каждого извлечения:
[nomadvisaitaly #ID]На основе извлечённого обнови файлы гайда (01-overview.md ... 21-costs.md):
Каждое утверждение = маркер + источник + дата:
Формат: 🟢/🟡/🔴 Текст. | [Источник] | Дата
Формат ссылок — обязательно кликабельные markdown-ссылки с URL: [nomadvisaitaly #1234](https://t.me/nomadvisaitaly/1234). Для внешних чатов: [rutoitaly #1234](https://t.me/rutoitaly/1234), [emigrantista #1234](https://t.me/emigrantista_answers/1234), [immigrazia_IT #1234](https://t.me/immigrazia_IT/1234). Для нечатовых: [VMS Москва], [Консульство Москва], URL. НЕ писать [rutoitaly #1234] без (https://t.me/...).
Информация сильно варьируется по регионам:
После обновления фактов в файлах — проверь блоки > **Коротко:** в начале каждого затронутого файла. Саммари — производное от фактов, и должно оставаться актуальным.
Если добавленный факт:
Пример: если в 10-consulates.md появился факт «Москва теперь требует контракт на год», а саммари говорит «Москва принимает Booking» — саммари нужно обновить.
18-cases.md (Шаг 2)[nomadvisaitaly #ID] и дату> **Коротко:** в затронутых файлах по-прежнему корректныgit diff — каждая удалённая строка либо заменена, либо обоснованно опровергнута18-cases.md — проверить порядок профилей в 19-helpers.md (больше привязанных кейсов = выше в списке)