slack-memory-cleanup
๐ฏSkillfrom krafton-ai/kira
slack-memory-cleanup skill from krafton-ai/kira
Installation
npx skills add https://github.com/krafton-ai/kira --skill slack-memory-cleanupSkill Details
Memory cleanup and organization skill for AI employees. Provides guidelines for detecting duplicates, fixing misclassified files, and removing stale information from memory storage.
Overview
# 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: ๋ฌธ์ ํ์ง
์คํฌ๋ฆฝํธ ๋๋ ์๋์ผ๋ก ๋ค์ ๋ฌธ์ ๋ค์ ํ์งํฉ๋๋ค:
- ์ค๋ณต ํ์ผ - ๊ฐ์ entity๊ฐ ์ฌ๋ฌ ํ์ผ๋ก ๋ถ์ฐ
- ์๋ชป๋ ๋ถ๋ฅ - ํด๋์ ๋ด์ฉ ๋ถ์ผ์น
- ํ๋ฐ์ฑ ์ ๋ณด - ์ค๋๋๊ณ ์ค์๋ ๋ฎ์ ํ์ผ
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 ํด๋ ์ ๋ฆฌํด์ค"
- ํํฉ ํ์
- ์ ์งํธ ๊ด๋ จ ํ์ผ 6๊ฐ ๋ฐ๊ฒฌ
- ๊น์ธ๋ฆฐ ๊ด๋ จ ํ์ผ 2๊ฐ ๋ฐ๊ฒฌ
- ๋ถ์
- ์ ์งํธ: ํ๋กํ 1๊ฐ + ์์ ๊ธฐ๋ก 5๊ฐ
- ๊น์ธ๋ฆฐ: ๊ฐ์ ์ฌ๋ ๋ค๋ฅธ ์ด๋ฆ 2๊ฐ
- ์คํ
- ์ ์งํธ ์์ ๊ธฐ๋ก โ tasks/๋ก ์ด๋
- ๊น์ธ๋ฆฐ ํ์ผ โ ๋ณํฉ ํ 1๊ฐ๋ง ์ ์ง
- ๊ฒฐ๊ณผ ๋ณด๊ณ
"users/ ์ ๋ฆฌ ์๋ฃ:
- ์ ์งํธ: 5๊ฐ ํ์ผ tasks/๋ก ์ด๋
- ๊น์ธ๋ฆฐ: 2๊ฐ ํ์ผ 1๊ฐ๋ก ๋ณํฉ"
```
์์ 2: ์ ์ฒด ๋ฉ๋ชจ๋ฆฌ ์ ๋ฆฌ
```
์์ฒญ: "๋ฉ๋ชจ๋ฆฌ ์ ์ฒด ์ ๋ฆฌํด์ค"
- ํํฉ ํ์
- ์ด 120๊ฐ ํ์ผ
- users/: 47๊ฐ (์ค๋ณต ์์ฌ)
- tasks/: 40๊ฐ (์ค๋ณต ์์ฌ)
- channels/: 10๊ฐ (์ค๋ถ๋ฅ ์์ฌ)
- ํด๋๋ณ ๋ถ์ ๋ฐ ์ ๋ฆฌ
- ๊ฒฐ๊ณผ ๋ณด๊ณ
"๋ฉ๋ชจ๋ฆฌ ์ ๋ฆฌ ์๋ฃ:
- ์ญ์ : 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) - ์ค๋ถ๋ฅ ํ์ง ๋ฐ ์ด๋ ๊ท์น
More from this repository7
slack-memory-retrieval skill from krafton-ai/kira
confluence-deep-reader skill from krafton-ai/kira
scratch-pad skill from krafton-ai/kira
it-role-expert skill from krafton-ai/kira
email-action-extractor skill from krafton-ai/kira
slack-memory-store skill from krafton-ai/kira
slack-proactive-intervention-patterns skill from krafton-ai/kira