Install
openclaw skills install agent-self-improvementGeneric agent self-improvement skill built on OpenClaw-RL research (arxiv.org/abs/2603.10165). Captures evaluative signals (+1/-1) and directive hints from any user feedback, generates improvement suggestions.
openclaw skills install agent-self-improvementEnables any agent to learn and improve from user feedback using PRM-style evaluation.
From OpenClaw-RL paper:
"Next-state signals encode both evaluative and directive information about the preceding action."
Two signal types:
SKILL:self-improvement --feedback "Great!" --job daily-report
SKILL:self-improvement --feedback "Add more stats" --job daily-report
SKILL:self-improvement --stats daily-report
SKILL:self-improvement --improve daily-report
| Arg | Description | Example |
|---|---|---|
--job | Task/job name | daily-digest, weekly-recap |
--feedback | User response | "Thanks!", "Add more X" |
--score | Manual score override | 1, 0, -1 |
--stats | Show feedback stats | daily-digest |
--improve | Generate improvements | daily-digest |
--weekly | Weekly summary | (flag) |
memory/learning/agent-feedback.json:
{
"jobs": {
"daily-digest": {
"evaluations": [
{ "date": "2026-03-14", "score": 1, "hint": null },
{ "date": "2026-03-13", "score": -1, "hint": "add weekly star comparison" }
],
"improvements": [
{ "date": "2026-03-14", "suggestion": "Add weekly star delta", "implemented": false }
]
}
}
}
{
"id": "feedback-capture",
"schedule": "30 9 * * *",
"message": "SKILL:self-improvement --job daily-digest"
}
{
"id": "improvement-suggestions",
"schedule": "0 10 * * *",
"message": "SKILL:self-improvement --improve daily-digest → Telegram"
}
{
"id": "weekly-summary",
"schedule": "0 9 * * 6",
"message": "SKILL:self-improvement --improve all --weekly"
}
📈 Improvement Suggestions - {job}
Stats: 8 evaluations, avg score: 0.75
Top Hints:
1. "add weekly star changes" (2x)
2. "use table format" (1x)
Suggested Actions:
• Add 7-day star delta to GitHub section
• Use table-image-generator for stats
Status: 1 improvement pending
If no user feedback available, manually evaluate:
Evaluate yesterday's output as: good/bad