memory

Store and retrieve persistent memory entries in a JSONL file.

Updated Dec 24, 2025
One-click install
npx skills add https://github.com/growvv/memory-skill --skill memory-growvv
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: memory
Source: https://github.com/growvv/memory-skill/tree/main/memory
Command: npx skills add https://github.com/growvv/memory-skill --skill memory-growvv

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires jq, and includes scripts (resource) components.

What problem does it solve?

This Skill enables AI agents to persist information across sessions using a simple append-only JSONL file, allowing quick recall of prior notes, facts, or tasks without re-entering data.

Core Features & Use Cases

  • Append-Only Memory: Writes are always appended to a single on-disk JSONL file, preserving history.
  • Efficient Retrieval: Search focuses on recent entries using a configurable window with tail + rg/grep and jq.
  • Lightweight & Portable: Requires only standard Unix tools (bash, jq, rg/grep) and a memory file on disk.
  • Use Case: An AI agent can remember a user's preferences across sessions and retrieve relevant context when planning next steps.

Quick Start

Write a memory entry with memory_write and search with memory_search:

  • memory_write: printf '%s' '{"type":"note","content":"User prefers Python.","tags":["preference"]}' | memory/scripts/memory_write
  • memory_search: printf '%s' '{"q":"Python","limit":5}' | memory/scripts/memory_search

Frequently Asked Questions about memory

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I store and retrieve information across AI sessions without losing context?

Persist data across sessions using an append-only JSONL file that stores timestamped memory entries. Each line contains structured JSON with type, content, tags, and metadata, allowing you to write new entries with memory_write and search recent ones with memory_search using tail, grep, and jq for fast retrieval.

Can I search through past notes and facts efficiently without scanning the entire file?

Yes, memory_search queries recent entries by configuring a tail window and filtering with rg or grep and jq, returning only matching structured results. This approach focuses retrieval on relevant recent context rather than processing the full history.

What dependencies do I need to set up append-only memory storage?

You need only standard Unix tools: bash, jq for JSON processing, and rg or grep for pattern matching. The Skill writes to a single memory.jsonl file on disk with no database or external service required.

How do I format memory entries so they're searchable and structured?

Memory entries are single-line JSON objects containing ts (timestamp), type (note, fact, task, reminder), content (the data), tags (array for categorization), and optional meta fields. Pass this structure to memory_write, which appends it to memory.jsonl.

Is this approach suitable for long-term persistent storage across many sessions?

Yes, the append-only JSONL design preserves complete history while remaining lightweight and portable. Retrieval is optimized for recent context, making it practical for agents that need to recall preferences, facts, and tasks across extended timeframes.

What's the best way to organize memory by type and tags for quick lookup?

Structure entries with consistent type values (note, fact, task, reminder) and apply searchable tags that reflect content categories. memory_search queries both content and tags using jq filters, letting you retrieve specific entry types or tagged subsets efficiently.