- name
- slack-memory-cleanup
- description
- Memory cleanup and organization skill for AI employees. Provides guidelines for detecting duplicates, fixing misclassified files, and removing stale information from memory storage.
# Memory Cleanup Guide
## Overview
AI ์ง์์ ๋ฉ๋ชจ๋ฆฌ๋ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ค๋ณต, ์ค๋ถ๋ฅ, ์ค๋๋ ์ ๋ณด๊ฐ ์์
๋๋ค. ์ด skill์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ์ ๋ฆฌํ๋ ๊ฐ์ด๋์ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
**ํต์ฌ ์์น:**
- ํ๋์ฝ๋ฉ๋ ๋ณด์กด ๊ธฐ๊ฐ ์์ - LLM์ด ์ปจํ
์คํธ ๊ธฐ๋ฐ์ผ๋ก ํ๋จ
- ํ๋กํ ํ์ผ(users/, channels/)์ 1 entity = 1 file ์์น
- ํ์คํ์ง ์์ผ๋ฉด ์ญ์ ๋ณด๋ค ๋ณด์กด
**slack-memory-store ์คํฌ๊ณผ์ ์ฐ๋:**
- ์ด skill์ `slack-memory-store` ์คํฌ๋ก ์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๋ฆฌํฉ๋๋ค
- ํด๋ ๊ตฌ์กฐ, ๋ฉํ๋ฐ์ดํฐ ์คํค๋ง, type ํ๋๊ฐ ์ผ์นํฉ๋๋ค
- ํ๋กํ ํ์ผ vs ํ ํฝ ํ์ผ ๊ตฌ๋ถ ์์น์ ๋ฐ๋ฆ
๋๋ค
## Quick Start
```bash
# 1. ๋ถ์๋ง (dry-run, ๋ณ๊ฒฝ ์์)
python scripts/cleanup_memory.py {memories_path}
# 2. ๊ฒฐ๊ณผ ํ์ธ ํ ์ค์ ์ ๋ฆฌ ์คํ
python scripts/cleanup_memory.py {memories_path} --execute
# 3. ์ ๋ฆฌ ํ ์ธ๋ฑ์ค ์
๋ฐ์ดํธ
python scripts/update_index.py {memories_path}
```
## Scripts
์ด skill์ ์ ๋ฆฌ ์์
์ ๋๋ ์คํฌ๋ฆฝํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
### cleanup_memory.py - ์ค๋ณต/์ค๋ถ๋ฅ ํ์ง
๋ฉ๋ชจ๋ฆฌ ํด๋๋ฅผ ์ค์บํ์ฌ ๋ฌธ์ ๋ฅผ ํ์งํฉ๋๋ค. ๊ธฐ๋ณธ์ ๋ถ์๋ง ์ํ(dry-run)ํฉ๋๋ค.
```bash
# ์ ์ฒด ๋ถ์
python scripts/cleanup_memory.py {memories_path}
# ํน์ ํด๋๋ง ๋ถ์
python scripts/cleanup_memory.py {memories_path} --folder users
python scripts/cleanup_memory.py {memories_path} --folder channels
# ์์ธ ๋๋ฒ๊ทธ ์ถ๋ ฅ
python scripts/cleanup_memory.py {memories_path} --verbose
# ์ค์ ์ ๋ฆฌ ์คํ (์ค๋ถ๋ฅ ํ์ผ ์ด๋)
python scripts/cleanup_memory.py {memories_path} --execute
```
**์ถ๋ ฅ ์์:**
```
============================================================
๐ ๋ฉ๋ชจ๋ฆฌ ์ ๋ฆฌ ๋ถ์ ๊ฒฐ๊ณผ
============================================================
## ๐ด ์ค๋ณต ํ์ผ
### users/ ํด๋ (๋์ผ์ธ ์ค๋ณต)
email:batteryho@krafton.com:
- ์ ์งํธ (Jiho Jeon).md (โ
ํ๋กํ)
- ์ ์งํธ (Jiho Jeon) - ์ด๋ฉ์ผ ๋ถ์.md (๐ ์์
๊ธฐ๋ก)
- ์ ์งํธ_์ธ๋ถํ๋ซํผ์ด๋_2025-12-08.md (๐ ์์
๊ธฐ๋ก)
## ๐ก ์ค๋ถ๋ฅ ํ์ผ
์ ์งํธ (Jiho Jeon) - ์ด๋ฉ์ผ ๋ถ์.md
ํ์ฌ: users/ โ ๊ถ์ฅ: tasks/
์ด์ : ํ์ผ๋ช
์ ์์
ํค์๋
Jira ํฐ์ผ ์กฐํ ์ฑ๊ณต.md
ํ์ฌ: channels/ โ ๊ถ์ฅ: tasks/
์ด์ : type์ด 'task_completed'
## ๐ ์์ฝ
- ์ค๋ณต ๊ทธ๋ฃน: 3๊ฐ
- ์ค๋ถ๋ฅ ํ์ผ: 5๊ฐ
```
**์ฃผ์ ํ์ง ๊ธฐ๋ฅ:**
- **ํ๋กํ vs ์์
๊ธฐ๋ก ๊ตฌ๋ถ**: users/ ์ค๋ณต์์ ์ด๋ค ํ์ผ์ด ํ๋กํ์ด๊ณ ์ด๋ค ํ์ผ์ด ์์
๊ธฐ๋ก์ธ์ง ํ์
- **์ค๋ถ๋ฅ ์ด์ ํ์**: ์ ํด๋น ํ์ผ์ด ์ค๋ถ๋ฅ๋ก ํ๋จ๋์๋์ง ์ด์ ์ ๊ณต
- **type ํ๋ ํ์ฉ**: ๋ฉํ๋ฐ์ดํฐ์ `type` ํ๋๋ฅผ ํ์ธํ์ฌ ํด๋์ ๋ถ์ผ์น ํ์ง
### update_index.py - ์ธ๋ฑ์ค ์
๋ฐ์ดํธ
์ ๋ฆฌ ํ index.md๋ฅผ ๊ฐฑ์ ํฉ๋๋ค.
```bash
python scripts/update_index.py {memories_path}
```
---
## ์ ๋ฆฌ ์ํฌํ๋ก์ฐ
### Step 1: ํํฉ ํ์
```bash
# ์ ์ฒด ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ ํ์ธ
ls -la {memories_path}/
# ๊ฐ ํด๋๋ณ ํ์ผ ์ ํ์ธ
find {memories_path} -type f -name "*.md" | wc -l
# ํด๋๋ณ ์์ธ
ls -la {memories_path}/users/
ls -la {memories_path}/channels/
ls -la {memories_path}/tasks/
```
### Step 2: ๋ฌธ์ ํ์ง
์คํฌ๋ฆฝํธ ๋๋ ์๋์ผ๋ก ๋ค์ ๋ฌธ์ ๋ค์ ํ์งํฉ๋๋ค:
1. **์ค๋ณต ํ์ผ** - ๊ฐ์ entity๊ฐ ์ฌ๋ฌ ํ์ผ๋ก ๋ถ์ฐ
2. **์๋ชป๋ ๋ถ๋ฅ** - ํด๋์ ๋ด์ฉ ๋ถ์ผ์น
3. **ํ๋ฐ์ฑ ์ ๋ณด** - ์ค๋๋๊ณ ์ค์๋ ๋ฎ์ ํ์ผ
### Step 3: ์ ๋ฆฌ ์คํ
ํ์ง๋ ๋ฌธ์ ์ ๋ฐ๋ผ ์ ์ ํ ์กฐ์น:
- **์ค๋ณต** โ ๋ณํฉ ([deduplication-rules.md](references/deduplication-rules.md) ์ฐธ๊ณ )
- **์ค๋ถ๋ฅ** โ ์ด๋ ([misclassification-rules.md](references/misclassification-rules.md) ์ฐธ๊ณ )
- **ํ๋ฐ์ฑ** โ ์ญ์ ([cleanup-patterns.md](references/cleanup-patterns.md) ์ฐธ๊ณ )
### Step 4: ์ธ๋ฑ์ค ์
๋ฐ์ดํธ
์ ๋ฆฌ ํ ๋ฐ๋์ ์ธ๋ฑ์ค ๊ฐฑ์ :
```bash
python scripts/update_index.py {memories_path}
```
---
## ํต์ฌ ์ ๋ฆฌ ๋์
### 1. users/ ํด๋
**์ ์ ์ํ**: 1์ธ๋น 1ํ์ผ (ํ๋กํ)
```
users/
โโโ ์ ์งํธ (Jiho Jeon).md โ ํ๋กํ ํ์ผ๋ง
```
**๋ฌธ์ ์ํ**: 1์ธ์ด ์ฌ๋ฌ ํ์ผ
```
users/
โโโ ์ ์งํธ (Jiho Jeon).md โ ํ๋กํ (์ ์ง)
โโโ ์ ์งํธ (Jiho Jeon) - ์ด๋ฉ์ผ ๋ถ์.md โ tasks/๋ก ์ด๋
โโโ ์ ์งํธ - AI ๋ณด๊ณ ์.md โ tasks/ ๋๋ misc/๋ก ์ด๋
โโโ Serin_Kim_๊น์ธ๋ฆฐ.md โ ๊ธฐ์กด ๊น์ธ๋ฆฐ ํ์ผ๊ณผ ๋ณํฉ
```
**ํ๋จ ๊ธฐ์ค**:
- `email` ๋๋ `user_id`๊ฐ ๊ฐ์ผ๋ฉด ๋์ผ์ธ
- ํ๋กํ ํ์ผ 1๊ฐ๋ง users/์ ์ ์ง
- ๋๋จธ์ง๋ ๋ด์ฉ์ ๋ฐ๋ผ ์ ์ ํ ํด๋๋ก ์ด๋
### 2. channels/ ํด๋
**์ ์ ์ํ**: ์ฑ๋๋น 1ํ์ผ (์ฑ๋ ID๋ก ์์)
```
channels/
โโโ C08G76BB8JK_my-daily-scrum.md โ ์ฑ๋ ํ๋กํ
```
**๋ฌธ์ ์ํ**: ์ฑ๋ ์ ๋ณด๊ฐ ์๋ ํ์ผ๋ค
```
channels/
โโโ C08G76BB8JK_my-daily-scrum.md โ ์ ์ง
โโโ Jira ํฐ์ผ ์กฐํ ์ฑ๊ณต.md โ tasks/๋ก ์ด๋
โโโ ๋ฉ์ผ ์กฐํ ์์
์ฑ๊ณต.md โ tasks/๋ก ์ด๋
```
**ํ๋จ ๊ธฐ์ค**:
- `channel_id`๊ฐ ์๊ณ ์ฑ๋ ๊ฐ์ด๋๋ผ์ธ/์ ๋ณด๋ฉด ์ ์ง
- ์์
๊ฒฐ๊ณผ, ์ฑ๊ณต ์ฌ๋ก ๋ฑ์ tasks/๋ก ์ด๋
### 3. tasks/ ํด๋
**์ ์ ์ํ**: ์์
๋ณ 1ํ์ผ
```
tasks/
โโโ KIRA ํ๋ก์ ํธ ์์
์๋ฃ - 2025-11-25.md
โโโ Tableau ๋ฐ์ดํฐ ์กฐํ - 2025-12-09.md
```
**๋ฌธ์ ์ํ**: ์ ์ฌ ๋ด์ฉ ์ค๋ณต
```
tasks/
โโโ 7๊ฐ_์ด๋ฉ์ผ_๋ถ์_2025-12-08.md โ ์ญ์ (๋ ์์ ํ ๋ฒ์ ์์)
โโโ 8๊ฐ_์ด๋ฉ์ผ_๋ถ์_2025-12-08.md โ ์ญ์
โโโ 9๊ฐ_์ด๋ฉ์ผ_๋ถ์_2025-12-08.md โ ์ญ์
โโโ 10๊ฐ_์ด๋ฉ์ผ_๋ถ์_2025-12-08.md โ ์ ์ง (์ต์ข
๋ฒ์ )
```
**ํ๋จ ๊ธฐ์ค**:
- ๊ฐ์ ์์
์ ์ค๊ฐ ๊ฒฐ๊ณผ๋ค โ ์ต์ข
๋ฒ์ ๋ง ์ ์ง
- ๊ฐ์ ๋ ์ง์ ์ ์ฌ ์ ๋ชฉ โ ๊ฐ์ฅ ์์ ํ ๊ฒ๋ง ์ ์ง
### 4. ๊ธฐํ ํด๋
| ํด๋ | ์ ๋ฆฌ ๊ธฐ์ค |
|------|-----------|
| `projects/` | ์๋ฃ๋ ํ๋ก์ ํธ โ archive/ ์ด๋ ๊ฐ๋ฅ |
| `decisions/` | ์ค์, ์ฅ๊ธฐ ๋ณด์กด |
| `meetings/` | ์ค๋๋ ๊ฒ โ ์์ฝ ํ ์ญ์ ๊ฐ๋ฅ |
| `misc/` | ์ ๋ฆฌ 1์์, ์ค๋๋ ๊ฒ ์ญ์ |
| `external/news/` | ์๊ฐ ์ง๋๋ฉด ๊ฐ์น ํ๋ฝ, ์ญ์ ๊ฐ๋ฅ |
| `announcements/` | ์ค๋๋ ๊ณต์ง ์ญ์ ๊ฐ๋ฅ |
---
## ์ค์๋ ํ๋จ (LLM ๊ธฐ์ค)
ํ๋์ฝ๋ฉ๋ ๋ณด์กด ๊ธฐ๊ฐ ์์ด, LLM์ด ๋ค์์ ๊ณ ๋ คํ์ฌ ํ๋จํฉ๋๋ค.
### ๋ณด์กดํด์ผ ํ๋ ๊ฒ
- ํ๋กํ ์ ๋ณด (users/, channels/)
- ์์ฌ๊ฒฐ์ ๊ธฐ๋ก (decisions/)
- ์งํ ์ค์ธ ํ๋ก์ ํธ (projects/)
- ์ต๊ทผ ์ํธ์์ฉ๊ณผ ๊ด๋ จ๋ ์ ๋ณด
### ์ญ์ ๊ฐ๋ฅํ ๊ฒ
- ์ค๊ฐ ๊ฒฐ๊ณผ๋ฌผ (์ต์ข
๋ณธ ์์ ๋)
- ์ค๋๋ ์ผ์ ๋ํ (misc/)
- ์์์ฑ ์ง๋ ๋ด์ค/๊ณต์ง
- ์ค๋ณต๋ ์ ๋ณด
### ํ๋จ ์ ๊ณ ๋ ค์ฌํญ
- ๋ง์ง๋ง ์์ ์ผ (`updated` ๋ฉํ๋ฐ์ดํฐ)
- ๊ด๋ จ ํ๋ก์ ํธ ์ํ (์งํ ์ค vs ์๋ฃ)
- ํ์ผ ๊ฐ ์ฐ๊ฒฐ ๊ด๊ณ (`related_to`)
- ํ๊ทธ์ ์ค์๋ (urgent, important ๋ฑ)
---
## ์ ๋ฆฌ ์คํ ์์
### ์์ 1: users/ ์ค๋ณต ์ ๋ฆฌ
```
์์ฒญ: "users ํด๋ ์ ๋ฆฌํด์ค"
1. ํํฉ ํ์
- ์ ์งํธ ๊ด๋ จ ํ์ผ 6๊ฐ ๋ฐ๊ฒฌ
- ๊น์ธ๋ฆฐ ๊ด๋ จ ํ์ผ 2๊ฐ ๋ฐ๊ฒฌ
2. ๋ถ์
- ์ ์งํธ: ํ๋กํ 1๊ฐ + ์์
๊ธฐ๋ก 5๊ฐ
- ๊น์ธ๋ฆฐ: ๊ฐ์ ์ฌ๋ ๋ค๋ฅธ ์ด๋ฆ 2๊ฐ
3. ์คํ
- ์ ์งํธ ์์
๊ธฐ๋ก โ tasks/๋ก ์ด๋
- ๊น์ธ๋ฆฐ ํ์ผ โ ๋ณํฉ ํ 1๊ฐ๋ง ์ ์ง
4. ๊ฒฐ๊ณผ ๋ณด๊ณ
"users/ ์ ๋ฆฌ ์๋ฃ:
- ์ ์งํธ: 5๊ฐ ํ์ผ tasks/๋ก ์ด๋
- ๊น์ธ๋ฆฐ: 2๊ฐ ํ์ผ 1๊ฐ๋ก ๋ณํฉ"
```
### ์์ 2: ์ ์ฒด ๋ฉ๋ชจ๋ฆฌ ์ ๋ฆฌ
```
์์ฒญ: "๋ฉ๋ชจ๋ฆฌ ์ ์ฒด ์ ๋ฆฌํด์ค"
1. ํํฉ ํ์
- ์ด 120๊ฐ ํ์ผ
- users/: 47๊ฐ (์ค๋ณต ์์ฌ)
- tasks/: 40๊ฐ (์ค๋ณต ์์ฌ)
- channels/: 10๊ฐ (์ค๋ถ๋ฅ ์์ฌ)
2. ํด๋๋ณ ๋ถ์ ๋ฐ ์ ๋ฆฌ
3. ๊ฒฐ๊ณผ ๋ณด๊ณ
"๋ฉ๋ชจ๋ฆฌ ์ ๋ฆฌ ์๋ฃ:
- ์ญ์ : 15๊ฐ (์ค๋ณต/์ค๊ฐ๊ฒฐ๊ณผ)
- ์ด๋: 8๊ฐ (์ค๋ถ๋ฅ ์์ )
- ๋ณํฉ: 5๊ฐ (๋์ผ์ธ ์ค๋ณต)
- ํ์ฌ ์ด: 97๊ฐ ํ์ผ"
```
---
## ์์ ๊ฐ์ด๋๋ผ์ธ
### ์ญ์ ์ ํ์ธ
- ์ค์ ํ์ผ ์ญ์ ์ ์ฌ์ฉ์์๊ฒ ํ์ธ
- `decisions/`, `projects/` ์ญ์ ์ ํนํ ์ฃผ์
- ํ์คํ์ง ์์ผ๋ฉด ์ญ์ ๋ณด๋ค ์ด๋
### ๋ฐฑ์
๊ถ์ฅ
- ๋๋ ์ ๋ฆฌ ์ ๋ฐฑ์
์ ์
- `cp -r {memories_path} {memories_path}_backup_{date}`
### ๋กค๋ฐฑ ๊ฐ๋ฅ์ฑ
- ์ญ์ ํ ํ์ผ ๋ชฉ๋ก ๊ธฐ๋ก
- ์ด๋ํ ํ์ผ์ ์๋ ์์น ๊ธฐ๋ก
---
## Reference Documents
์์ธํ ๊ท์น์ ๋ค์ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ธ์:
- **[cleanup-patterns.md](references/cleanup-patterns.md)** - ์ ๋ฆฌ ํจํด ๋ฐ LLM ํ๋จ ๊ธฐ์ค
- **[deduplication-rules.md](references/deduplication-rules.md)** - ์ค๋ณต ํ์ง ๋ฐ ๋ณํฉ ๊ท์น
- **[misclassification-rules.md](references/misclassification-rules.md)** - ์ค๋ถ๋ฅ ํ์ง ๋ฐ ์ด๋ ๊ท์น
View on GitHub