New to Claude Skills? Learn how to install them →

affaan-m on GitHub

Continuous Learning V2

Free

Transform session observations into reusable knowledge.

by affaan-m239.3k stars on affaan-m/ecc
2 views
Updated Aug 10, 2026
Get this skill

Free · Opens the source repo

What Continuous Learning V2 does

Continuous Learning V2 is an instinct-based learning system designed to enhance your coding sessions with Claude Code by transforming session observations into atomic 'instincts'—small learned behaviors that can be reused across projects. This version introduces project-scoped instincts, ensuring that specific patterns, such as React templates, remain within their respective projects while allowing for universal instincts, like 'always validate input', to be shared globally. This separation helps maintain clarity and relevance in your coding practices.

The system operates by observing your interactions through hooks that capture prompts and tool usage with 100% reliability. It detects the project context using the git remote URL or repository path, allowing it to create a unique project ID. Observations are stored in a structured format, enabling the system to analyze and generate instincts based on your coding behavior. This analysis is conducted by a background agent, which clusters behaviors into instinct libraries that can be exported or imported as needed.

Version 2.1 builds on its predecessor by adding features that prevent cross-project contamination, ensuring that instincts are appropriately scoped to their respective projects. This version also enhances the command set, allowing for more robust management of instincts, including promoting project-specific instincts to a global level once they are recognized across multiple projects. With these improvements, developers can fine-tune their learning thresholds and behaviors to align with their coding style and project requirements.

Overall, Continuous Learning V2 is ideal for developers looking to automate and refine their coding practices through a structured learning approach. By leveraging the power of instinct-based learning, you can create a more efficient and context-aware coding environment that adapts to your unique workflow.

When to use it

Use this skill when you want to set up automated learning from your coding sessions with Claude Code, especially when working on multiple projects.

When not to use it

This skill may not be suitable for users who prefer a completely manual approach to coding or those not using Claude Code.

What you can build with it

Automating Learning from Sessions

Set up the skill to automatically learn from your coding sessions, capturing useful behaviors without manual input.

Managing Instinct Libraries

Utilize the skill to manage instinct libraries, importing and exporting learned behaviors as needed for different projects.

Promoting Instincts Globally

After recognizing useful instincts across multiple projects, promote them to a global level for broader application.

How to install Continuous Learning V2

View source

1. Install with the skills CLI

npx skills add affaan-m/ecc/continuous-learning-v2 --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by affaan-m

Sürekli Öğrenme v2.1 - Instinct Tabanlı Mimari

Claude Code oturumlarınızı güven skorlaması ile atomik "instinct'ler" - küçük öğrenilmiş davranışlar - aracılığıyla yeniden kullanılabilir bilgiye dönüştüren gelişmiş bir öğrenme sistemi.

v2.1 proje kapsamlı instinct'ler ekler — React kalıpları React projenizde kalır, Python kuralları Python projenizde kalır ve evrensel kalıplar (örneğin "her zaman input'u doğrula") global olarak paylaşılır.

Ne Zaman Aktifleştirmelisiniz

  • Claude Code oturumlarından otomatik öğrenme ayarlarken
  • Hook'lar aracılığıyla instinct tabanlı davranış çıkarmayı yapılandırırken
  • Öğrenilmiş davranışlar için güven eşiklerini ayarlarken
  • Instinct kütüphanelerini incelerken, dışa veya içe aktarırken
  • Instinct'leri tam skill'lere, command'lara veya agent'lara evriltirken
  • Proje kapsamlı vs global instinct'leri yönetirken
  • Instinct'leri projeden global kapsamına yükseltirken

v2.1'deki Yenilikler

Özellikv2.0v2.1
DepolamaGlobal (~/.claude/homunculus/)Proje kapsamlı (projects/<hash>/)
KapsamTüm instinct'ler her yerde geçerliProje kapsamlı + global
TespitYokgit remote URL / repo path
YükseltmeYokProje → 2+ projede görülünce global
Komutlar4 (status/evolve/export/import)6 (+promote/projects)
Çapraz projeKontaminasyon riskiVarsayılan olarak izole

v2'deki Yenilikler (vs v1)

Özellikv1v2
GözlemStop hook (oturum sonu)PreToolUse/PostToolUse (%100 güvenilir)
AnalizAna bağlamArka plan agent'ı (Haiku)
GranülerlikTam skill'lerAtomik "instinct'ler"
GüvenYok0.3-0.9 ağırlıklı
EvrimDoğrudan skill'eInstinct'ler -> kümeleme -> skill/command/agent
PaylaşımYokInstinct'leri dışa/içe aktar

Instinct Modeli

Instinct küçük öğrenilmiş bir davranıştır:

---
id: prefer-functional-style
trigger: "yeni fonksiyonlar yazarken"
confidence: 0.7
domain: "code-style"
source: "session-observation"
scope: project
project_id: "a1b2c3d4e5f6"
project_name: "my-react-app"
---

# Fonksiyonel Stili Tercih Et

## Aksiyon
Uygun olduğunda sınıflar yerine fonksiyonel kalıpları kullan.

## Kanıt
- 5 fonksiyonel kalıp tercihinin gözlemlenmesi
- Kullanıcı 2025-01-15'te sınıf tabanlı yaklaşımı fonksiyonele düzeltti

Özellikler:

  • Atomik -- bir tetikleyici, bir aksiyon
  • Güven ağırlıklı -- 0.3 = geçici, 0.9 = neredeyse kesin
  • Alan etiketli -- code-style, testing, git, debugging, workflow, vb.
  • Kanıt destekli -- hangi gözlemlerin oluşturduğunu takip eder
  • Kapsam farkında -- project (varsayılan) veya global

Nasıl Çalışır

Oturum Aktivitesi (bir git repo'sunda)
      |
      | Hook'lar prompt'ları + tool kullanımını yakalar (%100 güvenilir)
      | + proje bağlamını tespit eder (git remote / repo path)
      v
+---------------------------------------------+
|  projects/<project-hash>/observations.jsonl  |
|   (prompt'lar, tool çağrıları, sonuçlar, proje)   |
+---------------------------------------------+
      |
      | Gözlemci agent okur (arka plan, Haiku)
      v
+---------------------------------------------+
|          KALIP TESPİTİ                      |
|   * Kullanıcı düzeltmeleri -> instinct      |
|   * Hata çözümleri -> instinct              |
|   * Tekrarlanan iş akışları -> instinct     |
|   * Kapsam kararı: project mi global mi?   |
+---------------------------------------------+
      |
      | Oluşturur/günceller
      v
+---------------------------------------------+
|  projects/<project-hash>/instincts/personal/ |
|   * prefer-functional.yaml (0.7) [project]   |
|   * use-react-hooks.yaml (0.9) [project]     |
+---------------------------------------------+
|  instincts/personal/  (GLOBAL)               |
|   * always-validate-input.yaml (0.85) [global]|
|   * grep-before-edit.yaml (0.6) [global]     |
+---------------------------------------------+
      |
      | /evolve kümeleme + /promote
      v
+---------------------------------------------+
|  projects/<hash>/evolved/ (proje kapsamlı)   |
|  evolved/ (global)                           |
|   * commands/new-feature.md                  |
|   * skills/testing-workflow.md               |
|   * agents/refactor-specialist.md            |
+---------------------------------------------+

Proje Tespiti

Sistem mevcut projenizi otomatik olarak tespit eder:

  1. CLAUDE_PROJECT_DIR env var (en yüksek öncelik)
  2. git remote get-url origin -- taşınabilir proje ID'si oluşturmak için hash'lenir (farklı makinelerde aynı repo aynı ID'yi alır)
  3. git rev-parse --show-toplevel -- repo path kullanan yedek (makineye özgü)
  4. Global yedek -- proje tespit edilemezse, instinct'ler global kapsamına gider

Her proje 12 karakterlik bir hash ID alır (örn. a1b2c3d4e5f6). ~/.claude/homunculus/projects.json dosyasındaki kayıt dosyası ID'leri insanların okuyabileceği isimlerle eşler.

Hızlı Başlangıç

1. Gözlem Hook'larını Aktifleştirin

~/.claude/settings.json dosyanıza ekleyin.

Plugin olarak kuruluysa (önerilen):

~/.claude/settings.json içine ek hook bloğu eklemeyin. Claude Code v2.1+ eklentinin hooks/hooks.json dosyasını otomatik yükler; observe.sh zaten orada kayıtlıdır.

Daha önce observe.sh satırlarını ~/.claude/settings.json içine kopyaladıysanız, yinelenen PreToolUse / PostToolUse bloğunu kaldırın. Yinelenen kayıt hem çift çalıştırmaya yol açar hem de ${CLAUDE_PLUGIN_ROOT} çözümleme hatası üretir; bu değişken yalnızca eklentiye ait hooks/hooks.json girdilerinde genişletilir.

~/.claude/skills dizinine manuel kuruluysa, aşağıdakini ~/.claude/settings.json içine ekleyin:

{
  "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. Dizin Yapısını Başlatın

Sistem ilk kullanımda dizinleri otomatik oluşturur, ancak manuel olarak da oluşturabilirsiniz:

# Global dizinler
mkdir -p ~/.claude/homunculus/{instincts/{personal,inherited},evolved/{agents,skills,commands},projects}

# Proje dizinleri hook bir git repo'sunda ilk çalıştığında otomatik oluşturulur

3. Instinct Komutlarını Kullanın

/instinct-status     # Öğrenilmiş instinct'leri göster (proje + global)
/evolve              # İlgili instinct'leri skill/command'lara kümele
/instinct-export     # Instinct'leri dosyaya aktar
/instinct-import     # Başkalarından instinct'leri içe aktar
/promote             # Proje instinct'lerini global kapsamına yükselt
/projects            # Tüm bilinen projeleri ve instinct sayılarını listele

Komutlar

KomutAçıklama
/instinct-statusTüm instinct'leri göster (proje kapsamlı + global) güvenle
/evolveİlgili instinct'leri skill/command'lara kümele, yükseltme öner
/instinct-exportInstinct'leri dışa aktar (kapsam/alana göre filtrelenebilir)
/instinct-import <file>Kapsam kontrolü ile instinct'leri içe aktar
/promote [id]Proje instinct'lerini global kapsamına yükselt
/projectsTüm bilinen projeleri ve instinct sayılarını listele

Konfigürasyon

Arka plan gözlemcisini kontrol etmek için config.json dosyasını düzenleyin:

{
  "version": "2.1",
  "observer": {
    "enabled": false,
    "run_interval_minutes": 5,
    "min_observations_to_analyze": 20
  }
}
AnahtarVarsayılanAçıklama
observer.enabledfalseArka plan gözlemci agent'ını aktifleştir
observer.run_interval_minutes5Gözlemcinin gözlemleri ne sıklıkla analiz ettiği
observer.min_observations_to_analyze20Analiz çalışmadan önce minimum gözlem

Diğer davranışlar (gözlem yakalama, instinct eşikleri, proje kapsamı, yükseltme kriterleri) instinct-cli.py ve observe.sh içindeki kod varsayılanları aracılığıyla yapılandırılır.

Dosya Yapısı

~/.claude/homunculus/
+-- identity.json           # Profiliniz, teknik seviye
+-- projects.json           # Kayıt: proje hash -> isim/path/remote
+-- observations.jsonl      # Global gözlemler (yedek)
+-- instincts/
|   +-- personal/           # Global otomatik öğrenilmiş instinct'ler
|   +-- inherited/          # Global içe aktarılan instinct'ler
+-- evolved/
|   +-- agents/             # Global oluşturulan agent'lar
|   +-- skills/             # Global oluşturulan skill'ler
|   +-- commands/           # Global oluşturulan komutlar
+-- projects/
    +-- a1b2c3d4e5f6/       # Proje hash (git remote URL'den)
    |   +-- project.json    # Proje başına metadata yansıması (id/name/root/remote)
    |   +-- observations.jsonl
    |   +-- observations.archive/
    |   +-- instincts/
    |   |   +-- personal/   # Projeye özgü otomatik öğrenilmiş
    |   |   +-- inherited/  # Projeye özgü içe aktarılan
    |   +-- evolved/
    |       +-- skills/
    |       +-- commands/
    |       +-- agents/
    +-- f6e5d4c3b2a1/       # Başka bir proje
        +-- ...

Kapsam Karar Kılavuzu

Kalıp TipiKapsamÖrnekler
Dil/framework kurallarıproject"React hook'ları kullan", "Django REST kalıplarını takip et"
Dosya yapısı tercihleriproject"Testler __tests__/ içinde", "Bileşenler src/components/ içinde"
Kod stiliproject"Fonksiyonel stil kullan", "Dataclass'ları tercih et"
Hata işleme stratejileriproject"Hatalar için Result tipi kullan"
Güvenlik uygulamalarıglobal"Kullanıcı input'unu doğrula", "SQL'i sanitize et"
Genel en iyi uygulamalarglobal"Önce testleri yaz", "Her zaman hataları işle"
Tool iş akışı tercihleriglobal"Edit'ten önce Grep", "Write'tan önce Read"
Git uygulamalarıglobal"Conventional commit'ler", "Küçük odaklı commit'ler"

Instinct Yükseltme (Project -> Global)

Aynı instinct birden fazla projede yüksek güvenle göründüğünde, global kapsamına yükseltme adayıdır.

Otomatik yükseltme kriterleri:

  • 2+ projede aynı instinct ID
  • Ortalama güven >= 0.8

Nasıl yükseltilir:

# Belirli bir instinct'i yükselt
python3 instinct-cli.py promote prefer-explicit-errors

# Tüm uygun instinct'leri otomatik yükselt
python3 instinct-cli.py promote

# Değişiklik yapmadan önizle
python3 instinct-cli.py promote --dry-run

/evolve komutu ayrıca yükseltme adaylarını önerir.

Güven Skorlaması

Güven zamanla evrimleşir:

SkorAnlamıDavranış
0.3GeçiciÖnerilir ama zorunlu değil
0.5Ortaİlgili olduğunda uygulanır
0.7GüçlüUygulama için otomatik onaylanır
0.9Neredeyse kesinTemel davranış

Güven artar şu durumlarda:

  • Kalıp tekrar tekrar gözlemlenir
  • Kullanıcı önerilen davranışı düzeltmez
  • Diğer kaynaklardan benzer instinct'ler hemfikirdir

Güven azalır şu durumlarda:

  • Kullanıcı davranışı açıkça düzeltir
  • Kalıp uzun süre gözlemlenmez
  • Çelişkili kanıt ortaya çıkar

Neden Gözlem için Skill'ler Yerine Hook'lar?

"v1 gözlem için skill'lere güveniyordu. Skill'ler olasılıksaldır -- Claude'un yargısına göre zamanın ~%50-80'inde tetiklenirler."

Hook'lar %100 deterministik olarak tetiklenir. Bu şu anlama gelir:

  • Her tool çağrısı gözlemlenir
  • Hiçbir kalıp kaçırılmaz
  • Öğrenme kapsamlıdır

Geriye Dönük Uyumluluk

v2.1, v2.0 ve v1 ile tamamen uyumludur:

  • ~/.claude/homunculus/instincts/ içindeki mevcut global instinct'ler hala global instinct olarak çalışır
  • v1'den ~/.claude/skills/learned/ skill'leri hala çalışır
  • Stop hook hala çalışır (ama şimdi v2'ye de beslenir)
  • Kademeli geçiş: her ikisini de paralel çalıştırın

Gizlilik

  • Gözlemler makinenizde yerel kalır
  • Proje kapsamlı instinct'ler proje başına izoledir
  • Sadece instinct'ler (kalıplar) dışa aktarılabilir — ham gözlemler değil
  • Gerçek kod veya konuşma içeriği paylaşılmaz
  • Neyin dışa aktarılacağını ve yükseltileceğini siz kontrol edersiniz

İlgili

  • ECC-Tools GitHub App - Repo geçmişinden instinct'ler oluştur
  • Homunculus - v2 instinct tabanlı mimariye ilham veren topluluk projesi (atomik gözlemler, güven skorlaması, instinct evrim hattı)
  • The Longform Guide - Sürekli öğrenme bölümü

Instinct tabanlı öğrenme: Claude'a kalıplarınızı öğretmek, her seferinde bir proje.

Frequently asked questions about Continuous Learning V2

Similar skills