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.zipInstalls 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.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
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
- Auto-classification - Automatically categorize incoming information into appropriate folders
- Multi-format support - Handle Slack messages, Confluence documents, emails, meeting notes, etc.
- Smart indexing - Maintain up-to-date index.md for rapid information retrieval
- Flexible schemas - Support structured metadata for each information type
- 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:
- Analyze the content and metadata
- Automatically classify into the appropriate directory
- Generate a clean filename
- Format with proper YAML frontmatter
- 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 styleusers/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 discussionsdecisions/AWS전환_20251117.md- Important decisions (date-stamped)meetings/2025-11-17-Q4전략회의.md- Meeting notesmisc/마케팅팀_일상_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:
- Identify context: Channel, participants, date range
- Extract key info: Decisions, action items, important discussions
- 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)
- Channel guidelines/preferences → UPDATE
- Format: Chronological order, preserve thread structure
- 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:
- Convert format: HTML → Markdown
- Preserve structure: Headers, lists, tables
- Add metadata: source_url, space, last_updated
- Classify: Usually →
resources/orprojects/
Email Threads
When storing email conversations:
- Thread structure: Maintain reply chain
- Extract metadata: From, To, Subject, Date
- Classify by content:
- Announcements →
announcements/ - Project updates →
projects/ - Feedback →
feedback/
- Announcements →
Meeting Notes
When recording meetings:
- Structure: Date, attendees, agenda, discussions, action items
- Always goes to:
meetings/ - Cross-reference: Link to related projects/decisions
- Action items: Extract and consider adding to
tasks/
External News
When saving external articles:
- Always goes to:
external/news/ - Add metadata: source, source_url, date, relevance
- Summarize: Focus on key points relevant to company
- 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_idpresent →channels/user_idpresent →users/project_idpresent →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:
- Detects duplicate
- Adds version suffix:
filename_v2.md,filename_v3.md, etc.
Search Tips
- Content search: Case-insensitive by default
- Tag search: Find all files with specific tag
- Category search: List all files in a directory
- Index search: Use browser Ctrl+F on index.md for quick keyword lookup
Best Practices
1. Consistent Metadata
Always include at minimum:
type: Content typecreated: Creation timestamptags: 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
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.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| slack-memory-store (this skill) | 1 | 5mo | Review | Intermediate |
| notion-knowledge-capture | 10 | 9mo | No flags | Intermediate |
| internal-comms | 8 | 3mo | No flags | Beginner |
| diary | 0 | 3mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by krafton-ai
View all by krafton-ai →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.
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.).
diary
Anhvu1107
ALWAYS use this when the request matches Diary: Unified Diary System: A context-preserving automated logger for multi-project development.
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.
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', '노션 페이지', '노션 업로드'.
gtd
Gerstep
Autonomous task execution from GTD.md items. Use when processing GTD tasks, call prep, outreach, or podcast preparation.