slack-memory-cleanup
Memory cleanup and organization skill for AI employees. Provides guidelines for detecting duplicates, fixing misclassified files, and removing stale information from memory storage.
$ Installieren
git clone https://github.com/krafton-ai/KIRA /tmp/KIRA && cp -r /tmp/KIRA/.claude/skills/slack-memory-cleanup ~/.claude/skills/KIRA// tip: Run this command in your terminal to install the skill
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
# 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)ํฉ๋๋ค.
# ์ ์ฒด ๋ถ์
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:[email protected]:
- ์ ์งํธ (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๋ฅผ ๊ฐฑ์ ํฉ๋๋ค.
python scripts/update_index.py {memories_path}
์ ๋ฆฌ ์ํฌํ๋ก์ฐ
Step 1: ํํฉ ํ์
# ์ ์ฒด ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ ํ์ธ
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 ์ฐธ๊ณ )
- ์ค๋ถ๋ฅ โ ์ด๋ (misclassification-rules.md ์ฐธ๊ณ )
- ํ๋ฐ์ฑ โ ์ญ์ (cleanup-patterns.md ์ฐธ๊ณ )
Step 4: ์ธ๋ฑ์ค ์ ๋ฐ์ดํธ
์ ๋ฆฌ ํ ๋ฐ๋์ ์ธ๋ฑ์ค ๊ฐฑ์ :
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 - ์ ๋ฆฌ ํจํด ๋ฐ LLM ํ๋จ ๊ธฐ์ค
- deduplication-rules.md - ์ค๋ณต ํ์ง ๋ฐ ๋ณํฉ ๊ท์น
- misclassification-rules.md - ์ค๋ถ๋ฅ ํ์ง ๋ฐ ์ด๋ ๊ท์น
Repository
