# User Stories: Маркетплейс готовых ИИ-агентов

> **Дата:** 2026-08-26 | **Источник:** PRD (product/13-deliver-prd.md)
> **Ревизия:** 2026-08-27 | **Основание:** `product/00-research-evidence-base.md` (27.08.2026, ~70 источников, ~60 карточек T1/T2) | **Версия:** 1.1

> **Ревизия 2026-08-27 — что изменилось и почему:**
> - Добавлен Epic 5 Agent Kit: dry-run/guardrails, doctor, версионирование — продукт = Agent Kit, не ZIP (Находки 3,5,9; ZIP 2.1.243 SIGSEGV; Polza DeepSeek V4).
> - US-13 dry-run перед списанием бюджета — killer-фича безопасности: hard-limits в коде транспорта, а не в промпте (Находка 5, H: $80k штрафы, удаление писем, Волков «запреты в коде транспорта»; USTINOV «за что брать деньги?» → ценность в trust).
> - US-14 doctor-скрипт — установка барьер №1 снимается не инструкцией, а `npx + doctor --check` + зелёная галочка time-to-first-task (Находка 3, H/T1: Кузнецов 13 агентов, Xcom-shop — не-программисты способны с installer+doctor; PR anthropics/devcontainer-features#37 — Node.js-зависимость гниёт).
> - US-15 обновления без доплаты — статика гниёт, экосистема быстрее человека (Находка 9, H: Масленников 3000ч, Polza V4 поломка сценариев; ответ Устинову «пин моделей + канал обновлений»).
> - Связанные правки PRD: `product/13-deliver-prd.md` Rev 2026-08-27; Spec: `product/12-specification-writing.md` Rev 2026-08-27.

---

## Epic 1: Каталог и карточки

### US-1: Как предприниматель, я хочу увидеть каталог агентов, чтобы понять, какой подходит для моей задачи

**Приоритет:** Must
**Описание:** На главной странице я вижу список агентов с названием, кратким описанием и категорией. Я могу перейти в каталог и увидеть все доступные агенты.
**Приёмочные критерии:**
- Каталог отображает≥5 агентов
- Каждая карточка содержит название и краткое описание
- Карточки кликабельны → переход на страницу агента
- Каталог работает на мобильном и десктопе

### US-8: Как предприниматель, я хочу найти агента по задаче через фильтры

**Приоритет:** Should
**Описание:** В каталоге я могу отфильтровать агентов по задаче (планирование, контент, анализ, переписка), цене (бесплатные/платные) и платформе.
**Приёмочные критерии:**
- Фильтр по задаче работает
- Фильтр по цене работает
- Фильтр по платформе работает
- Результат обновляется без перезагрузки страницы

---

## Epic 2: Карточка агента

### US-2: Как предприниматель, я хочу выбрать платформу и купить агента

**Приоритет:** Must
**Описание:** На странице агента я вижу подробное описание, возможности, ограничения, требования, цену. Я выбираю платформу (Codex/Claude Code/OpenCode) и нажимаю «Купить».
**Приёмочные критерии:**
- Карточка содержит: название, описание, ограничения, требования, цену
- Выбор платформы отображается явно
- Кнопка «Купить» видна и кликабельна
- После нажатия происходит переход в Telegram

---

## Epic 3: Telegram-бот

### US-3: Как предприниматель, я хочу получить ZIP-архив через Telegram после оплаты

**Приоритет:** Must
**Описание:** После перехода из сайта бот показывает название, версию и цену. Я подтверждаю намерение купить. Администратор подтверждает оплату. Бот отправляет ZIP-архив.
**Приёмочные критерии:**
- Бот получает ID агента и платформы
- Бот показывает название, версию, цену
- Бот фиксирует заявку
- Администратор получает уведомление
- После подтверждения оплаты бот отправляет архив

### US-7: Как предприниматель, я хочу попробовать бесплатного агента

**Приоритет:** Should
**Описание:** На карточке бесплатного агента я нажимаю «Получить бесплатно». Бот автоматически отправляет ZIP-архив без подтверждения оплаты.
**Приёмочные критерии:**
- Бесплатные архивы отправляются автоматически
- Бот фиксирует выдачу

### US-6: Как предприниматель, я хочу отправить сообщение о проблеме

**Приоритет:** Should
**Описание:** Если при установке возникла ошибка, я отправляю сообщение боту. Бот запрашивает: название пакета, версию, платформу, ОС, неуспешный шаг, текст ошибки.
**Приёмочные критерии:**
- Бот принимает сообщения о проблемах
- Бот запрашивает необходимые данные
- Сообщение сохраняется с привязкой к пакету

---

## Epic 4: Администрирование

### US-9: Как администратор, я хочу получать уведомления о новых заявках

**Приоритет:** Must
**Описание:** При каждой новой заявке администратор получает Telegram-уведомление с данными: пользователь, пакет, платформа, цена.
**Приёмочные критерии:**
- Уведомление приходит мгновенно
- Содержит все необходимые данные

### US-10: Как администратор, я хочу подтверждать оплату и отправлять архив

**Приоритет:** Must
**Описание:** Администратор видит заявку, подтверждает оплату. Бот автоматически отправляет архив пользователю.
**Приёмочные критерии:**
- Администратор может подтвердить оплату
- После подтверждения архив отправляется автоматически

### US-11: Как администратор, я хочу видеть список заявок и их статусы

**Приоритет:** Should
**Описание:** Администратор может просмотреть все заявки с фильтрацией по статусу.
**Приёмочные критерии:**
- Список заявок доступен
- Фильтрация по статусу работает

### US-12: Как администратор, я хочу изменять цены и описания без правки кода

**Приоритет:** Should
**Описание:** Данные карточек хранятся в CMS (Notion/Airtable/JSON). Администратор может изменить цену, описание, обложку без обращения к разработчику.
**Приёмочные критерии:**
- Данные доступны для редактирования
- Изменения отображаются на сайте

---

## Epic 5: Agent Kit — Guardrails, Installer, Обновления (Rev 2026-08-27)

> Основание: `product/00-research-evidence-base.md` — Находки 3,5,9; WTP 1990₽ (Находка 4); ZIP 2.1.243 SIGSEGV; Polza DeepSeek V4. Продукт = Agent Kit (пакет + installer + doctor + guardrails + обновления), не файл.

### US-13: Как предприниматель, я хочу dry-run перед списанием бюджета (guardrails)

**Приоритет:** Must — killer-фича безопасности
**Эвидэнс:** Находка 5 (H, ≥4 источника T1/T2): 34 штрафа ~$80 000 (Business Arena), массовое удаление писем (Саммер Юэ), «тесты проходят» без запуска (Масленников); Волков «запреты в коде транспорта, а не в промпте»; No-code: «запишите, что агент НЕ делает, human-in-the-loop».
**Описание:** У агента для внешних действий (Директ, почта, CRM, платежи) есть hard-limits в коде транспорта. Перед первым платным/деструктивным действием я вижу, что будет сделано, сколько это стоит и что заблокировано. Деструктивные операции по умолчанию идут как `dry-run`; реальное исполнение только с моим явным подтверждением (`--apply`). Токены хранятся локально, не в промпте/логах.
**Ценность:** Снимает страх «агент сольёт бюджет/удалит данные» — главное возражение против покупки (Discovery §5: standalone ZIP не продаётся без trust; Находка 7 — рутина 20–40ч, но цена ошибки высока).
**Приёмочные критерии:**
- Любая команда, меняющая внешнюю систему (отправка кампании, удаление писем, списание), по умолчанию выполняется как `dry-run` с readback-проверкой: что будет изменено, сколько вызовов/сообщений, оценка стоимости в рублях
- Hard-limits в коде (не в промпте): `max_paid_calls`, `max_messages`, `max_cost_rub` на прогон; превышение → стоп с объяснением и предложением поднять лимит
- Перед необратимым действием — явное подтверждение в CLI (`Подтвердите: да/нет`) + аудит-лог каждого внешнего вызова
- Токены/ключи хранятся локально (`~/.agent-kit/credentials`), не попадают в промпт, логи и скриншоты `doctor --check`
- Карточка агента честно раскрывает guardrails: «что НЕ делает», «что меняет во внешних системах», «какие доступы запрашивает», «сколько стоит типовой прогон» — проверяется как часть AC (см. `product/15-deliver-acceptance-criteria.md` AC-32…AC-35)
- Пользователь может поднять лимит одной строкой, но не отключить guardrails полностью без предупреждения

### US-14: Как предприниматель, я хочу проверить установку `doctor`-скриптом (npx + диагностика)

**Приоритет:** Must — установка барьер №1, но снимаемый
**Эвидэнс:** Находка 3 (H, T1 ≥4 источника): PR anthropics/devcontainer-features#37 — официальная команда убирает Node.js-зависимость; QualCoder/Симаков/Меркушев — «терминал — главный барьер»; НО Кузнецов (13 агентов), Xcom-shop, Кузнецов, Масленников (3000ч) — не-программисты способны с installer+doctor; ZIP 2.1.243 SIGSEGV — npx-first + веб-фолбэк обязателен.
**Описание:** После покупки я запускаю одну команду `npx @smarket/agent-kit install <package>@<version>` (без `npm install -g`/`pip install`/`git clone` на первом шаге). Затем `npx @smarket/agent-kit doctor --check` проверяет Node/зависимости, токены, права, сеть/VPN и выдаёт «зелёную галочку: агент готов» или явный код ошибки с рекомендацией. При падении npx — веб-фолбэк (скачать ZIP по ссылке из бота). В боте можно отправить вывод `doctor` одним сообщением и получить подсказку.
**Приёмочные критерии:**
- `npx @smarket/agent-kit install <id>@<ver>` ставит Kit в `~/.claude/skills/` (или `~/.codex/...` / `~/.opencode/...`) за <15 мин на чистой среде; метрика успеха — `time-to-first-successful-task`, а не «скачал ZIP»
- `doctor --check` проверяет: версия Node, наличие токенов, права записи, сеть/VPN (актуально для РФ — Находка 11), доступность модели; коды ошибок `E_NODE`, `E_TOKEN`, `E_PERM`, `E_NETWORK` с текстом «что делать»
- При `npx` SIGSEGV/недоступности реестра — бот выдаёт веб-фолбэк (прямая ссылка на ZIP той же версии) с инструкцией «распаковать + `doctor --check`»
- `doctor` результат можно отправить в Telegram-бота (`/doctor <вставка>`) — бот распознаёт код и отвечает шаблоном помощи
- Все 15 сборок (3 платформы × 5 агентов) зелёные на чистой среде до релиза; регресс-скрипт фиксирует `install_result` + `doctor_result`
- Инструкция «Как установить» на сайте содержит только `npx …` + `doctor --check` + скрин зелёной галочки, без ручного `npm install -g`

### US-15: Как покупатель, я хочу обновления без доплаты (версионирование и канал обновлений)

**Приоритет:** Should — Must для повторной покупки
**Эвидэнс:** Находка 9 (H, T1/T2): Масленников 3000+ часов — «экосистема Claude Code быстрее человека»; Polza.ai DeepSeek V4 — «встали сценарии, вырос счёт»; Находка 2 — SkillPacks обещает «обновления навсегда» за 1990₽; Устинов «за что брать деньги, если skill — несколько файлов?» → ответ «за обновления и trust»; WTP 1990₽ разово (Находка 4) включает ожидание «купил раз — получай фиксы»; Находка 6 — ценность в закрытом цикле, который ломается без пина моделей.
**Описание:** Купив пакет за 1990₽ (разовый платёж — преимущество против подписок Manus 1.1/5, Находка 4), я получаю не только текущую версию, но и фиксы/адаптации под новые модели без новой оплаты. Kit версионирован (semver), модели/промпты зашиты (pinned), канал обновлений `stable`/`beta`, миграция — одной строкой, оповещение приходит в Telegram-бота.
**Ценность:** Снимает возражение «статичный пакет сгниёт через месяц» и отвечает на вопрос Устинова о монетизации; удерживает WTP 1990₽ (дешевле 6% >5000₽, но дороже $20 якоря — см. WTP-блок evidence base).
**Приёмочные критерии:**
- Каждая поставка помечена `kit_version` (semver) + `pinned_model` + `prompt_version`; при смене модели — новая версия Kit'а, а не silent-подмена
- `npx @smarket/agent-kit upgrade <id>` и `npx @smarket/agent-kit upgrade <id>@<ver>` тянут канал `stable` по умолчанию; `beta` — только с флагом
- Telegram-бот уведомляет покупателя («Доступно обновление <kit_version> для <package>: что изменилось, кнопка Обновить/Отложить»); не более 1 уведомления на версию
- Откат: `npx @smarket/agent-kit rollback <id>` возвращает `previous_version` + предыдущий `pinned_model`; данные `delivered_version`/`previous_version` хранятся в заявке (см. PRD Data Model)
- Запрет silent autoupdate без подтверждения — урок ZIP 2.1.243 (autoupdate без отката → SIGSEGV → массовый отток); обновление только по явной команде пользователя
- Миграция модели тестируется регрессом на 15 сборках перед публикацией (Находка 9); при поломке типа Polza V4 — публикация блокируется, покупатели получают «оставайтесь на <prev_ver>»
- Карточка агента на сайте показывает `kit_version`, `pinned_model`, дату обновления и ссылку «Что нового»
