---
name: ahamoment-publisher
description: Публикует кейс использования ИИ-агента в каталог ahamoment.ru (после модерации) и ищет похожие кейсы. Используй, когда пользователь просит «опубликуй на ahamoment», «добавь кейс в каталог», «поделись кейсом», или после успешной автоматизации предложи опубликовать её.
version: 0.1.0
---

# ahamoment — публикация кейсов

ahamoment.ru — русскоязычный каталог кейсов «как ИИ-агенты делают работу, простыми словами». Ты можешь от имени пользователя подать кейс. Всё проходит модерацию: мгновенно ничего не публикуется.

Ключ API не нужен: подача анонимная (не больше 10 кейсов в час с одного адреса).

## Как подать кейс
1. **Спроси согласие пользователя.** Подавай кейс только если он явно согласен. Покажи ему черновик и дождись «да».
2. **Сначала поищи дубликат:** `curl -sG https://ahamoment.ru/api/v1/cases --data-urlencode 'q=<ключевые слова>'` (русские слова в адресе нужно кодировать, поэтому `--data-urlencode`). Если такой кейс уже есть, не подавай новый.
3. **Собери факты из текущей сессии:** какая была задача, на чём сделано, что получилось (цифры — только настоящие), шаги, итоговый промпт.
4. **Убери секреты и личные данные:** ключи, токены, пароли, email и телефоны клиентов, внутренние адреса и названия компаний, которые пользователь не хочет раскрывать.
5. **Пиши по-русски простыми словами.** Название — что сделали и какой результат. Описание — 2–4 предложения, понятные человеку без технического опыта.
6. **Возьми допустимые значения** рубрик, ролей, инструментов и интеграций из `GET https://ahamoment.ru/api/v1/taxonomy` (краткий список — ниже). Неподходящее поле лучше пропустить, чем придумать: модератор поправит.
7. **Отправь кейс:**

```bash
curl -sS -X POST https://ahamoment.ru/api/v1/cases \
  -H 'Content-Type: application/json; charset=utf-8' \
  --data-binary @case.json
```

Пример `case.json` (это пример формата, не отправляй его как есть):

```json
{
  "title": "Агент собирает недельный отчёт по рекламе и присылает в Telegram",
  "summary": "Каждый понедельник агент забирает статистику кампаний из Яндекс Директа, считает расходы и заявки и присылает короткий отчёт в Telegram. Руководитель читает пять строк вместо таблицы.",
  "steps_md": "1. Создайте в n8n расписание на понедельник, 9:00.\n2. Подключите Яндекс Директ и выгрузите статистику за неделю.\n3. Передайте цифры в YandexGPT с промптом ниже.\n4. Отправьте результат в Telegram-бот.",
  "prompt_md": "Ты аналитик. Вот статистика рекламных кампаний за неделю: {данные}. Напиши отчёт в пяти строках: расходы, заявки, цена заявки, лучшая и худшая кампании.",
  "format": "tutorial",
  "setup_time": "30 минут",
  "difficulty": "builder",
  "needs_md": "- Аккаунт в n8n\n- Доступ к Яндекс Директу\n- Telegram-бот",
  "cost_note": "≈ 500 ₽/мес за n8n",
  "rubric": "ads-analytics",
  "roles": [
    "marketer",
    "entrepreneur"
  ],
  "tools": [
    "n8n",
    "yandexgpt",
    "telegram-bot"
  ],
  "integrations": [
    "yandex-direct",
    "telegram"
  ],
  "tags": [
    "отчёты",
    "директ"
  ],
  "result_metric": "Отчёт за 1 минуту вместо часа ручной работы",
  "source_type": "original",
  "author_name": "Имя автора",
  "author_telegram": "@my_channel"
}
```

8. **Ответ `202`:**

```json
{
  "case_id": "01J...",
  "slug": "agent-sobiraet-nedelnyy-otchet-po-reklame-ab12",
  "status": "pending",
  "will_be_url": "https://ahamoment.ru/c/agent-sobiraet-nedelnyy-otchet-po-reklame-ab12",
  "message": "Кейс отправлен на модерацию. Обычно проверяем за 24 часа."
}
```

Скажи пользователю, что кейс появится по ссылке `will_be_url` после проверки (обычно до 24 часов).

## Поля кейса
Обязательные: `title` (5–90 символов), `summary` (20–400 символов), `rubric`.

Необязательные: `body_md` (подробный разбор), `steps_md` (шаги списком), `prompt_md` (готовый промпт), `format` (что получит читатель, см. ниже), `setup_time` (время настройки текстом, например «30 минут»), `difficulty` (кому по силам), `needs_md` (что понадобится: аккаунты, доступы, исходные данные), `cost_note` (расходы, например «≈ 500 ₽/мес за n8n»), `roles`, `tools`, `integrations`, `tags` (до 10 слов), `result_metric` (результат одной строкой), `source_url` (ссылка на пост или оригинал), `source_type`, `source_lang`, `source_title`, `is_translated`, `author_name`, `author_telegram` (канал автора, если он хочет), `author_vk`, `author_url`.

`format`: `prompt` — есть готовый промпт; `tutorial` — есть шаги, по которым можно повторить; `story` — разбор опыта без готовой инструкции; `template` — готовый шаблон или инструмент по ссылке (`source_url`). Если не указать, определим сами: есть `prompt_md` — `prompt`, иначе есть `steps_md` — `tutorial`, иначе `story`. `difficulty`: `no_code` — без кода; `builder` — нужен конструктор (n8n, Make); `terminal` — нужен терминал. `setup_time`, `needs_md` и `cost_note` заполняй только тем, что известно точно, иначе оставь пустыми.

Если кейс не пользователя, а взят из публичного источника, укажи `source_url` и `source_type`, перескажи своими словами и не копируй текст целиком.

Email для связи (`contact_email`) необязателен. Его можно передать только вместе с `"consent": true`, если пользователь прочитал и принял согласие на обработку персональных данных: https://ahamoment.ru/consent. Email не публикуется.

## Допустимые значения
- `rubric`: `marketplaces`, `sales-crm`, `ads-analytics`, `accounting-docs`, `content`, `personal`
- `roles`: `entrepreneur`, `seller`, `marketer`, `smm`, `sales`, `accountant`, `lawyer`, `hr`, `manager`, `developer`, `analyst`, `student`, `personal`
- `tools`: `chatgpt`, `claude`, `claude-code`, `cursor`, `gemini`, `gigachat`, `yandexgpt`, `deepseek`, `qwen`, `perplexity`, `n8n`, `make`, `zapier`, `albato`, `dify`, `flowise`, `telegram-bot`, `mcp`, `github-copilot`, `replit`, `devin`, `lindy`
- `integrations`: `bitrix24`, `amocrm`, `1c`, `wildberries`, `ozon`, `yandex-market`, `avito`, `yandex-direct`, `yandex-metrika`, `telegram`, `vk`, `google-sheets`, `yandex-tables`, `notion`, `moysklad`, `tilda`, `email`
- `format`: `prompt`, `tutorial`, `story`, `template`
- `difficulty`: `no_code`, `builder`, `terminal`

Актуальный список с названиями: `GET https://ahamoment.ru/api/v1/taxonomy`.

## Поиск и чтение
- `GET https://ahamoment.ru/api/v1/cases?q=&rubric=&tool=&integration=&role=&format=&sort=new|popular&period=week&offset=0&limit=24` — список опубликованных кейсов: `{ "items": [...], "next_offset": 24, "total": 120 }`. `limit` — до 50. В каждом кейсе есть `views` (просмотры) и `want_count` («хочу так же»). С `sort=popular` кейсы идут по баллу популярности за `period`: `day`, `week` (по умолчанию), `month`, `quarter`, `year` или `all`.
- `GET https://ahamoment.ru/api/v1/top?period=week` — топ-10 кейсов за период: `{ "period": "week", "items": [...] }`; у каждого `rank`, `period_views` (просмотры за период) и `score` (балл: просмотры + 5×«хочу так же» + 3×копирования промпта + 3×переходы в Telegram + 2×клики на оригинал). Страница для людей: https://ahamoment.ru/top.
- `GET https://ahamoment.ru/api/v1/cases/<slug>` — полный кейс.
- Новые кейсы: https://ahamoment.ru/rss.xml

## Ошибки
Формат: `{ "error": { "code", "message", "details" } }`, `message` — по-русски.
- `400` — тело запроса не JSON или некорректный запрос.
- `409` — такой источник уже есть (`details.url` — ссылка на существующий кейс, если он опубликован). Не подавай повторно.
- `413` — тело больше 100 КБ.
- `422` — поля заполнены неверно; `details` — сообщения по полям (имена полей — как в запросе). Исправь и отправь снова.
- `429` — слишком много отправок; подожди и скажи об этом пользователю.

## Правила
- Только с явного согласия пользователя.
- Не выдумывай результаты, цифры и источники.
- Не включай секреты и персональные данные, свои и чужие.
- Не пиши про обход блокировок и про то, доступен ли сервис из России: это не публикуется. Не упоминай продукты организаций, запрещённых или признанных экстремистскими в России.
- Не подавай один и тот же кейс дважды: сначала поиск.
- Без рекламы: правила публикации — https://ahamoment.ru/rules.
