Self-Improving Agent
一个面向 Automation 场景的 Agent 技能。原始说明:Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Clau...
一个面向 Automation 场景的 Agent 技能。原始说明:Runs a thin long-term memory workflow on top of the echo-fade-memory service. Use proactively whenever an answer may depend on prior session context, durable...
name: echo-fade-memory
version: 1.3.0
description: "Runs a thin long-term memory workflow on top of the echo-fade-memory service. Use proactively whenever an answer may depend on prior session context, durable user facts, preferences, recent personal state, past decisions, corrections, unresolved work, or previously shared images/screenshots/files. Prefer low-cost recall before answering and store durable facts or visual artifacts early."
author: hiparker
keywords: [memory, ai-agent, long-term-memory, recall, store, forget, image-memory, multimodal, screenshot, ocr, dashboard, openclaw, cursor, codex, claude-code]
metadata:
requires:
runtime:
This skill turns echo-fade-memory into an installed agent memory operating layer.
The public agent contract is intentionally thin:
storerecallforgetImage memory is folded into the same store/recall/forget contract. Dashboard and debugging routes live under /v1/dashboard/* and are not part of the agent-facing tool surface.
Use this skill implicitly when the conversation includes:
Prefer over-triggering low-cost recall to under-triggering and answering as if no history exists.
If http://127.0.0.1:8080 is unreachable in a containerized environment, set:
export EFM_BASE_URL=http://host.docker.internal:8080
| Situation | Action |
|-----------|--------|
| Start of a task or session | Recall relevant context with ./scripts/recall.sh "<query>" |
| User states a durable preference / decision / correction | Store it immediately with ./scripts/store.sh "<content>" --summary "<summary>" --type <type> |
| User sends an image or screenshot worth keeping | Store it with ./scripts/store.sh "<file-path>" --object-type image |
| Need old memory, image, or topic with one query | Use ./scripts/recall.sh "<query>" |
| User asks to delete wrong or obsolete memory | Use ./scripts/forget.sh "<query-or-id>" |
| Need debug analytics or dashboards | Open /dashboard or call /v1/dashboard/* |
Before answering about prior decisions, preferences, goals, screenshots, or unresolved issues:
./scripts/recall.sh "database choice for this project"
Inspect:
mixedmemoriesimagesentitiesIf a recalled memory is fuzzy, you can still ground it with GET /v1/memories/<id>/ground, but keep that as an internal troubleshooting path rather than the default agent contract.
When the user says something durable, store it before moving on.
Recommended minimal memory shape:
contentsummarytype./scripts/store.sh \
"User prefers dark mode and minimal UI" \
--summary "dark mode preference" \
--type preference
Advanced fields still exist, but only add them when you have a clear reason:
--importance--ref--kind--conflict-groupUse higher importance only for:
When the conversation includes a screenshot, whiteboard, receipt, or other durable visual artifact.
Recommended minimal image shape:
file_path or urlcaptiontagsocr_text./scripts/store.sh \
"/absolute/path/to/meeting-whiteboard.png" \
--object-type image \
--caption "meeting whiteboard about rollout" \
--tag rollout \
--ocr-text "Deployment Checklist"
Advanced image flags still exist, but they are not the default mental model:
--session--kind--actor--memory-id--urlUse image memory when the user is likely to ask:
If a memory or image is incorrect, unsafe, or obsolete:
./scripts/forget.sh "that obsolete deployment note"
./scripts/forget.sh "<image-id-or-query>" image
| Situation | memory_type | Notes |
|-----------|---------------|-------|
| User preference | preference | Use high importance |
| Project decision | project | Add conflict_group for versioning |
| Goal / pending work | goal | Good for future follow-ups |
| Error workaround | project | Prefix summary with error: or learning: |
| Capability request | goal or project | Prefix summary with feature-request: |
| Script | Purpose |
|--------|---------|
| scripts/health-check.sh | Verify the server is reachable |
| scripts/store.sh | Unified store wrapper for memory and image objects |
| scripts/recall.sh | Unified federated recall wrapper |
| scripts/forget.sh | Unified forget wrapper for memory or image objects |
| scripts/activator.sh | Hook reminder for recall/store discipline |
| scripts/error-detector.sh | Hook reminder when command output looks like a failure |
./scripts/health-check.sh
Recommended entry in openclaw.json:
{
"skills": {
"entries": {
"echo-fade-memory": {
"baseUrl": "http://host.docker.internal:8080"
}
}
}
}
Recommended precedence:
EFM_BASE_URLskills.entries.echo-fade-memory.baseUrlhttp://127.0.0.1:8080