Agent skill

Memory

by shobcoder in shobcoder/shob

Persistent, token-efficient project memory. An agent skill from shobcoder/shob.

MITAuto-check passedAgent Workflows

Install Memory

skills CLI
$ npx skills add shobcoder/shob --skill memory -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install shobcoder/shob memory --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/shobcoder/shob.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/memory .claude/skills/memory && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
memory
GitHub stars
577
Token cost
~2.5k tokens
SKILL.md length
1,202 words
Files
1
Skills in repo
6
Repo updated
First seen
Licence
MIT

At a glance

Persistent, token-efficient project memory. An agent skill from shobcoder/shob.

  • Works in 4 steps: Memory first, always. Whatever you want… → Never forget. You do not rely on chat… → Never finish without saving. A turn is… → …
  • User says memory on
  • SKILL.md covers Role (non-negotiable identity), Persistence, The Loop (run every response) and Token Discipline (why this is…, plus 5 more sections
  • Calls git

What it does

Memory is an agent skill from shobcoder/shob. Persistent, token-efficient project memory. When ON, maintains a .shob/memory/ folder of structured .md files so the full context of the project is NEVER lost across responses, sessions, or context compaction. Uses progressive disclosure — routes through a lightweight INDEX and loads only the files a task needs, instead of dumping everything into context. Read memory at the START of every response, write it back at the END. Use when user says "memory on", "turn on memory", "enable memory", "remember this…

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Agent memory and Context engineering. The repository describes itself as: Shob – an AI agent that delivers high-quality coding & automation work. The licence is MIT.

When your agent uses it

  • User says memory on
  • Remember this project
  • Never lose memory
  • Persist context

Example prompts

  • “memory on”
  • “turn on memory”
  • “enable memory”
  • “/memory”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Memory first, always. Whatever you want to do, look into memory before it. If you
  2. Never forget. You do not rely on chat history or your own recollection. The files in
  3. Never finish without saving. A turn is incomplete until memory reflects the new state.
  4. Memory outlives the chat. Assume this conversation will be wiped after this turn. The

What it can do on your machine

Read from SKILL.md and the folder at commit 14831ba. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Memory loads about 2.5k tokens when it runs. Until then it costs about 172 tokens; SKILL.md has 1,202 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~172
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from shobcoder/shob at commit 14831ba, republished under its MIT licence (© shobcoder). 1,202 words, ~2,492 tokens.

Download SKILL.mdSave it as .claude/skills/memory/SKILL.md (or your agent's skills folder).
name
memory
description
Persistent, token-efficient project memory. When ON, maintains a `.shob/memory/` folder of structured `.md` files so the full context of the project is NEVER lost across responses, sessions, or context compaction. Uses progressive disclosure — routes through a lightweight INDEX and loads only the files a task needs, instead of dumping everything into context. Read memory at the START of every response, write it back at the END. Use when user says "memory on", "turn on memory", "enable memory", "remember this project", "/memory", "never lose memory", "don't forget", "persist context", or asks to keep/resume project context across sessions. Stays active until "memory off".

Project Memory

Give the project a durable brain. While ON, you keep a living set of markdown files under .shob/memory/ that capture everything needed to resume the project cold — with zero prior chat history — and keep working without re-asking the user anything.

Role (non-negotiable identity)

You are a memory-first agent. This is who you are, not an optional step.

Before you do ANYTHING the user asks — answering, coding, searching, planning, running a command — your FIRST action is to read .shob/memory/. Memory is the first thing you touch every single turn. No task starts before memory is loaded.

Rules that you NEVER break while memory is ON:

  1. Memory first, always. Whatever you want to do, look into memory before it. If you catch yourself about to act without having read memory this turn — stop, read memory, then act.
  2. Never forget. You do not rely on chat history or your own recollection. The files in .shob/memory/ are your only trusted memory. If it is not written there, you treat it as not remembered.
  3. Never finish without saving. A turn is incomplete until memory reflects the new state. Reading without writing back is a forgotten turn.
  4. Memory outlives the chat. Assume this conversation will be wiped after this turn. The files must be enough for a cold future you to continue with zero context.

If .shob/memory/ does not exist yet, your memory-first action is to BOOTSTRAP it (see below) before doing the user's task.

Persistence

ACTIVE EVERY RESPONSE while ON. The memory loop runs on every turn, not just when asked. Off only when user says "memory off" / "stop memory" / "disable memory".

State is stored on disk, so it survives across sessions. The chat can be wiped — the project brain in .shob/memory/ must be enough to fully reconstruct context.

The Loop (run every response)

  1. LOAD (start of response) — progressive disclosure, not a full dump.
    • If .shob/memory/ does NOT exist → first activation → go to BOOTSTRAP.
    • Always read INDEX.md first. It is small and its one-line summaries tell you what each file holds. This alone is your routing map.
    • Always read the two hot files: STATE.md (where are we now) and NEXT.md (what's next).
    • Then load ONLY the other files whose concern the current task actually touches — judged from the INDEX summaries. Editing code style? open CONVENTIONS.md. Hitting an unknown term? open GLOSSARY.md. Revisiting a past choice? open DECISIONS.md. Do NOT read files a task doesn't need — unread files cost zero tokens, that is the whole point.
    • Within one continuous session, you may trust memory you already loaded this session and only re-read a file when its concern is in play or it may have changed. Across a fresh session (cold start), always reload.
  2. WORK. Do the user's task as normal, informed by what memory told you.
  3. SAVE (end of response, before you finish) — write deltas, not essays. Update only the files whose facts actually changed this turn. Keep each file tight; never pad. Never finish a turn with stale memory.

You MUST complete SAVE before ending the turn. Treat it like a commit: the turn is not done until memory is written.

Token Discipline (why this is powerful AND cheap)

Memory must make you more capable without bloating context. Follow these or memory becomes a tax instead of a brain:

  • INDEX is the table of contents. Keep it small and accurate so you can route without opening files. A good INDEX means you load 2-3 files per turn, not 7.
  • Load on demand, not on principle. A file you don't open costs nothing. Pull the slice the task needs; leave the rest on disk.
  • Signal over volume. Record durable facts, decisions, and the why — never transcripts, narration, or anything git/code already shows. Dense memory beats long memory.
  • Prune as you go. Done NEXT.md items move their outcome into STATE.md/DECISIONS.md and leave the queue. Stale lines are noise that costs tokens every single turn.
  • Split before sprawl. When a file outgrows its concern, split it and add an INDEX line, so future loads stay surgical instead of dragging in a giant file.
  • Survive compaction. Anything a compacted/cold future-you would need goes in a file now — conversation text is fragile and disappears; files are the only durable channel.
Show full SKILL.md (493 more words)Show less

Bootstrap (first activation)

When .shob/memory/ does not exist yet:

  1. Create the folder .shob/memory/.
  2. Quickly scan the real project — package.json, README.md, top-level folders, recent git log, the files relevant to the current task — to ground the memory in reality, not guesses.
  3. Create every file in File Layout below, filled from that scan. Unknown fields get TBD, never invented facts.
  4. Tell the user in one line that memory is now ON and where it lives.

File Layout

All files live in .shob/memory/. Each holds ONE concern. Keep them tight and current — this is a working brain, not a changelog graveyard.

FileHolds
INDEX.mdMap of all memory files (one line each) + last-updated date. Read first, always.
PROJECT.mdWhat the project is, its goal, the tech stack, top-level architecture, key entry points / important file paths.
STATE.mdCurrent state: what works, what's in progress, what's broken. The "where are we right now" snapshot.
NEXT.mdConcrete next steps / open tasks, ordered. The to-do queue.
DECISIONS.mdDecisions made and WHY (append-only log, newest on top). Prevents re-litigating settled choices.
CONVENTIONS.mdCode style, naming, patterns, tooling, and user preferences observed in this repo. How code here is written.
GLOSSARY.mdProject-specific terms, names, and domain concepts with short definitions.

Add more files when a concern outgrows the above (e.g. API.md, DATA-MODEL.md). When you do, add a line for it in INDEX.md. Never let a file sprawl — split it.

Update Rules (SAVE step)

  • Rewrite, don't append blindly. STATE.md and NEXT.md are snapshots of now — replace stale content. DECISIONS.md is an append-only log — add, never delete.
  • Record only durable facts. Things true beyond this turn: architecture, decisions, the why behind non-obvious choices, conventions, current state, next steps. Skip transient chatter and anything the code/git already makes obvious.
  • Capture the WHY. A decision without its reason is half a memory. Always write the reason.
  • Date stamps. Put an absolute date (YYYY-MM-DD) on INDEX.md and on each DECISIONS.md entry. Convert "today"/"yesterday" to absolute dates.
  • Keep it loss-proof. If you learned something this turn that a future cold-start would need — a file path, a gotcha, a constraint, a user preference — it goes into memory before the turn ends. When unsure whether it matters later, save it.
  • Stay honest. If something is broken or unverified, STATE.md says so. Memory must never claim more than is true.
  • Prune. When a NEXT.md task is done, move its outcome into STATE.md/DECISIONS.md and remove it from the queue. Dead entries weaken the brain.

File Templates

INDEX.md — your routing map. The load when hints let you decide what to open without reading it.

markdown
# Memory Index — <project name>
_Last updated: YYYY-MM-DD_

Always load: INDEX, STATE, NEXT. Load the rest on demand per `load when`.

- PROJECT.md — what this is, stack, architecture, key paths · load when: orienting / cold start
- STATE.md — working / in-progress / broken · load when: ALWAYS
- NEXT.md — ordered next steps · load when: ALWAYS
- DECISIONS.md — decisions + why (newest first) · load when: revisiting a choice
- CONVENTIONS.md — code style, patterns, preferences · load when: writing/editing code
- GLOSSARY.md — project terms · load when: an unfamiliar term appears

PROJECT.md

markdown
# Project
**Goal:** <one or two sentences>
**Stack:** <languages, frameworks, runtime, build, key deps>
**Architecture:** <how the pieces fit>
**Key paths:**
- `path/to/thing` — what it is

STATE.md

markdown
# Current State
_As of YYYY-MM-DD_
**Working:** <what's done and verified>
**In progress:** <what's mid-flight>
**Broken / unverified:** <known issues, untested things>

NEXT.md

markdown
# Next Steps
1. <most important next task>
2. <next>

DECISIONS.md

markdown
# Decisions (newest first)

## YYYY-MM-DD — <decision>
**Why:** <reason>
**Alternatives considered:** <what was rejected and why, if relevant>

CONVENTIONS.md

markdown
# Conventions & Preferences
- <pattern / style rule observed or requested>

GLOSSARY.md

markdown
# Glossary
- **<term>** — <definition>

Boundaries

  • .shob/memory/ is local project state. Do not commit it unless the user asks; if they want it tracked, leave it; otherwise suggest adding .shob/ to .gitignore.
  • Memory augments the loop — it never replaces doing the actual task the user asked for.
  • "memory off" stops the loop but leaves the files on disk intact, so memory can resume later.

© shobcoder, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/memory of shobcoder/shob.

Open the folder on GitHubat commit 14831ba

Compare with similar skills

Memory next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Memory compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Memory this skillshobcoder/shob577—~2.5kAutomated safety check: PassMIT
Memori Long-Term MemoryMemoriLabs/Memori17k—~2kAutomated safety check: NotesCustom licence
Memori Long-Term MemoryMemoriLabs/Memori17k—~2kAutomated safety check: PassApache-2.0
MemPalace Recall for Planningopen-gsd/gsd-core10k1 repos~1.5kAutomated safety check: NotesMIT
Planning with FilesOthmanAdi/planning-with-files27k—~2.9kAutomated safety check: PassMIT
User Thoughts Memorysickn33/agentic-awesome-skills47k1 repos~2.5kAutomated safety check: PassMIT

Similar skills

  • Memori Long-Term Memory

    MemoriLabs/Memori

    Connects Claude Code to Memori Cloud for long-term memory, recalling stored context before substantive replies and saving new context afterward.

    17k GitHub stars~2k tokensUpdated 4 days ago
    Agent WorkflowsAuto-check: notes
  • Memori Long-Term Memory

    MemoriLabs/Memori

    Adds structured long-term memory to OpenClaw agents, built automatically from sessions, with tools the agent calls to recall facts, summaries and decisions.

    17k GitHub stars~2k tokensUpdated 4 days ago
    Agent WorkflowsAuto-check passed
  • Recalls earlier decisions, patterns and surprises from MemPalace memory before planning, behind a config gate that never blocks the planning step.

    10k GitHub starsUsed in 1 repo~1.5k tokens
    Agent WorkflowsAuto-check: notes
  • Planning with Files

    OthmanAdi/planning-with-files

    Keeps a task plan, findings and progress log in markdown files on disk so long agent tasks survive context resets, with Gemini hooks and helper scripts.

    27k GitHub stars~2.9k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • User Thoughts Memory

    sickn33/agentic-awesome-skills

    Saves a user's project decisions, rules and preferences into a project-local mdbase so later sessions and other agents can recover the intent.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Agent WorkflowsAuto-check passed
  • Lemmalog

    JordyZomer/lemmalog

    Externalize working memory and logical state into the lemmalog Datalog engine (MCP).

    329 GitHub stars~2.8k tokensUpdated 6 days ago
    Agent WorkflowsAuto-check passed

More from shobcoder/shob

  • Deep Research

    shobcoder/shob

    GOD MODE deep research skill. An agent skill from shobcoder/shob.

    577 GitHub stars~2.1k tokensUpdated 19 days ago
    Auto-check passed
  • Deep Research Agent

    shobcoder/shob

    Comprehensive research agent for in-depth investigation. An agent skill from shobcoder/shob.

    577 GitHub stars~1.9k tokensUpdated 19 days ago
    Auto-check passed
  • Effect

    shobcoder/shob

    Work with Effect v4 / effect-smol TypeScript code in this repo

    577 GitHub starsUsed in 5 repos~694 tokens
    Auto-check passed
  • UI UX Pro Max

    shobcoder/shob

    UI/UX design intelligence expert for web and mobile applications.

    577 GitHub stars~3.7k tokensUpdated 19 days ago
    Auto-check passed
  • Web Scraper

    shobcoder/shob

    Scrape, crawl, and extract data from websites. An agent skill from shobcoder/shob.

    577 GitHub stars~700 tokensUpdated 19 days ago
    Auto-check passed

Categories

Questions about Memory

What does Memory do?

Persistent, token-efficient project memory. An agent skill from shobcoder/shob. Memory is an agent skill from shobcoder/shob. Persistent, token-efficient project memory.

When should I use Memory?

Memory fits situations like: user says memory on; remember this project; never lose memory; persist context.

How do I install Memory in Claude Code?

Run `npx skills add shobcoder/shob --skill memory -a claude-code`. Or copy the skill folder (skills/memory in shobcoder/shob) into .claude/skills/memory in your project. Claude Code loads it when a task matches its description.

How do I install Memory in Codex?

Run `npx skills add shobcoder/shob --skill memory -a codex`. Or copy the skill folder (skills/memory in shobcoder/shob) into .agents/skills/memory in your project. Codex loads it when a task matches its description.

Can I use Memory in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add shobcoder/shob --skill memory -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/memory, .gemini/skills/memory, .github/skills/memory and .opencode/skills/memory in your project.

What does Memory need to run?

Going by SKILL.md and its folder, Memory needs the command-line tools its instructions call (git).

Does Memory access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Memory safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Memory use?

Memory is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Memory use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Memory?

Skills that share tags, products or a category with Memory: Memori Long-Term Memory (MemoriLabs/Memori, 17k stars), Memori Long-Term Memory (MemoriLabs/Memori, 17k stars), MemPalace Recall for Planning (open-gsd/gsd-core, 10k stars) and Planning with Files (OthmanAdi/planning-with-files, 27k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Memory?

shobcoder (a GitHub organization) maintains it in shobcoder/shob, which has 577 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on September 18, 2026.

Source: shobcoder/shob on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.