# Context

> Получение контекста пользователя и credentials

- Skill: `majiayu000/context-5` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/context-5`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/context-5/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/context-5

---


# Context Skill

Первый шаг в любом запросе — получить контекст пользователя.

## ВАЖНО: Вызови в НАЧАЛЕ каждого диалога!

Перед выполнением любых действий с рекламой, сначала получи контекст пользователя.
Без контекста tools не смогут определить какой аккаунт использовать.

---

## getContext

Получить credentials по telegram_id.

```bash
curl -s http://agent-brain:7080/api/context \
  -H "Content-Type: application/json" \
  -H "X-Telegram-Id: ${TELEGRAM_CHAT_ID}"
```

Параметры:
- `X-Telegram-Id` (header) - Telegram chat ID пользователя

Ответ:
```json
{
  "userAccountId": "uuid-...",
  "accountId": "uuid-...",
  "accessToken": "EAA...",
  "adAccountId": "act_123..."
}
```

---

## Как использовать контекст

После получения контекста, используй ID во всех последующих вызовах:

```bash
# Пример: получить кампании
curl -s -X POST http://agent-brain:7080/brain/tools/getCampaigns \
  -H "Content-Type: application/json" \
  -d '{
    "userAccountId": "полученный-userAccountId",
    "accountId": "полученный-accountId",
    "period": "last_7d"
  }'
```

---

## Ошибки

### 400 Bad Request
```json
{"error": "X-Telegram-Id header required"}
```
Не передан заголовок с Telegram ID.

### 404 Not Found (Новый пользователь)
```json
{
  "error": "User not found",
  "needsOnboarding": true,
  "message": "Пользователь не найден. Пройдите регистрацию через /onboarding"
}
```

**Это новый пользователь!** Автоматически предложи onboarding.

---

## Обработка новых пользователей

Если `/api/context` возвращает 404 с `needsOnboarding: true`, это новый пользователь.

**Автоматически отправь приветствие:**

```
👋 Привет! Я Performante AI - ваш помощник по управлению рекламой в Facebook и Instagram.

Вижу, вы ещё не зарегистрированы в системе.
Хотите пройти быструю регистрацию? (~5 минут)

Отправьте /onboarding чтобы начать.
```

**ВАЖНО:**
- Не выполняй никаких других действий пока пользователь не пройдёт onboarding
- Если пользователь спрашивает о статистике/рекламе - напомни что нужно сначала зарегистрироваться
- После регистрации пользователь получит логин/пароль для входа в систему

---

## Пример диалога

1. Пользователь пишет: "Покажи статистику"
2. Claude видит `[Telegram Chat ID: 123456789]` в начале сообщения
3. Claude вызывает getContext с этим ID
4. Получает credentials
5. Вызывает getCampaigns с полученными userAccountId и accountId
6. Отвечает пользователю

---

## Настройка Moltbot Telegram транспорта

Для прямой интеграции Telegram → Moltbot нужно добавить в docker-compose.yml:

```yaml
moltbot-telegram:
  image: node:22-slim
  container_name: moltbot-telegram
  working_dir: /root/clawd
  env_file:
    - ./.env.brain
  command:
    - sh
    - -c
    - |
      npm install -g moltbot@beta
      moltbot telegram --token "$TELEGRAM_BOT_TOKEN" --allow-unconfigured
  environment:
    - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
    - TELEGRAM_BOT_TOKEN=${MOLTBOT_TELEGRAM_BOT_TOKEN}
    - AGENT_SERVICE_URL=http://agent-brain:7080
  volumes:
    - ./moltbot-workspace:/root/clawd
  depends_on:
    - agent-brain
```

**ВАЖНО:** Moltbot Telegram транспорт автоматически добавляет контекст с chat_id в сообщение в формате:
```
[Telegram Chat ID: 123456789]

Сообщение пользователя
```

