Project memory recall
Skill 1101AlexZab1011/project-memory-mcp/project_memory_mcp/skills/project-memory-recall
Git-native persistent memory for AI coding agents via MCP. Store structured project knowledge as reviewable JSON files instead of a database.
npx -y skills add 1101AlexZab1011/project-memory-mcp --skill project-memory-recallAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use before or during a task when a similar project-specific bug, workflow, subsystem issue, debugging pattern, build problem, or implementation convention may have been solved before and stored in .project-memory.
SKILL.md
3.7 KB, 787 tokens by cl100k_base, as published. Nobody here has run it
Project Memory Recall
Use this skill to consult compact project-specific memories stored in .project-memory/.
The goal is to retrieve only relevant prior lessons that may speed up the current task. Do not load the whole memory store unless it is tiny or there is no better option.
Memory Store
Memory files are JSON files under:
.project-memory/active/
A lightweight index may exist at:
.project-memory/INDEX.json
A canonical label registry may exist at:
.project-memory/labels.json
Each memory has structured labels for cheap cluster retrieval, plus short description and triggers fields for relevance checks inside that cluster.
Prefer the project-memory MCP server when available. Use manual JSON/index inspection only when MCP tools are unavailable.
When To Use
Use when the current task appears similar to a previous project-specific issue, such as:
- repeated bug symptoms;
- familiar subsystem confusion;
- build, packaging, deployment, or test workflow issues;
- errors that may have been diagnosed before;
- project conventions that are easy to forget;
- user phrases like "we solved this before", "this happened again", "recall memory", or "check project memory".
Do not use for generic programming questions unless the task clearly depends on project-specific knowledge.
Workflow
-
Use MCP first when available.
- Call
list_labelsto inspect canonical labels when the needed cluster is unclear. - Call
search_memorieswithlabel_queryusingall/any/notor a string expression withAND,OR,NOT. - Use broad
OR/anyqueries for vague symptoms and preciseAND/allqueries for specific subsystem/context matches. - Only call
get_memoryfor selected lightweight results. - When a selected memory is useful but may have related context, call
get_memory_neighborhoodwith a boundeddepthandmax_nodes.
- Call
-
If MCP is unavailable, locate the memory store.
- Prefer
.project-memory/INDEX.jsonif it exists. - Otherwise inspect
.project-memory/active/*.json.
- Prefer
-
First pass: inspect only lightweight fields.
idstatusdescriptionlabelstagsscopetriggers
-
Ignore memories with these statuses unless needed for history:
wrongsuperseded
-
Select only directly relevant memories. Relevance requires overlap with at least one of:
- same subsystem;
- same workflow;
- same error symptom;
- same files or modules;
- same build/runtime context;
- same project convention;
- same misleading assumption.
-
Read full content only for selected memories. Use:
remembered_factssolution_patternpitfallsevidencerelationships
-
Apply memory cautiously.
- Treat memory as guidance, not authority.
- Current code, tests, logs, and build output override memory.
- If current evidence contradicts memory, mention the contradiction and continue using current evidence.
-
When memory materially affects the task, briefly state which memory was used and what it contributed.
-
If a memory appears stale, wrong, misleading, or incomplete, remember that after the task is resolved the
project-memory-rememberskill may need to update it.
Output Behavior
If useful memories are found, say briefly:
Using project memory: <id> - <one-sentence reason>
If no useful memory is found, do not make a long report. Continue with the task normally.