Skip to main content

mastermind-setup

Configura y mantiene el sistema personal de agentes Mastermind — sincronización de repositorio GitHub, instalación de skills, configuración de SOUL.md y auto-configuración de cron para el segundo cerebro de Ntizar.

Ir para a instalação

Informações da origem

Repositório
Ntizar/NtizarBrainMasterMind
Última atividade na origem
1 de julho de 2026 às 00:53
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
13 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
mastermind-setup
description
Configura y mantiene el sistema personal de agentes Mastermind — sincronización de repositorio GitHub, instalación de skills, configuración de SOUL.md y auto-configuración de cron para el segundo cerebro de Ntizar.
version
1.4.0
author
Ntizar + Hermes Agent
tags
["mastermind","setup","github","skills","soul","nan","identity"]
# Mastermind Setup Procedures for setting up and maintaining the Mastermind personal agent system — a private GitHub repo that serves as the agent's second brain (skills, notes, memory, config, scripts). ## Cuándo usar - Se configura un nuevo entorno de Hermes Agent para Ntizar - Necesitas sincronizar skills desde el repositorio Mastermind al sistema local - El SOUL.md se corrompió o truncó y necesita recuperación - Se necesitan configurar cron jobs de sincronización automática ## Cuándo NO usar - Configurar un usuario diferente de Ntizar → el repo y las rutas son específicas - Solo necesitas instalar un skill individual → usa `skill_manage(action='create')` directamente - El sistema ya está configurado y funcionando → no reconfigurar sin necesidad ## Identity El nombre del agente es **Mastermind**, no "Hermes Agent". Hermes es el framework subyacente; Mastermind es el nombre que David (Ntizar) le dio a su sistema de agente personal. Al presentarte o referirte a ti mismo, usa "Mastermind". - **Framework:** Hermes Agent (el motor subyacente) - **Nombre:** Mastermind (el agente personal) - **Usuario:** David Antizar (Ntizar) Esta es la identidad preferida del usuario. Siempre presentarse como Mastermind. ## Setup ### 1. Install GitHub CLI ```bash curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg 2>/dev/null echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null apt-get update -qq && apt-get install -y -qq gh ``` ### 2. Authenticate with GitHub ```bash # Read token from .env token=$(grep GITHUB_TOKEN /hermes-home/.env 2>/dev/null | cut -d= -f2-) # ⚠️ PITFALL: gh auth login fails when GITHUB_TOKEN env var is set # Clear it first: GITHUB_TOKEN="" echo "$token" | gh auth login --with-token ``` ### 3. Clone the repo ```bash cd /root/workspace git clone https://github.com/Ntizar/mastermind.git ``` ### 4. Configure Hermes to use it as a skills source In `/hermes-home/config.yaml`: ```yaml skills: external_dirs: - /root/workspace/Mastermind/mastermind ``` Then `/reset` (new session) for Hermes to detect the new skills. ### 5. Copy skills to local directory ```bash mkdir -p /hermes-home/skills/mastermind cp /root/workspace/Mastermind/mastermind/*.md /hermes-home/skills/mastermind/ ``` Create a `SKILL.md` umbrella in `/hermes-home/skills/mastermind/SKILL.md` listing the individual skills. ### 6. Actualizar SOUL.md Configurar `/hermes-home/SOUL.md` con: identidad del agente, reglas, sistema de conocimiento en 3 capas, estructura del repo, modelo de subagentes, stack actual y lista de skills. ### 8. Arrancar ChromaDB local (skills vector search) ChromaDB corre en localhost:8000 para búsqueda semántica de skills. Debe arrancar tras cada reinicio de la VM: ```bash # Arranque manual bash /hermes-home/scripts/start-chromadb.sh # Verificar curl http://localhost:8000/api/v1/version # → "1.5.9" ``` **Script de arranque:** El script `start-chromadb.sh` está en el skill `chromadb-skills-vector-search`: ```bash skill_view(name='chromadb-skills-vector-search', file_path='scripts/start-chromadb.sh') # O directamente: bash /hermes-home/skills/chromadb-skills-vector-search/scripts/start-chromadb.sh ``` **Datos persistentes:** `/hermes-home/chromadb-data/` **Pitfall:** ChromaDB NO arranca automáticamente al reiniciar la VM. Si el agente nota que las consultas semánticas fallan, debe ejecutar `start-chromadb.sh` o reportarlo. Ver skill `chromadb-skills-vector-search` para detalles completos de indexación y consulta. Create a cron job that runs daily: ```bash # Schedule: 0 9 * * * (daily at 09:00 UTC) # Prompt: cd /root/workspace/Mastermind && git pull origin main cp /root/workspace/Mastermind/mastermind/*.md /hermes-home/skills/mastermind/ gh auth status || re-authenticate from /hermes-home/.env ``` See `scripts/mastermind-autoconfig.sh` for the ready-to-use sync script (includes SOUL.md size guard). See `scripts/restore-soul.sh` for SOUL.md sync check and recovery. See `scripts/backup-hermes-memory.sh` for manual backup of memory to repo. See `references/backup-hermes-complete.md` for the complete backup procedure (vulnerability assessment → copy → commit → auto-sync cron). See `references/backup-pitfalls-2026-06-22.md` for backup pitfalls: double nesting with cp, duplicate commits, .hub/quarantine exclusion, skill-learning.log gitignore. See `references/backup-rsync-fallback.md` for rsync fallback: Python shutil-based implementation when rsync binary is not available on the VM. See `references/backup-cp-nesting.md` for the complete `cp -r` / `cp -a` double-nesting pitfall and safe copy patterns. ## Estructura del Repositorio ``` Mastermind/ ├── README.md ← Visión general del sistema ├── ARCHITECTURE.md ← Documentación técnica (capas, flujos) ├── mastermind/ ← Skills CORE del sistema │ ├── SKILL.md ← Índice umbrella de skills propios │ ├── SOUL.md ← Plantilla de identidad │ └── (skills .md individuales) ├── learning/ ← Sistema de aprendizaje autónomo │ ├── MEGA-PLAN-LECTURA-ESCRITURA.md ← Plan maestro del curso │ ├── README.md ← Cómo funciona el sistema │ ├── sesiones/ ← HTMLs de lecciones generadas │ └── indices/ ← Índices temáticos (autores, vocab...) ├── improvement/ ← Mejora continua de Mastermind │ ├── skills-desapavechadas.md ← Skills que no uso y debería │ ├── skills-nuevas-proyecto.md ← Skills que debería crear │ └── INDEX.md ← Índice unificado de mejoras ├── skills/ ← Skills de referencia (hub externo) │ └── INDEX.md ← Catálogo completo ├── config/ │ └── skill-priority.json ← Prioridad HIGH/MEDIUM/LOW ├── scripts/ ← Automatizaciones │ ├── mastermind-autoconfig.sh ← Autoconfiguración diaria │ ├── generate-skill-index.sh ← Generador de índice │ └── (otros scripts) ├── memory/ ← Respaldo de memoria ├── notes/ ← Notas de sesiones │ └── _template.md ← Template con frontmatter YAML └── .deploy/ ← Deploy configs (nginx, Docker) ``` ## Reglas 1. **Nunca borrar del repositorio** — solo crear nuevos archivos o modificar archivos que creaste 2. **Formato de notas:** `YYYY-MM-DD-titulo.md` en `notes/` 3. **Skills:** cada skill tiene su propio archivo en `mastermind/` 4. **Commit tras aprender:** lecciones importantes → commit al repositorio 5. **Sin secretos en notas/commits/chat** 6. **SOUL.md es la fuente de verdad** para la identidad del agente — mantenerlo sincronizado con el repo ## Backup automático de Hermes al repo (MANTENER ACTUALIZADO) Este es el procedimiento estándar de backup completo al repo Mastermind. Ejecutar cuando se pida o como cron. ### Pasos 1. **Verificar que el destino existe:** ```bash test -d /root/workspace/Mastermind/hermes-home/ || mkdir -p /root/workspace/Mastermind/hermes-home/ ``` 2. **Copiar archivos/carpetas (rsync o fallback):** ```bash # OPCIÓN A: rsync (si está disponible) rsync -av /hermes-home/skills/ /root/workspace/Mastermind/hermes-home/skills/ rsync -av /hermes-home/memories/ /root/workspace/Mastermind/hermes-home/memories/ rsync -av /hermes-home/notes/ /root/workspace/Mastermind/hermes-home/notes/ rsync -av /hermes-home/scripts/ /root/workspace/Mastermind/hermes-home/scripts/ # OPCIÓN B: rm -rf + cp -a (cuando rsync no está disponible — confirmado 2026-06-29) rm -rf /root/workspace/Mastermind/hermes-home/skills/ cp -a /hermes-home/skills/ /root/workspace/Mastermind/hermes-home/skills/ rm -rf /root/workspace/Mastermind/hermes-home/memories/ cp -a /hermes-home/memories/ /root/workspace/Mastermind/hermes-home/memories/ rm -rf /root/workspace/Mastermind/hermes-home/notes/ cp -a /hermes-home/notes/ /root/workspace/Mastermind/hermes-home/notes/ rm -rf /root/workspace/Mastermind/hermes-home/scripts/ cp -a /hermes-home/scripts/ /root/workspace/Mastermind/hermes-home/scripts/ cp /hermes-home/config.yaml /root/workspace/Mastermind/hermes-home/config.yaml ``` > **Por qué rsync y no `cp -r`:** `cp -r /hermes-home/memories/ /dest/hermes-home/memories/` cuando el destino ya existe produce `/dest/hermes-home/memories/memories/`. `rsync -av` no tiene este problema. Si rsync no está, usar `rm -rf` + `cp -a` como fallback confirmado. 3. **Verificar que no hay nesting:** ```bash find /root/workspace/Mastermind/hermes-home/ -mindepth 2 -maxdepth 2 -type d | while read dir; do parent=$(basename "$(dirname "$dir")") child=$(basename "$dir") if [ "$parent" = "$child" ]; then echo "NESTED: $dir" fi done ``` Si hay nesting, aplicar el fix cascading (ver pitfall 2026-06-28). 4. **Contar archivos copiados:** ```bash find /root/workspace/Mastermind/hermes-home/skills -type f | wc -l ``` 5. **git add, commit, push:** ```bash cd /root/workspace/Mastermind git add -A git commit -m "Backup semanal: $(date +%Y-%m-%d)" git push origin HEAD:master ``` ### Pitfalls críticos del backup - **DOBLE NESTING con `cp -r` (recurrente):** `cp -r /hermes-home/memories/ /dest/hermes-home/memories/` cuando `/dest/hermes-home/memories/` ya existe produce `/dest/hermes-home/memories/memories/`. **SOLUCIÓN OBLIGATORIA:** usar `rsync -av` en lugar de `cp -r`. Siempre. - **Cascading nesting en skills:** Cuando el nesting raíz se corrige (`skills/skills/` → `skills/`), CADA categoría top-level puede tener el mismo patrón: `ai-patterns/ai-patterns/`, `creative/creative/`, `stem/stem/` — 70+ directorios. **Fix:** loop sistemático `find . -mindepth 2 -maxdepth 2 -type d | while read dir; do parent=$(basename "$(dirname "$dir")"); child=$(basename "$dir"); if [ "$parent" = "$child" ]; then mv "$dir"/* "$dir"/.* . 2>/dev/null; rm -rf "$dir"; fi; done`. - **skill-learning.log:** puede no existir (gitignore, puede haber sido eliminado). No fallar si no está. - **Comparación de skills:** usar `find -name 'SKILL.md'` en ambos lados, EXCLUYENDO `.hub/`. El repo puede tener más skills que Hermes (skills propios del sistema, STEM, etc.). No es problema. - **`.hub/quarantine/` no va al backup.** Contiene installs fallidas. - **`.lock` files:** los archivos `.lock` de memories (MEMORY.md.lock, USER.md.lock) van al backup pero son inertes. Limpiarlos con `find -name '*.lock' -delete` antes de commit si se quiere repos limpio. - **`.hub/` en conteo:** no incluir `.hub/` al comparar conteos de SKILL.md. - **`rsync --delete` es destructivo:** solo usar si se quiere espejo exacto. Para backup incremental seguro, usar `rsync -av` SIN `--delete`. - **Hermes no detecta external_dirs mid-session** — reiniciar sesión (`/reset`) tras cambiar `config.yaml` - **SKILL.md requerido** — archivos `.md` individuales no se detectan sin un `SKILL.md` umbrella - **gh auth falla con GITHUB_TOKEN set** — limpiar primero: `GITHUB_TOKEN="" echo "$token" | gh auth login --with-token` - **SOUL.md debe actualizarse** — instalar skills no es suficiente; la identidad debe estar en SOUL.md - **SOUL.md puede truncarse** — puede reducirse a ~48 bytes. **Detección:** `wc -c /hermes-home/SOUL.md` — si <1000, está corrupto. **Recuperación:** `cp /root/workspace/Mastermind/mastermind/SOUL.md /hermes-home/SOUL.md` - **Hermes memory drifts from repo** — el cron NO hace backup de memoria. Usar `scripts/backup-hermes-memory.sh` manualmente. - **SOUL.md size guard (ACTUALIZADO 2026-06-03)** — `mastermind-autoconfig.sh` usa lógica de 3 vías: (1) si local < 1000 bytes → SIEMPRE restaurar desde repo (truncado), (2) si repo > local → restaurar, (3) si local > repo y local > 1000 → subir al repo. El guard anterior solo comparaba `repo > local`, lo que permitía corrupción parcial silenciosa. - **Config drift silencioso** — `tts.edge.voice` y `display.language` pueden perderse tras updates de Hermes o reconfiguraciones. **Verificar periódicamente:** `grep "voice:" /hermes-home/config.yaml | head -1` debe mostrar `es-ES-AlvaroNeural`, y `grep "language:" /hermes-home/config.yaml` debe mostrar `es` en sección display. Si están en inglés → el agente responde en inglés y TTS suena raro. - **Hermes path quirk** — algunos deployments usan `/hermes-home/` en vez de `~/.hermes/`. Verificar `$HERMES_HOME`. - **No crear skills con write_file manual** — usar `skill_manage(action='create')`. - **Duplicate workspace clones** — solo una copia de Mastermind repo en `/root/workspace/Mastermind/`. - **gh CLI no instalado** — `git push` funciona sin `gh`. - **ChromaDB no sobrevive a reinicios** — la VM de NaN puede reiniciarse. ChromaDB no tiene systemd unit. Si el agente detecta que `curl localhost:8000/api/v1/version` falla, debe ejecutar `bash /hermes-home/scripts/start-chromadb.sh` para re-arrancarlo. Los datos persisten en `/hermes-home/chromadb-data/`. - **Debian Node.js stub crashes** — `/usr/bin/node` es un stub que crashea. Usar nvm o shebang directo al path nvm. ## Patrón de Sincronización Bidireccional ## Orquestación de Cron Jobs (Multi-Sesión con Plan Maestro) Cuando el usuario pide generar un proyecto grande que requiere múltiples sesiones/entregas (curso de 10 sesiones, serie de informes, batch de archivos), usar este patrón. ### Pasos 1. **Crear MEGA-PLAN.md** en el directorio de trabajo - Estructura general del proyecto - Diseño visual unificado (paleta, CDN, estilo) - Contenido detallado por sesión/archivo - Requisitos técnicos - Checklist de calidad 2. **Crear archivo principal** (INDEX.html, README, etc.) con navegación entre entregas 3. **Crear cron jobs** con: - `deliver: origin` (entregar al chat actual) - Schedule espaciado (cada 12h o 24h para no saturar) - `repeat: once` (ejecutar una sola vez) - Cada cron con prompt autocontenido que referencie el MEGA-PLAN.md - Nombre descriptivo: `NombreProyecto SNN — Descripción` 4. **Verificar que los crons se crearon** con `cronjob action=list` ### Reglas - El MEGA-PLAN.md es la fuente de verdad: TODOS los crons lo referencian - Cada cron debe ser autocontenido (no depende del contexto del chat) - Espaciar crons para evitar saturación de tokens - Límite de líneas por archivo para evitar truncamiento ### Pitfalls - NO crear crons en bucle infinito (`repeat: forever`) para proyectos de una sola vez - NO usar `openrouter` como provider en crons de Mastermind (401 error) — usar `qwen3.6` vía `custom` - NO olvidar que los crons corren en sesión aislada: el prompt debe ser completamente autocontenido
Ver no GitHub
Este SKILL.md e muito grande, entao o SkillsMP mostra aqui apenas a primeira secao. Ver no GitHub