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: ๋ฌธ์ œ ํƒ์ง€

์Šคํฌ๋ฆฝํŠธ ๋˜๋Š” ์ˆ˜๋™์œผ๋กœ ๋‹ค์Œ ๋ฌธ์ œ๋“ค์„ ํƒ์ง€ํ•ฉ๋‹ˆ๋‹ค:

  1. ์ค‘๋ณต ํŒŒ์ผ - ๊ฐ™์€ entity๊ฐ€ ์—ฌ๋Ÿฌ ํŒŒ์ผ๋กœ ๋ถ„์‚ฐ
  2. ์ž˜๋ชป๋œ ๋ถ„๋ฅ˜ - ํด๋”์™€ ๋‚ด์šฉ ๋ถˆ์ผ์น˜
  3. ํœ˜๋ฐœ์„ฑ ์ •๋ณด - ์˜ค๋ž˜๋˜๊ณ  ์ค‘์š”๋„ ๋‚ฎ์€ ํŒŒ์ผ

Step 3: ์ •๋ฆฌ ์‹คํ–‰

ํƒ์ง€๋œ ๋ฌธ์ œ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ์กฐ์น˜:

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

์ž์„ธํ•œ ๊ทœ์น™์€ ๋‹ค์Œ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”: