Learn-skills.dev cortexfs
git clone https://github.com/NeverSight/learn-skills.dev
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/aarcilam/cortexfs_agent_skill/cortexfs" ~/.claude/skills/neversight-learn-skills-dev-cortexfs && rm -rf "$T"
data/skills-md/aarcilam/cortexfs_agent_skill/cortexfs/SKILL.mdCortexFS Memory Skill
Version: 0.6.0
Execution: Shell/Bash
Auth: None
🚀 AUTO-INSTALACIÓN (Ejecutar al inicio)
Cuando el skill se carga por primera vez, EL AGENTE DEBE ejecutar automáticamente estos comandos:
1. Instalar CortexFS CLI (si no existe)
if ! command -v cortex &> /dev/null; then npm install -g cortexfs-cli cortex config "$HOME/.cortexfs/brain" fi
2. Copiar comandos a los agentes instalados
Para OpenCode:
mkdir -p ~/.config/opencode/commands cp -r ~/.agents/skills/cortexfs/opencode-commands/* ~/.config/opencode/commands/
Para Cursor:
mkdir -p ~/.cursor/commands cp -r ~/.agents/skills/cortexfs/opencode-commands/* ~/.cursor/commands/
Verificación:
which cortex || echo "NO_INSTALLED"
Si no está instalado, ejecutar:
npm install -g cortexfs-cli
Prerequisitos
- CortexFS CLI instalado
- Check:
which cortex || cortex --version - Install:
npm install -g cortexfs-cli
- Check:
🧠 COMPORTAMIENTO AUTOMÁTICO DEL AGENTE
Este skill actúa como la MEMORIA PERSISTENTE del proyecto. El agente DEBE seguir estas reglas de comportamiento:
🔍 REGLA 1: BUSCAR PRIMERO (Search-First)
Cuándo: SIEMPRE que el usuario pregunte algo sobre el proyecto, ANTES de responder o buscar en el código.
Acción:
- Ejecutar:
cortex search "<términos relevantes de la pregunta>" - Si hay resultados, usar
para obtener el contenido completocortex read - Usar ese conocimiento para responder o complementar la respuesta
Ejemplos:
| Pregunta del usuario | Ejecutar primero |
|---|---|
| "¿Cómo funciona la autenticación?" | |
| "¿Cuáles son las convenciones de código?" | |
| "¿Qué decisiones de arquitectura tomamos?" | |
Por qué: CortexFS contiene conocimiento curado y decisiones previas. Buscar aquí PRIMERO evita repetir trabajo o contradecir decisiones.
💾 REGLA 2: GUARDAR CONOCIMIENTO IMPORTANTE (Auto-Save)
Cuándo: Guardar AUTOMÁTICAMENTE cuando se descubra o defina:
- Decisiones de arquitectura o diseño
- Convenciones de código acordadas
- Patrones o soluciones reutilizables
- Configuraciones importantes del proyecto
- APIs o endpoints documentados
- Bugs importantes y sus soluciones
- Dependencias clave y su propósito
- Flujos de negocio o lógica compleja
- Información que el usuario pide recordar
- Contexto importante que se perdería entre sesiones
Acción:
- Identificar la categoría apropiada
- Crear un ID semántico descriptivo
- Estructurar el contenido en JSON
- Ejecutar:
cortex save "<category>" "<id>" "<contenido JSON>"
📂 Categorías Recomendadas
| Categoría | Usar para |
|---|---|
| Decisiones de diseño, patrones, estructura |
| Reglas de código, estilo, naming |
| Configuraciones, variables de entorno, settings |
| Endpoints, contratos, schemas |
| Problemas encontrados y soluciones |
| Lógica de negocio, workflows, procesos |
| Librerías importantes y su uso |
| Información general que recordar |
🔄 REGLA 3: INICIO DE SESIÓN (Session Start)
Cuándo: Al inicio de una nueva conversación o sesión.
Acción:
- Ejecutar:
cortex load-state - Revisar el estado anterior para contexto
- Ejecutar:
cortex list - Conocer qué conocimiento está disponible
Por qué: Retomar contexto sin que el usuario tenga que repetir información.
🏁 REGLA 4: FIN DE SESIÓN (Session End)
Cuándo:
- El usuario indica que termina la sesión
- Se completó una tarea importante
- Hubo cambios significativos en el proyecto
Acción: Ejecutar
cortex save-state con JSON estructurado:
{ "task": "qué se estaba haciendo", "status": "in_progress|blocked|review", "progress": { "completed": [], "pending": [], "blocked": [] }, "context": { "files_modified": [], "branch": "" }, "next_steps": [] }
📋 COMANDOS DISPONIBLES
cortex config
cortex configConfigura el directorio raíz del brain.
cortex config "<path>"
Ejemplo:
cortex config '/ruta/al/brain'
cortex save
cortex saveGuarda conocimiento estructurado. SIEMPRE estructurar el contenido en JSON o Markdown.
cortex save "<category>" "<id>" "<content>"
Parámetros:
: Categoría del conocimiento (ej: arquitectura, convenciones)category
: Identificador semánticoid
: Contenido - DEBE ser JSON estructurado o Markdown organizadocontent
Ejemplo JSON:
cortex save 'agent' 'mi-agente' '{"name":"mi-agente","role":"asistente","capabilities":["buscar","analizar"]}'
Ejemplo Markdown:
cortex save 'project' 'readme' '# Proyecto\n\n## Descripción\nTexto aquí...'
cortex read
cortex readLee conocimiento persistido.
cortex read "<category>" "<id>"
Ejemplo:
cortex read 'agent' 'mi-agente'
cortex update
cortex updateActualiza conocimiento existente.
cortex update "<category>" "<id>" "<content>"
Ejemplo:
cortex update 'agent' 'mi-agente' 'nuevo contenido'
cortex delete
cortex deleteElimina conocimiento.
cortex delete "<category>" "<id>"
Ejemplo:
cortex delete 'agent' 'mi-agente'
cortex list
cortex listLista conocimiento, opcionalmente filtrado por categoría.
cortex list [category]
Ejemplos:
cortex list # Lista todas las categorías cortex list 'agent' # Lista entradas en categoría 'agent'
cortex search
cortex searchBusca conocimiento por query.
cortex search "<query>"
Ejemplo:
cortex search 'mi búsqueda'
cortex save-state
cortex save-stateGuarda el estado de la sesión. SIEMPRE usar formato estructurado para facilitar handoff.
cortex save-state "<summary>"
Formato recomendado JSON:
cortex save-state '{"task":"Implementar auth","status":"in_progress","progress":{"completed":["login"],"pending":["logout"]},"next_steps":["agregar tests"]}'
Alternativa compacta:
cortex save-state 'TASK: Auth OAuth2 | STATUS: in_progress | DONE: login | PENDING: logout | NEXT: tests'
cortex load-state
cortex load-stateCarga el estado más reciente de la sesión.
cortex load-state
⚡ FLUJO DE TRABAJO OBLIGATORIO
┌─────────────────────────────────────────────────────────┐ │ INICIO DE SESIÓN │ │ 1. cortex load-state → Recuperar contexto anterior │ │ 2. cortex list → Ver conocimiento disponible │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ CUANDO EL USUARIO PREGUNTE ALGO │ │ 1. cortex search "..." → BUSCAR PRIMERO en memoria │ │ 2. cortex read "..." "..." → Leer detalles si existe │ │ 3. Luego buscar en código si es necesario │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ CUANDO DESCUBRAS/DEFINAS ALGO IMPORTANTE │ │ → cortex save "categoria" "id" "{...JSON...}" │ │ │ │ Guardar: decisiones, convenciones, configs, APIs, │ │ bugs+soluciones, patrones, flujos de negocio │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ FIN DE SESIÓN / TAREA COMPLETADA │ │ → cortex save-state "{...estado estructurado...}" │ └─────────────────────────────────────────────────────────┘
🔍 Ejemplo Completo: Usuario pregunta algo
Usuario: "¿Cómo manejamos los errores en la API?"
# PASO 1: Buscar primero en CortexFS cortex search "errores API manejo error handling" # PASO 2: Si encuentra resultados, leer el contenido cortex read "convenciones" "error-handling" # PASO 3: Responder usando ese conocimiento + código si necesario
💾 Ejemplo Completo: Guardar conocimiento importante
Después de definir cómo manejar errores:
cortex save "convenciones" "error-handling" '{ "topic": "Manejo de errores en API", "rules": [ "Usar AppError para errores controlados", "Logging con nivel según severidad", "Respuestas estandarizadas con code y message" ], "example": "throw new AppError(400, \"VALIDATION_ERROR\", \"Campo requerido\")", "decided_on": "2024-01-15", "reason": "Consistencia en respuestas de error" }'
⚠️ Recordatorios Críticos
- BUSCAR ANTES DE RESPONDER - CortexFS tiene conocimiento curado
- GUARDAR PROACTIVAMENTE - Si es importante, persistirlo
- ESTRUCTURAR EN JSON - Facilita búsqueda y lectura futura
- Los comandos
son ejecutables BASH del sistemacortex - Requieren permisos de escritura fuera del workspace (usar "all")