learn

star 45

Extract reusable patterns from recent work into instincts. Run after completing features, fixing bugs, or at session end to capture what the project learned.

All-The-Vibes By All-The-Vibes schedule Updated 4/7/2026

name: learn description: Extract reusable patterns from recent work into instincts. Run after completing features, fixing bugs, or at session end to capture what the project learned.

/learn — Extract Patterns into Instincts

Analyze recent work (observations, git history, solutions) and extract reusable "instincts" — small learned behaviors with confidence scoring.

When to Use

  • After completing a feature or fixing a bug
  • At the end of a coding session
  • When you want to capture a pattern you noticed
  • Periodically to keep the project's knowledge current

Execution Flow

Step 1: Gather Evidence

Run these in parallel to collect data:

  1. Git historygit log --oneline -20 for recent commits
  2. Recent diffsgit diff HEAD~5..HEAD --stat for what changed
  3. Observations — Read .atv/observations.jsonl for tool use patterns from hooks
  4. Existing instincts — Read .atv/instincts/project.yaml (create if missing)
  5. Solutions — Read docs/solutions/ for documented patterns

Step 2: Analyze Patterns

Look for recurring patterns across the evidence:

Code style patterns:

  • Error handling conventions (wrapping, custom types, sentinel errors)
  • Naming conventions (variable, function, file naming)
  • Import organization preferences
  • Comment style and documentation patterns

Workflow patterns:

  • Test-first vs test-after behavior
  • Commit granularity preferences
  • Branch naming conventions
  • Review practices

Architecture patterns:

  • Package/module organization
  • Dependency injection style
  • Interface usage patterns
  • Configuration management approach

Tool usage patterns (from observations.jsonl):

  • Frequently used shell commands
  • Common file editing sequences
  • Preferred build/test commands

Step 3: Create or Update Instincts

For each new pattern discovered, create an instinct entry. For patterns that match existing instincts, increase confidence and observation count.

Instinct format (YAML in .atv/instincts/project.yaml):

instincts:
  - id: kebab-case-unique-id
    trigger: "when [specific situation]"
    behavior: "do [specific action]"
    confidence: 0.5
    domain: code-style|testing|architecture|error-handling|workflow|tooling
    observations: 1
    first_seen: YYYY-MM-DD
    last_seen: YYYY-MM-DD
    evidence:
      - "commit abc123: wrapped all errors with fmt.Errorf"
      - "observed 3 times in observations.jsonl"

Confidence rules:

  • New instinct starts at 0.5
  • Each additional observation: +0.1 (capped at 0.95)
  • Contradictory evidence: -0.15
  • No observations for 30 days: -0.1
  • Minimum: 0.1 (below this, remove the instinct)

Important constraints:

  • Maximum 50 active instincts per project
  • Each instinct must be atomic — one trigger, one behavior
  • Triggers must be specific (not "when writing code")
  • Behaviors must be actionable (not "write good code")
  • Evidence must cite specific commits or observations

Step 4: Write Results

  1. Write updated .atv/instincts/project.yaml
  2. Ensure .atv/instincts/ directory exists

Step 5: Report

Show a summary:

Learning complete!

New instincts:
  + always-wrap-errors (0.5) — wrap errors with fmt.Errorf using %w
  + table-driven-tests (0.5) — use table-driven test pattern for Go tests

Updated instincts:
  ↑ prefer-early-returns (0.6 → 0.7) — 1 new observation
  ↑ run-tests-before-commit (0.7 → 0.8) — 2 new observations

Ready to evolve (confidence > 0.8):
  ★ run-tests-before-commit — consider /evolve to generate a skill

Total: X instincts (Y new, Z updated)
Instinct file: .atv/instincts/project.yaml

Notes

  • Instincts are project-scoped and committed to the repo — the whole team benefits
  • Run /instincts to see all learned patterns
  • Run /evolve when instincts reach high confidence to generate full skills
  • The observer hooks in .github/hooks/copilot-hooks.json automatically capture tool use data
Install via CLI
npx skills add https://github.com/All-The-Vibes/ATV-StarterKit --skill learn
Repository Details
star Stars 45
call_split Forks 12
navigation Branch main
article Path SKILL.md
More from Creator
All-The-Vibes
All-The-Vibes Explore all skills →