Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .claude/commands/daily.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Прочитай последние дейлики из Obsidian vault и дай краткую выжимку.

Путь к дейликам: `C:/Program Files/Obsidian/obsVaultPC/GameChanger/Daily/`

## Инструкции

1. Найди последние 5 файлов по дате в имени (формат YYYY-MM-DD.md)
2. Прочитай их через Read tool
3. Дай краткую выжимку:
- Что на уме / основные темы
- Эмоциональный фон (без психологизирования — просто факт)
- Если есть задачи или намерения — выдели отдельно
4. Если пользователь указал аргумент (число) — читай столько дейликов. Пример: `/daily 10`
5. Не давай непрошеных советов. Просто покажи что видишь.

## Формат вывода

```
## Последние дейлики (N шт)

### YYYY-MM-DD
[2-3 предложения суть]

### YYYY-MM-DD
[2-3 предложения суть]

---
**Общий фон:** [одно предложение]
```
11 changes: 9 additions & 2 deletions .claude/commands/handoff.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,12 @@
- Обнови "Прогресс" (чеклист)
- Запиши конкретный "Следующий шаг"
- Если есть нерешённые проблемы — добавь в "Известные проблемы"
4. Выведи: что записано, следующий шаг
5. Скажи пользователю что можно делать /clear
4. Сгенерируй пост для Telegram:
- Запусти `uv run python tools/pipeline/main.py --dry-run` (из директории tools/pipeline)
- Покажи пользователю сгенерированный пост
- Спроси: "Отправить в Telegram? (да / нет / правки)"
- Если "да" — запусти `uv run python tools/pipeline/main.py` (без --dry-run)
- Если "правки" — пользователь даёт фидбек, перегенерируй или отредактируй вручную
- Если "нет" — пропустить
5. Выведи: что записано, следующий шаг
6. Скажи пользователю что можно делать /clear
4 changes: 2 additions & 2 deletions .claude/commands/screenshot.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Пользователь сделал скриншот (Win+Shift+S). Сохрани и прочитай.

1. Выполни: `powershell -ExecutionPolicy Bypass -File "D:/code/2026/claudeCopy/tools/grab-clipboard.ps1"`
2. Прочитай полученный файл через Read tool
1. Выполни: `powershell.exe -NoProfile -Command "Add-Type -AssemblyName System.Windows.Forms; if ([System.Windows.Forms.Clipboard]::ContainsImage()) { [System.Windows.Forms.Clipboard]::GetImage().Save('C:/tmp/clipboard_screenshot.png'); Write-Output 'saved' } else { Write-Output 'no image in clipboard' }"`
2. Прочитай `C:/tmp/clipboard_screenshot.png` через Read tool
3. Опиши что на скриншоте и спроси что с ним делать
53 changes: 53 additions & 0 deletions .claude/commands/tg-digest.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
Глубокий дайджест Telegram-группы через Gemini. $ARGUMENTS — ссылка на группу или username.

## Инструкции

1. Загрузи env из `D:/code/2026/2/cortex/.env` (через dotenv или export)

2. Забери последние 1500 сообщений из группы через Telethon:
- Используй session: `data/tg-groups/cortex_userbot`
- Креды: TG_API_ID и TG_API_HASH из .env
- Извлеки: текст, URLs, forwards, replies, reactions, sender name, message id, date

3. Подготовь данные для LLM:
- Формат: `[date] #id sender: [REPOST from X] [reply to #Y] text | URLs: url1, url2 [reactions:N]`
- Сохрани в temp файл

4. Отправь в Gemini (НЕ анализируй сам — экономия токенов Claude):
```python
from google import genai
import os
# GOOGLE_API_KEY из .env
client = genai.Client()
response = client.models.generate_content(model="gemini-3-flash-preview", contents=prompt + messages)
```

5. Промпт для Gemini:
```
Глубокий аналитический дайджест Telegram-группы.

Структура:
1. ГОРЯЧИЕ ТЕМЫ И ДИСКУССИИ — что обсуждали, позиции участников, консенсус
2. ИНСТРУМЕНТЫ И ТЕХНОЛОГИИ — что упоминается, что хвалят/ругают, советы
3. ССЫЛКИ И РЕСУРСЫ — каждый URL: что это, зачем. Репосты отдельно
4. КЕЙСЫ И ПРОЕКТЫ — кто что делает, результаты, грабли
5. ИНСАЙТЫ И ВЫВОДЫ — тренды, практические советы, что попробовать

Правила:
- Русский, технические термины на английском
- Конкретика > абстракция. Имена, числа, инструменты
- Не пропускай ссылки
- Следи за ветками (reply_to) и репостами
- Markdown, 2000-4000 слов
```

6. Результат:
- Сохрани в `data/tg-groups/{group_name}_digest.md`
- Отправь .md файлом в Telegram канал (TELEGRAM_CHAT_ID из .env)
- Покажи краткое саммари пользователю

## Параметры

- Без аргументов: покажи список доступных групп из `tools/tg-monitor/config.py`
- С аргументом: `@username` или `https://t.me/groupname` или просто `groupname`
- Доп. флаги в аргументах: `--limit 500` (по умолчанию 1500), `--no-send` (не отправлять в канал)
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,10 @@ screenshots/
# Claude Code local settings (permissions, not for sharing)
.claude/settings.local.json
tg/

# TG Monitor data (messages JSON + Telethon session)
data/tg-groups/
*.session

# TG Bridge history
tools/tg-bridge/history.json
4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
## 3. Workflow

- Перед значительными изменениями — план. Большие задачи → мелкие шаги.
- Git First: коммить после каждой рабочей фичи. Не коммить в main напрямую.
- Git: коммить ТОЛЬКО по запросу (`/quick-commit`, "закоммить") или при `/handoff`. Не коммить в main напрямую.
- Не запускай `npm run dev` / `python -m ...` автоматически.
- Quality Gates: Build → Types → Lint → Tests (80%+) → Security → Diff.
- Conventional Commits: `<type>(<scope>): <description>`. Детали: @docs/git-flow.md
Expand All @@ -25,7 +25,7 @@

| Момент | Действие |
|--------|----------|
| **Старт сессии** | Прочитать DEV_CONTEXT.md и PROJECT_CONTEXT.md |
| **Старт сессии** | Прочитать DEV_CONTEXT.md, PROJECT_CONTEXT.md и последний дейлик из Obsidian (`C:/Program Files/Obsidian/obsVaultPC/GameChanger/Daily/`) |
| **После кода** | Проверить build/тесты |
| **Перед PR** | `/verify` |
| **Финиш сессии** | `/handoff` |
Expand Down
Loading