100% local · open source · agent-ready

The simplest memory engine —
for you and your agents.

No servers. No SDKs. No complexity. Just save anything, recall it with natural language. Works for humans in the terminal and for AI agents as a skill.

$ curl -fsSL https://yaad.knl.co.in/install.sh | bash copy
Get started → View on GitHub
memory — zsh
── save once ────────────────────────
yaad add "claude session for db migration: 3fa2c891-7b4e....."
saved  [fact]
yaad add "prod needs VPN + bastion-01.internal"
saved  [note]
── recall anytime ───────────────────
yaad ask "claude session for db migration?"
3fa2c891-7b4e-4d1a-9f3c-2e8b5a6d0c19
agent session — claude code
── install once ─────────────────────
npx skills add kunalsin9h/yaad -g
✓ yaad skill installed globally
── agent recalls across sessions ─────
/yaad "what's the prod db setup?"
postgres on port 5433
host: db.internal, ssl required
── agent saves discoveries ───────────
/yaad add "deploy: always run migrations first"
saved  [note]
yaad add "deploy prod at 3pm" --remind "in 2h" · yaad ask "what's the staging db port?" · yaad add "api reference: https://docs.example.com/api" · yaad list --remind · yaad ask "any pending reminders for today?" · yaad add "submit PR for review" --remind "tomorrow 9am" · yaad add "deploy prod at 3pm" --remind "in 2h" · yaad ask "what's the staging db port?" · yaad add "api reference: https://docs.example.com/api" · yaad list --remind · yaad ask "any pending reminders for today?" · yaad add "submit PR for review" --remind "tomorrow 9am" ·
features

Everything you need,
nothing you don't.

Query-first memory that stays local and fits how developers actually work.

recall

Query-first memory

Ask in plain English. Local embeddings + LLM reasoning find what you saved, even weeks later.

privacy

Fully local & private

All AI runs via Ollama on your machine. No cloud, no accounts, no data leaving your laptop.

reminders

Smart reminders

Say "in 30 minutes", "tomorrow 9am", or "Friday 3pm" — yaad pings you right in the terminal.

context

Rich metadata

Every memory captures context, cwd, hostname, and timestamp. AI auto-detects type and tags.

resilience

Offline-safe

Memories save even when Ollama is down. AI enrichment degrades gracefully, never blocking saves.

architecture

Ports & Adapters

Swap storage, AI provider, or notifier by implementing a single interface.

for agents

Give your agents a memory.

yaad ships as an Agent Skill — one command to wire persistent local memory into Claude Code, Cursor, Codex, and 39+ agents that support the open skills standard.

quick install

Add to your agent

Install the yaad skill globally — available in every project and agent session.

# install globally (recommended)
npx skills add kunalsin9h/yaad -g

# or project-scoped
npx skills add kunalsin9h/yaad
agent usage

Your agent now remembers

Agents recall prior context, save discoveries, and set reminders — across every session.

# recall
/yaad "what's the staging db setup?"

# save
/yaad add "nginx config at /etc/nginx/sites-enabled/app"

# remind
/yaad add "review PR #42" --remind "tomorrow 9am"

Compatible with any agent that supports the open Agent Skills standard — Claude Code, Cursor, Codex CLI, Gemini CLI, and more. All memory stays on your machine.

reminders

Remind yourself, in the terminal.

Set a reminder while saving — yaad surfaces it right in your terminal when it's due.

# set a reminder while saving
yaad add "book conference ticket" --remind "in 30 minutes"
yaad add "deploy to prod" --remind "tomorrow 3pm"
yaad add "submit PR for review" --remind "Friday 9am"
your terminal — 30 minutes later
git push origin main
Everything up-to-date
ls -la
total 48 drwxr-xr-x ...
  ┌─────────────────────────────┐
  │ yaad · reminder              │
  │                             │
  │  book conference ticket     │
  │  due: now                    │
  └─────────────────────────────┘

Two ways to surface reminders — pick what fits your workflow.

recommended

Inline — PROMPT_COMMAND

Reminders surface in your terminal on every prompt. No background process needed.

# ~/.bashrc
export PROMPT_COMMAND="yaad check; $PROMPT_COMMAND"

# ~/.zshrc
precmd() { yaad check }
systemd

Background daemon

Install as a systemd user service. Desktop notifications via notify-send.

yaad daemon install
systemctl --user enable --now yaad

# check status
systemctl --user status yaad

Learn more in the reminders documentation →

usage

A command for every moment.

Five memory types, auto-detected by AI: command · note · url · fact · reminder

yaad add

Save anything. Include context right in the content — AI finds it later. --remind schedules a terminal nudge, --tag for filtering.

yaad add "backend infra: staging db port is 5433"
yaad add "submit PR for review" --remind "tomorrow 9am"
yaad add "prod login: ssh -i ~/.ssh/id_rsa user@prod"
yaad add "https://api.docs.com" --tag reference
yaad ask

Query in plain English. LLM reasons over semantic search results to give a direct answer.

yaad ask "what is the staging db port?"
yaad ask "do I have anything due today?"
yaad ask "how do I log into prod?"
yaad list

Browse recent memories. Filter by type, tag, or show only pending reminders.

yaad list
yaad list --type reminder
yaad list --tag staging
yaad list --remind          # only due reminders
yaad get <id>

Show full details — content, type, tags, working dir, hostname, created time. Accepts 10-char ULID prefix.

yaad get 01JTXK4A3B
yaad delete / clean

Remove one memory by ID, or wipe everything at once. Both prompt for confirmation; skip with -y.

yaad delete 01JTXK4A3B
yaad delete 01JTXK4A3B -y   # skip prompt
yaad clean                  # delete all
yaad config

Manage ~/.yaadrc. Override Ollama URL, models, notifier, and reminder poll interval.

yaad config init
yaad config set ollama.chat_model llama3.2:3b
yaad config list
open source

Memory for you.
Memory for your agents.

Simple. Local. Open source. MIT licensed.

$ curl -fsSL https://yaad.knl.co.in/install.sh | bash copy
$ npx skills add kunalsin9h/yaad -g copy