Skip to content
Back to skills

Memory Skills Cleanup

ASecurity

全面清理 Hermes 记忆层 + skills 目录 + 路由引用。 当用户说"记忆太臃肿"、"清理记忆"、"优化记忆"、"skills太多"、"磁盘满了"时触发。

  • 9 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 9, 2026
toolspythongobashgit

Security analysis

A93/100
  • highPerforms destructive filesystem operations

Pro shows the line behind each finding and how to fix it

Scanned September 9, 2026

npx -y skills add Undermybelt/hermes-skills --skill memory-skills-cleanup --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Memory Skills Cleanup?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Memory Skills Cleanup
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/undermybelt-memory-skills-cleanup/badge)](https://www.skillsdirectory.com/skills/undermybelt-memory-skills-cleanup)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: memory-skills-cleanup
description: >
  全面清理 Hermes 记忆层 + skills 目录 + 路由引用。
  当用户说"记忆太臃肿"、"清理记忆"、"优化记忆"、"skills太多"、"磁盘满了"时触发。
tags:
  - memory
  - skills
  - cleanup
  - optimization
  - routing
---

## 触发条件

- 用户说记忆臃肿/太胖/需要减肥
- 用户说 skills 太多/磁盘满/清理
- MEMORY.md 或 user profile 接近容量上限
- skills 目录 >20M

## 四层清理流程

### 1. MEMORY.md(系统记忆)

路径:`~/.hermes/memories/MEMORY.md`

规则:
- 只保留跨项目稳定技术事实(如 Hermes 403 UA fix)
- 删除所有项目细节(ict-engine、arXiv paper ID 等)→ 属 repo docs / session_search
- 删除已过时的工作记录
- 文言压缩,每条 ≤30 字

### 2. User Profile(用户偏好)

路径:`memory(target='user')`

规则:
- 合并 10+ 散装条目为 1 条架构链
- 格式:树状依赖(`元→├─链→└─链`),非扁平列表
- 只存硬规则(红线、偏好、禁止项)
- 删除已变质的条目(如旧 cron 架构描述)
- 文言压缩

架构链模板:
```
元:[核心行为规则]
├─红线:[不可做]
├─重试:[失败策略]
├─[领域A]链:[约束→执行→验证]
└─[领域B]链:[约束→执行→验证]
```

### 3. Skills 目录

路径:`~/.hermes/skills/`

清理步骤:
```bash
# 1. 查大小排序
du -sh ~/.hermes/skills/* | sort -rh | head -20

# 2. 统计每个目录 skill 数
for d in ~/.hermes/skills/*/; do
  count=$(find "$d" -name "SKILL.md" | wc -l)
  size=$(du -sh "$d" | cut -f1)
  echo "$count skills, $size: $(basename $d)"
done | sort -t, -k1 -rn

# 3. 识别可删除项
# - auto-installed 大包(>1M 且 >10 skills,从未手动加载)
# - cloned repos(含 .git 目录)
# - 空目录(0 skills)
# - 用户不会用的领域(gaming、leisure 等)

# 4. 删除
rm -rf ~/.hermes/skills/CATEGORY/UNWANTED_PACK

# 5. 验证
du -sh ~/.hermes/skills/
find ~/.hermes/skills -name "SKILL.md" | wc -l
```

### 4. 路由引用清理

删除 skills 后必须清理引用,否则路由指向不存在的 skill。

文件:
- `~/.hermes/hermes-agent/routing/skill-router.md` — 删除对应行
- `~/.hermes/hermes-agent/routing/skill-index.md` — 删除对应 section + table rows
- `~/.hermes/hermes-agent/routing/skill-index.json` — 删除对应 entries

方法:
```python
# skill-index.json 清理
import json
data = json.load(open('skill-index.json'))
# 过滤掉已删除的 category 和 skill name
data = [s for s in data if s.get('category') not in deleted_cats 
        and s.get('name') not in deleted_skills]
json.dump(data, open('skill-index.json', 'w'), indent=2)
```

验证:
```bash
grep -c "DELETED_SKILL_NAME" skill-router.md skill-index.md
# 期望:0
```

## Pitfalls

- **skill-index.json 是数组不是 dict**:顶层直接是 `[{skill}, ...]`,不是 `{"skills": [...]}`
- **sed 对多行 section 不可靠**:清理 skill-index.md 用 Python regex 而非 sed
- **删 skills 前先查路由引用**:确认哪些需要同步清理
- **MEMORY.md 和 user profile 是独立系统**:MEMORY.md 用 write_file,user profile 用 memory() tool
- **不要删用户手动创建的 skills**:只删 auto-installed / cloned repos
- **路由文件在 hermes-agent repo 里**:`~/.hermes/hermes-agent/routing/`,不是 `~/.hermes/routing/`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…