| name | PushToGenAI_public |
| description | Закидывает файл (или контент) в публичный репозиторий GenAI-intensive на GitHub. Копирует файл в локальную синкаемую папку, коммитит и пушит сразу. Триггеры - "закинь в GenAI", "опубликуй в GenAI", "/PushToGenAI_public", "в публичный GenAI", "в репо курса". |
Скилл: PushToGenAI_public
Публикует материалы в публичный репозиторий курса GenAI Интенсив МФТИ.
Константы
- GitHub: https://github.com/rudometkin/GenAI-intensive
- Локальная папка (синкается):
/Users/rudometkin/my_space/Obsidian-1/Obsidian-1/!ПРОЕКТЫ/GenAI-Интенсив/GenAI-GitRepo/
- Автосинк: LaunchAgent
com.rudometkin.genai-sync, каждые 15 мин
- Sync-скрипт:
~/scripts/genai-sync.sh
Всегда используй АБСОЛЮТНЫЕ пути.
Структура репо
/ — README.md, .gitignore
/projects/ — проекты участников
/skills/ — полезные скилы Claude Code
/01-промпты/ — материалы по промпт-инжинирингу
/02-rag/ — RAG
/03-agents/ — агенты
/04-vibe-coding/ — vibe coding
/05-demo-day/ — demo day
Если подходящей папки нет — создай её. Если пользователь указал путь — используй его.
Алгоритм
Шаг 1. Определи что публикуем
Пользователь может дать:
- Путь к файлу — скопируй его в репо
- Контент + имя файла — создай файл в репо напрямую через Write
- Папку — скопируй рекурсивно (с осторожностью, исключая .DS_Store, .env)
Шаг 2. Определи целевой путь
- Если пользователь явно сказал куда — используй это
- Если нет — предложи вариант по теме (например, промпты →
/01-промпты/, скрипт → /examples/)
- Уточни только если реально неоднозначно
Шаг 3. ПРОВЕРЬ что не публикуешь приватное
НИКОГДА не публикуй:
- Файлы с API-ключами, токенами, паролями
- Персональные данные участников (ФИО, email, телефоны, CSV с анкетами)
genai-all-*.md, genai-summary-*.md, Профили * курса*.csv, Результаты анкеты*
- Внутренние силлабусы помеченные как не публичные
.env, credentials, private keys
Если файл выглядит как приватный данные — СПРОСИ пользователя перед публикацией.
Шаг 4. Скопируй/создай файл
cp "source/file.md" "/Users/rudometkin/my_space/Obsidian-1/Obsidian-1/!ПРОЕКТЫ/GenAI-Интенсив/GenAI-GitRepo/target/file.md"
Шаг 5. Закоммить и запушь
cd "/Users/rudometkin/my_space/Obsidian-1/Obsidian-1/!ПРОЕКТЫ/GenAI-Интенсив/GenAI-GitRepo" && \
git add -A && \
git commit -m "add: <краткое описание на английском>" && \
git push origin main
Не жди 15 минут автосинка — пуши сразу через команды выше. Автосинк — это фоновый fallback.
Шаг 6. Отчёт пользователю
Дай ссылку на GitHub (файл на main-ветке):
https://github.com/rudometkin/GenAI-intensive/blob/main/<relative-path>
Пример сессии
Пользователь: закинь в GenAI файл /tmp/rag-example.py
Claude:
1. Читает /tmp/rag-example.py — проверяет на секреты
2. Копирует в /GenAI-GitRepo/02-rag/rag-example.py
3. git add + commit "add: RAG example script" + push
4. Отвечает: ✅ Опубликовано: https://github.com/rudometkin/GenAI-intensive/blob/main/02-rag/rag-example.py
Типичные ошибки
- Путь с пробелами и
! — всегда в кавычках
- Забыл push — автосинк сделает через 15 мин, но лучше не полагаться
- Пушит секреты — ВСЕГДА читай файл перед копированием если есть сомнения
- Перезаписывает существующий файл — сначала Read, спроси если есть расхождения