Skill: swaylq/session-memory (version 2.0.0)

--- name: session-memory description: Persistent memory toolkit for AI agents. Save context, recall with relevance scoring, consolidate insights, track decisions across sessions. Features importance levels, multi-keyword search, session context loader, export/import, memory stats. Pure bash+node, no dependencies. v2.0.0 homepage: https://github.com/voidborne-d/session-memory-skill metadata: {"openclaw":{"emoji":"🧠","requires":{"bins":["node"]}}} --- # Session Memory 🧠 v2.0 Persistent memory for AI agents. Save what matters, recall what's relevant, consolidate what you've learned. **v2.0:** relevance-scored search, importance levels, session context loader, consolidation, export/import, stats, edit/delete. ## Quick Start ```bash # Save a memory (with optional importance) MEMORY_IMPORTANCE=high ./scripts/save.sh "decision" "Chose Postgres over SQLite for scale" # Recall with relevance scoring ./scripts/recall.sh "database" --limit 5 # Load session context (startup) ./scripts/context.sh --days 3 # Consolidate by topic ./scripts/consolidate.sh --since 2026-01-01 # Stats ./scripts/stats.sh ``` --- ## Commands ### save.sh — Save a Memory ```bash ./scripts/save.sh "topic" "content" [tags...] ``` | Env | Default | Description | |-----|---------|-------------| | `AGENT_MEMORY_DIR` | `~/.agent-memory` | Storage directory | | `MEMORY_IMPORTANCE` | `normal` | low / normal / high / critical | ```bash # Basic save ./scripts/save.sh "insight" "Users prefer dark mode 3:1" ui design # High importance MEMORY_IMPORTANCE=high ./scripts/save.sh "decision" "Migrated to TypeScript" refactor # Critical (always surfaces in context.sh) MEMORY_IMPORTANCE=critical ./scripts/save.sh "credential" "API key rotated, new one in vault" ``` ### recall.sh — Search Memories ```bash ./scripts/recall.sh "query" [--json] [--limit N] [--topic T] [--importance I] [--since YYYY-MM-DD] ``` Features: - **Multi-keyword AND search** — all words must match - **Relevance scoring** — based on word match ratio + importance + recency - **Filters** — by topic, importance level, date range ```bash ./scripts/recall.sh "database migration" ./scripts/recall.sh "API" --topic decision --limit 20 ./scripts/recall.sh "deploy" --since 2026-03-01 --json ./scripts/recall.sh "error" --importance high ``` ### context.sh — Session Startup Loader ```bash ./scripts/context.sh [--days N] [--limit N] [--json] ``` Loads the most relevant memories for a new session: - Recent memories (last N days, default 3) - High/critical importance items regardless of age - Sorted by importance then recency - Grouped by date ```bash # Quick context ./scripts/context.sh # Wider window ./scripts/context.sh --days 7 --limit 30 # For programmatic use ./scripts/context.sh --json ``` ### daily.sh — Day View ```bash ./scripts/daily.sh [YYYY-MM-DD] [--json] ``` ### topics.sh — Topic Index ```bash ./scripts/topics.sh [--json] ``` ### consolidate.sh — Topic Consolidation ```bash ./scripts/consolidate.sh [--since YYYY-MM-DD] [--topic T] [--json] ``` Groups all memories by topic, showing counts, date ranges, top tags, and latest entries. Useful for periodic review. ### stats.sh — Memory Statistics ```bash ./scripts/stats.sh [--json] ``` Shows: total entries, date range, entries/day average, storage size, topic breakdown, importance distribution. ### edit.sh — Edit or Delete ```bash ./scripts/edit.sh <timestamp_ms> --content "new content" ./scripts/edit.sh <timestamp_ms> --topic "new topic" ./scripts/edit.sh <timestamp_ms> --importance critical ./scripts/edit.sh <timestamp_ms> --delete ``` ### export.sh — Export Memories ```bash ./scripts/export.sh [-o backup.json] [--since YYYY-MM-DD] [--topic T] ``` ### import.sh — Import Memories ```bash ./scripts/import.sh backup.json [--dry-run] ``` Deduplicates by timestamp — safe to run multiple times. ### prune.sh — Archive Old Memories ```bash ./scripts/prune.sh [days] ``` Moves memories older than N days (default: 30) to `archive/`. --- ## Storage ``` ~/.agent-memory/ ├── 2026/ │ ├── 01/ │ │ ├── 15.jsonl │ │ └── 16.jsonl │ └── 02/ │ └── 01.jsonl └── archive/ # Pruned memories ``` Each line is a JSON object: ```json {"ts":1706793600000,"topic":"decision","content":"Chose X because Y","tags":["project"],"importance":"high"} ``` ## Importance Levels | Level | When to Use | Behavior | |-------|-------------|----------| | `low` | Background info, minor notes | Only found via search | | `normal` | Standard memories | Shown in daily view | | `high` | Key decisions, insights | Always in session context | | `critical` | Credentials, blockers, urgent | Always in session context, top priority | ## Recommended Workflow ```bash # Session start ./scripts/context.sh # During work — save important things ./scripts/save.sh "decision" "..." MEMORY_IMPORTANCE=high ./scripts/save.sh "insight" "..." # End of session ./scripts/save.sh "summary" "Today: did X, decided Y, next step Z" # Weekly review ./scripts/consolidate.sh --since $(date -u -d '7 days ago' +%Y-%m-%d) ./scripts/stats.sh # Monthly maintenance ./scripts/prune.sh 60 ./scripts/export.sh -o backup-$(date +%Y%m).json ``` --- *Created by [Voidborne](https://voidborne.org) 🔹*


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (HIGH)