Skip to main content

mastermind-orchestration

Orquestación multi-agente unificada para Mastermind en Hermes+GitHub. Reemplaza mastermind, orca y canvas-workflow. Usa delegate_task nativo de Hermes.

Ir para a instalação

Informações da origem

Repositório
Ntizar/NtizarBrainMasterMind
Última atividade na origem
20 de junho de 2026 às 17:03
Idioma detectado do SKILL.md
espanhol
Estrelas
2
Forks
0

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Explorador de arquivos
5 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
mastermind-orchestration
version
1.2.0
description
Orquestación multi-agente unificada para Mastermind en Hermes+GitHub. Reemplaza mastermind, orca y canvas-workflow. Usa delegate_task nativo de Hermes.
tags
["multi-agent","orchestration","mastermind","hermes","delegation"]
# Mastermind Orchestration — Sistema Unificado ## Resumen Sistema de orquestación multi-agente para Mastermind ejecutándose en Hermes con repos en GitHub. Reemplaza el antiguo sistema mastermind (Obsidian+OpenCode), orca y canvas-workflow. Simple, rápido, Hermes-native. ## Principios 1. **Un orquestador, muchos especialistas** — Mastermind clasifica y delega. Los 143 skills especializados ejecutan con conocimiento profundo de su dominio. 2. **Hermes-native** — Todo usa `delegate_task`, sin herramientas externas 3. **GitHub-centric** — El repo es la fuente de verdad, no Obsidian 4. **Skills sobre agentes** — Cada skill es un especialista en un dominio, no un rol genérico 5. **Delegar, no comprimir** — Paralelizar cuando sea posible 6. **Human loop obligatorio** — En cambios críticos (>5 archivos, decisiones de arquitectura), Mastermind presenta el plan y espera ✅ antes de ejecutar ## Carga de skills — Búsqueda semántica con ChromaDB (PRIMARIO) Desde 2026-06-10, la carga de skills usa ChromaDB local como mecanismo principal: 1. **Mastermind recibe una petición** → extrae palabras clave / intención 2. **Consulta ChromaDB** (`localhost:8000`, colección `mastermind-skills`) con `consultar-skills.py` 3. **ChromaDB devuelve top-5 skills** con scores de similitud (0.0 - 1.0) usando vectores 4096-dim de `qwen3-embedding` 4. **Filtro por score > 0.5** → carga solo esos skills con `skill_view()` 5. **Fallback:** si ChromaDB no responde o no encuentra nada, usar el sistema de prioridad por dominio (abajo) **Scripts:** - `/hermes-home/scripts/consultar-skills.py` — consulta semántica (modo `--json` para Mastermind) - `/hermes-home/scripts/indexar-skills.py` — re-indexación manual - `scripts/delegation-flows.py` — clasificación de complejidad con `classify_task()` y heurísticas **Cron:** `chromadb-reindex-semanal` (domingo 04:00 UTC) **Skill de referencia:** `chromadb-skills-vector-search` ### Sistema de Prioridad por Dominio (FALLBACK) Si ChromaDB no está disponible, se usa este sistema tradicional: ### Antes (v3.1) — Agentes genéricos ``` Implementer genérico → hace frontend, backend, infra, todo mal ``` ### Después (v4.0) — Skills especializados ``` Mastermind clasifica dominio → Carga skills del dominio → delegate_task con contexto especializado ``` | Dominio | Skills | Especialización | |---------|--------|----------------| | **Software** (HIGH) | 17 skills | TDD, debug, code review, refactor, iteración | | **GitHub** (MEDIUM) | 7 skills | PR workflow, code review, issues, repo mgmt | | **Frontend** (MEDIUM) | 3 skills | Aurora Design System, patrones dashboard | | **Backend** (MEDIUM) | 6 skills | APIs REST, ESM interop, fetch paralelo | | **Infra** (MEDIUM) | 6 skills | HTTP robusto, Docker, seguridad, cache | | **DevOps** (MEDIUM) | 10 skills | Deploy NaN, Aurora Nightly, cron jobs | | **Data Science** (MEDIUM) | 8 skills | Simuladores, Monte Carlo, análisis | | **Creative** (MEDIUM) | 22 skills | Diagramas, ASCII, diseño, video | **Carga de skills:** - **HIGH (Core)** → Se cargan automáticamente: `subagent-driven-development`, `delegar-no-comprimir`, `mastermind-orchestration`, `github-workflow`, `systematic-debugging` - **MEDIUM (Dominio)** → Se cargan con `skill_view()` cuando toca ese tema - **LOW (Archivo)** → Solo si el usuario los pide Ver `skills_list` de Hermes para el índice completo (143 skills cargados dinámicamente). ## Roles de Agentes ### Mastermind (Orquestador Principal) - Clasifica tareas por complejidad - Decide: hacer directamente o delegar - Integra resultados y verifica - Define en SOUL.md ### Subagentes (vía `delegate_task`) | Rol | Cuándo usarlo | Toolsets típicos | |---|---|---| | **Explorer** | Analizar código/contexto sin modificar | `file`, `terminal` | | **Planner** | Diseñar estrategia y pasos | `file` | | **Implementer** | Ejecutar código o cambios | `terminal`, `file` | | **Reviewer** | Validar calidad contra spec | `file` | | **Critic** | Revisión adversarial (cosas críticas) | `file` | **Regla:** Tareas simples → Mastermind directo. Complejas (5+ pasos) → delegar. ## Niveles de Complejidad ### Nivel 1 — Directo (Mastermind solo) - 1-3 tool calls - Cambios en 1-2 archivos - Respuestas simples - **Ejemplo:** Buscar algo, leer archivo, hacer commit ### Nivel 2 — Delegación simple - 4-8 tool calls - Cambios en 3-5 archivos independientes - **Ejemplo:** Refactor de módulo, implementar feature con tests - **Patrón:** Mastermind planifica → 1 Implementer → Mastermind verifica ### Nivel 3 — Delegación paralela - 8+ tool calls - Múltiples features o módulos independientes - **Ejemplo:** Optimizar frontend + backend + tests simultáneamente - **Patrón:** Mastermind planifica → 2-3 Implementers en paralelo → Mastermind integra ### Nivel 4 — Orquestación completa - Proyectos grandes, múltiples PRs - **Ejemplo:** Feature completa con backend, frontend, docs, tests - **Patrón:** Planner → Implementers paralelos → Reviewer → Critic → Mastermind integra y merge ## Flujo de Trabajo ### Tarea recibida ``` 1. ¿Cuántos archivos toca? - 1-2 → Nivel 1 (directo) - 3-5 → Nivel 2 (delegación simple) - 5+ independientes → Nivel 3 (paralelo) - Proyecto completo → Nivel 4 (orquestación) 2. ¿Es código, análisis, o infra? - Código → subagentes de dev - Análisis → Mastermind directo o Explorer - Infra → Mastermind directo (conocimiento específico) 3. Ejecutar según nivel ``` ### Delegación estándar (Nivel 2-3) ```python delegate_task( tasks=[ { "goal": "Tarea específica con contexto completo", "context": "Archivos, paths, errores, constraints", "toolsets": ["terminal", "file"] } ] ) ``` ### Reglas de delegación - ** SIEMPRE** dar contexto completo al subagente (no puede leer el chat) - **NUNCA** delegar tareas que necesitan interacción con el usuario - **NUNCA** delegar más de 3 tareas en paralelo (límite de Hermes) - **SIEMPRE** verificar resultados del subagente antes de entregar ## Patrones de Uso ### Patrón: Fix paralelo Cuando hay 3+ bugs independientes: ``` Mastermind identifica bugs → delega fixes en paralelo → integra y verifica ``` ### Patrón: Feature completa ``` Mastermind planifica → Implementer(s) ejecutan → Reviewer valida → Mastermind merge ``` ### Patrón: Investigación + implementación ``` Explorer analiza → Mastermind decide → Implementer ejecuta → Reviewer valida ``` ### Patrón: Ecosystem Module Factory — Creación paralela de módulos TS Cuando hay que crear un ecosistema de 3+ módulos TypeScript independientes (ej: Adela con 10 módulos), este patrón maximiza throughput mediante delegación paralela. #### Estructura estándar de cada módulo ``` modulo/ ├── README.md # Quick start + API + "Integración con otros ..." ├── package.json # name, version 1.0.0, type: module, scripts: build + test ├── tsconfig.json # Strict, ES2022, Node16 moduleResolution ├── src/ │ ├── index.ts # Barrel export │ ├── ...ts # Módulos funcionales │ └── types.ts # Interfaces ├── tests/ │ └── *.test.ts # Tests con tsx --test (mínimo 15 tests) └── dist/ # outDir, rootDir: src ``` #### Flujo de ejecución **FASE 1 — Preparación:** 1. Ver qué módulos extraer de código existente vs crear desde cero 2. Para cada módulo: leer código fuente con read_file si hay extracción 3. Para cada módulo desde cero: diseñar API completa (interfaces, funciones) **FASE 2 — Delegación paralela:** 1. Lanzar 3-4 subagentes en paralelo, cada uno con: - Estructura exacta de archivos - API a exponer (copia-pega de interfaces) - Código fuente de referencia (si hay extracción) - Número mínimo de tests - Dependencias runtime necesarias 2. Asignar timeout=600s para módulos complejos (auth, db, export) 3. Cada subagente es autónomo: crea, testea, compila **FASE 3 — Verificación post-ejecución:** POR CADA módulo completado: 1. `cd /path/modulo && npm run build` → ¿Compila? 2. `npm test` → ¿Pasan tests? 3. Si falla: diagnóstico rápido y fix directo (tsconfig, imports, test config) 4. Si timeout (subagente no terminó): completar manualmente lo que falta **FASE 4 — Push a GitHub (paralelo):** 1. Lanzar push en paralelo para N/2 grupos 2. Cada grupo: .gitignore → git init → add → commit → push #### Pitfalls del patrón - **Timeout en módulos complejos**: Adela_db (sql.js + migraciones) requirió 600s y aun así timeout. El subagente creó src/ pero no database.ts ni tests de migrations. Solución: para módulos con 3+ archivos src o dependencias nativas, hacer en 2 tandas o supervisar más cerca. - **Build failure no siempre significa error real**: Adela_http compiló con tsc exit 0 pero tsconfig tenía rootDir="." en vez de "src", generando dist/src/. Fácil de arreglar, pero hay que revisar tsconfig de cada módulo. - **TypeScript strict + tests de Jest**: los tests con jest+ts-jest hacen typecheck, y TS strict encuentra errores en tests (variables no usadas, imports raros). Arreglo: desactivar diagnostics en transform de jest.config, o configurar noUnusedLocals: false en tests. - **Subagentes pueden modificar archivos que ya leíste**: Adela_auth/src/auth.ts fue modificado por un subagente después de leerlo → warning de "re-read antes de editar". Siempre re-read antes de parchear. #### Ejemplo real: Ecosistema Adela (2026-06-14) ``` Sesión 1: 3 subagentes → Adela_time, Adela_env, Adela_http (P0) → 74 tests, push a 3 repos GitHub ✅ Sesión 2: 3 subagentes → Adela_cache, Adela_health (P1) + push P0 + 1 subagente → Adela_auth (P1, timeout parcial, completado manual) → 106 tests, push a 5 repos ✅ Sesión 3: 3 subagentes → Adela_export, Adela_ai (P2) + Adela_i18n (P3) + 1 manual → Adela_db (P2, timeout, completado por Mastermind) + 2 pushes → push paralelo de 4 módulos → 114 tests, push a 10 repos ✅ ``` ### Patrón: Plan de mejora por fases (pipeline de crons) Cuando hay múltiples mejoras pendientes que dependen unas de otras: ``` 1. AUDIT → evaluar estado actual con métricas reales 2. PLAN → dividir en fases (cimientos → inteligencia → verificación) 3. EJECUTAR → cada fase como cron one-shot independiente 4. VERIFICAR → comprobar que todo funciona al final ``` **Reglas:** - Cada fase debe ser **idempotente** (puede repetirse sin daño) - Las fases se ejecutan en **serie** (cimientos antes que inteligencia) - Cada cron entrega un resumen al final - Si una fase falla, la siguiente no se ejecuta **Ejemplo real (2026-06-10):** Pipeline de 14 crons para mejorar Mastermind: Fase 1 (8 crons, cimientos: ChromaDB, SOUL.md, limpieza skills) → Fase 2 (5 crons, inteligencia: Ebbinghaus, grafo, lifecycle, orquestación, dashboard) → Fase 3 (1 cron, verificación + mantenimiento semanal). **Skill dedicado:** `micro-crons-pipeline` — para pipelines de proyectos grandes con backlog de tareas atómicas y cron maestro automático. Usar cuando el usuario quiera un proyector que avance solo con iteraciones programadas. ### Patrón: Parallel Batch Data Processing — Análisis masivo de items independientes Cuando hay un **conjunto grande de items** (50-200) que necesitan **análisis/classificación independiente** (no construcción de código), y cada item produce un veredicto: **Ejemplo real:** Analizar 117 repos de GitHub Stars → decidir CREATE_SKILL / SKIP / ALREADY_COVERED para cada uno. ``` FASE 1 — Registro masivo sin análisis profundo → Solo fetch básico (nombres, stars, lenguaje) — ~2 min para 117 items → NO fetch de README/tree/content (se timeout: 117 × 4 reqs ≈ 1h) FASE 2 — Clasificación por valor → High (>3000⭐) → procesar AHORA con subagentes → Medium (500-3000⭐) → dejar para cron/siguiente → Low (<500⭐) o awesome lists → skip automático FASE 3 — Batch en paralelo (3 subagentes × 6-8 items cada uno) ├── Subagente A: items 1-6 ├── Subagente B: items 7-12 └── Subagente C: items 13-18 Toolsets: ["terminal", "file"] (necesitan acceso a archivos + shell) FASE 4 — Cada subagente produce un veredicto por item: ├── CREATE_SKILL → nombre, categoría, razón ├── ALREADY_COVERED → qué skill existente lo cubre └── SKIP → razón (awesome list, irrelevante, <500⭐, C++ legacy, etc.) FASE 5 — Mastermind agrega resultados: ├── Crea skills pendientes con skill_manage (acción real) ├── Actualiza registry con las decisiones └── Re-indexa ChromaDB si hubo cambios FASE 6 — Pendientes para el cron: → Items que no se procesaron van al cron nocturno (3/noche) ``` **Características clave de este patrón:** - Los items son **INDEPENDIENTES** (no comparten estado) — pueden ir en paralelo sin riesgo - Cada subagente recibe **contexto completo** de sus 6 items (nombres, stars, descripciones) - El output es **estructurado** (veredictos), no código - **No hay riesgo de conflictos** entre subagentes (cada uno decide sobre items distintos) - **Tiempo total:** 3 subagentes × ~3 min = ~5 min para 18 items (vs ~1h en serie) **Pitfalls:** - **Contexto grande:** 6 repos × READMEs de 8K chars = 48K chars de input. Asegurar que el modelo tiene suficiente ventana de contexto (min 32K, recomendar 128K) - **Timeout en --all:** No ejecutar `explorar-stars.py --all` con 100+ repos si el script hace fetch de README/tree. Se timeout. Mejor hacer registro masivo primero (solo 1 req/repo) - **Deduplicación ChromaDB:** Antes de crear skill, cada subagente debe consultar ChromaDB local para evitar duplicados. Si score > 0.25, SKIP con razón "ya existe skill X" - **Awesome lists:** `awesome-*`, `Clone-Wars`, `*-awesome-*` → **siempre SKIP** sin análisis - **Repos personales del usuario (Ntizar/*):** siempre prioridad, crear skill aunque sea simple - **Agregación post-batch:** Mastermind debe verificar que los skills se crearon realmente (no confiar ciegamente en el subagente). Leer el registry post-ejecución. ### Patrón: Greenfield project con cron pipeline Cuando hay que construir un proyecto COMPLETO desde cero (no mejorar uno existente), usar crons one-shot secuenciales para cada fase del desarrollo. Cada cron construye una parte, hace commit+push, y el siguiente cron construye sobre lo anterior. ``` 1. SCAFFOLD → repositorio, estructura, README, ARCHITECTURE.md, ADR inicial 2. HACER YO (Mastermind) → Fase 0 de investigación: fuentes, zona piloto, mapa de datos, backlog 3. CRONs ONE-SHOT → cada hora/fase del desarrollo, en orden de dependencia 4. CANCELAR crons que ya no aplican → si adelantas trabajo manualmente, quitas el cron 5. AUDITORÍA → cron final para bugs, CHANGELOG, calidad ``` **Reglas específicas de greenfield:** - **Fase 0 la hace Mastermind** — investigación, documentación, decisiones de arquitectura. No delegar a cron las decisiones de diseño. - **Cada cron es autocontenido** — el prompt debe incluir: contexto del proyecto, archivos a modificar, qué verificar, y que haga commit+push. No asume nada del contexto del chat. - **Import paths en monorepos** — desde apps/web-viewer/src/main.js, el path relativo correcto a src/ocean/gerstner.js es ../../../src/ocean/gerstner.js (3 niveles), no ../../src/ (2 niveles). Esto es un pitfall común en monorepos Vite con estructura apps/web-viewer/src/ + src/ raíz. - **GH Actions + GH Pages** — usar peaceiris/actions-gh-pages@v4 para deploy automático desde GH Actions. La branch destino es gh-pages. Para repos privados, GitHub Pages requiere plan de pago. Si el usuario tiene plan gratuito, hacer el repo público o servir desde NaN.builders. - **Build local primero** — siempre verificar npm run build localmente antes del push. El GH Actions tarda ~2-3 min y si falla, hay que esperar otro ciclo. - **Cancelar crons solapados** — si Mastermind adelanta trabajo manualmente (ej: mejora UI mientras espera un cron), cancelar ese cron con cronjob(action='remove', job_id=...) para evitar que sobrescriba. - **Entregar resultados** — los crons deben tener deliver='origin' para que los resultados lleguen al chat actual. **Pipeline típico para proyecto web 3D (Three.js + Vite, ejemplo WaveThree):** ``` Cron 1 (17:18): Fase 1.1 — MVP visual (shader, escena, UI base, GH Pages) Cron 2 (18:18): Fase 1.2 — UI avanzada + selector escenarios Cron 3 (19:18): Fase 1.3 — Pipeline datos reales (GEBCO, NetCDF) Cron 4 (20:18): Fase 2.1 — Batimetría 3D en escena Cron 5 (21:18): Fase 2.2 — Escenarios reales + selector funcional Cron 6 (22:18): Fase 3 — Océano espectral (JONSWAP + iFFT) Cron 7 (23:18): Fase 4 — Estructuras costeras + espuma Cron 8 (00:18): Fase 5 — Producto técnico (comparador, exportación) Cron 9 (01:18): Auditoría final (bugs, CHANGELOG) ``` **Pitfalls del patrón greenfield:** - **WebGPU en Three.js r170** — WebGPURenderer no está disponible desde el bundle principal (three.module.js). Se necesita three/build/three.webgpu.js. Para el MVP inicial, usar WebGLRenderer con buena configuración y añadir WebGPU cuando se necesite compute shaders.
Ver no GitHub
Este SKILL.md e muito grande, entao o SkillsMP mostra aqui apenas a primeira secao. Ver no GitHub