self-improving-agent

SKILL.md

Self-Improving Agent

Captures learnings, errors, and corrections to enable continuous improvement across sessions.

Activation Triggers

This skill automatically activates when:

Trigger What Gets Logged Location
Command fails Error type, context, recovery suggestion logs/failures_detailed.jsonl
User corrects "No, that's wrong...", "Actually..." logs/corrections.jsonl
Missing capability "Can you X?" where X isn't available logs/missing_capabilities.jsonl
API/tool fails Failure pattern, suggested fix logs/failures_detailed.jsonl
Better approach found Optimization learned logs/learnings.jsonl

How It Works

1. Automatic Logging (via hooks)

PostToolUse → enhanced-failure-logger.js → logs failures with context
UserMessage → correction-detector.js → detects "wrong/actually/try again"
Response → capability-tracker.js → detects unfulfilled requests

2. Learning Aggregation

All learnings flow to logs/learnings.jsonl:

{
  "timestamp": "2026-01-26T12:00:00Z",
  "type": "user_correction|tool_failure|missing_capability",
  "category": "factual_error|command_failed|web_browsing",
  "description": "what was learned",
  "source": "which detector"
}

3. Session Start Review

On each session start, recent learnings are shown:

=== Learning Review ===
[Learnings] 47 total entries
[Recent]
  • [tool_failure] Bash failed: timeout - WebFetch to external API...
  • [user_correction] User corrected: "No, use the other file..."
[Corrections] 12 user corrections logged
[Capability Gaps] Top requested:
  • send emails (5x)
  • browse web (3x)

4. QAVR Integration

Successful learnings boost Q-values for related memories, improving future retrieval.

Manual Commands

Review Learnings

# Show all learnings
cat ~/.claude/logs/learnings.jsonl | tail -20

# Show corrections only
cat ~/.claude/logs/corrections.jsonl | jq -s 'group_by(.correction_type) | map({type: .[0].correction_type, count: length})'

# Show capability gaps report
node ~/.claude/scripts/hooks/capability-tracker.js --report

Test Detection

# Test correction detector
node ~/.claude/scripts/hooks/correction-detector.js

# Test failure logger
node ~/.claude/scripts/hooks/enhanced-failure-logger.js

# Test capability tracker
node ~/.claude/scripts/hooks/capability-tracker.js

Learning Categories

Correction Types

  • factual_error - Wrong information provided
  • retry_request - User asked to try again
  • misunderstanding - Misinterpreted the request
  • failed_solution - Solution didn't work

Failure Types

  • permission_error - Access denied
  • not_found - File/resource missing
  • timeout - Operation timed out
  • network_error - Connection issues
  • syntax_error - Invalid syntax
  • api_error - External API failed
  • command_failed - Shell command failed
  • agent_failed - Subagent failed

Capability Categories

  • web_browsing - Internet access requests
  • image_processing - Image/photo handling
  • communication - Email/messaging
  • database_access - SQL/database queries
  • external_api - Third-party services
  • memory_persistence - Long-term memory

Configuration

In settings.json, these hooks enable self-improvement:

{
  "hooks": {
    "SessionStart": [...],  // Reviews learnings
    "PostToolUse": [
      {"matcher": "Bash", "hooks": [{"command": "enhanced-failure-logger.js"}]},
      {"matcher": "Task", "hooks": [{"command": "enhanced-failure-logger.js"}]}
    ]
  }
}

Benefits

  1. Learn from mistakes - Don't repeat the same errors
  2. Understand user preferences - Track what corrections mean
  3. Identify skill gaps - Know what features to build
  4. Improve over time - QAVR ranking gets better with feedback
  5. Context persistence - Learnings survive session restarts

Integration with Other Skills

Skill Integration
QAVR Successful learnings boost memory Q-values
Memory Consolidation Periodic cleanup of old learnings
Confidence Check Review learnings before major tasks
IR-v2 Use learnings to inform pattern selection

Files

~/.claude/
├── logs/
│   ├── learnings.jsonl           # All learnings
│   ├── corrections.jsonl         # User corrections
│   ├── failures_detailed.jsonl   # Enhanced failure logs
│   ├── missing_capabilities.jsonl # Capability requests
│   └── capability_gaps.json      # Aggregated gaps
└── scripts/hooks/
    ├── correction-detector.js
    ├── enhanced-failure-logger.js
    ├── capability-tracker.js
    └── session-start.js (reviews learnings)
Weekly Installs
88
First Seen
Feb 9, 2026
Installed on
gemini-cli84
cursor83
github-copilot83
codex83
opencode83
amp82