memory ebbinghaus

v1.0.0

Ebbinghaus forgetting curve memory lifecycle manager for AI agents. Automatically calculates memory strength decay, supports review reinforcement, archiving,...

2· 132·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for subcoldzhang/memory-ebbinghaus.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "memory ebbinghaus" (subcoldzhang/memory-ebbinghaus) from ClawHub.
Skill page: https://clawhub.ai/subcoldzhang/memory-ebbinghaus
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install memory-ebbinghaus

ClawHub CLI

Package manager switcher

npx clawhub@latest install memory-ebbinghaus
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name, description, SKILL.md, and the included Python script are consistent: the tool manages memory items with a forgetting-curve formula and supports add/review/decay/archive/forget/heartbeat. Minor documentation mismatch: SKILL.md lists the default DB path as './memory_db.json' (current dir) while the script's default is the repository root (parent of scripts/). This is an implementation/documentation divergence but not a functional mismatch.
Instruction Scope
Runtime instructions and commands are narrowly scoped to local file operations and memory workflows. SKILL.md does not ask the agent to read unrelated system files, credentials, or contact external endpoints. Heartbeat integration simply runs the script and expects textual output.
Install Mechanism
No install spec; this is instruction + included script. The script is plain Python, uses only stdlib, and requires no external downloads or package installs.
Credentials
The skill declares no required credentials and uses two optional environment variables (EBBINGHAUS_DB, EBBINGHAUS_ARCHIVE) to pick file paths. This is proportional to the purpose. Note: because these env vars accept arbitrary paths, a user (or misconfigured agent) could point them to sensitive or system files, causing accidental overwrite/appends; that is a usage risk rather than a hidden requirement.
Persistence & Privilege
The skill does not request permanent 'always' inclusion, does not modify other skills, and does not alter agent-wide config. It writes only its own DB and archive files (paths configurable).
Assessment
This skill is internally coherent and implements a local memory manager. Before installing or running it: (1) review and keep a copy of the included scripts (you already have them); (2) run it in a safe directory (don't set EBBINGHAUS_DB or EBBINGHAUS_ARCHIVE to system or sensitive file paths); (3) back up any existing memory_db.json or MEMORY.md you care about; (4) if you plan to add this to an automated heartbeat, ensure the process runs with appropriate user permissions so it cannot write to protected system locations; (5) if you need the script to use the current working directory, update the environment-variable guidance or edit the DB_PATH default in the script to match your expectations.

Like a lobster shell, security has layers — review code before you run it.

latestvk979eq5e1cqc44pp0cb9hw2xkn83n4dr
132downloads
2stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

Memory Ebbinghaus

Ebbinghaus forgetting curve-based memory lifecycle manager. Tracks memory items with strength decay, review reinforcement, and archiving.

Setup

First run — initialize the database:

python3 scripts/ebbinghaus.py status
# Auto-creates memory_db.json in current directory if not found

To use a custom path:

EBBINGHAUS_DB=/path/to/memory_db.json \
EBBINGHAUS_ARCHIVE=/path/to/MEMORY.md \
python3 scripts/ebbinghaus.py status

Environment variables:

VariableDefaultDescription
EBBINGHAUS_DB./memory_db.jsonPath to the JSON database
EBBINGHAUS_ARCHIVE./MEMORY.mdFile to append archived memories

Core Concept

Strength formula: strength = e^(-days_elapsed / stability)

StatusStrengthMeaning
🟢 Active≥ 0.7Recently used, clear memory
🟡 Decaying0.3–0.7Not used for a while
🔴 Fading< 0.3Needs review or cleanup

Stability: starts at 1.0, multiplied by 1.5 on each review (the more you review, the slower it fades).

Commands

# View all memory items and their current strength
python3 scripts/ebbinghaus.py status

# Recalculate all strength values (run daily)
python3 scripts/ebbinghaus.py decay

# Add a new memory item
python3 scripts/ebbinghaus.py add "content description" --category <cat> --source <origin>

# Review and reinforce (resets strength to 1.0, stability ×1.5)
python3 scripts/ebbinghaus.py review <id>

# Delete a memory item
python3 scripts/ebbinghaus.py forget <id>

# Archive to MEMORY.md (removes from active list, appends to archive file)
python3 scripts/ebbinghaus.py archive <id>

# Heartbeat mode — print items needing attention
python3 scripts/ebbinghaus.py heartbeat

Heartbeat Integration

Add to your heartbeat config:

- Memory decay check: python3 /path/to/scripts/ebbinghaus.py heartbeat

Heartbeat output rules:

  • 🔴 items exist → alert user, ask "review or forget?"
  • Only 🟡 items → log silently, no interruption
  • All 🟢 → output HEARTBEAT_OK

Categories

categoryMeaning
projectProject/task completion
techTechnical findings/solutions
personMemory about someone
eventImportant events
generalOther

Typical Workflows

"Clean up old memories":

  1. Run decay then status
  2. List 🔴 items, ask user: review / forget / archive?
  3. Execute chosen action

"Remember this: XXX":

  1. Run add "XXX"
  2. Confirm added

"Which memories are fading?":

  1. Run decay to update strengths
  2. Run status, highlight 🔴 items

Comments

Loading comments...