🧪 Skills
Keenlycat Self Improving Agent
Continuously captures and applies learnings from errors, user corrections, successful tasks, and periodic reviews to improve agent performance.
v1.0.1
Description
name: self-improving-agent description: Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects the agent's behavior, (3) Agent completes a complex task successfully, (4) Periodic review of past learnings.
Self-Improving Agent
Overview
This skill enables OpenClaw to continuously improve by capturing learnings from:
- Failed operations and errors
- User corrections and feedback
- Successful complex task completions
- Periodic review and consolidation
When to Use
- Error Recovery: When a command or operation fails unexpectedly
- User Correction: When the user corrects the agent's behavior or output
- Success Capture: After completing a complex task successfully
- Learning Review: Periodic review of past learnings to consolidate knowledge
Core Workflow
1. Capture Learning
When something noteworthy happens:
Type: error | correction | success | insight
Context: What was being attempted
Issue: What went wrong (for errors)
Correction: What should be done differently
Lesson: Generalizable takeaway
Tags: Relevant topics/skills
2. Store Learning
Learnings are stored in memory/learnings.jsonl with:
- Timestamp
- Type and severity
- Full context and details
- Tags for searchability
3. Retrieve Relevant Learnings
Before starting a task, search past learnings:
- Match by task type
- Match by tags
- Match by error patterns
4. Apply Learnings
Use retrieved learnings to:
- Avoid past mistakes
- Apply successful patterns
- Adjust approach based on corrections
Memory Structure
Learnings are stored in JSONL format:
{
"timestamp": "2026-03-06T10:30:00Z",
"type": "error",
"severity": "high",
"context": "Installing npm package globally",
"issue": "Permission denied without sudo",
"correction": "Use sudo for global installs or configure npm prefix",
"lesson": "Always check if operation requires elevated privileges",
"tags": ["npm", "permissions", "installation"],
"taskSlug": "npm-global-install"
}
Learning Types
| Type | When to Use | Example |
|---|---|---|
| error | Operation failed | Command returned non-zero exit code |
| correction | User corrected behavior | "Don't use rm, use trash instead" |
| success | Complex task completed | Successfully deployed to production |
| insight | Discovered optimization | "This API is faster than alternatives" |
Severity Levels
- critical: System-breaking errors, data loss risk
- high: Task-blocking errors, significant issues
- medium: Minor issues, workarounds available
- low: Optimization opportunities, nice-to-know
Commands
Capture a Learning
# Manual capture (for user corrections)
openclaw memory add-learning --type correction --context "..." --lesson "..."
Search Learnings
# Search by keyword
openclaw memory search-learnings "npm permissions"
# Search by tag
openclaw memory search-learnings --tag npm
# Search by type
openclaw memory search-learnings --type error
Review Learnings
# Review recent learnings
openclaw memory review-learnings --days 7
# Review by category
openclaw memory review-learnings --tag deployment
Best Practices
- Capture Immediately: Record learnings while context is fresh
- Be Specific: Include full error messages and exact commands
- Generalize Lessons: Extract principles that apply beyond this instance
- Tag Thoughtfully: Use consistent tags for easy retrieval
- Review Regularly: Weekly review helps consolidate knowledge
- Avoid Duplicates: Check existing learnings before adding new ones
Integration Points
- Error Handlers: Automatically capture command failures
- User Feedback: Listen for correction patterns in conversation
- Task Completion: Prompt for learning capture after complex tasks
- Heartbeat: Include learning review in periodic checks
Example Scenarios
Scenario 1: Command Failure
Context: Running `npm install -g package`
Issue: EACCES permission error
Correction: Run with sudo or configure npm prefix
Lesson: Check if global install requires elevated privileges
Tags: npm, permissions, installation
Scenario 2: User Correction
Context: Suggested using `rm -rf` for cleanup
Correction: User prefers `trash` for safety
Lesson: Default to safe, reversible operations
Tags: safety, file-operations, user-preference
Scenario 3: Success Pattern
Context: Deploying to VPS via SSH
Success: Used rsync with specific flags for reliability
Lesson: rsync -avz --delete is reliable for deployments
Tags: deployment, ssh, rsync, success
Safety Rules
- Never store sensitive data (passwords, API keys, tokens)
- Sanitize error messages that might contain secrets
- Require user approval before storing corrections
- Allow users to delete or edit learnings
- Respect user privacy preferences
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!