SL

slack-memory-store

Centralizes communications and project context into a searchable memory store for AI agents.

Install

mkdir -p .claude/skills/slack-memory-store && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/4963" && unzip -o skill.zip -d .claude/skills/slack-memory-store && rm skill.zip

Installs to .claude/skills/slack-memory-store

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Comprehensive memory storage system for AI employees in IT companies who communicate via Slack. Automatically classifies and stores diverse information types (Slack messages, Confluence docs, emails, meetings, projects, decisions, feedback) in an organized folder structure with efficient indexing and retrieval. Use when managing or searching employee memory, storing conversations, documenting decisions, tracking projects, or organizing any work-related information.
469 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Intermediate

Key capabilities

  • Auto-classify information into folders
  • Support multiple formats including Slack, Confluence, and Email
  • Maintain an index for rapid retrieval
  • Perform CRUD operations on memory entries
  • Link related information via cross-references

How it works

It uses a hybrid storage strategy to categorize and index information into a structured directory, allowing for efficient retrieval by AI agents.

Inputs & outputs

You give it
Slack messages, documents, or meeting notes
You get back
Organized markdown memory files

When to use slack-memory-store

  • Archiving team decisions for future reference
  • Linking Slack discussions to project tasks
  • Retrieving past meeting feedback

About this skill

Slack Memory Store

This skill enables systematic memory management for AI employees operating in IT company environments, primarily through Slack communication.

Core Capabilities

  1. Auto-classification - Automatically categorize incoming information into appropriate folders
  2. Multi-format support - Handle Slack messages, Confluence documents, emails, meeting notes, etc.
  3. Smart indexing - Maintain up-to-date index.md for rapid information retrieval
  4. Flexible schemas - Support structured metadata for each information type
  5. CRUD operations - Create, read, update, and delete memory entries

Quick Start

Initialize Memory Structure

Before using the memory system for the first time, initialize the directory structure:

python scripts/init_memory.py /path/to/memory

This creates:

  • All required directories (channels/, users/, projects/, etc.)
  • Initial index.md with navigation
  • Metadata tracking file

Add New Information

The primary way to add information to memory:

python scripts/add_memory.py /path/to/memory "Title" "Content" '{"type":"channel", "channel_id":"C123"}'

The script will:

  1. Analyze the content and metadata
  2. Automatically classify into the appropriate directory
  3. Generate a clean filename
  4. Format with proper YAML frontmatter
  5. Save to the correct location

Update Index

After adding/modifying multiple entries, update the index:

python scripts/update_index.py /path/to/memory

This refreshes:

  • Statistics (total channels, users, projects, etc.)
  • Recent updates list (10 most recent changes)
  • Navigation links

Search Memory

To find information quickly:

# Search by content
python scripts/search_memory.py /path/to/memory content "프로젝트"

# Search by tag
python scripts/search_memory.py /path/to/memory tag urgent

# List files in category
python scripts/search_memory.py /path/to/memory category projects

Memory Organization

Directory Structure

memory/
├── index.md              # Main navigation and quick reference
├── channels/             # Slack channel information
│   └── C123_마케팅팀.md
├── users/                # Team member profiles
│   └── U456_김철수.md
├── projects/             # Project status and history
│   ├── 신제품런칭.md
│   └── archive/
├── tasks/                # Completed and ongoing tasks
│   ├── ongoing/
│   └── completed/
├── decisions/            # Decision points and rationale
├── meetings/             # Meeting notes and action items
├── feedback/             # User feedback and suggestions
├── announcements/        # Important announcements
├── resources/            # Internal docs, guides, manuals
├── external/             # External information
│   └── news/
└── misc/                 # Uncategorized information

File Format

Each memory file follows this structure:

---
type: channel
channel_id: C01234567
channel_name: "마케팅팀"
participants: [U01234567, U76543210]
tags: [marketing, important]
created: 2025-10-28 10:00:00
updated: 2025-10-28 15:30:00
---

# 마케팅팀 채널

## 커뮤니케이션 지침

- Tone: Professional but friendly
- Response time: Within 1 hour during business hours
- Key topics: Campaign planning, performance metrics

## Recent Discussions

...

Storage Strategy: Hybrid Approach

CRITICAL: Use a hybrid strategy to optimize retrieval and file size:

1. Profile Files (One Per Entity - UPDATE, Don't Create New)

  • Purpose: Persistent guidelines, preferences, static info
  • Action: ALWAYS check if file exists first, then UPDATE it
  • Examples:
    • channels/C123_마케팅팀.md - Channel guidelines, members, communication style
    • users/U456_김철수.md - User profile, preferences, work style

2. Topic Files (Multiple - CREATE New or UPDATE Existing)

  • Purpose: Conversations, projects, decisions, meetings
  • Action: Create new file per topic, or update if same topic continues
  • Examples:
    • projects/신제품런칭.md - Project discussions
    • decisions/AWS전환_20251117.md - Important decisions (date-stamped)
    • meetings/2025-11-17-Q4전략회의.md - Meeting notes
    • misc/마케팅팀_일상_20251117.md - Casual conversations

3. Decision Tree for Classification

Content type:
├─ Channel/User guidelines or preferences?
│  └─ YES → UPDATE channels/C123_채널명.md or users/U456_유저명.md
│
└─ NO → What's the main topic?
    ├─ Project discussion → projects/프로젝트명.md
    ├─ Important decision → decisions/주제_DATE.md
    ├─ Meeting notes → meetings/DATE-주제.md
    ├─ Casual conversation → misc/채널명_DATE.md (or skip if trivial)
    └─ Task/feedback/announcement → respective directories

Handling Different Content Types

Slack Conversations

When receiving Slack message threads:

  1. Identify context: Channel, participants, date range
  2. Extract key info: Decisions, action items, important discussions
  3. Classify using Hybrid Strategy (see Decision Tree above):
    • Channel guidelines/preferences → UPDATE channels/C123_채널명.md
    • User preferences → UPDATE users/U456_유저명.md
    • Project-focused → CREATE/UPDATE projects/프로젝트명.md
    • Decision-focused → CREATE decisions/주제_DATE.md
    • Meeting notes → CREATE meetings/DATE-주제.md
    • Casual chat → CREATE misc/채널명_DATE.md (or skip if not important)
  4. Format: Chronological order, preserve thread structure
  5. Metadata: channel_id, participants, date_range, message_count, related_to (link to profile file)

Example usage:

from scripts.add_memory import MemoryManager

manager = MemoryManager('/path/to/memory')

# Example 1: Topic file (project discussion)
manager.add_memory(
    title="Q4 전략 논의",
    content=formatted_slack_thread,
    metadata={
        'type': 'project',  # Will create projects/Q4전략논의.md
        'channel_id': 'C123',
        'channel_name': '마케팅팀',
        'participants': ['U01', 'U02'],
        'date_range': '2025-10-28',
        'message_count': 25,
        'tags': ['strategy', 'q4'],
        'related_to': ['channels/C123_마케팅팀.md']  # Link to channel profile
    }
)

# Example 2: Profile file (channel guidelines update)
manager.add_memory(
    title="마케팅팀",
    content="Channel guidelines: Professional tone, quick response expected",
    metadata={
        'type': 'channel',  # Will update channels/C123_마케팅팀.md
        'channel_id': 'C123',
        'channel_name': '마케팅팀',
        'guidelines': {'tone': 'professional', 'response_time': '1시간 이내'}
    }
)

Confluence Documents

When importing Confluence documentation:

  1. Convert format: HTML → Markdown
  2. Preserve structure: Headers, lists, tables
  3. Add metadata: source_url, space, last_updated
  4. Classify: Usually → resources/ or projects/

Email Threads

When storing email conversations:

  1. Thread structure: Maintain reply chain
  2. Extract metadata: From, To, Subject, Date
  3. Classify by content:
    • Announcements → announcements/
    • Project updates → projects/
    • Feedback → feedback/

Meeting Notes

When recording meetings:

  1. Structure: Date, attendees, agenda, discussions, action items
  2. Always goes to: meetings/
  3. Cross-reference: Link to related projects/decisions
  4. Action items: Extract and consider adding to tasks/

External News

When saving external articles:

  1. Always goes to: external/news/
  2. Add metadata: source, source_url, date, relevance
  3. Summarize: Focus on key points relevant to company
  4. Link: Connect to related_project if applicable

Automatic Classification

The system uses a multi-level classification strategy:

Level 1: Explicit Metadata

If type field exists in metadata → use directly

Level 2: Structural Indicators

  • channel_id present → channels/
  • user_id present → users/
  • project_id present → projects/

Level 3: Keyword Analysis

Scan content for keywords (see references/classification-guide.md for full list):

  • "프로젝트", "project", "milestone" → projects/
  • "결정", "decision", "승인" → decisions/
  • "회의", "meeting" → meetings/
  • etc.

Level 4: Default

If no classification match → misc/

Advanced Features

Update Existing Memory

To update an existing file:

manager = MemoryManager('/path/to/memory')
manager.update_memory(
    directory='projects',
    filename='신제품런칭.md',
    new_content=updated_content,
    new_metadata={'updated': '2025-10-28 16:00:00', 'status': 'completed'}
)

Cross-referencing

Use related_to metadata to link related files:

---
type: decision
related_to:
  - projects/신제품런칭.md
  - meetings/2025-10-28-전략회의.md
---

Version Management

If a file with the same name exists, the system automatically:

  1. Detects duplicate
  2. Adds version suffix: filename_v2.md, filename_v3.md, etc.

Search Tips

  1. Content search: Case-insensitive by default
  2. Tag search: Find all files with specific tag
  3. Category search: List all files in a directory
  4. Index search: Use browser Ctrl+F on index.md for quick keyword lookup

Best Practices

1. Consistent Metadata

Always include at minimum:

  • type: Content type
  • created: Creation timestamp
  • tags: Relevant tags for searchability

2. Descriptive Titles

Use clear, descriptive titles:

  • ✅ "Q4 마케팅 전략 회의 - 2025-10-28"
  • ❌ "미팅"

3. Regular Index Updates

Update index after:

  • Multiple file additions
  • File deletions
  • Category changes
  • Or at least once per hour

4. Use Tags Liberally

Tags improve discoverability:

tags: [urgent, marketing, q4, strategy, approval-needed]

5. Link Related Information

When information is related, add cross-references:

related_to:
  - projects/웹사이트리뉴얼.md
  - decisions/디자인시스템선택.md

Reference Documents

For detailed information, see:

  • data-schemas.md - Complete schemas for all memory types with examples
  • **[classification-guide.md](references/classification

Content truncated.

When not to use it

  • For highly sensitive or confidential data requiring encryption
  • For data that should not be indexed by AI

Prerequisites

Python runtime

Limitations

  • Individual files should be kept under 100KB
  • Requires manual index updates for large batch operations

How it compares

It provides a persistent, searchable memory database for AI agents, unlike ephemeral chat history or unorganized file storage.

Compared to similar skills

slack-memory-store side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
slack-memory-store (this skill)15moReviewIntermediate
notion-knowledge-capture109moNo flagsIntermediate
internal-comms83moNo flagsBeginner
diary03moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

More by krafton-ai

View all by krafton-ai

confluence-deep-reader

krafton-ai

Read a Confluence page and recursively explore its child pages up to 3 levels deep. Use when users want to comprehensively read a Confluence page tree, understand hierarchical documentation, or analyze content across parent and child pages.

16

email-action-extractor

krafton-ai

Extract actionable tasks assigned to the user from email text. Filters out informational emails (announcements, newsletters, ads, automated reports) and only processes emails with clear action requests. Handles group emails by identifying user-specific assignments.

16

scratch-pad

krafton-ai

Markdown-based working memory for complex tasks. Use when: 5+ tool calls needed, researching multiple sources, analyzing/comparing items, multi-step workflows. Record process → Reference for response → Delete after use

13

slack-memory-cleanup

krafton-ai

Memory cleanup and organization skill for AI employees. Provides guidelines for detecting duplicates, fixing misclassified files, and removing stale information from memory storage.

14

slack-memory-retrieval

krafton-ai

Retrieve and utilize stored memories for AI employees in Slack environments. Efficiently searches and loads relevant context (channels, users, projects, decisions, meetings) from organized memory storage to inform responses. Use this when answering questions that require historical context, user preferences, project status, or any previously stored information. Works with slack-memory-store storage system.

12

slack-proactive-intervention-patterns

krafton-ai

메모리에서 7가지 개입 기회 패턴을 감지하는 지식 베이스. 조사 제안, 스케줄링, 문서화, 초안 작성, 연결 조율, 예측적 제안, 루틴 자동화 패턴의 시그널과 점수 계산 방법.

13

You might also like

notion-knowledge-capture

makenotion

Transforms conversations and discussions into structured documentation pages in Notion. Captures insights, decisions, and knowledge from chat context, formats appropriately, and saves to wikis or databases with proper organization and linking for easy discovery.

10115

internal-comms

anthropics

A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).

898

diary

Anhvu1107

ALWAYS use this when the request matches Diary: Unified Diary System: A context-preserving automated logger for multi-project development.

00

session-review

philoserf

Wraps up a session with two outputs — a sweep into the auto-memory system to preserve reusable insights for future Claude sessions, and a human-readable recap saved to the Obsidian notes vault. Use for retrospectives, debriefs, post-mortems, or end-of-session reflection.

00

notion-pilot

1000ssam

Notion API 통합 스킬. DB/페이지/블록 CRUD, 마크다운 읽기/쓰기, 파일 업로드, 이미지 커버 설정, upsert, 코멘트, 페이지 이동 등 모든 Notion 작업을 notion-api.mjs 모듈로 처리합니다. Use when: (1) 노션에 추가/수정/조회, (2) 노션 DB 생성, (3) 노션 이미지 업로드, (4) 노션 커버 설정, (5) 노션 파일 업로드, (6) Notion API 작업. 트리거: '노션', 'Notion', '노션에', '노션 DB', '노션 페이지', '노션 업로드'.

00

gtd

Gerstep

Autonomous task execution from GTD.md items. Use when processing GTD tasks, call prep, outreach, or podcast preparation.

00

Search skills

Search the agent skills registry