返回技能列表

prune-agent-memory

pjt222
更新于 Yesterday
2 次查看
17
2
17
在 GitHub 上查看
其他general

关于

This skill prunes and manages Claude's agent memory by identifying stale or low-value memories based on type, age, and access frequency. It uses decision trees to select memories for deletion and includes safeguards like anti-recurrence inoculation to prevent regeneration of removed content. Use it when memory files become large, project context has significantly changed, or memory quality has degraded to maintain optimal agent performance.

快速安装

Claude Code

推荐
主要方式
npx skills add pjt222/agent-almanac -a claude-code
插件命令备选方式
/plugin add https://github.com/pjt222/agent-almanac
Git 克隆备选方式
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/prune-agent-memory

在 Claude Code 中复制并粘贴此命令以安装该技能

技能文档

修剪劑之憶

審、分、擇之忘儲憶。憶為基設。忘為策。此技定策。

manage-memory 焦於組織與長憶(何留、如何結構),此技焦於反:何棄、如何測朽、如何確忘為刻意非偶然。二技互補,定期維時當共用。

用時

  • 憶文已長大而無人審其關
  • 項狀已大變(大重構、庫重命、里程碑畢)而憶或引陳脈
  • 取質衰——憶生噪非訊
  • 突發後生多憶條而未理
  • 排定維任(如每 10-20 會或項里程碑)
  • 多憶條涵同題附微異(重複漂)
  • 將承憶脈之新協者前
  • 棄一策或模而其觸條件仍存後——以接種防再生勝賴於刪

  • 必要:憶目之徑(常 ~/.claude/projects/<project-path>/memory/)
  • 可選:留策覆(如「諸關部署皆留」、「激修除錯注」)
  • 可選:上審以來知之項狀變(如「庫已重命」、「自 Jest 遷至 Vitest」)
  • 可選:往修剪審跡為趨析

第一步:列並分憶

讀諸憶文並各條依四維分。

# Inventory the memory directory
ls -la <memory-dir>/
wc -l <memory-dir>/*.md

# Count total entries (approximate by counting top-level bullets and headers)
grep -c "^- \|^## " <memory-dir>/MEMORY.md
for f in <memory-dir>/*.md; do echo "$f: $(grep -c '^- \|^## ' "$f") entries"; done

各憶條分為下型之一:

TypeDescriptionExampleDefault retention
ProjectFacts about project structure, architecture, conventions"skills/ has 310 SKILL.md files across 55 domains"Keep until verified stale
DecisionChoices made and their rationale"Chose hub-and-spoke over sequential for review teams because..."Keep indefinitely
PatternDebugging solutions, workflow insights, recurring behaviors"Exit code 5 means quoting error — use temp files"Keep until superseded
ReferenceLinks, version numbers, external resources"mcptools docs: https://..."Keep until verified stale
FeedbackUser preferences, corrections, style guidance"User prefers kebab-case for file names"Keep indefinitely
EphemeralSession-specific context that leaked into persistent memory"Currently working on issue #42"Prune immediately

各條另注:

  • :何時書或末更?
  • 取頻:此條於近會有用乎?(依題與近作之關估之)

得:完之列,每憶條皆依型、齡、取頻分。瞬條已標待即除。

敗則:若憶文過大或不結構不能逐條分,於節級行。分整節非個別點。目為涵,非粒。

第二步:測朽

對當前項狀比憶聲。朽為憶衰之最常形。

察此朽之模:

  1. 計漂:文、技能、劑、域、隊員之計變
  2. 徑漂:移、重命、刪之文、目、URL
  3. 狀漂:仍述為開或進中之狀(解之議、畢之里程、合之 PR)
  4. 決反:後被覆然原因仍於憶之決
  5. 具/版漂:版號、API 簽、具名變(如包重命)
# Spot-check counts against source of truth
grep -oP '\d+ skills' <memory-dir>/MEMORY.md
grep -c "^      - id:" skills/_registry.yml

# Check for references to files that no longer exist
grep -oP '`[^`]+\.(md|yml|R|js|ts)`' <memory-dir>/MEMORY.md | sort -u | while read f; do
  path="${f//\`/}"
  [ ! -f "$path" ] && echo "STALE: $path referenced but not found"
done

# Check for references to old names/paths
grep -i "old-name\|previous-name\|renamed-from" <memory-dir>/*.md

各陳條以朽之型與當前正值標。

得:附特定變證之陳條列。各陳條附建動:更(若知正值)、驗(若不確)、修(若全條已廢)。

敗則:若不能驗某聲因引外狀(API、第三方文、部署狀),標為 unverifiable 而非假其正。未驗條若非積極有用為修候。

第三步:行真實察

試憶於取時是否仍生有用脈。此為最難步因劑不能驗其自之壓憶是否忠——需外錨。

真實察法:

  1. 往返驗:讀一憶條,後察其述之實項狀。憶導汝至正文、正模、正結乎?

  2. 壓損測:對原源料比憶要。50 行論壓為 2 行憶時,壓保可行洞察或唯題標?

    # Find the source that a memory entry was derived from
    # (git log, old PRs, original files)
    git log --oneline --all --grep="<keyword from memory entry>" | head -5
    
  3. 矛盾掃:搜互矛或與 CLAUDE.md / 項文矛之憶。

    # Look for potential contradictions in counts
    grep -n "total" <memory-dir>/MEMORY.md
    grep -n "total" CLAUDE.md
    # Compare the values — they should agree
    
  4. 效用試:對各憶條問:「若此條刪,下 5 會何誤?」若答「或無」,此條真值低不論其準。

得:諸憶條今有真實評:(驗準且有用)、(或準、偶有用)、(未驗或罕用)、(驗不準或矛)。

敗則:若多條真實察不決,焦於最高潛影響之條。誤項架憶險於誤除錯訣憶。優察骨級事勝肉級細。

第四步:施擇刪

依優先序用此決樹定何修:

Pruning Decision Tree (apply in order):

1. EPHEMERAL entries (Step 1 classification)
   → Delete immediately. These should never have been persisted.

2. FAILED fidelity entries (Step 3)
   → Delete immediately. Inaccurate memories are worse than no memories.

3. DUPLICATES
   → Keep the most complete/accurate version, delete others.
   → If duplicates span MEMORY.md and a topic file, keep the topic file version.

4. STALE entries with known corrections (Step 2)
   → UPDATE if the entry is otherwise useful (change the stale value to current).
   → DELETE if the entire entry is obsolete (the topic no longer matters).

5. LOW fidelity, low access frequency entries
   → Delete. These are taking space without providing value.

6. MEDIUM fidelity entries about completed/closed work
   → Archive or delete. Past sprint details, resolved incidents, merged PRs.
   → Exception: keep if the resolution contains a reusable pattern.

7. REFERENCE entries with freely available sources
   → Delete if the reference is a Google search away.
   → Keep if the reference is hard to find or has project-specific context.

各刪皆記條、其分、刪因(用於第七步)。

施此樹之任刪動前,察其條是否值接種(第五步)。敗策、棄法、險模為刪加接種之候,非唯刪。

得:明列:欲刪、欲更、欲留之條——各附記之因。留/刪之比依憶健;維良憶或修 5-10%,棄者或修 30-50%。

敗則:若決樹於多條生模糊果,施緊濾:「今知所知,今日仍書此條乎?」若否,為刪候。傾向修——重學一事易於繞誤憶。

第五步:施反憶接種以防模再生

某棄結不可安刪。唯刪敗於生憶之條件仍存時——系自同入沿同推路重建已刪之憶。為此類,書一反憶以防再生,與刪並行(或代刪)。

決規——唯刪、刪加接種、唯接種:

憶類
陳事、過時指、失效脈唯刪取之清;若再生無行險
敗策、險模、棄法而觸條件仍存刪加接種否則推路將再生其結
後被覆然原因仍要之決唯接種留原條;加 SUPERSEDED 反憶指之

SUPERSEDED 記式(auto-memory 之 frontmatter;構可隨他憶系改):

---
name: superseded-<short-id>
description: Counter-memory preventing re-derivation of <pattern>
type: superseded
---

SUPERSEDED <YYYY-MM-DD>
Pattern: <what was tried — describe the conclusion or strategy>
Period: <start> to <end>
Evidence: <what happened — concrete data, not narrative>
Abandonment reason: <specific cause; not "did not work">
Do not re-derive from: <signal types or input patterns that previously led here>
Supersedes: <path to original memory if delete + inoculate, or N/A>

置 SUPERSEDED 記為憶目中自之文(如 superseded_strategy_X.md),使其於取時與活憶並現。反憶乃變之施機:類觸至時,SUPERSEDED 記浮現而阻再生之路。

何時不接種:

  • 微小陳事(再生無行險)
  • 原觸條件已不存之憶(重命已畢、依已去、隊已散)
  • 於新證下值再推之決(其策或於未來態合宜,當再評)

接種衛生:

  • PatternDo not re-derive from 當特。模糊反憶(「勿試繁解」)為噪。
  • 注 SUPERSEDED 條之日。老接種或自陳若底條件變——其入下修週期為察候。
  • 各棄模一 SUPERSEDED。勿鏈多棄為一反憶;取質衰。
  • 加 SUPERSEDED 文徑於修剪記中,與刪記並,使審跡載動之兩半。

得:第四步每涉棄策或險模之刪候,皆於原條刪前立應之 SUPERSEDED 反憶文。修剪記載刪與接種。活憶仍精,而再生路已阻。

敗則:若不確一條是否值接種,默接種。冗 SUPERSEDED 記費少;再生惡模費甚多。若 SUPERSEDED 列大至自為噪,此乃察上游條件生重複棄之訊——修在入層,非憶層。

第六步:施先濾

定「何不存」之規以防未來憶污。察既憶尋當寫時應濾之模。

永不當為持久憶之模:

PatternWhyExample
Session-specific task stateStale by next session"Currently debugging issue #42"
Intermediate reasoningNot a conclusion"Tried approach A, didn't work because..."
Debug output / stack tracesEphemeral diagnostic data"Error was: TypeError at line 234..."
Exact command sequencesBrittle, version-dependent"Run npm install [email protected] && ..."
Emotional/tonal notesNot actionable"User seemed frustrated"
Duplicates of CLAUDE.mdAlready in system prompt"Project uses renv for dependencies"
Unverified single observationsMay be wrong"I think the API rate limit is 100/min"

若既憶有此模,加之第四步刪列。

記濾規於 MEMORY.md 或 retention-policy.md 題文,未來會於書新憶前可參。

得:記於憶目之先濾規集。任既條合此模者標待刪。

敗則:若記濾規覺早(憶小、污微),略記而仍施濾以捕既違。規後可正規化,憶目較熟時。

第七步:書審跡

記每刪以使忘本身可審。立或更修剪記。

<!-- In <memory-dir>/pruning-log.md or appended to MEMORY.md -->

## Pruning Log

### YYYY-MM-DD Audit
- **Entries audited**: N
- **Entries pruned**: M (X%)
- **Entries updated**: K
- **Staleness found**: [list of stale patterns detected]
- **Fidelity failures**: [list of entries that failed verification]

#### Deletions
| Entry (summary) | Type | Reason |
|-----------------|------|--------|
| "Currently working on issue #42" | Ephemeral | Session-specific, stale |
| "skills/ has 280 SKILL.md files" | Project | Count drift: actual is 310 |
| "Use acquaint::mcp_session()" | Pattern | Package renamed to mcptools |

修剪記簡。為責,非考古。若記自長大,要早條:「2025:3 審、47 總條修(多計漂與瞬漏)」。

得:時戳修剪記條,記何刪何因。記存於憶目,與憶同處。

敗則:若立分文覺過(唯 1-2 條修),加簡注於 MEMORY.md:<!-- Last pruned: YYYY-MM-DD, removed 2 stale entries -->。任記勝默刪。

第八步:指護憶

某憶條當免於修,不論齡、取頻、真實分。其代不可替之脈,若失需大力以重立。

護憶之準

CategoryExamplesWhy protected
Architecture decisions"Chose flat skill directory over nested"Rationale is lost if re-derived later
User identity preferences"Always use kebab-case," "Never auto-commit"Explicit user intent, not inferrable
Security audit results"Last audit: 2025-12-13 — PASSED"Compliance evidence with timestamps
Rename/migration records"Repo renamed: X to Y on date Z"Cross-reference integrity depends on this

指法:護條內聯標 <!-- PROTECTED --> 或於修剪記維 protected 列。第四步決樹必於施任刪規前察護狀。

解護:欲修護條,先顯去指並於修剪記記因。此二步程防偶刪高值憶。

得:護條過諸修。修剪記記任護加減。

敗則:若護集過大(>30% 總條),察準——護為不可替脈,非「要」條。要而可重立之事仍當受常修。

第九步:修後重綜

刪後,餘憶或碎——交叉引指刪條、題文失連貫、MEMORY.md 或有缺。重綜復結構完整。

重綜清單

  1. 解破引:掃餘條為刪內容之連結。去或重指引。
  2. 合相關碎:若修留二條涵同題重疊面,合為一連貫條。
  3. 更題文構:若題文失 >50% 內容,考折餘入 MEMORY.md 並刪題文。
  4. 分冷憶:察過修而近未取之條:
    • 冷自不用:題合活項目然生其特相已過。留——其相再活時或再相關(如活開發中之 CRAN 提交注)
    • 冷自不關:題始終邊緣——一次實驗、旁查、被覆之法。標下修週期中刪
  5. 驗 MEMORY.md 連貫:自頂至底讀 MEMORY.md。其當述項之連貫故事,非讀為事之隨集。

得:修後憶結構穩——無孤引、無冗碎、無不連貫題文。冷條為未來修決而分。

敗則:若重綜揭修過激(要脈失),察修剪記並自審跡重立。此乃審跡存之因。

第十步:自憶漂復

憶漂發於儲事默靜變誤——非始終誤,乃底實已變而憶未更。漂復試於原處修憶非修。

漂測觸

  • 憶聲與當具出或文容相違
  • 憶中之計或版號不合註冊或鎖文
  • 憶中徑返「文不在」
  • 關依之憶引重命或棄之包

復程序

  1. 識漂:對當地真比憶聲(git log、註冊、實文)
  2. 評可復:正值能自當前項狀定乎?
    • 是 → 原處更憶條附當值與 [corrected YYYY-MM-DD]
    • 否 → 標條為 unverifiable 並標待修
  3. 追因:此為漸漂(計緩偏)或離散事(重命、遷)?離散事常影多條——尋兄弟。
  4. 防再:若漂影頻變值(計、版),考憶當追值或代引真源:「見 skills/_registry.yml 為當前計」勝「317 技」。

得:漂憶可時於原處修,保脈。不能修者標待修。防規減未來漂。

敗則:若漂廣(>20% 條),憶或需全重建非漸修。爾時,存當前憶目、自零始、選擇重入過驗之條。

  • 諸憶文已列且諸條依型分
  • 對當項狀行朽察
  • 至少一真實察法已施(往返、壓損、矛盾掃、效用試)
  • 刪決循決樹之優序
  • 無條無記因而刪
  • 接種準已對每刪候察;存再生險時已立 SUPERSEDED 反憶
  • 先濾規已記或施
  • 修剪記記何刪、何時、何因——含接種條應之 SUPERSEDED 文徑
  • 修後 MEMORY.md 仍 < 200 行
  • 餘憶準(對項狀點察)
  • 自 MEMORY.md 修引未生孤題文
  • 護條已指並過諸修
  • 修後重綜解破交叉引並合碎
  • 冷條為未來修決而分為不用對不關
  • 漂條可時於原處修,非僅刪

  • 刪敗策而不接種:刪一棄法之憶而生其之條件仍存。系自同入沿同推路再生同結。其刪為慰。觸仍存時當用第五步接種。
  • 不驗而修:因條「似舊」而刪而不察其是否仍準與有用。齡單非刪準——某些最值之憶為仍真之老架構決。
  • 自驗真實:劑讀其自壓憶並結「是、似正」非真實察。真實需外錨:項文、git 史、註冊計、實具出。無錨,汝察一致非準。
  • 激修無審跡:刪條而不記何刪。當未來會需修之事,審跡釋何發生並或含足脈以重立憶。
  • 修決為憶:勿書「決修 X 因 Y」為常憶條。其唯入修剪記。關於憶管之憶條為元污染。
  • 忽先濾:修既條而不立規以防同模再發。無濾,下 10 會將再造汝剛刪之同瞬條。
  • 諸型同視:決憶與反饋憶幾不當修——其代用者意與因。項與引憶為主修目,其追變之狀。
  • 混壓與壞:要題以一行壓之憶為壓非壞。唯標為真實敗若壓失可行洞察非僅細。
  • 過釘:標過多條為護敗修之目。若 >30% 條為護,準過鬆。護不可替脈,非僅要事。
  • 重綜環:重綜時合碎或生新條本身需下週修。合最少——唯合明涵同題者。修中勿綜新洞察。

  • manage-memory — 組織與長憶之互補技;共用為完整憶維
  • meditate — 清與接地或揭何憶生噪
  • rest — 有時最佳憶維為不行憶維
  • assess-context — 評推脈絡之健,憶質直影之

GitHub 仓库

pjt222/agent-almanac
路径: i18n/wenyan/skills/prune-agent-memory
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

相关推荐技能

llamaguard

其他

LlamaGuard是Meta推出的7-8B参数内容审核模型,专门用于过滤LLM的输入和输出内容。它能检测六大安全风险类别(暴力/仇恨、性内容、武器、违禁品、自残、犯罪计划),准确率达94-95%。开发者可通过HuggingFace、vLLM或Sagemaker快速部署,并能与NeMo Guardrails集成实现自动化安全防护。

查看技能

cost-optimization

其他

这个Claude Skill帮助开发者优化云成本,通过资源调整、标记策略和预留实例来降低AWS、Azure和GCP的开支。它适用于减少云支出、分析基础设施成本或实施成本治理策略的场景。关键功能包括提供成本可视化、资源规模调整指导和定价模型优化建议。

查看技能

quantizing-models-bitsandbytes

其他

这个Skill使用bitsandbytes库量化大语言模型,能在GPU内存有限时通过8位或4位量化减少50-75%内存占用,同时保持精度损失最小。它支持INT8、NF4、FP4等多种量化格式,可与HuggingFace Transformers无缝集成,适用于需要部署更大模型或加速推理的场景。还提供QLoRA训练和8位优化器支持,让开发者能轻松实现高效模型压缩。

查看技能

dispatching-parallel-agents

其他

该Skill用于并行处理3个以上无依赖关系的独立故障,可为每个问题域分派专属Claude代理同时执行调查修复。它通过并发处理多个独立问题显著提升故障排查效率,特别适用于测试文件、子系统等无共享状态的场景。

查看技能