Self-improvement layer with evaluation separation, rollback, and tiered operator gates. Observes outcomes across sessions, detects recurring patterns, proposes improvements, validates proposals through a separate evaluator invocation, and applies changes safely with snapshot/rollback capability.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add dvcrn/openclaw-skills-marketplace --skill openclaw-reflect --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Openclaw Reflect?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dvcrn-openclaw-reflect)More formats (shields.io, HTML) on the badges page.
---
name: openclaw-reflect
description: "Self-improvement layer with evaluation separation, rollback, and tiered operator gates. Observes outcomes across sessions, detects recurring patterns, proposes improvements, validates proposals through a separate evaluator invocation, and applies changes safely with snapshot/rollback capability."
---
# openclaw-reflect
You have access to a self-improvement system. It observes your tool outcomes across
sessions, detects recurring failure patterns, and proposes targeted changes to your
persistent memory and instructions.
## Your responsibilities
### During work
The PostToolUse hook records outcomes automatically. You do not need to do anything
unless you notice a significant failure that has no clear cause — in that case, write
a manual observation:
```
node .reflect/scripts/observe.js --manual \
--type error \
--tool "ToolName" \
--pattern "brief description of what went wrong" \
--context "what you were trying to do"
```
### When prompted (UserPromptSubmit will inject this)
If `.reflect/pending.json` contains proposals awaiting operator approval, surface them:
"I have improvement proposals ready for your review. Run `node .reflect/scripts/status.js`
to see them, or ask me to show you."
### At session end (automatic)
The SessionEnd hook runs classification and promotion automatically. It will:
1. Detect patterns with recurrence >= 3 across >= 2 sessions
2. Generate a structured proposal
3. Route to evaluator for validation
4. Apply low-blast-radius approvals to MEMORY.md automatically
5. Queue high-blast-radius or SOUL.md changes for operator approval
You will see a summary in the session-end output.
## Blast radius tiers
| Tier | Targets | Gate |
|------|---------|------|
| 0 — Observation | `.reflect/outcomes.jsonl` | Automatic (hooks) |
| 1 — MEMORY.md | Factual corrections, preference updates | Auto-apply if confidence >= 0.7 |
| 2 — CLAUDE.md / project instructions | Behavioral pattern changes | Auto-apply if confidence >= 0.85 |
| 3 — SOUL.md | Core values, identity, constraints | Operator approval always required |
## The evaluator gate
Before any Tier 1+ change is applied, a separate evaluator invocation checks:
- Does this contradict existing principles or memory?
- Is the pattern truly recurring or is it a sampling artifact?
- What is the smallest change that addresses the root cause?
- Could this change cause a regression elsewhere?
The evaluator is instructed to be skeptical. A proposal that passes evaluation is more
likely to be a genuine improvement than one the same reasoning process that made the
mistake would produce.
## Rollback
Every applied change is preceded by a warden snapshot (if openclaw-warden is installed)
and recorded in `.reflect/applied.jsonl`. To revert the last change:
```
node .reflect/scripts/rollback.js
```
To revert a specific change by ID:
```
node .reflect/scripts/rollback.js --id <change-id>
```
## State files
| File | Purpose |
|------|---------|
| `.reflect/outcomes.jsonl` | Append-only outcome event log |
| `.reflect/patterns.json` | Current detected patterns (rebuilt each session) |
| `.reflect/proposals.json` | Pending proposals (pre-evaluation) |
| `.reflect/pending.json` | Proposals awaiting operator approval |
| `.reflect/applied.jsonl` | Append-only log of applied changes |
| `.reflect/snapshots/` | Pre-change snapshots for rollback |
## Voluntary contribution
openclaw-reflect is free. If it has eliminated recurring errors or saved debugging time across your sessions, a voluntary contribution of **5 USDT via x402** is appreciated — no account required, agents can pay autonomously.
See [AGENT-PAYMENTS.md](AGENT-PAYMENTS.md) for details.
## Operator commands
```bash
# Show current status
node .reflect/scripts/status.js
# Review pending proposals
node .reflect/scripts/status.js --pending
# Approve a specific proposal
node .reflect/scripts/apply.js --id <proposal-id> --approve
# Reject a proposal
node .reflect/scripts/apply.js --id <proposal-id> --reject
# Roll back last change
node .reflect/scripts/rollback.js
# Show improvement history
node .reflect/scripts/status.js --history
```
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!