# Horoshop Full Audit

> Полный технический и SEO-аудит интернет-магазина на платформе Хорошоп (horoshop.ua) через API + парсинг публичных страниц. Используй ВСЕГДА когда пользователь просит "аудит сайта на Хорошоп", "проверить horoshop магазин", "horoshop audit", "horoshop seo", упоминает свой/клиентский магазин на Хорошопе и хочет понять что улучшить, или присылает домен который оканчивается на horoshop.ua. Также испол…

- **Type:** Skill
- **Install:** `agentstack add skill-igorshutko-horoshop-claude-skill-horoshop-full-audit`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [IgorShutko](https://agentstack.voostack.com/s/igorshutko)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [IgorShutko](https://github.com/IgorShutko)
- **Source:** https://github.com/IgorShutko/horoshop-claude-skill/tree/main/horoshop-full-audit
- **Website:** https://www.targetplus-agency.com/

## Install

```sh
agentstack add skill-igorshutko-horoshop-claude-skill-horoshop-full-audit
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Horoshop Full Audit

Полный аудит магазина на платформе Хорошоп. Подключается через API, парсит публичные страницы, формирует отчёт с конкретными фиксами.

## Когда применять

- Запросы на аудит магазина на Хорошопе
- "Проверь что не так с моим магазином на хорошопе"
- "Аудит товаров", "проверка SEO" — если контекст про Хорошоп
- Домен на horoshop.ua или на собственном домене с признаками Хорошопа

## Принципы

1. **Только то, что мы можем изменить.** Через API или вручную в админке. Если что-то делает только платформа (robots.txt, sitemap, микроразметка) — не пишем в отчёт.
2. **Сначала отчёт — потом действия.** Никаких изменений через API без явного подтверждения.
3. **Обоснование каждой рекомендации.** Не "сделать X", а "сделать X, потому что Y, иначе Z".
4. **Превью контентных правок.** Описания, SEO-тексты, mod_title — показываем что собираемся записать, прежде чем записать.

## Pipeline

```
[1] Вводные: домен + креды
        ↓
[2] Auth-проверка (если фейл — даём инструкцию создать API-юзера)
        ↓
[3] Запуск scripts/audit.py — выгрузка каталога + парсинг публичных страниц
        ↓
[4] Формирование REPORT.md (scripts/audit.py делает сам)
        ↓
[5] Показ отчёта пользователю с разделением: 🟢 через API / 🟡 в админке / ✅ хорошо
        ↓
[6] Запрос подтверждения по каждому из 10 API-фиксов
        ↓
[7] Запуск scripts/apply_fixes.py с выбранными фиксами (для контентных — превью + второе подтверждение)
        ↓
[8] Финальная сводка + список admin-задач
```

## Шаг 1 — Вводные

Спроси у пользователя:
1. **Домен** магазина (например `mystore.com.ua` или `mystore.horoshop.ua`)
2. **Логин и пароль** API-пользователя

Если пользователь не предоставил доступ — выдай инструкцию из `references/api_admin_setup.md`. Эта инструкция должна быть **первой**, что ты показываешь, если creds не присланы или auth не прошёл.

## Шаг 2 — Auth check

Запусти быструю проверку:

```bash
curl -s -X POST https:///api/auth/ \
  -H "Content-Type: application/json" \
  -d '{"login":"","password":""}'
```

- `status: OK` → переходи к Шагу 3
- `status: ERROR, message: User with such username/password not found` → выдай инструкцию из `references/api_admin_setup.md` и попроси повторно прислать данные после создания
- Любая HTTP-ошибка → проверь домен (опечатка в TLD?), повтори

## Шаг 3 — Запуск аудита

Создай рабочую директорию и запусти оркестратор:

```bash
mkdir -p audit_
cd audit_
HOROSHOP_DOMAIN= HOROSHOP_LOGIN= HOROSHOP_PASSWORD= \
  python3 ${SKILL_DIR}/scripts/audit.py
```

Скрипт `audit.py`:
- Авторизуется
- Выгружает весь каталог (`catalog/export`) с пагинацией
- Выгружает все категории (`pages/export` рекурсивно)
- Делает HTML-парсинг главной + всех категорий + сэмпла товаров (используя UA `Mozilla/5.0 (Horoshop SEO Audit)` чтобы обойти JS-challenge)
- Прогоняет 4 фазы аудита: базовый, deep (countdown/mod_title/discount/characteristics), content (контакты/спам/inline-стили), advanced (cross-sell/OG/categories HTML)
- Формирует `REPORT.md` и `findings.json`

**Важно:** скрипт пишет файлы в текущую директорию. Запускай его из созданной `audit_/`, чтобы артефакты не разлетались.

Если деп нет — поставь:
```bash
python3 -m pip install --user --break-system-packages requests beautifulsoup4 lxml
```

## Шаг 4 — Показ отчёта

Прочитай сгенерированный `REPORT.md` и покажи пользователю **краткую** сводку:

- Общие цифры (товаров, категорий, скрытых)
- Что хорошо (1-2 строки)
- Топ-5 находок по приоритету (с указанием количества затронутых товаров)
- Сколько действий через API, сколько в админке

**Не вываливай весь отчёт в чат.** Дай ссылку на файл и краткую сводку — детали пользователь прочитает сам.

## Шаг 5 — Подтверждение API-фиксов

Дальше пройдись по каждому из 10 возможных API-фиксов. Покажи список и спроси, какие применить. Используй формат:

```
🟢 Через API можно сделать:
[1] countdown_end_time → null (N товаров с истёкшими акциями)
[2] mod_title из rozmr (N модификаций без названия)
[3] discount пересчитать (N товаров с реальной скидкой и discount=0)
[4] SEO-поля для товаров без них (N товаров)
[5] mpn = PT-{article} или другой шаблон (N товаров без MPN)
[6] Уникальные description для дублей (N пар)
[7] Включить «Оплата частями» Privat+Mono (N товаров)
[8] Стикер «Распродажа» в icons (N товаров с реальной скидкой)
[9] Очистить inline-стили в описаниях (N товаров)
[10] Cross-sell accessories/alt_parent (требует обсуждения стратегии)

Какие применять? (укажи номера, например "1, 3, 5" или "all" или "skip")
```

См. `references/fix_recipes.md` для детального описания каждого фикса (как именно выполняется).

## Шаг 6 — Применение фиксов

Для каждого подтверждённого фикса запусти соответствующую функцию из `scripts/apply_fixes.py`:

```bash
HOROSHOP_DOMAIN=... HOROSHOP_LOGIN=... HOROSHOP_PASSWORD=... \
  python3 ${SKILL_DIR}/scripts/apply_fixes.py \
  --fix  [--dry-run]
```

**Контентные фиксы (4, 6, 9, 10) обязательно сначала с `--dry-run`** — он покажет что будет записано (превью первых 5 элементов). После одобрения запускаешь без `--dry-run`.

Доступные `--fix`:
- `countdown` — обнуление истёкших таймеров
- `mod-title` — заполнение mod_title из rozmr
- `discount` — пересчёт discount
- `seo` — заполнение пустых SEO (требует превью)
- `mpn` — генерация mpn по шаблону
- `dup-desc` — переписать дубликаты описаний (требует превью + содержания)
- `installments` — включить оплату частями
- `sticker-sale` — добавить стикер Распродажа
- `inline-styles` — очистка inline-стилей
- `cross-sell` — заполнение accessories/alt_parent (требует стратегии — Claude должен спросить)

## Шаг 7 — Передача admin-задач

После API-фиксов покажи пользователю список того, что **только в админке** можно сделать. Этот список сгенерирован в `REPORT.md` в секции "🟡 Что нужно починить вручную в админке". Скопируй его дословно — там указано **где** именно править и **почему**.

## Tone of voice

Пользователь — agency-owner с украинскими e-commerce клиентами. Отвечай по-русски, лаконично, без воды. Никакого «Конечно!», «С радостью!», «Отлично!». Используй emoji-маркеры (🟢🟡🔴) и compact-формат с разделителями `━━━`.

## Что НЕ делать

- ❌ Не предлагай менять `robots.txt`, `sitemap.xml`, микроразметку, hreflang-настройки, URL-формулы — это уровень платформы
- ❌ Не пиши длинные reasoning-параграфы — клиент читает сводку и решает
- ❌ Не делай API-изменения без явного "да, применяй"
- ❌ Не предлагай регенерировать SEO-шаблоны категорий через API — у Хорошопа поля категорий через API не редактируются (только админка)
- ❌ Не используй сторонние API (PageSpeed, GSC) если пользователь явно не попросил — этот скилл делает только Horoshop API + HTML-парсинг

## Reference files

- `references/api_admin_setup.md` — инструкция создания API-юзера (показывай в Шаге 1 если auth не прошёл)
- `references/api_quickref.md` — справочник API endpoints, какие поля редактируются
- `references/audit_checklist.md` — полный список 22 проверок (10 API-фиксов + 8 admin + 4 баг-проверки данных) с обоснованиями
- `references/fix_recipes.md` — детали каждого из 10 API-фиксов: что именно пишется, какие edge-cases, шаблоны для preview
- `references/horoshop_help.md` — **выжимка из официальной справки Хорошопа** со ссылками на `help.horoshop.ua`. Это «общий для всех скиллов» источник: API, стикеры, SEO шаблоны, sitemap, robots, шаблон данных, скидки, оплата, доставка, версии v3/v4. **Цитируй её в REPORT.md** для каждой рекомендации в формате `[Источник:  — ]`.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [IgorShutko](https://github.com/IgorShutko)
- **Source:** [IgorShutko/horoshop-claude-skill](https://github.com/IgorShutko/horoshop-claude-skill)
- **License:** MIT
- **Homepage:** https://www.targetplus-agency.com/

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-igorshutko-horoshop-claude-skill-horoshop-full-audit
- Seller: https://agentstack.voostack.com/s/igorshutko
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
