Communitygithub.com

Continuous Learning v2.1 - Aprendizado por Instintos

Sistema de aprendizado baseado em instintos que observa sessões por meio de hooks, cria instintos atômicos com pontuação de confiança e os evolui para skills/commands/agents. v2.1 adiciona instintos com escopo de projeto para evitar contaminação entre projetos. Use ao capturar lições de uma sessão, gerenciar instintos ou promovê-los para skills, comandos ou agentes.

O que é Continuous Learning v2.1 - Aprendizado por Instintos?

O Continuous Learning v2.1 é um sistema de aprendizado contínuo para Claude Code que transforma automaticamente padrões observados nas suas sessões em 'instintos' — pequenos comportamentos atômicos com pontuação de confiança (0.3 a 0.9). Na v2.1, os instintos podem ser específicos de um projeto (isolados por repositório Git) ou globais (aplicados a todos os projetos), evitando contaminação cruzada entre contextos diferentes, como React e Python. O sistema usa hooks PreToolUse/PostToolUse para capturar prompts e chamadas de ferramentas com 100% de confiabilidade, um observador em background (Haiku) analisa os dados e cria/atualiza instintos com base em correções do usuário, resoluções de erros e workflows repetidos. Os instintos podem ser promovidos manualmente ou automaticamente para o escopo global quando aparecem com alta confiança em múltiplos projetos, e eventualmente agrupados em skills, comandos ou agentes completos. O sistema é suportado em WSL2, Linux e macOS, armazena dados fora de ~/.claude para evitar bloqueios de segurança, e oferece comandos como /instinct-status, /evolve, /promote e /projects para gerenciamento completo.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Continuous Learning v2.1 - Arquitetura Baseada em Instintos

Um sistema avançado de aprendizado que transforma suas sessões do Claude Code em conhecimento reutilizável por meio de "instintos" atômicos — pequenos comportamentos aprendidos com pontuação de confiança.

v2.1 adiciona instintos com escopo de projeto — padrões React permanecem no seu projeto React, convenções Python permanecem no seu projeto Python, e padrões universais (como "sempre validar entrada") são compartilhados globalmente.

Quando Ativar

  • Configurando aprendizado automático a partir de sessões do Claude Code
  • Configurando extração de comportamento baseada em instintos via hooks
  • Ajustando limites de confiança para comportamentos aprendidos
  • Revisando, exportando ou importando bibliotecas de instintos
  • Evoluindo instintos para skills, comandos ou agentes completos
  • Gerenciando instintos com escopo de projeto vs. globais
  • Promovendo instintos do escopo de projeto para o global

Novidades na v2.1

Característicav2.0v2.1
ArmazenamentoGlobal (~/.claude/homunculus/)Escopo de projeto (${XDG_DATA_HOME:-~/.local/share}/ecc-homunculus/projects/<hash>/)
EscopoTodos os instintos se aplicam em qualquer lugarEscopo de projeto + global
DetecçãoNenhumaURL do git remote / caminho do repositório
PromoçãoN/AProjeto → global quando visto em 2+ projetos
Comandos4 (status/evolve/export/import)6 (+promote/projects)
Contaminação cruzadaRisco de contaminaçãoIsolado por padrão

Novidades na v2 (vs v1)

Característicav1v2
ObservaçãoHook de parada (final da sessão)PreToolUse/PostToolUse (100% confiável)
AnáliseContexto principalAgente em background (Haiku)
GranularidadeSkills completasInstintos atômicos
ConfiançaNenhuma0.3-0.9 ponderado
EvoluçãoDireta para skillInstintos -> cluster -> skill/command/agent
CompartilhamentoNenhumExportar/importar instintos

O Modelo de Instinto

Um instinto é um pequeno comportamento aprendido:

---
id: preferir-estilo-funcional
gatilho: "ao escrever novas funções"
confianca: 0.7
dominio: "estilo-de-codigo"
fonte: "observacao-de-sessao"
escopo: projeto
project_id: "a1b2c3d4e5f6"
nome_projeto: "meu-app-react"
---

# Preferir Estilo Funcional

## Ação
Usar padrões funcionais em vez de classes quando apropriado.

## Evidências
- Observadas 5 instâncias de preferência por padrão funcional
- Usuário corrigiu abordagem baseada em classes para funcional em 2025-01-15

Propriedades:

  • Atômico — um gatilho, uma ação
  • Ponderado por confiança — 0.3 = tentativo, 0.9 = quase certo
  • Marcado por domínio — estilo-de-codigo, teste, git, depuracao, workflow, etc.
  • Baseado em evidências — rastreia quais observações o criaram
  • Ciente de escopo — projeto (padrão) ou global

Como Funciona

Atividade da Sessão (em um repositório git)
      |
      | Hooks capturam prompts + uso de ferramentas (100% confiável)
      | + detectam contexto do projeto (git remote / caminho do repo)
      v
+---------------------------------------------+
|  projects/<hash-do-projeto>/observations.jsonl |
|   (prompts, chamadas de ferramentas, resultados, projeto) |
+---------------------------------------------+
      |
      | Agente observador lê (background, Haiku)
      v
+---------------------------------------------+
|          DETECÇÃO DE PADRÕES                |
|   * Correções do usuário -> instinto        |
|   * Resoluções de erros -> instinto         |
|   * Workflows repetidos -> instinto         |
|   * Decisão de escopo: projeto ou global?   |
+---------------------------------------------+
      |
      | Cria/atualiza
      v
+---------------------------------------------+
|  projects/<hash-do-projeto>/instincts/personal/ |
|   * preferir-estilo-funcional.yaml (0.7) [projeto] |
|   * usar-react-hooks.yaml (0.9) [projeto]    |
+---------------------------------------------+
|  instincts/personal/  (GLOBAL)               |
|   * sempre-validar-entrada.yaml (0.85) [global] |
|   * grep-antes-de-editar.yaml (0.6) [global] |
+---------------------------------------------+
      |
      | /evolve clusters + /promote
      v
+---------------------------------------------+
|  projects/<hash>/evolved/ (escopo de projeto) |
|  evolved/ (global)                           |
|   * commands/nova-funcionalidade.md          |
|   * skills/workflow-de-teste.md              |
|   * agents/especialista-em-refatoracao.md    |
+---------------------------------------------+

Detecção de Projeto

O sistema detecta automaticamente seu projeto atual:

  1. Variável de ambiente CLAUDE_PROJECT_DIR (maior prioridade) — honrada como uma substituição explícita mesmo quando o diretório não é um repositório git (hash é gerado pelo caminho absoluto)
  2. git remote get-url origin — hash para criar um ID de projeto portátil (mesmo repositório em máquinas diferentes obtém o mesmo ID)
  3. git rev-parse --show-toplevel — fallback usando o caminho do repositório (específico da máquina)
  4. Fallback global — se nenhum projeto for detectado, os instintos vão para o escopo global

Cada projeto recebe um ID hash de 12 caracteres (ex.: a1b2c3d4e5f6). Um arquivo de registro em ${XDG_DATA_HOME:-~/.local/share}/ecc-homunculus/projects.json mapeia IDs para nomes legíveis por humanos.

Diretório de Dados

O Continuous-learning-v2 armazena dados do observador fora de ~/.claude para que a proteção de caminhos sensíveis do Claude Code não bloqueie as gravações de instintos em background:

  1. CLV2_HOMUNCULUS_DIR quando definido para um caminho absoluto
  2. $XDG_DATA_HOME/ecc-homunculus
  3. $HOME/.local/share/ecc-homunculus

Usuários existentes com dados em ~/.claude/homunculus podem migrar uma vez:

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

Início Rápido

1. Ativar Hooks de Observação

Se instalado como plugin (recomendado):

Nenhum bloco extra de hook em settings.json é necessário. Claude Code v2.1+ carrega automaticamente o plugin hooks/hooks.json, e observe.sh já está registrado lá.

Se você copiou observe.sh anteriormente para ~/.claude/settings.json, remova esse bloco PreToolUse / PostToolUse duplicado. Duplicar o hook do plugin causa execução dupla e erros de resolução de ${CLAUDE_PLUGIN_ROOT} porque essa variável só está disponível dentro de entradas hooks/hooks.json gerenciadas pelo plugin.

Se instalado manualmente em ~/.claude/skills, adicione isto ao seu ~/.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 Estrutura de Diretórios

O sistema cria diretórios automaticamente no primeiro uso, mas você também pode criá-los manualmente:

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

# Diretórios de projeto são criados automaticamente quando o hook é executado pela primeira vez em um repositório git

3. Usar os Comandos de Instinto

/instinct-status     # Mostrar instintos aprendidos (projeto + global)
/evolve              # Agrupar instintos relacionados em skills/commands
/instinct-export     # Exportar instintos para arquivo
/instinct-import     # Importar instintos de outros
/promote             # Promover instintos de projeto para escopo global
/projects            # Listar todos os projetos conhecidos e suas contagens de instintos

Comandos

ComandoDescrição
/instinct-statusMostrar todos os instintos (escopo de projeto + global) com confiança
/evolveAgrupar instintos relacionados em skills/commands, sugerir promoções
/instinct-exportExportar instintos (filtrável por escopo/domínio)
/instinct-import <arquivo>Importar instintos com controle de escopo
/promote [id]Promover instintos de projeto para escopo global
/projectsListar todos os projetos conhecidos e suas contagens de instintos

Configuração

Edite config.json para controlar o observador em background:

{
  "version": "2.1",
  "observer": {
    "enabled": false,
    "run_interval_minutes": 5,
    "min_observations_to_analyze": 20
  }
}
ChavePadrãoDescrição
observer.enabledfalseHabilitar o agente observador em background
observer.run_interval_minutes5Com que frequência o observador analisa as observações
observer.min_observations_to_analyze20Mínimo de observações antes da análise ser executada

Outros comportamentos (captura de observação, limites de instinto, escopo de projeto, critérios de promoção) são configurados via padrões de código em instinct-cli.py e observe.sh.

Suporte de plataforma para o observador

O observador em background requer WSL2, Linux ou macOS. No Windows nativo (Git Bash / MSYS2) ele inicia e relata sucesso, mas o processo é encerrado quando o hook que o criou sai e seu Job Object é fechado, portanto nenhuma análise é executada — definir observer.enabled: true lá é efetivamente um no-op (veja issue #2489).

observe.sh detecta isso na próxima invocação do hook e escreve um aviso explicativo em observer-start.log depois que o observador falha em sobreviver várias vezes consecutivas.

Variável de ambientePadrãoDescrição
ECC_OBSERVER_NOSURVIVE_WARN_AFTER3Falhas consecutivas de sobrevivência antes do aviso ser registrado

Estrutura de Arquivos

${XDG_DATA_HOME:-~/.local/share}/ecc-homunculus/
+-- identity.json           # Seu perfil, nível técnico
+-- projects.json           # Registro: hash do projeto -> nome/caminho/remote
+-- observations.jsonl      # Observações globais (fallback)
+-- instincts/
|   +-- personal/           # Instintos globais aprendidos automaticamente
|   +-- inherited/          # Instintos globais importados
+-- evolved/
|   +-- agents/             # Agentes globais gerados
|   +-- skills/             # Skills globais geradas
|   +-- commands/           # Comandos globais gerados
+-- projects/
    +-- a1b2c3d4e5f6/       # Hash do projeto (da URL do git remote)
    |   +-- project.json    # Espelho de metadados por projeto (id/nome/raiz/remote)
    |   +-- observations.jsonl
    |   +-- observations.archive/
    |   +-- instincts/
    |   |   +-- personal/   # Aprendido automaticamente específico do projeto
    |   |   +-- inherited/  # Importado específico do projeto
    |   +-- evolved/
    |       +-- skills/
    |       +-- commands/
    |       +-- agents/
    +-- f6e5d4c3b2a1/       # Outro projeto
        +-- ...

Guia de Decisão de Escopo

Tipo de PadrãoEscopoExemplos
Convenções de linguagem/frameworkprojeto"Usar React hooks", "Seguir padrões Django REST"
Preferências de estrutura de arquivosprojeto"Testes em __tests__/", "Componentes em src/components/"
Estilo de códigoprojeto"Usar estilo funcional", "Preferir dataclasses"
Estratégias de tratamento de errosprojeto"Usar tipo Result para erros"
Práticas de segurançaglobal"Validar entrada do usuário", "Sanitizar SQL"
Melhores práticas geraisglobal"Escrever testes primeiro", "Sempre tratar erros"
Preferências de workflow de ferramentasglobal"Grep antes de Editar", "Ler antes de Escrever"
Práticas Gitglobal"Commits convencionais", "Commits pequenos e focados"

Promoção de Instinto (Projeto -> Global)

Quando o mesmo instinto aparece em múltiplos projetos com alta confiança, ele é candidato à promoção para escopo global.

Critérios de autopromoção:

  • Mesmo ID de instinto em 2+ projetos
  • Confiança média >= 0.8

Como promover:

# Promover um instinto específico
python3 instinct-cli.py promote preferir-erros-explicitos

# Autopromover todos os instintos qualificados
python3 instinct-cli.py promote

# Visualizar sem alterações
python3 instinct-cli.py promote --dry-run

O comando /evolve também sugere candidatos à promoção.

Pontuação de Confiança

A confiança evolui ao longo do tempo:

PontuaçãoSignificadoComportamento
0.3TentativoSugerido, mas não aplicado
0.5ModeradoAplicado quando relevante
0.7ForteAprovado automaticamente para aplicação
0.9Quase certoComportamento central

A confiança aumenta quando:

  • O padrão é observado repetidamente
  • O usuário não corrige o comportamento sugerido
  • Instintos semelhantes de outras fontes concordam

A confiança diminui quando:

  • O usuário corrige explicitamente o comportamento
  • O padrão não é observado por longos períodos
  • Evidências contraditórias aparecem

Por que Hooks vs Skills para Observação?

"v1 dependia de skills para observar. Skills são probabilísticas — elas disparam ~50-80% das vezes com base no julgamento do Claude."

Hooks disparam 100% das vezes, deterministicamente. Isso significa:

  • Cada chamada de ferramenta é observada
  • Nenhum padrão é perdido
  • O aprendizado é abrangente

Compatibilidade Retroativa

v2.1 é totalmente compatível com v2.0 e v1:

  • Instintos globais existentes podem ser migrados de ~/.claude/homunculus/instincts/ com scripts/migrate-homunculus.sh
  • Skills ~/.claude/skills/learned/ existentes da v1 ainda funcionam
  • O hook de parada ainda é executado (mas agora também alimenta a v2)
  • Migração gradual: execute ambos em paralelo

Privacidade

  • As observações permanecem locais na sua máquina
  • Instintos com escopo de projeto são isolados por projeto
  • Apenas instintos (padrões) podem ser exportados — não observações brutas
  • Nenhum código real ou conteúdo de conversa é compartilhado
  • Você controla o que é exportado e promovido

Relacionados

  • ECC-Tools GitHub App - Gerar instintos a partir do histórico do repositório
  • Homunculus - Projeto da comunidade que inspirou a arquitetura baseada em instintos da v2 (observações atômicas, pontuação de confiança, pipeline de evolução de instintos)
  • The Longform Guide - Seção de aprendizado contínuo

Aprendizado baseado em instintos: ensinando seus padrões ao Claude, um projeto de cada 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.

Habilidades Relacionadas