← Back to Skills Marketplace
flaggdavid-source

Amarin Memory

by flaggdavid-source · GitHub ↗ · v0.1.0 · MIT-0
cross-platform ✓ Security Clean
108
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install amarin-memory
Description
Persistent adaptive memory for AI agents. Store memories that fade naturally over time (temporal decay), deduplicate automatically (0.85 cosine threshold), s...
README (SKILL.md)

Amarin Memory — Persistent Adaptive Memory for Agents

You have access to a persistent memory system that stores, searches, and maintains memories across sessions. Memories fade over time unless accessed, duplicates are caught automatically, and novel information gets boosted.

Setup

If not already initialized, run this once:

python3 {baseDir}/scripts/setup.py

This creates the database and vector index. The database file is stored at ~/.amarin/agent.db.

Storing Memories

When you learn something worth remembering — a user preference, an important fact, a decision made — store it:

python3 {baseDir}/scripts/memory.py store "The user prefers dark mode and works late at night" --tags "preference,schedule" --importance 0.7

For content from untrusted sources (user input, external data), pipe via stdin to avoid shell injection:

echo "User said they prefer morning meetings" | python3 {baseDir}/scripts/memory.py store --tags "preference" --importance 0.6

Importance scale: 0.0 (trivial) to 1.0 (critical). Default is 0.5.

The system automatically:

  • Checks for duplicates (>= 0.85 similarity → skip or merge)
  • Scores novelty (0.30-0.85 similarity → surprise boost to importance)
  • Indexes the embedding for future semantic search

Searching Memories

When you need to recall something:

python3 {baseDir}/scripts/memory.py search "what time does the user usually work" --limit 5

Results are ranked by 70% semantic similarity + 30% importance score. Recent, frequently-accessed memories rank higher.

Core Memory Blocks

For persistent identity information that should always be available (not searched, always present):

# Set a core block
python3 {baseDir}/scripts/memory.py set-block "persona" "I am a research assistant focused on AI safety"

# Set user context
python3 {baseDir}/scripts/memory.py set-block "human" "The user is Dave, a developer building AI systems"

# View all blocks
python3 {baseDir}/scripts/memory.py blocks

Memory Maintenance

Run periodically (daily is good) to let unimportant memories fade:

python3 {baseDir}/scripts/memory.py decay

Protected memories are immune to decay. To protect a critical memory:

python3 {baseDir}/scripts/memory.py protect \x3Cmemory_id>

Reviewing Memories

List recent memories:

python3 {baseDir}/scripts/memory.py list --limit 20

Revise a memory:

python3 {baseDir}/scripts/memory.py revise \x3Cmemory_id> "Updated content" --reason "Corrected factual error"

Soft-delete a memory (can be restored):

python3 {baseDir}/scripts/memory.py forget \x3Cmemory_id> --reason "No longer relevant"

When to Use This

  • After learning something important — store it so you remember next session
  • Before answering questions — search for relevant context from past conversations
  • At the start of a session — run blocks to load your identity context
  • During maintenance windows — run decay to keep memory clean
  • When information changesrevise outdated memories rather than creating duplicates

Requirements

  • Python 3.11+
  • An embedding service (Ollama with nomic-embed-text recommended, or any compatible API)
  • Set OLLAMA_URL environment variable if not using default http://localhost:11434

Links

Usage Guidance
This skill appears coherent with its stated goal: it installs a Python package and provides CLI scripts that store/search a local SQLite DB and call an embedding service. Before installing: (1) verify the 'amarin-memory' package source (PyPI or the GitHub repo linked) to reduce supply-chain risk; (2) be aware the skill will create ~/.amarin/agent.db and write your memories there; (3) if you set OLLAMA_URL to a remote endpoint, that endpoint will receive text for embeddings—don't point it at an untrusted service if you care about privacy; (4) review the package code (amarin-memory) if you need higher assurance. Otherwise the skill's requirements and behavior are proportionate to its purpose.
Capability Analysis
Type: OpenClaw Skill Name: amarin-memory Version: 0.1.0 The amarin-memory skill provides a persistent, local memory system for AI agents using SQLite and the amarin-memory Python package. The implementation in scripts/memory.py and scripts/setup.py is transparent, focusing on database initialization and CLI wrappers for memory storage and retrieval. Notably, SKILL.md includes security-conscious instructions for the agent to use stdin to avoid shell injection when processing untrusted data.
Capability Assessment
Purpose & Capability
Name and description match the included CLI scripts and behavior: a local SQLite memory (~/ .amarin/agent.db) with semantic search via an embedding service. Required binary is only python3, which is appropriate for a Python package/CLI.
Instruction Scope
SKILL.md only instructs running the included Python scripts that create and access ~/.amarin/agent.db and call an embedding service at OLLAMA_URL (default localhost). The instructions do not request unrelated files, credentials, or system state beyond the local DB and optional embedding URL.
Install Mechanism
Install spec installs a Python package named 'amarin-memory' (installer kind 'uv'). Installing a third-party Python package will execute code on the host—this is expected for a packaged CLI but carries the usual supply-chain risk. The skill's files contain no external download URLs; still verify the package source (PyPI/GitHub) before installing.
Credentials
No required credentials or config paths are declared. SKILL.md mentions an optional OLLAMA_URL environment variable for the embedding service (default http://localhost:11434), which is proportional to the skill's need to compute embeddings. Be aware that pointing OLLAMA_URL at a remote service may transmit memory contents to that service.
Persistence & Privilege
The skill does create a persistent local database (~/.amarin/agent.db) which is appropriate for a memory store. It is not 'always: true' and does not modify other skill or system configs. File writes are limited to its own data directory.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install amarin-memory
  3. After installation, invoke the skill by name or use /amarin-memory
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.0
Initial release of amarin-memory — persistent adaptive memory for AI agents. - Stores and manages memories with natural temporal decay, semantic deduplication, and surprise-based scoring. - Semantic search via local sqlite-vec KNN; no external vector DB required. - Supports persistent “core blocks” for agent identity/context. - CLI tools for storing, searching, revising, deleting, and protecting memories. - Enables multi-session, multi-agent, and offline adaptive memory with SQLite backend.
Metadata
Slug amarin-memory
Version 0.1.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Amarin Memory?

Persistent adaptive memory for AI agents. Store memories that fade naturally over time (temporal decay), deduplicate automatically (0.85 cosine threshold), s... It is an AI Agent Skill for Claude Code / OpenClaw, with 108 downloads so far.

How do I install Amarin Memory?

Run "/install amarin-memory" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Amarin Memory free?

Yes, Amarin Memory is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Amarin Memory support?

Amarin Memory is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Amarin Memory?

It is built and maintained by flaggdavid-source (@flaggdavid-source); the current version is v0.1.0.

💬 Comments