memory-manager
Skill9 starsChanged 6 days agoApache-2.0View on GitHub
Gestiona la memoria persistente curada de Levy en .claude/memory/. Usar siempre que el dueño pida recordar, guardar o consultar contexto; cuando pregunte si recuerdas algo; al inicio de sesiones donde el contexto historico importa; o cuando aparezca una correccion, decision, patron, bug resuelto o aprendizaje que el dueño podria querer versionar. Triggers: recuerda, remember, guarda esto, no olvides, memoria, contexto anterior, conversacion pasada, que sabes de, ultimo que hicimos.
12 other projects use a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- wulaosiji/skillstheir own version, first seen Nov 1, 2026
- diegovasquez-ai/skills-appedited, first seen Oct 25, 2026
- 2017java/super-agent-memory-managertheir own version, first seen Oct 20, 2026
- luolin-ai/openclawWeComzhtheir own version, first seen Oct 8, 2026
- chinkan/RustFoxtheir own version, first seen Sep 22, 2026
- jiawood2006/hermes-skillstheir own version, first seen Aug 24, 2026
Other versions12 projects use a version of this.
Word for word · 0
None found.
Edited · 1
- diegovasquez-ai/skills-app★ 1441% same
Wrote their own version · 11
- luolin-ai/openclawWeComzh★ 108same name
- GulajavaMinistudio/awesome-copilot-id★ 92same name
- 9thLevelSoftware/legion★ 76same name
- TenureAI/PhD-Zero★ 52same name
- wulaosiji/skills★ 28same name
- kunwl123456/zeroclaw-skills-collection★ 27same name
- chinkan/RustFox★ 11same name
- claude-office-skills/claude-office-plugin★ 9same name
- claude-world/claude-agent★ 5same name
- jiawood2006/hermes-skills★ 2same name
1 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository23 other files it gives its agents.
- arbrain/AGENTS.mdAGENTS.md
- .claude/AGENTS.mdAGENTS.md
- arbrain/CLAUDE.mdCLAUDE.md
- CLAUDE.mdCLAUDE.md
- actualizar-arbrainSkill
- artificial-brainSkill
- autoresearchSkill
- bajar-a-tierraSkill
- canvasSkill
- clientesSkill
- code-animationSkill
- goal-compilerSkill
- google-workspaceSkill
- habit-systemSkill
- image-generationSkill
- knowledge-searchSkill
- libro-osSkill
- ofertaSkill
- os-auditSkill
- presentacionesSkill
- sistema-viableSkill
- skill-creatorSkill
- tour-bienvenidaSkill
The file
We split this skill into the rules it gives an agent
2 rules. 0 are common, 2 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 9 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 146
Maximo 400 CARACTERES por entrada: No lineas: caracteres. Un limite medido en lineas deja que una sola entrada engorde sin violar nunca la …
- Distinctive: line 173
Un archivo por tema: No mezclar. Si crece mucho, dividir.
“Common” is measured: kept by at least 6 in 10 of the 9 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Memory Manager — Sistema de Memoria Persistente de Levy
La memoria vive en
.claude/memory/dentro de tu repo (${ARBRAIN_HOME}). Versionada en git. Tú, el dueño, tienes control total. La auto-memory nativa de Claude Code queda DESACTIVADA. La via legitima de escritura es CONVERSACIONAL, con esta skill: Levy propone y escribe, el dueño lo ve en el diff de git y puede revertirlo. Si algun dia activas un proceso nocturno que destile memorias, debe limitarse a CREAR archivos nuevos con su linea de indice; editar o consolidar memorias existentes sigue siendo territorio de esta skill y lo firma el dueño. NADIE borra memorias: se consolidan.
Arquitectura
.claude/memory/
├── MEMORY.md ← ESENCIA importada siempre: quién eres y reglas transversales compactas
├── RETRATO.md ← Retrato del dueño, importado siempre: quién es, meta, cómo decide, lo firmado
├── MEMORY-user.md ← Índice de identidad a demanda (entradas de user/), consultado por el recall
├── MEMORY-indice.md ← Indice completo project/feedback/reference (NO importado; lo sirve el
│ hook .claude/hooks/memory-recall.py por triggers; max 400 chars/entrada)
├── MEMORY-archivo.md ← Capa rotada (project/ >90 dias; el hook tambien la matchea)
├── user/ ← Sobre el dueño (rol, preferencias, como trabaja)
│ └── forma-de-trabajar.md
├── feedback/ ← Correcciones del dueño (que hacer/no hacer y POR QUE)
│ └── formato-de-respuestas.md
├── project/ ← Estado de iniciativas en curso (fechas absolutas)
│ └── lanzamiento-oferta.md
└── reference/ ← Donde encontrar cosas en sistemas externos
└── proveedor-de-pagos.mdLos nombres de ejemplo son ilustrativos: tu memoria empieza vacía y crece contigo. La carpeta ES el tipo. No se usa frontmatter.
El retrato del dueño (RETRATO.md)
Para que respondas como él lo haría aunque no nombre el tema. Nace «Pendiente» con sus secciones (cómo usarlo, quién es, su meta y su porqué, cómo decide, qué odia que hagas, lo firmado, abierto). Cómo mantenerlo:
- Llenarlo: con su expediente (
user/expediente.md,project/meta-90-dias.md) y lo que te cuente, una sección a la vez; enséñale lo que escribiste. Al llenar una sección, borra su texto de guía; cuando ya no quede ninguna vacía, quita la línea «Pendiente…». - Al día: cuando firme algo, te corrija o cambie su meta, actualiza la línea del retrato en el mismo turno en que guardas el archivo de detalle. Si una fuente cambia, manda la fuente.
- Corto: máximo unas 60 líneas; el detalle va en
user/,project/ofeedback/y aquí solo la línea con su enlace. Textual suyo entre «», tu lectura marcada «(Levy)». Nunca una frase, cifra o fecha inventada. - Borrador sembrado: si conectó su cerebro con arbrain.ai, al llegar su expediente Arbrain escribe un borrador
(primera línea
arbrain:retrato borrador sha256=…) con sus respuestas textuales y nada firmado. Revísalo con él una sección a la vez y, al terminar, quita esa primera línea: desde entonces es suyo y Arbrain no lo vuelve a tocar. Paso a paso, la propiedad y la verificación:arbrain/cerebro/manuales/retrato.md.
Las capas de la memoria, los disparadores y cómo rotar, explicados para el dueño: arbrain/cerebro/manuales/memoria.md.
Un solo cerebro entre runtimes
Claude Code y Codex leen y escriben estos MISMOS archivos. AGENTS.md enlaza a
CLAUDE.md; .agents/skills enlaza a .claude/skills; .codex/memory es un alias
de compatibilidad. Crear/editar SIEMPRE en .claude/, nunca clonar ni traducir rutas
por proveedor. Codex carga la esencia mediante SessionStart y usa el mismo
memory-recall.py con cada mensaje. Operación y verificación:
.claude/references/cerebro-compartido.md.
Cuando CONSULTAR Memoria
Automatico (sin que el dueño lo pida)
- Inicio de sesion: Leer MEMORY.md para orientarte. Si un tema del indice es relevante al trabajo actual, leer el archivo de detalle.
- Tema recurrente: Si el dueño menciona algo que suena a una correccion o decision pasada, buscar en memoria antes de responder.
- Antes de proponer algo: Si vas a sugerir una arquitectura, flujo, o decision, verificar que no contradiga una decision guardada.
Cuando el dueño lo pide
- "Te acuerdas de...?" / "En que quedamos con...?" / "Que sabes de...?"
- Buscar en MEMORY.md primero, luego en archivos de detalle si hay match.
Como consultar
- Las entradas cuyo trigger tocaste llegan INYECTADAS por el hook
memory-recall.pyen el turno. Si no llego nada:rg -i "<tema>" .claude/memory/MEMORY-{indice,user,archivo}.md - Si hay un archivo de detalle relevante, leerlo COMPLETO antes de opinar
- Si no encuentras nada, decirlo honestamente: "No tengo eso en memoria"
Cuando GUARDAR Memoria
Triggers de guardado (proactivo)
| Trigger | Tipo | Ejemplo |
| El dueño te corrige | feedback | "No hagas eso, mejor asi..." |
| El dueño dice "recuerda" | cualquiera | "Recuerda que el deploy es manual" |
| Se resuelve un bug no obvio | reference | "El error era por X, la solucion es Y" |
| Decision de negocio importante | project | "Vamos a subir el precio a $49" |
| Descubres un patron util | reference | "Este endpoint necesita el header X" |
| Informacion del dueño como persona | user | "Prefiero que me hables directo" |
| Algo se rompio y se arreglo | feedback | "Nunca uses --force en ese repo" |
Triggers de guardado (cuando el dueño lo pide)
- "Guarda esto" / "No olvides" / "Recuerda que" / "Anotalo"
Que NO guardar (NUNCA)
- Cosas derivables del codigo actual (leer el repo es mejor)
- Git history (git log/blame es la fuente de verdad)
- Lo que ya esta en CLAUDE.md (no duplicar)
- Estado temporal de la conversacion actual (efimero)
- Soluciones de debugging (el fix esta en el codigo, el commit tiene el contexto)
- Secretos: llaves, contraseñas o tokens nunca entran a la memoria
Como GUARDAR
Paso 1: Verificar que no existe
Leer MEMORY.md y buscar en los índices. Si ya hay un archivo sobre ese tema, ACTUALIZAR en vez de crear uno nuevo.
Paso 2: Escribir/actualizar el archivo de detalle
Crear el archivo en la carpeta correcta segun el tipo:
| Carpeta | Contenido |
user/ | Sobre el dueño (rol, preferencias, como trabaja) |
feedback/ | Correcciones del dueño (que hacer/no hacer y POR QUE) |
project/ | Estado de iniciativas en curso (con fechas absolutas, no relativas) |
reference/ | Donde encontrar cosas en sistemas externos |
Formato del archivo: Markdown plano. Sin frontmatter. Empieza con # Titulo. Nombre en
minúsculas con guiones y, si el tema es fechable, la fecha al final: feedback/no-enviar-sin-revision-2026-03-12.md.
Enlace a la conversación. Toda memoria que nace de una conversación lleva, debajo del título, la línea **Conversación completa:** con el id de la conversación en la app Arbrain (si existe) y la ruta del transcript en ~/.claude/projects/<cwd-slug>/<session-id>.jsonl. La memoria resume; la conversación es la fuente íntegra. Si alguna de las dos no existe, decirlo en esa línea.
Paso 3: Actualizar el indice (MEMORY-indice.md o MEMORY-user.md, NO MEMORY.md)
Las entradas de project/, feedback/ y reference/ van en MEMORY-indice.md.
Las entradas de user/ van a MEMORY-user.md, con el mismo formato y triggers.
En MEMORY.md (importado siempre) solo quedan la esencia y las reglas transversales compactas.
El recall consulta ambos índices y la capa rotada. El sensor memory-budget.sh limita la
esencia a 6.000 caracteres y cada entrada a 400. No importar los índices al arranque: el
contenido grande se recorta y cuesta tokens en cada conversación.
CONTRATO DURO (leer antes de escribir una sola linea):
El indice es un MAPA, no la memoria. No se importa al contexto: lo sirve el hook
memory-recall.py matcheando los triggers de cada prompt, asi que los TRIGGERS son el mecanismo
de recall y la descripcion es solo orientacion.
- Formato exacto, una sola linea por entrada:
- `carpeta/archivo.md` — Una frase de que es. **T:** trigger1, trigger2, trigger3. - Maximo 400 CARACTERES por entrada. No lineas: caracteres. Un limite medido en lineas deja que una sola entrada engorde sin violar nunca la regla. La unidad correcta son caracteres.
- PROHIBIDO en el indice: mediciones, porcentajes, citas textuales del dueño, narrativa del hallazgo, listas de defectos, adornos. Todo eso va en el ARCHIVO. Si sientes que el indice "necesita" ese detalle, es senal de que el archivo esta mal escrito.
- Los TRIGGERS son lo unico que se conserva integro (son el mecanismo de recall), pero deduplicados: 8-12 distintivos, no 30 sinonimos de lo mismo.
- Reglas Vivas: si la memoria trae una directiva que gobierna el comportamiento de Levy sin
abrir el archivo (un "NO re-litigar", "no reconstruir sin firma", "no sermonear X"), agregarla
ADEMAS a la seccion de reglas vivas de
MEMORY.md(la esencia importada), a una linea con su puntero. - Organizar por tema, no cronologicamente.
Verificar siempre despues de escribir: bash .claude/hooks/memory-budget.sh
Si sale ⚠ o ✗, arreglarlo en el mismo turno. El techo NO se sube: se ROTA (mover entradas de
project/ con mas de 90 dias a MEMORY-archivo.md, que no se importa). El actuador:
python3 .claude/skills/memory-manager/scripts/rotar-indice.py muestra que rotaria y --aplicar lo escribe
(integras, con sus disparadores: el recall las sigue encontrando como «rotada»). Si el indice sigue alto, consolidar.
Paso 4: Informar al dueño
Decir que guardaste y en que archivo. No pedir permiso (lo vera en el diff de git). Si el dueño revierte el cambio, respetar sin discutir.
Reglas de Oro
- Consultar es gratis, guardar es caro. Lee memoria seguido. Escribe solo cuando el conocimiento sobrevive a la sesion actual.
- Fechas absolutas siempre. "Jueves" → "2026-03-12". Las memorias se leen semanas despues.
- Un archivo por tema. No mezclar. Si crece mucho, dividir.
- El dueño manda. Puede borrar, editar o revertir cualquier memoria. Tu no borras memorias sin que lo pida.
- Sin duplicados con CLAUDE.md. Si algo ya esta en el CLAUDE.md principal, no repetirlo en memoria.
- Honestidad sobre limites. Si no tienes algo en memoria, dilo. No inventes.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

