Communitygithub.com

aprendizaje-continuo-v2

Sistema de aprendizaje basado en instintos que observa sesiones a través de hooks, crea instintos atómicos con puntuación de confianza y los convierte en habilidades, comandos o agentes. v2.1 añade instintos con ámbito de proyecto para evitar la contaminación entre proyectos.

¿Qué es aprendizaje-continuo-v2?

Este skill implementa un avanzado sistema de aprendizaje continuo para Claude Code que captura patrones de comportamiento durante las sesiones y los almacena como 'instintos' atómicos —pequeñas reglas aprendidas con una puntuación de confianza asociada (de 0.3 a 0.9)—. La versión 2.1 introduce instintos con ámbito de proyecto, lo que permite que patrones específicos de React o Python se queden en sus respectivos proyectos, mientras que los patrones universales (como 'siempre validar entrada') se comparten globalmente. El sistema utiliza hooks PreToolUse/PostToolUse que se ejecutan con un 100% de fiabilidad para capturar cada llamada a herramienta, detecta automáticamente el contexto del proyecto mediante git remote y rutas de repositorio, y puede promover instintos de ámbito de proyecto a global cuando aparecen en dos o más proyectos con alta confianza. Es compatible con Claude Code, Cursor y otros asistentes basados en CLI, funciona en WSL2, Linux y macOS, y mantiene todas las observaciones de forma local sin compartir código ni contenido de conversación.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/continuous-learning-v2

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Aprendizaje Continuo v2.1 - Arquitectura Basada en Instintos

Un sistema de aprendizaje avanzado que convierte tus sesiones de Claude Code en conocimiento reutilizable a través de 'instintos' atómicos: pequeños comportamientos aprendidos con puntuación de confianza.

v2.1 añade instintos con ámbito de proyecto — los patrones de React se quedan en tu proyecto React, las convenciones de Python se quedan en tu proyecto Python, y los patrones universales (como 'siempre validar entrada') se comparten globalmente.

Cuándo Activar

  • Configurar aprendizaje automático desde sesiones de Claude Code
  • Configurar extracción de comportamientos basados en instintos a través de hooks
  • Ajustar umbrales de confianza para comportamientos aprendidos
  • Revisar, exportar o importar bibliotecas de instintos
  • Evolucionar instintos en habilidades, comandos o agentes completos
  • Gestionar instintos de ámbito de proyecto vs globales
  • Promover instintos de ámbito de proyecto a global

Novedades en v2.1

Característicav2.0v2.1
AlmacenamientoGlobal (~/.claude/homunculus/)Ámbito de proyecto (${XDG_DATA_HOME:-~/.local/share}/ecc-homunculus/projects/<hash>/)
ÁmbitoTodos los instintos aplican en todas partesÁmbito de proyecto + global
DetecciónNingunaURL remota git / ruta de repositorio
PromociónN/AProyecto → global cuando se ve en 2+ proyectos
Comandos4 (status/evolve/export/import)6 (+promote/projects)
Proyectos cruzadosRiesgo de contaminaciónAislado por defecto

Novedades en v2 (vs v1)

Característicav1v2
ObservaciónHook de parada (fin de sesión)PreToolUse/PostToolUse (100% fiable)
AnálisisContexto principalAgente en segundo plano (Haiku)
GranularidadHabilidades completasInstintos atómicos
ConfianzaNinguna0.3-0.9 ponderado
EvoluciónDirecto a habilidadInstintos -> clúster -> habilidad/comando/agente
ComparticiónNingunaExportar/importar instintos

El Modelo de Instinto

Un instinto es un pequeño comportamiento aprendido:

---
id: preferir-estilo-funcional
disparador: "al escribir nuevas funciones"
confianza: 0.7
dominio: "estilo-codigo"
fuente: "observacion-sesion"
alcance: proyecto
id_proyecto: "a1b2c3d4e5f6"
nombre_proyecto: "mi-app-react"
---

# Preferir Estilo Funcional

## Acción
Usar patrones funcionales en lugar de clases cuando sea apropiado.

## Evidencia
- Observadas 5 instancias de preferencia por patrón funcional
- El usuario corrigió un enfoque basado en clases a funcional el 2025-01-15

Propiedades:

  • Atómico — un disparador, una acción
  • Ponderado por confianza — 0.3 = tentativo, 0.9 = casi seguro
  • Etiquetado por dominio — estilo-codigo, testing, git, depuracion, flujo-trabajo, etc.
  • Respaldado por evidencia — rastrea qué observaciones lo crearon
  • Consciente del ámbito — proyecto (por defecto) o global

Cómo Funciona

Actividad de la Sesión (en un repositorio git)
      |
      | Los hooks capturan prompts + uso de herramientas (100% fiable)
      | + detectan contexto del proyecto (git remote / ruta del repo)
      v
+---------------------------------------------+
|  projects/<hash-proyecto>/observations.jsonl |
|   (prompts, llamadas a herramientas, resultados, proyecto) |
+---------------------------------------------+
      |
      | El agente observador lee (segundo plano, Haiku)
      v
+---------------------------------------------+
|          DETECCIÓN DE PATRONES               |
|   * Correcciones del usuario -> instinto     |
|   * Resoluciones de errores -> instinto      |
|   * Flujos de trabajo repetidos -> instinto  |
|   * Decisión de ámbito: ¿proyecto o global?  |
+---------------------------------------------+
      |
      | Crea/actualiza
      v
+---------------------------------------------+
|  projects/<hash-proyecto>/instincts/personal/ |
|   * preferir-estilo-funcional.yaml (0.7) [proyecto]   |
|   * usar-hooks-react.yaml (0.9) [proyecto]     |
+---------------------------------------------+
|  instincts/personal/  (GLOBAL)               |
|   * siempre-validar-entrada.yaml (0.85) [global]|
|   * grep-antes-de-editar.yaml (0.6) [global]     |
+---------------------------------------------+
      |
      | /evolve agrupa + /promote promociona
      v
+---------------------------------------------+
|  projects/<hash>/evolved/ (ámbito proyecto)   |
|  evolved/ (global)                           |
|   * commands/nueva-funcionalidad.md                  |
|   * skills/flujo-testing.md               |
|   * agents/especialista-refactorizacion.md            |
+---------------------------------------------+

Detección de Proyecto

El sistema detecta automáticamente tu proyecto actual:

  1. Variable de entorno CLAUDE_PROJECT_DIR (máxima prioridad) — se respeta como anulación explícita incluso si el directorio no es un repositorio git (se hashea por su ruta absoluta)
  2. git remote get-url origin — se hashea para crear un ID de proyecto portable (el mismo repositorio en diferentes máquinas obtiene el mismo ID)
  3. git rev-parse --show-toplevel — alternativa usando la ruta del repositorio (específica de la máquina)
  4. Alternativa global — si no se detecta ningún proyecto, los instintos van al ámbito global

Cada proyecto obtiene un ID hash de 12 caracteres (ej., a1b2c3d4e5f6). Un archivo de registro en ${XDG_DATA_HOME:-~/.local/share}/ecc-homunculus/projects.json asigna IDs a nombres legibles.

Directorio de Datos

Continuous-learning-v2 almacena los datos del observador fuera de ~/.claude para que la protección de rutas sensibles de Claude Code no bloquee las escrituras de instintos en segundo plano:

  1. CLV2_HOMUNCULUS_DIR cuando se establece a una ruta absoluta
  2. $XDG_DATA_HOME/ecc-homunculus
  3. $HOME/.local/share/ecc-homunculus

Los usuarios existentes con datos en ~/.claude/homunculus pueden migrar una vez:

bash skills/continuous-learning-v2/scripts/migrate-homunculus.sh

Inicio Rápido

1. Habilitar Hooks de Observación

Si se instaló como plugin (recomendado):

No se requiere ningún bloque adicional de settings.json hook. Claude Code v2.1+ carga automáticamente el plugin hooks/hooks.json, y observe.sh ya está registrado allí.

Si previamente copiaste observe.sh en ~/.claude/settings.json, elimina ese bloque duplicado de PreToolUse / PostToolUse. Duplicar el hook del plugin causa ejecución doble y errores de resolución de ${CLAUDE_PLUGIN_ROOT} porque esa variable solo está disponible dentro de las entradas hooks/hooks.json gestionadas por el plugin.

Si se instaló manualmente en ~/.claude/skills, añade esto a tu ~/.claude/settings.json:

{
  "hooks": {
    "PreToolUse": [{
      "matcher": "*",
      "hooks": [{
        "type": "command",
        "command": "~/.claude/skills/continuous-learning-v2/hooks/observe.sh"
      }]
    }],
    "PostToolUse": [{
      "matcher": "*",
      "hooks": [{
        "type": "command",
        "command": "~/.claude/skills/continuous-learning-v2/hooks/observe.sh"
      }]
    }]
  }
}

2. Inicializar la Estructura de Directorios

El sistema crea directorios automáticamente en el primer uso, pero también puedes crearlos manualmente:

# Directorios globales
mkdir -p "${XDG_DATA_HOME:-$HOME/.local/share}/ecc-homunculus"/{instincts/{personal,inherited},evolved/{agents,skills,commands},projects}

# Los directorios de proyecto se crean automáticamente cuando el hook se ejecuta por primera vez en un repositorio git

3. Usar los Comandos de Instinto

/instinct-status     # Mostrar instintos aprendidos (proyecto + global)
/evolve              # Agrupar instintos relacionados en habilidades/comandos
/instinct-export     # Exportar instintos a un archivo
/instinct-import     # Importar instintos de otros
/promote             # Promover instintos de proyecto a ámbito global
/projects            # Listar todos los proyectos conocidos y sus conteos de instintos

Comandos

ComandoDescripción
/instinct-statusMostrar todos los instintos (ámbito proyecto + global) con confianza
/evolveAgrupar instintos relacionados en habilidades/comandos, sugerir promociones
/instinct-exportExportar instintos (filtrable por ámbito/dominio)
/instinct-import <archivo>Importar instintos con control de ámbito
/promote [id]Promover instintos de proyecto a ámbito global
/projectsListar todos los proyectos conocidos y sus conteos de instintos

Configuración

Edita config.json para controlar el observador en segundo plano:

{
  "version": "2.1",
  "observer": {
    "enabled": false,
    "run_interval_minutes": 5,
    "min_observations_to_analyze": 20
  }
}
ClaveValor por defectoDescripción
observer.enabledfalseHabilitar el agente observador en segundo plano
observer.run_interval_minutes5Cada cuánto el observador analiza las observaciones
observer.min_observations_to_analyze20Mínimo de observaciones antes de ejecutar el análisis

Otros comportamientos (captura de observaciones, umbrales de instinto, ámbito de proyecto, criterios de promoción) se configuran mediante valores predeterminados en el código de instinct-cli.py y observe.sh.

Soporte de plataforma para el observador

El observador en segundo plano requiere WSL2, Linux o macOS. En Windows nativo (Git Bash / MSYS2) se inicia e informa éxito, pero el proceso se elimina cuando el hook que lo creó sale y su Objeto de Trabajo se cierra, por lo que nunca se ejecuta ningún análisis — establecer observer.enabled: true allí es efectivamente una operación nula (ver issue #2489).

observe.sh detecta esto en la siguiente invocación del hook y escribe una advertencia explicativa en observer-start.log una vez que el observador ha fallado al sobrevivir varias veces seguidas.

Variable de entornoValor por defectoDescripción
ECC_OBSERVER_NOSURVIVE_WARN_AFTER3Fallos consecutivos sin sobrevivir antes de registrar la advertencia

Estructura de Archivos

${XDG_DATA_HOME:-~/.local/share}/ecc-homunculus/
+-- identity.json           # Tu perfil, nivel técnico
+-- projects.json           # Registro: hash de proyecto -> nombre/ruta/remoto
+-- observations.jsonl      # Observaciones globales (alternativa)
+-- instincts/
|   +-- personal/           # Instintos globales auto-aprendidos
|   +-- inherited/          # Instintos globales importados
+-- evolved/
|   +-- agents/             # Agentes globales generados
|   +-- skills/             # Habilidades globales generadas
|   +-- commands/           # Comandos globales generados
+-- projects/
    +-- a1b2c3d4e5f6/       # Hash de proyecto (de URL remota git)
    |   +-- project.json    # Espejo de metadatos por proyecto (id/nombre/raíz/remoto)
    |   +-- observations.jsonl
    |   +-- observations.archive/
    |   +-- instincts/
    |   |   +-- personal/   # Auto-aprendidos específicos del proyecto
    |   |   +-- inherited/  # Importados específicos del proyecto
    |   +-- evolved/
    |       +-- skills/
    |       +-- commands/
    |       +-- agents/
    +-- f6e5d4c3b2a1/       # Otro proyecto
        +-- ...

Guía de Decisión de Ámbito

Tipo de PatrónÁmbitoEjemplos
Convenciones de lenguaje/frameworkproyecto"Usar hooks React", "Seguir patrones Django REST"
Preferencias de estructura de archivosproyecto"Pruebas en __tests__/", "Componentes en src/components/"
Estilo de códigoproyecto"Usar estilo funcional", "Preferir dataclasses"
Estrategias de manejo de erroresproyecto"Usar tipo Result para errores"
Prácticas de seguridadglobal"Validar entrada de usuario", "Sanitizar SQL"
Mejores prácticas generalesglobal"Escribir pruebas primero", "Siempre manejar errores"
Preferencias de flujo de trabajo de herramientasglobal"Grep antes de Editar", "Leer antes de Escribir"
Prácticas de Gitglobal"Commits convencionales", "Commits pequeños y enfocados"

Promoción de Instintos (Proyecto -> Global)

Cuando el mismo instinto aparece en múltiples proyectos con alta confianza, es candidato para promoción a ámbito global.

Criterios de autopromoción:

  • Mismo ID de instinto en 2+ proyectos
  • Confianza promedio >= 0.8

Cómo promover:

# Promover un instinto específico
python3 instinct-cli.py promote preferir-errores-explicitos

# Autopromover todos los instintos que califiquen
python3 instinct-cli.py promote

# Vista previa sin cambios
python3 instinct-cli.py promote --dry-run

El comando /evolve también sugiere candidatos a promoción.

Puntuación de Confianza

La confianza evoluciona con el tiempo:

PuntuaciónSignificadoComportamiento
0.3TentativoSugerido pero no aplicado
0.5ModeradoAplicado cuando es relevante
0.7FuerteAutoaprobado para aplicación
0.9Casi seguroComportamiento central

La confianza aumenta cuando:

  • El patrón se observa repetidamente
  • El usuario no corrige el comportamiento sugerido
  • Instintos similares de otras fuentes coinciden

La confianza disminuye cuando:

  • El usuario corrige explícitamente el comportamiento
  • El patrón no se observa durante períodos prolongados
  • Aparece evidencia contradictoria

Por Qué Hooks vs Habilidades para la Observación

"v1 dependía de habilidades para observar. Las habilidades son probabilísticas: se activan ~50-80% de las veces según el juicio de Claude."

Los hooks se activan el 100% de las veces, de forma determinista. Esto significa:

  • Cada llamada a herramienta es observada
  • No se pierden patrones
  • El aprendizaje es completo

Compatibilidad Hacia Atrás

v2.1 es totalmente compatible con v2.0 y v1:

  • Los instintos globales existentes se pueden migrar desde ~/.claude/homunculus/instincts/ con scripts/migrate-homunculus.sh
  • Las habilidades existentes de v1 en ~/.claude/skills/learned/ todavía funcionan
  • El hook de parada sigue ejecutándose (pero ahora también alimenta a v2)
  • Migración gradual: ejecuta ambos en paralelo

Privacidad

  • Las observaciones permanecen locales en tu máquina
  • Los instintos con ámbito de proyecto están aislados por proyecto
  • Solo se pueden exportar instintos (patrones), no observaciones en bruto
  • No se comparte ningún código o contenido de conversación real
  • Tú controlas qué se exporta y promociona

Relacionados

  • Aplicación GitHub ECC-Tools - Generar instintos desde el historial del repositorio
  • Homunculus - Proyecto comunitario que inspiró la arquitectura basada en instintos de v2 (observaciones atómicas, puntuación de confianza, pipeline de evolución de instintos)
  • La Guía Extensa - Sección de aprendizaje continuo

Aprendizaje basado en instintos: enseñando a Claude tus patrones, un proyecto a la vez.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

Skills relacionados