memory
Skill4 starsChanged 48 days agoMITView on GitHub
Capture and retrieve durable project memory the right way -- and, when the graph backend is enabled, use temporal knowledge-graph memory. Reach for this whenever you are about to write down a lasting fact, decision, convention, or gotcha ("remember that...", "note for later", "save this"), or when you need to recall what was learned before ("what did we decide about X", "have we seen this"). It explains WHEN to use `forge remember` / `forge recall` versus a per-issue `forge issue comment`, how the two public backends work (local JSONL default, opt-in Graphiti; kernel is internal-only), and -- when Graphiti is enabled -- how to add episodes and search facts via the graphiti-memory MCP tools (add_memory, search_memory_facts, search_nodes) with group_id scoping and provenance. The local backend is always the offline floor. Not for: issue create/list/close ops (issue-basics), workflow status (status), or transient scratch notes.
99 other projects use a version of this.
Adopted by
Most recently taken up by
- jaydubya818/ClaudeClaw-Mission-Controltheir own version, first seen Nov 8, 2026
- naman10parikh/pennytheir own version, first seen Nov 8, 2026
- NaturNestAI-Labs/beings-protocoltheir own version, first seen Nov 8, 2026
- maxtechera/memorytheir own version, first seen Nov 8, 2026
- wubinKKK/private-ai-workbenchtheir own version, first seen Nov 8, 2026
- shetengteng/skillix-hubtheir own version, first seen Nov 8, 2026
Used with
Projects with it also use ecosystem-reference, fractal-delegation and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
naman10parikhSkillecosystem-reference
Quick-access directory of Claude Code ecosystem repos, skills, plugins, MCPs, and patterns. Use when improving the harness.
Also in 5 projects that use this
naman10parikhSkillfractal-delegation
Also in 5 projects that use this
Maliot100XSkillsend-user-message
Send a proactive message to a paired user via their channel (Discord, Telegram, or WhatsApp). Use when the agent needs to notify, alert, or send an unsolicited message to a user — especially during heartbeat invocations, scheduled tasks, or when the agent wants to reach out without a prior user message in the current conversation. Triggers: 'send message to user', 'notify user', 'alert user', 'message the user on discord/telegram/whatsapp', or any need to proactively communicate with a paired sender.
Also in 4 projects that use this
jh941213Skilldocs-ci
문서 CI(링크·OpenAPI lint·breaking 게이트·mermaid 검증)나 문서 드리프트 감지(docs.yaml 신선도 검사)를 설치하거나 돌릴 때 사용. 문서 내용 작성은 docs-architecture·docs-interfaces·docs-manuals.
Also in 3 projects that use this
jh941213Skilldocs-interfaces
API·이벤트 인터페이스 문서(OpenAPI·swagger·AsyncAPI 명세, 엔드포인트 레퍼런스, API 구성도·시퀀스, API CHANGELOG)를 만들거나 코드와 맞출 때 사용. 시스템 구성도는 docs-architecture, API 설계 원칙은 api-design-principles.
Also in 3 projects that use this
- +6 more from naman10parikh
- +1 more from jh941213
Other versions99 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 99
- google-gemini/gemini-cli★ 109ksame name
- jlia0/tinyclaw★ 3.6ksame name
- TinyAGI/tinyagi★ 3.6ksame name
- TinyAGI/tinyclaw★ 3.6ksame name
- Chachamaru127/claude-code-harness★ 3.2ksame name
- codeaholicguy/ai-devkit★ 1.7ksame name
- Muuuun/luxas★ 1.2ksame name
- shobcoder/shob★ 575same name
- boshu2/agentops★ 453same name
- makushingu/harness-maxxing★ 161same name
89 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository51 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .cursor/rules/permissions-guidance.mdcCursor rule
- claim-safetySkill
- devSkill
- gatesSkill
- hermes-forgeSkill
- issue-basicsSkill
- kernelSkill
- parallel-deep-researchSkill
- planSkill
- portabilitySkill
- researchSkill
- reviewSkill
- rollbackSkill
- setupSkill
- shepherdSkill
- shipSkill
- smithSkill
- sonarcloud-analysisSkill
- sonarcloudSkill
- statusSkill
- triage-readySkill
- using-forgeSkill
- validateSkill
- verifySkill
- worktreeSkill
- claim-safetySkill
- devSkill
- gatesSkill
- hermes-forgeSkill
- issue-basicsSkill
- kernelSkill
- memorySkill
- parallel-deep-researchSkill
- planSkill
- portabilitySkill
- researchSkill
- reviewSkill
- rollbackSkill
- setupSkill
- shepherdSkill
- shipSkill
- smithSkill
- sonarcloud-analysisSkill
- sonarcloudSkill
- statusSkill
- triage-readySkill
- using-forgeSkill
- validateSkill
- verifySkill
- worktreeSkill
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 2 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 82 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 47
Search first; do not re-derive knowledge the project already recorded.
- Very specific: line 70
Check the active backend with forge doctor — it reports the memory backend and, for graphiti, whether the configured MCP server path is …
- Very specific: line 83
When enabled and the graphiti-memory MCP server is wired into your agent, use its tools directly:
- Very specific: line 99
If graph memory is unreachable or unconfigured, fall back to forge remember (local) — never lose the note.
- Distinctive: line 105
Write atomic facts, not essays — one decision or gotcha per note.
“Common” is measured: kept by at least 6 in 10 of the 82 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Memory
Durable project memory for agents. This skill teaches you where a fact belongs, which backend is active, and how to use graph memory when it is enabled.
Applies to: Forge-managed memory
This skill describes memory managed by Forge's own store — forge remember /
forge recall, whose backend the Backends section (below) explains. If the repo you are working in ships
its own memory system (a database, an API, a "log a decision" surface, an
in-app memory service), that system is authoritative here and this skill does
not apply — follow the repo's own memory instructions instead. When unsure, prefer
the host repo's memory over forge remember; a note written to the wrong store is
a note nobody finds.
The one rule
Persistent, project-level knowledge goes to forge remember — never to a
MEMORY.md file, never to a scratch note that dies with the session. Retrieve it
with forge recall. Both verbs route through one backend router; the default
is a local file store, so they always work offline with zero setup.
When to use what
forge remember "<note>"— a lasting fact that outlives this issue: a convention, a decision and its rationale, a non-obvious gotcha, an environment quirk, a "we tried X, it failed because Y". Add--tag <label>for retrieval.forge recall "<query>"— before assuming, check what is already known. Search first; do not re-derive knowledge the project already recorded. Note that memory relevant to your current prompt may already be injected automatically (a per-turn hook surfaces the best-matching notes; silent when nothing clears the relevance bar). Treat auto-surfaced memory as a head start, and stillrecallexplicitly when you need to search for something specific it did not surface.forge issue comment <id> "<note>"— progress or context that belongs to ONE issue's lifecycle (status, a blocker, a hand-off). Issue-scoped, not global.- Rule of thumb: would a future session on a different issue want this? →
remember. Is it only meaningful inside this issue? →issue comment.
Backends (config: memory.backend in .forge/config.yaml)
The router picks a backend; remember/recall behave the same from your side.
The public backends are exactly two:
local(DEFAULT) — flat JSONL at.forge/memory/notes.jsonl. Instant, offline, no dependencies, travels with the repo in git. This is the floor and is always available.graphiti— opt-in temporal knowledge graph served to agents over MCP. Richer recall (relational, temporal, provenance-tracked) but needs a graph DB and an LLM. See "Graph memory" below. When selected, the CLI still writes to the local store as a safety floor; the graph is consumed by agents via MCP.
Check the active backend with forge doctor — it reports the memory backend and,
for graphiti, whether the configured MCP server path is present (read-only,
non-fatal).
Graph memory (when memory.backend: graphiti)
Graphiti turns notes into a bi-temporal knowledge graph: you add episodes (text/JSON), an LLM extracts entities (nodes) and facts (edges), and every fact keeps two timelines — when it was true in the world and when the system learned it. Superseded facts are invalidated, not deleted, so you can ask "what is true now" or "what was true at time T", with a pointer back to the source episode (provenance).
When enabled and the graphiti-memory MCP server is wired into your agent, use
its tools directly:
add_memory— record a durable fact/decision as an episode. Pass a clearname, the content, and the projectgroup_id(namespaces one project's memory). Ingestion is LLM-backed, so treat it as async — confirm it queued, don't block on it. Prefer this for facts that evolve (status, ownership, versions, preferences).search_memory_facts— retrieve relationships/facts (edges) for a query, with validity windows. Use this before assuming a fact; it returns current truth plus history.search_nodes— find entities (people, services, components) and their summaries.- Scope every call with the project's
group_idso memory stays per-project. - Respect provenance: facts trace back to episodes — cite them when it matters.
If graph memory is unreachable or unconfigured, fall back to forge remember
(local) — never lose the note. forge doctor surfaces a clear error when the
graphiti backend is selected but not configured.
Good memory hygiene
- Write atomic facts, not essays — one decision or gotcha per note.
- Include the why, not just the what (rationale ages better than commands).
- Tag consistently so recall is precise.
- Recall before you act on an assumption; record after you learn something.
Setup pointers
- Local is the default — nothing to install.
- To opt into graph memory: set
memory.backend: graphiti(plus amemory.graphitiblock) in.forge/config.yaml, then run FalkorDB + the Graphiti MCP server. Wiring the server into each agent's MCP config is a follow-up step. Full how-to (graph DB, LLM/embedder, privacy/cost):docs/guides/memory-backends.md. Design rationale:docs/work/2026-07-06-graphiti-memory/research.md.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

