Selbstverbesserungs-Skill
Protokollieren Sie Lernerfahrungen und Fehler in Markdown-Dateien für eine kontinuierliche Verbesserung. Codierungsagenten können diese später zu Fehlerbehebungen verarbeiten, und wichtige Erkenntnisse werden in das Projektgedächtnis aufgenommen.
Kurzreferenz
| Situation | Aktion |
|---|---|
| Befehl/Vorgang schlägt fehl | In .learnings/ERRORS.md protokollieren |
| Benutzer korrigiert Sie | In .learnings/LEARNINGS.md mit Kategorie correction protokollieren |
| Benutzer wünscht fehlende Funktion | In .learnings/FEATURE_REQUESTS.md protokollieren |
| API/externes Tool schlägt fehl | In .learnings/ERRORS.md mit Integrationsdetails protokollieren |
| Wissen war veraltet | In .learnings/LEARNINGS.md mit Kategorie knowledge_gap protokollieren |
| Besserer Ansatz gefunden | In .learnings/LEARNINGS.md mit Kategorie best_practice protokollieren |
| Wiederkehrende Muster vereinfachen/härten | In .learnings/LEARNINGS.md mit Source: simplify-and-harden und einem stabilen Pattern-Key protokollieren/aktualisieren |
| Ähnlich zu einem bestehenden Eintrag | Mit **Siehe auch** verlinken, ggf. Priorität erhöhen |
| Allgemein anwendbare Lernerfahrung | In CLAUDE.md, AGENTS.md und/oder .github/copilot-instructions.md hochstufen |
| Workflow-Verbesserungen | In AGENTS.md hochstufen (OpenClaw-Arbeitsbereich) |
| Tool-Fallstricke | In TOOLS.md hochstufen (OpenClaw-Arbeitsbereich) |
| Verhaltensmuster | In SOUL.md hochstufen (OpenClaw-Arbeitsbereich) |
OpenClaw-Setup (Empfohlen)
OpenClaw ist die primäre Plattform für diesen Skill. Es verwendet arbeitsbereichsbasierte Prompt-Injektion mit automatischem Skill-Laden.
Installation
Über ClawdHub (empfohlen):
clawdhub install self-improving-agent
Manuell:
git clone https://github.com/peterskoett/self-improving-agent.git ~/.openclaw/skills/self-improving-agent
Neu erstellt für OpenClaw aus dem ursprünglichen Repository: https://github.com/pskoett/pskoett-ai-skills – https://github.com/pskoett/pskoett-ai-skills/tree/main/skills/self-improvement
Arbeitsbereichsstruktur
OpenClaw injiziert diese Dateien in jede Sitzung:
~/.openclaw/workspace/
├── AGENTS.md # Multi-Agent-Workflows, Delegationsmuster
├── SOUL.md # Verhaltensrichtlinien, Persönlichkeit, Prinzipien
├── TOOLS.md # Tool-Fähigkeiten, Integrationshürden
├── MEMORY.md # Langzeitgedächtnis (nur Hauptsitzung)
├── memory/ # Tägliche Gedächtnisdateien
│ └── YYYY-MM-DD.md
└── .learnings/ # Logdateien dieses Skills
├── LEARNINGS.md
├── ERRORS.md
└── FEATURE_REQUESTS.md
Lerndateien erstellen
mkdir -p ~/.openclaw/workspace/.learnings
Erstellen Sie dann die Logdateien (oder kopieren Sie sie aus assets/):
LEARNINGS.md– Korrekturen, Wissenslücken, Best PracticesERRORS.md– Befehlsfehler, AusnahmenFEATURE_REQUESTS.md– vom Benutzer angeforderte Funktionen
Hochstufungsziele
Wenn sich Lernerfahrungen als allgemein anwendbar erweisen, stufen Sie sie in die Arbeitsbereichsdateien hoch:
| Lerntyp | Hochstufen in | Beispiel |
|---|---|---|
| Verhaltensmuster | SOUL.md | "Seien Sie präzise, vermeiden Sie Haftungsausschlüsse" |
| Workflow-Verbesserungen | AGENTS.md | "Für lange Aufgaben Unteragenten starten" |
| Tool-Fallstricke | TOOLS.md | "Git-Push benötigt zuerst konfigurierte Authentifizierung" |
Sitzungsübergreifende Kommunikation
OpenClaw stellt Werkzeuge zur Verfügung, um Lernerfahrungen sitzungsübergreifend zu teilen:
- sessions_list – Aktuelle/aktuelle Sitzungen anzeigen
- sessions_history – Transkript einer anderen Sitzung lesen
- sessions_send – Eine Lernerfahrung an eine andere Sitzung senden
- sessions_spawn – Einen Unteragenten für Hintergrundarbeit starten
Optional: Hook aktivieren
Für automatische Erinnerungen beim Sitzungsstart:
# Hook in das OpenClaw-Hooks-Verzeichnis kopieren
cp -r hooks/openclaw ~/.openclaw/hooks/self-improvement
# Aktivieren
openclaw hooks enable self-improvement
Vollständige Details finden Sie unter references/openclaw-integration.md.
Generisches Setup (Andere Agenten)
Erstellen Sie für Claude Code, Codex, Copilot oder andere Agenten .learnings/ in Ihrem Projekt:
mkdir -p .learnings
Kopieren Sie Vorlagen aus assets/ oder erstellen Sie Dateien mit Kopfzeilen.
Fügen Sie einen Verweis in Agentendateien (AGENTS.md, CLAUDE.md oder .github/copilot-instructions.md) hinzu, um sich selbst daran zu erinnern, Lernerfahrungen zu protokollieren. (Dies ist eine Alternative zu hakenbasierten Erinnerungen).
Selbstverbesserungs-Workflow
Wenn Fehler oder Korrekturen auftreten:
- In
.learnings/ERRORS.md,LEARNINGS.mdoderFEATURE_REQUESTS.mdprotokollieren - Allgemein anwendbare Lernerfahrungen überprüfen und hochstufen in:
CLAUDE.md– Projektfakten und KonventionenAGENTS.md– Workflows und Automatisierung.github/copilot-instructions.md– Copilot-Kontext
Format des Logbuchs
Lerneintrag
Anhängen an .learnings/LEARNINGS.md:
## [LRN-YYYYMMDD-XXX] kategorie
**Protokolliert**: ISO-8601-Zeitstempel
**Priorität**: niedrig | mittel | hoch | kritisch
**Status**: ausstehend
**Bereich**: frontend | backend | infra | tests | docs | config
### Zusammenfassung
Einzeilige Beschreibung des Gelernten
### Details
Vollständiger Kontext: Was passiert ist, was falsch war, was richtig ist
### Vorgeschlagene Aktion
Spezifische Korrektur oder Verbesserung, die vorgenommen werden soll
### Metadaten
- Quelle: konversation | fehler | benutzerrückmeldung
- Zugehörige Dateien: pfad/zu/datei.ext
- Tags: tag1, tag2
- Siehe auch: LRN-20250110-001 (falls mit vorhandenem Eintrag verwandt)
- Pattern-Key: simplify.dead_code | harden.input_validation (optional, für die Verfolgung wiederkehrender Muster)
- Recurrence-Count: 1 (optional)
- First-Seen: 2025-01-15 (optional)
- Last-Seen: 2025-01-15 (optional)
---
Fehlereintrag
Anhängen an .learnings/ERRORS.md:
## [ERR-YYYYMMDD-XXX] skill_oder_befehlsname
**Protokolliert**: ISO-8601-Zeitstempel
**Priorität**: hoch
**Status**: ausstehend
**Bereich**: frontend | backend | infra | tests | docs | config
### Zusammenfassung
Kurze Beschreibung des Fehlers
### Fehler
Tatsächliche Fehlermeldung oder Ausgabe
### Kontext
- Versuchter Befehl/Vorgang
- Verwendete Eingabe oder Parameter
- Umgebungsdetails, falls relevant
### Vorgeschlagene Korrektur
Falls identifizierbar, was dies beheben könnte
### Metadaten
- Reproduzierbar: ja | nein | unbekannt
- Zugehörige Dateien: pfad/zu/datei.ext
- Siehe auch: ERR-20250110-001 (falls wiederkehrend)
---
Funktionanforderungseintrag
Anhängen an .learnings/FEATURE_REQUESTS.md:
## [FEAT-YYYYMMDD-XXX] funktionsname
**Protokolliert**: ISO-8601-Zeitstempel
**Priorität**: mittel
**Status**: ausstehend
**Bereich**: frontend | backend | infra | tests | docs | config
### Angeforderte Funktion
Was der Benutzer tun wollte
### Benutzerkontext
Warum er es brauchte, welches Problem er löst
### Komplexitätseinschätzung
einfach | mittel | komplex
### Vorgeschlagene Implementierung
Wie dies gebaut werden könnte, was es erweitern würde
### Metadaten
- Häufigkeit: erstmalig | wiederkehrend
- Verwandte Funktionen: vorhandener_funktionsname
---
ID-Generierung
Format: TYP-YYYYMMDD-XXX
- TYP:
LRN(Lernen),ERR(Fehler),FEAT(Funktion) - YYYYMMDD: Aktuelles Datum
- XXX: Fortlaufende Nummer oder zufällige 3 Zeichen (z. B.
001,A7B)
Beispiele: LRN-20250115-001, ERR-20250115-A3F, FEAT-20250115-002
Einträge auflösen
Wenn ein Problem behoben ist, aktualisieren Sie den Eintrag:
- Ändern Sie
**Status**: ausstehendin**Status**: gelöst - Fügen Sie nach den Metadaten einen Auflösungsblock hinzu:
### Auflösung
- **Gelöst**: 2025-01-16T09:00:00Z
- **Commit/PR**: abc123 oder #42
- **Anmerkungen**: Kurze Beschreibung dessen, was getan wurde
Andere Statuswerte:
in_progress– Wird aktiv bearbeitetwont_fix– Es wurde entschieden, dies nicht zu adressieren (Grund in Auflösungsanmerkungen hinzufügen)promoted– Nach CLAUDE.md, AGENTS.md oder .github/copilot-instructions.md hochgestuft
Hochstufung in das Projektgedächtnis
Wenn eine Lernerfahrung allgemein anwendbar ist (keine einmalige Korrektur), stufen Sie sie in das permanente Projektgedächtnis hoch.
Wann hochstufen
- Die Lernerfahrung gilt für mehrere Dateien/Funktionen
- Wissen, das jeder Beitragende (Mensch oder KI) kennen sollte
- Verhindert wiederkehrende Fehler
- Dokumentiert projektspezifische Konventionen
Hochstufungsziele
| Ziel | Was dorthin gehört |
|---|---|
CLAUDE.md | Projektfakten, Konventionen, Fallstricke für alle Claude-Interaktionen |
AGENTS.md | Agentspezifische Workflows, Tool-Nutzungsmuster, Automatisierungsregeln |
.github/copilot-instructions.md | Projektkontext und Konventionen für GitHub Copilot |
SOUL.md | Verhaltensrichtlinien, Kommunikationsstil, Prinzipien (OpenClaw-Arbeitsbereich) |
TOOLS.md | Tool-Fähigkeiten, Nutzungsmuster, Integrationshürden (OpenClaw-Arbeitsbereich) |
Wie hochstufen
- Destillieren Sie die Lernerfahrung zu einer prägnanten Regel oder Tatsache
- Hinzufügen zum entsprechenden Abschnitt in der Zieldatei (Datei bei Bedarf erstellen)
- Aktualisieren Sie den ursprünglichen Eintrag:
- Ändern Sie
**Status**: ausstehendin**Status**: promoted - Fügen Sie
**Hochgestuft nach**: CLAUDE.md,AGENTS.mdoder.github/copilot-instructions.mdhinzu
- Ändern Sie
Beispiele für Hochstufungen
Lernerfahrung (ausführlich):
Projekt verwendet pnpm-Arbeitsbereiche. Versuchte
npm install, schlug jedoch fehl. Sperrdatei istpnpm-lock.yaml. Musspnpm installverwenden.
In CLAUDE.md (prägnant):
## Build & Abhängigkeiten
- Paketmanager: pnpm (nicht npm) – `pnpm install` verwenden
Lernerfahrung (ausführlich):
Beim Ändern von API-Endpunkten muss der TypeScript-Client neu generiert werden. Das Vergessen führt zu Typkonflikten zur Laufzeit.
In AGENTS.md (handlungsorientiert):
## Nach API-Änderungen
1. Client neu generieren: `pnpm run generate:api`
2. Auf Typfehler prüfen: `pnpm tsc --noEmit`
Erkennung wiederkehrender Muster
Wenn Sie etwas Ähnliches wie einen vorhandenen Eintrag protokollieren:
- Zuerst suchen:
grep -r "stichwort" .learnings/ - Einträge verlinken: Fügen Sie
**Siehe auch**: ERR-20250110-001in die Metadaten ein - Priorität erhöhen, wenn das Problem immer wieder auftritt
- Systemische Korrektur in Betracht ziehen: Wiederkehrende Probleme deuten oft auf Folgendes hin:
- Fehlende Dokumentation (→ nach CLAUDE.md oder .github/copilot-instructions.md hochstufen)
- Fehlende Automatisierung (→ zu AGENTS.md hinzufügen)
- Architekturproblem (→ Tech-Debt-Ticket erstellen)
Simplify & Harden Feed
Verwenden Sie diesen Workflow, um wiederkehrende Muster aus dem Skill simplify-and-harden
aufzunehmen und in dauerhafte Prompt-Anleitungen umzuwandeln.
Aufnahmeworkflow
- Lesen Sie
simplify_and_harden.learning_loop.candidatesaus der Aufgabenübersicht. - Verwenden Sie für jeden Kandidaten
pattern_keyals stabilen Deduplizierungsschlüssel. - Suchen Sie in
.learnings/LEARNINGS.mdnach einem vorhandenen Eintrag mit diesem Schlüssel:grep -n "Pattern-Key: <pattern_key>" .learnings/LEARNINGS.md
- Wenn gefunden:
Recurrence-CounterhöhenLast-SeenaktualisierenSiehe auch-Links zu verwandten Einträgen/Aufgaben hinzufügen
- Wenn nicht gefunden:
- Einen neuen
LRN-...-Eintrag erstellen Source: simplify-and-hardensetzenPattern-Key,Recurrence-Count: 1undFirst-Seen/Last-Seensetzen
- Einen neuen
Hochstufungsregel (System-Prompt-Feedback)
Stufen Sie wiederkehrende Muster in Agentenkontext-/System-Prompt-Dateien hoch, wenn alle Bedingungen zutreffen:
Recurrence-Count >= 3- In mindestens 2 verschiedenen Aufgaben gesehen
- Innerhalb eines 30-Tage-Fensters aufgetreten
Hochstufungsziele:
CLAUDE.mdAGENTS.md.github/copilot-instructions.mdSOUL.md/TOOLS.mdfür OpenClaw-Arbeitsbereichsanleitung, falls zutreffend
Schreiben Sie hochgestufte Regeln als kurze Präventionsregeln (was vor/während des Codierens zu tun ist), keine langen Vorfallberichte.
Regelmäßige Überprüfung
Überprüfen Sie .learnings/ an natürlichen Haltepunkten:
Wann überprüfen
- Vor Beginn einer neuen Hauptaufgabe
- Nach Abschluss einer Funktion
- Bei der Arbeit in einem Bereich mit früheren Lernerfahrungen
- Wöchentlich während der aktiven Entwicklung
Schnelle Statusprüfung
# Anzahl der ausstehenden Elemente zählen
grep -h "Status\*\*: ausstehend" .learnings/*.md | wc -l
# Ausstehende Elemente mit hoher Priorität auflisten
grep -B5 "Priorität\*\*: hoch" .learnings/*.md | grep "^## \["
# Lernerfahrungen für einen bestimmten Bereich finden
grep -l "Bereich\*\*: backend" .learnings/*.md
Überprüfungsaktionen
- Behobene Elemente auflösen
- Anwendbare Lernerfahrungen hochstufen
- Verwandte Einträge verlinken
- Wiederkehrende Probleme eskalieren
Erkennungsauslöser
Automatisch protokollieren, wenn Sie Folgendes bemerken:
Korrekturen (→ Lernen mit Kategorie correction):
- "Nein, das ist nicht richtig…"
- "Eigentlich sollte es…"
- "Sie liegen falsch mit…"
- "Das ist veraltet…"
Funktionsanfragen (→ Funktionsanfrage):
- "Können Sie auch…"
- "Ich wünschte, Sie könnten…"
- "Gibt es eine Möglichkeit…"
- "Warum können Sie nicht…"
Wissenslücken (→ Lernen mit Kategorie knowledge_gap):
- Der Benutzer liefert Informationen, die Sie nicht kannten
- Die von Ihnen referenzierte Dokumentation ist veraltet
- Das API-Verhalten weicht von Ihrem Verständnis ab
Fehler (→ Fehlereintrag):
- Befehl gibt einen Exit-Code ungleich Null zurück
- Ausnahme oder Stack-Trace
- Unerwartete Ausgabe oder Verhalten
- Zeitüberschreitung oder Verbindungsfehler
Prioritätsrichtlinien
| Priorität | Wann verwenden |
|---|---|
kritisch | Blockiert Kernfunktionalität, Datenverlustrisiko, Sicherheitsproblem |
hoch | Signifikante Auswirkungen, betrifft häufige Workflows, wiederkehrendes Problem |
mittel | Mittlere Auswirkungen, Workaround vorhanden |
niedrig | Geringfügige Unannehmlichkeit, Randfall, nice-to-have |
Bereichs-Tags
Verwenden Sie diese, um Lernerfahrungen nach Codebase-Bereich zu filtern:
| Bereich | Umfang |
|---|---|
frontend | UI, Komponenten, clientseitiger Code |
backend | API, Dienste, serverseitiger Code |
infra | CI/CD, Bereitstellung, Docker, Cloud |
tests | Testdateien, Testhilfsprogramme, Abdeckung |
docs | Dokumentation, Kommentare, READMEs |
config | Konfigurationsdateien, Umgebung, Einstellungen |
Best Practices
- Sofort protokollieren – der Kontext ist direkt nach dem Problem am frischesten
- Seien Sie spezifisch – zukünftige Agenten müssen schnell verstehen
- Reproduktionsschritte einfügen – besonders bei Fehlern
- Zugehörige Dateien verlinken – erleichtert Korrekturen
- Konkrete Korrekturen vorschlagen – nicht nur "untersuchen"
- Konsistente Kategorien verwenden – ermöglicht Filterung
- Aggressiv hochstufen – im Zweifelsfall zu CLAUDE.md oder .github/copilot-instructions.md hinzufügen
- Regelmäßig überprüfen – veraltete Lernerfahrungen verlieren an Wert
Gitignore-Optionen
Lernerfahrungen lokal behalten (pro Entwickler):
.learnings/
Lernerfahrungen im Repository verfolgen (teamweit): Nicht zu .gitignore hinzufügen – Lernerfahrungen werden zu gemeinsamem Wissen.
Hybrid (Vorlagen verfolgen, Einträge ignorieren):
.learnings/*.md
!.learnings/.gitkeep
Hook-Integration
Aktivieren Sie automatische Erinnerungen durch Agenten-Hooks. Dies ist opt-in – Sie müssen Hooks explizit konfigurieren.
Schnelleinrichtung (Claude Code / Codex)
…
[gekürzt für die Übersetzung]