SvarogForge

forge

⚒️ Forge — IT-фабрика, ключевой навык семейства SvarogForge. Supervisor/Worker оркестратор полного IT-цикла: хотелка → Talaria (гонцы pre-market) → отчёт → OK Gate → команда субагентов → Crucible → релиз. Оптимизирован для DeepSeek V4 Flash. Делегирование через delegate_task(role='orchestrator').

SvarogForge 0 Updated 2w ago

Resources

13
GitHub

Install

npx skillscat add svarogforge/forge

Install via the SkillsCat registry.

SKILL.md

⚒️ Forge — IT-фабрика

«Ключевой навык семейства SvarogForge. Из хотелки — в релиз.»

Forge — основной рабочий навык IT-фабрики. Получает хотелку от пользователя и проводит её через весь IT-цикл: анализ → OK Gate → команда → качество → релиз.

🎯 Когда включать

Навык активен, когда пользователь говорит:

Скажи Что произойдёт
«Forge, сделай [идея]» Полный цикл: гонцы → отчёт → аппрув → сборка → релиз
«Кузница/кузня, [идея]» ⚒️ То же самое
«Сделай [проект]» Pre-market анализ как первый шаг
«Forge, проанализируй [идея]» Только гонцы + отчёт, без сборки
«Forge, собери [что уже решено]» Пропустить OK Gate, сразу сборка

Не включать:

  • Если пользователь просто обсуждает идею без просьбы сделать — не запускай пайплайн
  • Если он не сказал «Forge», «Кузница», «сделай» или «собери»
  • Если запрос — мелкая правка в коде (тогда просто делай, без пайплайна)

🧱 Архитектура

Пользователь: "Forge, сделай [идея]"
  │
  ├── 1️⃣ PRE-MARKET ANALYSIS (гонцы Talaria)
  │      ├── delegate_task → гонец 1: конкуренты на GitHub/рынке
  │      ├── delegate_task → гонец 2: востребованность ниши
  │      └── delegate_task → гонец 3: анализ существующих решений
  │
  ├── 2️⃣ ОТЧЁТ + OK GATE ─────────────────────────────────────
  │      ├── Свести отчёты гонцов в единый отчёт
  │      ├── Показать Ванюше: делать/не делать + обоснование
  │      └── Ждать ответа: OK → фаза 3 | НЕТ → отмена
  │                                                │
  ├── 3️⃣ (ЕСЛИ OK) ЗАПУСК КОМАНДЫ СУБАГЕНТОВ        │
  │      ├── CEO Agent     → стратегия, roadmap     │
  │      ├── SMM Agent     → план продвижения       │
  │      ├── Security Agent → аудит конфигов/кода    │
  │      ├── Designer Agent → UI/визуал/брендинг     │
  │      ├── Debug Master  → качество/тесты          │
  │      └── Мои руки      → backend/frontend/ML    │
  │                                                │
  │  ┌─ 🛡️ SECURITY AUDIT ──────────────────────   │
  │  │  После сборки: проверка личных данных,       │
  │  │  секретов, CI-конфигов, .gitignore, токенов  │
  │  └───────────────────────────────────────────   │
  │                                                │
  │  ├── 4️⃣ ВЕРИФИКАЦИЯ (Crucible)                     │
  │  │      └── Проверка качества, тесты, безопасность  │
  │                                                │
  └── 5️⃣ РЕЛИЗ + ДОКУМЕНТАЦИЯ                      │
         └── README, CI/CD, деплой, release notes    │

📋 Фаза 1: Pre-Market Analysis (гонцы Talaria)

Запуск 3 параллельных гонцов:

from hermes_tools import delegate_task

# Фаза 1.1 — запуск гонцов
results = delegate_task(
    tasks=[
        dict(goal="Провести анализ конкурентов на GitHub/рынке для: [идея]. Найти проекты, звёзды, активность.", context="Это гонец 1 из 3. Верни структурированный отчёт с URL. Используй `gh api` (не curl) — у curl лимит 60 запросов/час. См. references/github-competitor-analysis.md", role="leaf"),
        dict(goal="Оценить востребованность ниши/идеи: [идея]. Тренды, поисковые запросы, размер рынка.", context="Это гонец 2 из 3. Верни отчёт с источниками.", role="leaf"),
        dict(goal="Проанализировать существующие решения для: [идея]. Что уже есть, что не решено, где точка входа.", context="Это гонец 3 из 3. Верни отчёт с рекомендациями.", role="leaf"),
    ]
)

**Техника GitHub-анализа (проверено 08.07.2026):**
- Используй `gh api` а не `curl` — curl к GitHub API без токена лимитирован 60 запросов/час
- `gh api "repos/<owner>/<repo>" --jq "{stargazers_count, language, created_at, description}"` — получает звёзды
- `gh search repos "<query>" --sort stars --limit 10 --json fullName,stargazersCount` — поиск конкурентов
- **Подробный workflow:** смотри `references/github-competitor-analysis.md` в этом же навыке

Верификация гонцов:

  • Каждый отчёт должен содержать конкретные URL, цифры, даты
  • Если гонец вернул пустоту или "ничего не нашёл" — не доверяй, перезапусти
  • Cross-check факты: если один говорит «рынок 10 млрд», а второй «рынка нет» — это противоречие, укажи в отчёте

🚦 Фаза 2: OK Gate

Формат отчёта пользователю:

╔══════════════════════════════════════════════╗
║         PRE-MARKET REPORT                    ║
╚══════════════════════════════════════════════╝

📊 Идея: [кратко]
📦 Название: [предлагаемое имя пакета/проекта]

🏆 Конкуренты:
  - [Проект 1] — ⭐ N — [что делает]
  - [Проект 2] — ⭐ N — [что делает]

📈 Востребованность: [зелёная/жёлтая/красная]
  - Поиск: [что нашлось]
  - Тренды: [растёт/падает/стабильно]

🕳 Что не решено (наша точка входа):
  - [пробел 1]
  - [пробел 2]

🎯 Рекомендация: ДЕЛАТЬ 🟢 / НЕ ДЕЛАТЬ 🔴 / ТРЕБУЕТ УТОЧНЕНИЯ 🟡
[почему]

Командир, твоё решение?

Правила Gate:

  • Если рекомендация 🟡 — спроси уточняющие вопросы, не запускай сборку пока
  • Если 🔴 — не настаивай, предложи альтернативу
  • Если 🟢 — жди явного «делай», «давай», «ок», «погнали» от пользователя
  • Пока пользователь не сказал OK — фаза 3 НЕ запускается

Timeout Gate (anti-hang):

  • Если пользователь не ответил в течение 24 часов (проверь по времени предыдущего сообщения):
    1. Сохрани snapshot состояния в memory: проект [имя] на паузе, фаза 2 (Gate), жду OK
    2. Напомни: «Командир, проект [имя] ждёт твоего решения уже N часов. Напомнить позже?»
    3. Если ответа нет ещё 24 часа — заверши пайплайн с кодом PAUSED
    4. Никогда не запускай Фазу 3 без явного OK

👷 Фаза 3: Сборка (команда субагентов + мои руки)

После OK Gate запускаются субагенты параллельно и одновременно я начинаю quick-fixes руками:

delegate_task(
    tasks=[
        dict(goal="CEO Agent: для проекта [имя]. Создай стратегию: цели, OKR, roadmap, риски.", context="Стратегия для IT-проекта.", role="orchestrator"),
        dict(goal="SMM Agent: для проекта [имя]. План продвижения: announcement strategy, channels, launch sequence для open-source проекта.", context="Маркетинг для open-source.", role="leaf"),
        dict(goal="Security Agent: для проекта [имя]. Аудит на старте: какие данные собираем, где храним, OWASP top-10.", context="Безопасность open-source.", role="leaf"),
        dict(goal="Designer Agent: для проекта [имя]. Разработай визуальный стиль: лого, цветовая схема, типографика, бейдж для README.", context="Дизайн для open-source.", role="leaf"),
        dict(goal="Debug Master: для проекта [имя]. План тестирования: unit/integration, CI, coverage target, code review process.", context="Контроль качества.", role="leaf"),
    ]
)

# ⚡ НЕ ЖДИ субагентов — сразу начинай свои quick-fixes
# Пока CEO/SMM/Security/Designer/Debug думают, чини critical баги:
#   - Fix битые ссылки, добавь __init__.py
#   - Почини verify-report.py
#   - Поправь README
#   - Настрой CI

Параллельный паттерн (проверен на Talaria 08.07.2026):

Время:
  t=0  → Запуск субагентов (delegate_task batch)
  t=0  → НАЧАЛО моих hands-on фиксов (не жду!)
  t=N  → Субагенты вернулись + мои фиксы готовы
  t=N  → Синтез всего вместе в единый план

После отчётов субагентов — синтезируй всё в единый план исполнения. В плане укажи:

  • Что я уже починил своими руками (quick wins)
  • Что из отчётов субагентов применимо
  • Порядок оставшихся работ: архитектура → код → тесты → docs → деплой

🛡️ Security Audit (после сборки):
Перед переходом в Crucible — обязательный security audit. Запусти автоматически:

# Полный аудит: файлы + история коммитов
python forge.py --audit

# Или по отдельности:
python forge-verify.py --security   # файлы: секреты, NSFW, Discord, CI, личные данные
python forge-verify.py --commits    # история коммитов (все коммиты через git log | pipe)
git log --format="%s" HEAD~20..HEAD | python forge-verify.py --commits

Что проверяется:

  1. Секреты: все .py/.yaml/.md файлы на: sk-, api_key, api-key, token, password, secret, -----BEGIN
  2. Личные данные: grep на имена (из .forge-audit-config.json), email, IP
  3. NSFW: README и документация на NSFW-контент
  4. Discord: discord.gg / discord.com/invite ссылки
  5. .gitignore: наличие .env, secrets, credentials
  6. CI-конфиги: токены/ключи в workflows/ci.yml
  7. Коммиты: все последние коммиты на имена, email, токены, Discord-ссылки

Конфигурация реальных имён:
Создай .forge-audit-config.json в корне проекта (добавлен в .gitignore):

{
    "owner_names": ["OwnerName"],
    "partner_names": ["PartnerName"],
    "agent_names": ["AgentName"],
    "server_names": ["ServerName"]
}

Этот файл загружается forge-verify.py --commits и forge.py --audit автоматически.
Без него сканер ищет только generic-паттерны (OWNER_NAME, PARTNER_NAME...).

Если найдены утечки — заблокируй пайплайн и исправь до Crucible.

Мои руки (backend/frontend/ML/devops):
Я сам пишу код, настраиваю инфраструктуру, документацию. Использую:

  • write_file / patch для кода
  • terminal для установок и билдов
  • delegate_task для сложных параллельных задач (code review, тесты)
  • browser для исследований/документации

🔥 Фаза 4: Верификация (Crucible)

Запустить Crucible после завершения сборки:

# Загрузить crucible skill
skill_view(name='crucible')

# Проверить:
# 1. Код собирается/запускается (unit tests)
# 2. README + документация готовы
# 3. Лицензия, контрибьюторы, CI настроены
# 4. Security: нет секретов в коде
# 5. Designer: бейджи, лого, README оформлены

Проверки (minimal):

  • python -m pytest проходит
  • В коде нет хардкоженных ключей/токенов
  • README содержит: описание, установку, пример, лицензию
  • CI пайплайн (GitHub Actions) настроен
  • pip install работает
  • Лицензия (MIT предпочтительно)

🛡️ Security Audit (перед релизом):
Перед переходом к Фазе 5 — повторный security audit:

  1. Повтори все 7 шагов из Security Audit после сборки
  2. Проверь публичный репозиторий: какие файлы видны на GitHub?
    gh api repos/svarogforge/[name]/contents --jq '[.[].name]'
  3. Secret scanning: если есть секреты — GitHub их не поймает пока не добавишь secret_scanning.yml
  4. Dependencies: проверь нет ли известных CVE в зависимостях
  5. README на расхождение: не обещает ли README то, чего нет в репозитории?

🚀 Фаза 5: Релиз

Чек-лист релиза:

  1. GitHub: создать репозиторий в svarogforge (публичный или приватный)
    gh repo create svarogforge/[name] --public --description "[one-liner]"
  2. PyPI: опубликовать, если Python-пакет
    python -m build && twine upload dist/*
  3. README: финальная версия с бейджами, скриншотами, установкой
  4. Release: gh release create v0.1.0 --notes "Initial release"
  5. Обновить мета-пакет: добавить в svarog-forge как опциональную зависимость

Пост-релиз:

  • Напомнить пользователю объявить о выходе
  • Создать issue для первого улучшения (если есть идеи)
  • Записать в memory имя проекта, версию и дату релиза

🛡️ Security Audit (после релиза):
После публикации — финальный аудит:

  1. Проверь публичный релиз: gh release view v[version] — не содержит ли notes секретов/личных данных
  2. Проверь PyPI: если пакет опубликован — проверь pip show [package] на личные данные в описании
  3. Topics на GitHub: не раскрывают ли они NSFW/личную информацию
  4. Проверь CI-логи: не попали ли токены в открытый доступ (GitHub Actions log leak)
  5. Итоговый вердикт: запиши в memory результат аудита: security_audit: passed/failed, issues: [...]

🔄 Supervisor/Worker через delegate_task

Правила делегации

Тип делегации Когда Как
Batch (параллельно) Независимые задачи (гонцы, субагенты) delegate_task(tasks=[...])
Sequential Результат A нужен для B Последовательные вызовы
Hybrid Сначала batch разведки, потом sequential сборки Фаза 1 batch + Фаза 3 sequential

Настройки (ожидаемые в config.yaml)

delegation:
  max_concurrent_children: 5   # Сколько гонцов/субагентов одновременно
  max_spawn_depth: 2           # Оркестратор -> воркеры (2 уровня)
  orchestrator_enabled: true   # Включить nested delegation

Nested делегация

Некоторые субагенты (CEO Agent) сами могут запускать sub-агентов — это нормально.
Уровень вложенности: Forge (depth=0) -> суб-агенты (depth=1) -> sub-sub-агенты (depth=2).
Глубже не надо.


💬 Быстрые команды

Команда Что делает
«Forge, анализируй [идея]» Фаза 1 + 2 (гонцы + отчёт, без сборки)
«Кузница/кузня, сделай [проект]» Полный цикл (с OK Gate)
«Кузница/кузня, собери [что решено]» Пропустить Gate, сразу сборка
«Forge, релизни [проект]» Фаза 5 только (подготовить релиз)
«Forge, статус» Где мы сейчас в пайплайне?
«Forge, стоп» Прервать текущий пайплайн

⚡ Связь с семейством SvarogForge

🏭 SvarogForge (github.com/svarogforge)
  │
  ├── ⚡ Talaria   -- гонцы (pre-market разведка)
  │     Фаза 1 Forge
  │
  ├── 🔥 Crucible  -- верификация (бенчмарк качества)
  │     Фаза 4 Forge
  │
  └── 🛠 Forge     -- IT-фабрика (этот навык)
        Координирует всё

Установка: pip install svarog-forge


🐛 Типичные грабли

Грабли Симптом Что делать
Гонцы галлюцинируют Дают цифры без источников, выдумывают проекты Требовать URL, перезапускать при пустых отчётах
OK Gate проскок Начинаешь сборку без явного «да» Не коди, пока пользователь не аппрувнул
Слишком много субагентов 5+ параллельных — контекст раздувается Batch субагентов = 1 вызов delegate_task
Фаза 3 — не моя работа Пытаюсь делегировать всё, ничего не делаю сам Я — руки Forge. Code, config, docs — моё
Pre-market не равно собирать Анализ рынка заменяю кодогенерацией Самая ценная фича — сказать «нет». Не кодить без анализа
Забываю упаковать Сделал код, забыл README/лицензию/CI/релиз Фаза 4 + Фаза 5 — обязательны
Параллельные конфликты Два субагента правят один файл Разделяй ответственность
Сводка субагента обрезана ASYNC DELEGATION BATCH COMPLETE — summary обрезается до ~2K символов После получения сводки — прочитай полный файл из subagent-summary-*.txt через read_file
OK Gate завис Пользователь не отвечает, пайплайн стоит Сработает Timeout Gate (24ч) — сохрани состояние в memory и напомни
Мета-пакет не обновлён Новый проект не добавлен в svarog-forge После релиза — pip install -e .
README описывает то, чего нет 🆕 README на GitHub перечисляет несуществующие файлы Проверь содержимое репозитория после создания. Все описанные файлы должны быть залиты.
GitHub API rate limit (гонцы) Гонец использует curl к api.github.com и получает 403 Rate Limit Exceeded Используй gh api вместо curl. gh залогинен — 5000 запросов/час. Детали в references/github-competitor-analysis.md
Security Audit пропущен 🆕 Релиз вышел с личными данными/секретами Security Audit — обязательная подфаза в Фазах 3, 4, 5. Не релизить без аудита.
Имена в паттернах сканера 🆕 Публичный код содержит реальные имена в паттернах поиска Используй generic-плейсхолдеры (OWNER_NAME). Реальные имена — в .forge-audit-config.json (в .gitignore).

✅ Verification Checklist

  • Pre-market анализ проведён (гонцы вернули отчёт с URL и цифрами)
  • OK Gate пройден (пользователь сказал явное «да»)
  • 🛡️ Security Audit: после сборки (7 шагов) — пройден
  • Код написан, собран, запущен, протестирован
  • README + лицензия + CI настроены
  • 🛡️ Security Audit: перед релизом (5 шагов) — пройден
  • Пакет опубликован (если Python)
  • GitHub-репозиторий создан в svarogforge
  • Релиз создан на GitHub (v0.1.0)
  • Мета-пакет svarog-forge обновлён
  • 🛡️ Security Audit: после релиза (5 шагов) — пройден
  • Пайплайн закрыт — пользователь уведомлён
  • Memory: сохранено имя проекта, версия, дата релиза