feedback-learning

Zero-LLM feedback learning system for OpenClaw agents. Detects user feedback (emoji reactions, text signals like "переделай"/"круто"), logs events, discovers recurring patterns, auto-promotes rules, and generates weekly reports. Use when setting up agent self-improvement, configuring feedback detection, or building a learning pipeline. Supports Russian and English. No API keys needed — runs entirely on shell scripts and Python.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "feedback-learning" with this command: npx skills add surdeddd/feedback-learning

Feedback Learning System

A complete pipeline for agents to learn from user feedback without spending tokens on analysis.

Architecture

User feedback → detect-feedback.py → log-event.sh → events.jsonl
                                                         ↓
                          weekly-report.py ← analyze-patterns.py
                                                         ↓
                                                   patterns.json
                                                         ↓ (≥3 occurrences)
                                                    genes.json (promoted rules)

Setup

1. Install files

Copy the skill contents to your shared learning directory:

DEST="$HOME/.openclaw/shared/learning"
mkdir -p "$DEST/reports"
cp scripts/* "$DEST/"
chmod +x "$DEST/log-event.sh"
touch "$DEST/events.jsonl"

2. Initialize data files

If they don't exist, create empty JSON stores:

cat > "$DEST/patterns.json" << 'EOF'
{"version": "2.0", "updated": "", "patterns": []}
EOF

cat > "$DEST/genes.json" << 'EOF'
{"version": "2.0", "rules": []}
EOF

cat > "$DEST/capsules.json" << 'EOF'
{"version": "2.0", "capsules": []}
EOF

3. Create LEARNINGS.md for each agent

Add to each agent's workspace:

# LEARNINGS.md
**Last Updated:** YYYY-MM-DD
**Total:** 0

## 🟢 Что работает (положительный фидбек)
(пока пусто)

## 🔴 Что НЕ работает (отрицательный фидбек)
(пока пусто)

## 🧠 Извлечённые правила
(пока пусто)

## 🔁 Повторяющиеся паттерны
(пока пусто)

## 💡 Feature Requests
(пока пусто)

4. Add to AGENTS.md

Add this block to each agent's AGENTS.md boot sequence:

## Feedback Learning
- On positive feedback (👍❤️🔥👏💯 or words like "круто","топ","зашло"):
  Run: `bash ~/.openclaw/shared/learning/log-event.sh <agent> positive user_emoji "<context>" "<signal>"`
- On negative feedback (👎🤦😤 or words like "фигня","переделай"):
  Run: `bash ~/.openclaw/shared/learning/log-event.sh <agent> correction user_nlp "<context>" "<signal>" "<hint>"`
- On exec errors:
  Run: `bash ~/.openclaw/shared/learning/log-event.sh <agent> error exec_fail "<context>" "<signal>" "<hint>"`

5. Set up crons

Pattern analysis (daily):

schedule: cron 30 3 * * * @ <timezone>
payload: python3 ~/.openclaw/shared/learning/analyze-patterns.py

Weekly report (Sundays):

schedule: cron 30 4 * * 0 @ <timezone>
payload: python3 ~/.openclaw/shared/learning/weekly-report.py

Usage

Log an event manually

bash log-event.sh anton error exec_fail "config update" "trailing comma in JSON" "Validate JSON before writing"
bash log-event.sh anton positive user_emoji "sent report" "🔥"
bash log-event.sh anton correction user_nlp "sent message" "переделай, не тот формат" "Confirm format before sending"

Detect feedback from text (no LLM)

echo "круто, зашло!" | python3 detect-feedback.py
# → {"type": "positive", "source": "user_nlp", "signal": "круто", "confidence": 0.8}

python3 detect-feedback.py "переделай это"
# → {"type": "correction", "source": "user_nlp", "signal": "переделай", "confidence": 0.8}

Run pattern analysis

python3 analyze-patterns.py

Outputs: pattern count, promotion status. Updates patterns.json. Auto-promotes to genes.json when a pattern hits ≥3 occurrences in 30 days.

Generate weekly report

python3 weekly-report.py

Saves to reports/WEEKLY_REPORT_YYYY_WNN.md with stats by agent, source, top patterns, and newly promoted rules.

Data Files

FilePurpose
events.jsonlAppend-only event log (all feedback)
patterns.jsonGrouped recurring patterns with counts
genes.jsonPromoted rules (≥3 occurrences → active rule)
capsules.jsonSuccessful reasoning paths (avoid re-computation)
reports/Weekly synthesis reports

Event Schema

{
  "ts": "2026-03-20T12:00:00Z",
  "agent": "anton",
  "type": "error|correction|positive|pattern|requery",
  "source": "exec_fail|user_nlp|user_emoji|requery|auto",
  "context": "what agent was doing",
  "signal": "the trigger text or emoji",
  "hint": "suggested fix or rule",
  "heat": 1
}

Promotion Flow

  1. Events accumulate in events.jsonl
  2. analyze-patterns.py groups similar events by signal text (≥60% similarity)
  3. Patterns with ≥3 occurrences in 30 days are promoted to genes.json
  4. Agents read genes.json at boot to apply learned rules
  5. weekly-report.py synthesizes progress for human review

Supported Languages

Feedback detection supports:

  • Russian: 20+ negative triggers, 19+ positive triggers, correction patterns
  • English: 10 negative, 8 positive triggers
  • Emoji: Universal positive/negative reactions

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

Failure Memory

Stop making the same mistakes — turn failures into patterns that prevent recurrence

Registry Source
9380Profile unavailable
Automation

yan-learning-engine

yan-learning-engine自动每小时驱动炎月执行预设学习和贡献任务,促进持续自我进化和技术积累。

Registry SourceRecently Updated
3300Profile unavailable
Automation

Xiaobai Self-Improvement

Self-Improvement Engine - AI Agent that learns from mistakes and continuously improves. No more repeating the same errors.

Registry SourceRecently Updated
1290Profile unavailable
Automation

Project Trident

Four-tier persistent memory architecture for OpenClaw agents. Implements LCM-backed durability, hierarchical .md file organization, agentic signal routing, a...

Registry SourceRecently Updated
1381Profile unavailable