Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/Morrison-Lab/ai-config --skill consolidate-memory명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | consolidate-memory |
| description | Merge redundant memories. |
| user-invocable | true |
| allowed-tools | ["Bash","Read","Write","Edit","Glob","Grep"] |
The memory corpus (the topical files indexed in memories/MEMORY.md, plus
per-repo entries in ~/.claude/projects/<path>/memory/)
accretes near-duplicates: two sessions each record the same lesson in different
words, or a fact lands in both a general file and a repo-specific one. This skill collapses a
genuine-duplicate cluster into one canonical entry — unioning the facts and
repointing any cross-links — so the corpus shrinks but no fact and no
[[link]] breaks.
It is the memory-corpus complement of consolidate-skills: same shape, different
data model. The key difference is that memories are not invoked by name, so
there is no alias stub to leave behind — a redundant entry is removed after its
unique content is folded into the survivor. The detection half — finding and
classifying the overlap — is delegated to find-overlap; this skill adds the
merge action on top.
/consolidate-memory.find-overlap run over memories/ reports a genuine-duplicate cluster.Most "overlap" is not a duplicate. Before merging anything, classify each cluster into exactly one of three buckets:
preferences.md and a concrete instance of it in a repo's project memory
(~/.claude/projects/<path>/memory/) is deliberate — the general file states the
principle, the repo file pins the specifics. Collapsing them loses either the
generality or the specifics. Tell: the entries live in different scope files
and one is the named application of the other.tools.md bullets about the same tool but covering
different flags). Merging them buries one fact inside another. If they should
point at each other, add a [[link]] — don't merge.If you can't articulate what fact would be lost by keeping only one, it's a duplicate. If you can, it isn't.
find-overlapDon't re-implement the audit; run find-overlap with scope memories/. It
gathers every entry across the memory files, clusters by shared subject, reads
the surrounding text, and returns each cluster already sorted into the three
buckets above (with a recommended disposition). Work from its report.
If find-overlap is unavailable, fall back to its inline pass — list the
headings/bullets across memories/*.md and per-repo project memories
(~/.claude/projects/*/memory/), cluster by subject, then read the full
surrounding context of every member before classifying.
From find-overlap's report, act only on bucket 3. Leave intentional scope
layering (bucket 1) untouched, and add a [[link]] to adjacent-but-distinct
clusters (bucket 2) only if they want one — never a merge.
Like consolidate-skills and heal-skill, do not mutate before the user signs
off. Present, per cluster:
memories/MEMORY.md); a repo-specific fact belongs in that repo's
Claude project memory (~/.claude/projects/<path>/memory/). State why.[[link]] pointing at an absorbed entry's topic
(see step 6).In the chosen scope file:
## section, heading style,
terseness) so it reads like its neighbors.record-learnings.Delete the now-redundant copies. Unlike consolidate-skills, there is no
alias stub — nothing invokes a memory by name, so a removed entry leaves no
dangling invocation. Only the survivor remains. Never delete a whole memory
file unless consolidation empties it.
A merged-away entry may be referenced by a [[name]] cross-link. List every
[[...]] use across the memory files and skill bodies, then repoint any that
pointed at an absorbed entry at the surviving canonical:
grep -rn "\[\[" memories/ skills/*/SKILL.md CLAUDE.md \
~/.claude/projects/*/memory/ 2>/dev/null
If you also named the absorbed entry in prose, grep that distinctive text and repoint it too. Don't leave a reference resolving to an entry you removed.
python3 scripts/validate-skills.py # this skill's own frontmatter must pass
python3 scripts/check-links.py # no broken relative links
Memories live in the ai-config repo — never leave changes local-only. Branch +
PR (not direct to main), request the repository owner as reviewer (request-pr-review),
then ARDI to clean (ardi).
git checkout -b consolidate-memory-<topic> origin/main # CREATE_BRANCH
# build the canonical entry, remove the absorbed copies, repoint links
git add memories/<file>.md # only the files you touched — never a bare
# `git add memories/` (sweeps in unrelated edits) or `git add -A`
git commit -m "memories: consolidate <topic> duplicates into one canonical entry" # COMMIT
git push -u origin HEAD && gh pr create --fill # PUSH + CREATE_PR
find-overlap — the read-only detector this skill delegates its audit to;
it finds and classifies the overlapping memory clusters, consolidate-memory
merges the genuine duplicates. (find-overlap : consolidate-memory :: pr-status
: ardi.)consolidate-skills — the same operation for the skills corpus. The
difference: skills preserve every invocation name via alias stubs;
consolidate-memory removes the redundant entry outright (memories aren't
invoked).memorize / record-learnings — they write memory entries; this merges
the redundant ones they accumulate. Step 3's "check existing notes" in those
skills prevents most duplicates; this is the cleanup when one slips through.link-skills — the skills-corpus analogue: for adjacent-but-distinct
skills that should cross-reference each other but not merge. For memory
cross-links, add the [[link]] manually (as step 2 describes) — link-skills
only scans skills/*/SKILL.md.[[link]].git add -A / a bare git add that sweeps in unrelated in-flight edits —
stage only the memory files you touched.