Install
$ agentstack add skill-atomachinskiy-claude-skill-senler-claude-skill-senler ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Senler — AI-аналитик и AI-сегментатор для VK чат-ботов
Скилл подключается к Senler API (senler.ru/api) и даёт AI-агенту доступ к аналитике и управлению подписчиками в канале Senler. Использует OAuth-flow через приложение, созданное в кабинете Senler пользователем.
Когда использовать
- Drop-off / падение трафика по шагам воронки
- Карта всех сценариев в канале с маркировкой статуса (активные / копии / пустые)
- Источники подписок и отписок
- Read rate рассылок по сценариям
- Список подписчиков с фильтром по боту или тегу
- Сегментация молчунов и присвоение им тегов
- Сводная аналитика для отчёта клиенту
Prereqs
jq(brew install jq)~/.claude/secrets/senler-app.json— OAuth-приложение Senler (client_id,client_secret,redirect_uri)~/.claude/skills/senler/config/.env—SENLER_ACCESS_TOKEN,SENLER_GROUP_ID,SENLER_V=2
Полная инструкция подключения для нового пользователя — config/setup-guide.md.
Если у пользователя нет access_token — запусти мастер:
bash ~/.claude/skills/senler/scripts/senler-oauth-setup.sh
Он интерактивно проведёт через все 5 шагов OAuth-flow, обменяет code на токен, сохранит .env. Запасной ручной путь описан в config/setup-guide.md.
ВАЖНО: что МОЖНО и что НЕЛЬЗЯ через Senler API
✅ Через API ДОСТУПНО
Чтение (полная аналитика):
bots/get— список всех воронок канала (ID, название, статус, дата создания, теги)bots/getSteps— структура шагов одной воронки (ID, название, тип, lead_inc)subscribers/count— общее число подписчиковsubscribers/get— список подписчиков (с фильтром по боту/группе/периоду), пагинация по 100subscribers/statSubscribe— события подписок/отписок с источникомsubscribers/statCount— агрегаты подписок/отписок за периодdeliveries/stat— лог отправленных сообщений (вплоть до 2000 за один paginated запрос) сis_read,errordeliveries/statCount— агрегаты по рассылкамutms/statSubscribe/utms/statCount— UTM-атрибуция (если UTM настроены в подписной странице)groups/get— информация о канале (имя, VK externalid, workspaceid)subscribers/groups/get— список тегов/групп подписчиков
Управление подписчиками (write):
subscribers/add— добавить нового подписчикаsubscribers/setData— обновить данные подписчикаsubscribers/setGroup— присвоить тег / группу подписчикуsubscribers/groups/create— создать новую группу/тег для сегментацииbots/addSubscriber— запустить подписчика по конкретной воронкеbots/delSubscriber— выкинуть подписчика из конкретной воронки
❌ Через API НЕДОСТУПНО (только в UI Senler)
- ❌ Создавать новых ботов / воронок (нет
bots/create) - ❌ Редактировать шаги в существующих ботах — нельзя изменить текст сообщения, кнопки, триггеры (нет
bots/setSteps,bots/updateStep) - ❌ Создавать / редактировать рассылки (нет
broadcasts/create,deliveries/create) - ❌ Создавать триггеры на события сообщества
- ❌ Читать точный текст сообщения внутри шага — API возвращает только название шага и его тип, не контент
Реальный сценарий использования
AI читает данные → находит проблемное место (молчуны, отписавшиеся, не дошедшие до продажи) → создаёт им тег через subscribers/groups/create + subscribers/setGroup → пользователь в UI Senler запускает re-engagement рассылку по этому тегу → AI читает результат и сравнивает с предыдущим.
То есть скилл = AI-аналитик + AI-сегментатор. Создание ботов и запуск кампаний остаётся за командой в UI.
Роутер задач
| Задача | Скрипт | Пример | |---|---|---| | Sanity-check конфига | senler-subscribers-count.sh | «Проверь работает ли Senler» | | Карта всех ботов канала | senler-bots-list.sh | «Какие воронки у меня в Сенлер?» | | Структура одной воронки | senler-bot-steps.sh | «Покажи шаги воронки 123» | | Список подписчиков | senler-subscribers-list.sh [--bot ID] | «Кто подписан на воронку X?» | | UTM-источники | senler-utms-stats.sh [--from --to] | «Откуда подписчики приходят?» | | Статистика рассылок | senler-deliveries-stat.sh | «Как зашли последние рассылки?» | | Любой raw-запрос API | senler-call.sh [params] | Когда нужен метод не из списка |
Как вызывать
bash ~/.claude/skills/senler/scripts/SCRIPT_NAME.sh ARGS
Общие флаги: --json (сырой JSON), --full (без обрезки 30 строк).
Типичные сценарии
«Сделай drop-off по моей воронке X»
senler-bots-list.sh→ найтиbot_idнужной воронкиsenler-bot-steps.sh→ посмотреть структуру + lead_inc на каждом шаге- Попросить Claude интерпретировать данные с маркетинговой точки зрения
«Откуда подписчики приходят?»
bash ~/.claude/skills/senler/scripts/senler-utms-stats.sh --from 2026-04-01 --to 2026-04-30
Если ответ пустой — UTM-метки в подписной странице не настроены, надо настроить в UI Senler.
«Найди молчунов на шаге N в воронке X и поставь им тег»
# 1. Найти подписчиков
bash scripts/senler-call.sh subscribers/get bot_id=123 step_id=abc count=100
# 2. Создать тег
bash scripts/senler-call.sh subscribers/groups/create name="Молчуны после шага N"
# 3. Присвоить найденным
bash scripts/senler-call.sh subscribers/setGroup vk_user_id=123456 group_id=NEW_TAG_ID
«Что-то нестандартное (метод не из списка)»
bash ~/.claude/skills/senler/scripts/senler-call.sh param=value
senler-call.sh — универсальный raw-вызов любого Senler API метода с уже подставленным auth.
Ограничения
- Лимит count: максимум 100 на запрос. Для больших выгрузок (1000+ подписчиков) пагинируем через
offset. - Один токен = один канал. Если у пользователя несколько каналов в Senler — токен на каждый отдельно. В
.envза раз один. - Токен бессрочный (живёт до отзыва пользователем),
client_secretнужен только при первичном обмене кода на токен. - Rate limit — Senler не публикует, скилл ставит задержку ~0.35с между запросами. Для больших выгрузок (10К+ подписчиков) использует пагинацию.
- Текст сообщений в шагах НЕ доступен — только название и тип шага.
Файлы скилла
~/.claude/skills/senler/
├── SKILL.md # этот файл
├── config/
│ ├── .env.example # шаблон конфига
│ ├── .env # реальный конфиг (gitignored)
│ └── setup-guide.md # пошаговая инструкция подключения
├── scripts/
│ ├── _common.sh # обёртка POST → senler.ru/api/
│ ├── senler-subscribers-count.sh # sanity-check + total subs
│ ├── senler-bots-list.sh # все воронки канала
│ ├── senler-bot-steps.sh # шаги одной воронки
│ ├── senler-subscribers-list.sh # пагинация подписчиков
│ ├── senler-utms-stats.sh # UTM-источники
│ ├── senler-deliveries-stat.sh # статистика рассылок
│ └── senler-call.sh # raw-вызов любого метода
└── cache/ # кеш (если используется)
Связанная документация
- API Senler: https://help.senler.ru/senler/help/razrabotchikam/api
- Methods reference: https://help.senler.ru/senler/help/razrabotchikam/api/methods/boty
- OAuth flow: https://help.senler.ru/senler/help/razrabotchikam/prilozheniya/varianty-integracii/oauth
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: atomachinskiy
- Source: atomachinskiy/claude-skill-senler
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.