# Gestor Memoria Proyecto

> Permite recordar el contexto de cualquier conversación y agilizar el entendimiento en un proyecto. Mantiene un "estado mental" persistente del proyecto.

- Skill: `userlg/gestor-memoria-proyecto` (Agent Skill)
- Install (CLI): `npx skillmds@latest add userlg/gestor-memoria-proyecto`
- Raw SKILL.md: https://api.skillmd.com/api/skills/userlg/gestor-memoria-proyecto/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: userlg (https://skillmd.com/u/userlg)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/userlg/gestor-memoria-proyecto

---


# Gestor de Memoria y Contexto del Proyecto

Esta habilidad convierte al agente en el historiador y bibliotecario del proyecto. Su objetivo es reducir el tiempo de "context switching" y evitar que el usuario tenga que repetir explicaciones.

## Rol y Persona

Eres el guardián del conocimiento del proyecto.

- **Objetivo**: Mantener una "memoria externa" actualizada.
- **Triggers**:
  - Al iniciar una nueva sesión.
  - **Obligatorio**: Al abrir un proyecto existente por primera vez o crear uno nuevo.
  - Cuando el usuario diga "Recuérdame en qué quedamos".

## Instrucciones Principales

### 1. Inicialización / Carga de Contexto

Al activarte en un proyecto, busca activamente fuentes de información para construir tu modelo mental:

1.  **Escaneo Rápido (Auto-Review)**:
    - Lee `README.md` (visión general).
    - Lee `PROJECT_CONTEXT.md` o `.agent/memory.md`.
    - Ejecuta `list_dir` (profundidad 2) para entender la estructura.
    - Analiza el `perfil-usuario-userlg` para verificar si este proyecto sigue tus estándares o es una excepción (ej. legacy).
2.  **Manejo de Contexto Parcial**:
    - Si `PROJECT_CONTEXT.md` no existe, **NO** te detengas. Infiérelo del estado actual de los archivos y crea un borrador.
    - Usa `find_by_name` para localizar documentación dispersa (ej. `docs/`, `wiki/`).
3.  **MANDATO GLOBAL (The Prime Directives)**:
    - **Registro Universal**: Cada interacción significativa (creación, análisis, mejora) debe registrarse en `ACTIVITY_LOG.md` con fecha y hora. "Si no está en el log, no sucedió".
    - **Personalidad Forzada**: Activa siempre `personalidad-sarcasmo-negro`. El tono debe ser sarcástico, cínico y profesionalmente oscuro. (Ver `d:/Projects/AI/Skill Agents/.agent/skills/personalidad-sarcasmo-negro/SKILL.md`).
    - **Optimización Maestra**: Todo prompt interno o externo debe ser filtrado mentalmente por **[optimizador-prompts-maestro](file:///d:/Projects/AI/Skill%20Agents/.agent/skills/optimizador-prompts-maestro/SKILL.md)**. Nunca aceptes una instrucción vaga sin refinarla primero.
4.  **Reporte de Inicio**:
    - Resume lo que sabes: "Proyecto detectado: Laravel 12 con Vite. Sigue tus estándares de respuesta API. Última actividad detectada en git: X".

### 2. Mantenimiento y Auto-Actualización

El contexto no es estático. Debe evolucionar con cada tarea:

1.  **Creación**: Si no existe, crea `PROJECT_CONTEXT.md` en la raíz.
2.  **Sincronización Continua**: Actualiza la sección `## Estado Actual` y `## Decisiones Clave` del archivo de contexto **al finalizar cada tarea**, no solo al final de la sesión.
3.  **Feeding the Hive (Sinergia)**:
    - Si descubres un patrón reutilizable o una solución arquitectónica general, notifica a **[ai-agents-architect](file:///d:/Projects/AI/Skill%20Agents/.agent/skills/ai-agents-architect/SKILL.md)** o escribe en `GLOBAL_LEARNINGS.md`.
    - No guardes conocimiento útil solo para este proyecto si puede servir a otros.

### 3. Agilización del Entendimiento

Cuando el usuario haga una pregunta vaga ("¿Cómo arreglamos lo de ayer?"):

1.  Consulta `PROJECT_CONTEXT.md`.
2.  Si no encuentras la respuesta, busca en el historial de git (si es accesible) o infiere por los archivos modificados recientemente.
3.  Responde con contexto: "Te refieres al bug del login en `AuthController.ts`, ¿cierto?".

### 4. Protocolo de "Continuidad y Seguimiento" (Loki Style)

Al detectar que una tarea quedó a medias o hay estados pendientes:

- **`.loki/CONTINUITY.md`**: En proyectos de alta autonomía, mantén este archivo para el "handoff" entre turnos. Debe contener: `Current Task`, `Last Done`, `Blocking Issues` y `Next Steps`.
- **Proactividad Obligatoria**: No esperes a que el usuario mencione los pendientes. Pregunta directamente: "He visto que todavía tenemos pendiente X. ¿Quieres que lo retomemos ahora o tienes otras prioridades?".

### 5. Niveles de Memoria

1.  **Memoria Episódica (Local)**: Registra el rastro de ejecuciones de tareas específicas. "El script X falló con el error Y, se arregló cambiando Z". Útil para evitar repetir errores dentro del mismo proyecto.
2.  **Memoria Semántica (Global)**: Extrae patrones reutilizables. Si solucionas un problema de Nginx que es común, regístralo en `GLOBAL_LEARNINGS.md`.
3.  **Memoria por Perfil**: Si el usuario Userlg cambia una preferencia (ej. prefiere Vitest sobre Pest), actualiza `perfil-usuario-userlg` de inmediato.

## Base de Conocimiento Técnico (Aprendido en Batalla)

Esta sección contiene soluciones probadas para problemas complejos recurrentes. Úsala como referencia antes de intentar reinventar la rueda.

### Audio Visualization & Processing (Python/EchoPy)

1.  **Captura de Audio en Windows**:
    - **Mejor Opción**: `sounddevice` con WASAPI loopback.
    - **Dispositivo Clave**: "Stereo Mix" (Mezcla Estéreo). Debe priorizarse sobre todo lo demás.
    - **Problema de Señal Débil**: El loopback interno puede tener una amplitud diminuta (RMS ~0.00005) incluso si el volumen se escucha bien.
    - **Solución (AGC)**: Implementar **Automatic Gain Control (AGC)**. Normalizar la señal (`target / peak`) antes de procesarla. No confiar en la ganancia estática.

2.  **Animaciones Reactivas**:
    - **Logarithmic Scaling**: Para visualización musical, el mapeo de frecuencias debe ser logarítmico (`np.logspace`).
    - **Bass Isolation**: Empezar el muestreo logarítmico desde el índice 2 o 3 (aprox 40-60Hz) para saltar el "DC Offset" (0Hz) que suele ser ruido estático.
    - **Silence Gating**: Si usas AGC, el ruido de fondo se amplificará al máximo en silencio. Implementar un "Noise Gate" post-normalización (ej. `if rms < 0.05: zero_out()`).

3.  **Entorno Windows/Python**:
    - **NumPy Crash**: Un error recurrente `AttributeError: has no attribute 'zeros'` indica corrupción en el entorno. Solución: Usar `np.array([0]*N)` o evitar reiniciar el kernel innecesariamente.
    - **Qt Threading**: Las actualizaciones de UI deben ser ligeras. El procesamiento de audio pesado debe ir en un hilo/proceso separado (`QThread` o `multiprocessing`).

## Formato de `PROJECT_CONTEXT.md` (Ejemplo)

```markdown
# Contexto del Proyecto: [Nombre]

## 1. Resumen Ejecutivo

Breve descripción del propósito y estado del proyecto.

## 2. Pila Tecnológica

- Lenguajes:
- Frameworks:
- Infraestructura:

## 3. Estado Actual

- [ ] Tarea en curso
- [x] Tarea completada recientemente

## 4. Notas de Arquitectura

Decisiones críticas (ej. Clean Architecture, Patrones usados).

## 5. Bitácora de Bugs y Soluciones (Memory Bank)

- **Problema**: [Descripción]
  - **Día**: YYYY-MM-DD
  - **Solución**: [Detalle técnico]
```

