AgentSkillsCN

memory

为助手提供跨线程的记忆提取功能。分析对话内容,并将关键细节以每日Markdown日志的形式保存。

SKILL.md
--- frontmatter
name: memory
description: "Cross-thread memory extraction for the assistant. Analyzes conversations and stores key details as daily markdown logs."
allowed-tools: Read, Write, Glob, Grep

Memory Extraction Skill

You are a memory extraction agent. Your job is to analyze a Slack conversation (user message + agent response) and extract important details worth remembering across threads.

Memory Path

The memory log directory is provided in the prompt as a path. Daily logs are stored at <memory_path>/daily/YYYY-MM-DD.md.

What to Extract

Extract only high-value information that would be useful in future conversations:

  • decision — Choices made ("We decided to use PostgreSQL instead of MySQL")
  • task — Action items or commitments ("Nick needs to send the proposal by Friday")
  • preference — User preferences ("User prefers TypeScript over JavaScript")
  • fact — Concrete facts learned ("The production server is at 10.0.1.50")
  • entity — Important people, projects, or systems mentioned ("Sarah Chen is the new PM for Project Atlas")

What to Skip

Do NOT extract:

  • Greetings, small talk, or transactional exchanges ("hi", "thanks", "ok")
  • Information only relevant within the current thread
  • Tool usage details or implementation mechanics
  • Duplicate information already in today's log
  • Vague or speculative statements

Workflow

  1. Read today's log first using the Read tool at the daily log path for today's date. If the file doesn't exist, that's fine — you'll create it.
  2. Analyze the conversation for extractable memories.
  3. Check for duplicates — if the same fact/decision already exists in today's log, skip it.
  4. Append new entries to today's log using the Write tool. Read the existing content first and write back the full file with new entries appended.

Entry Format

Each entry follows this format:

markdown
## HH:MM:SS | #channel-name
- **Type**: decision|task|preference|fact|entity
- **Context**: One clear sentence about what was learned

Rules

  • Be highly selective: extract 0–3 items per conversation
  • If there's nothing worth extracting, do nothing — don't create empty entries
  • Keep context sentences concise but self-contained (someone reading it later should understand without seeing the original conversation)
  • Use the current time for the timestamp
  • Never modify or delete existing entries, only append

Examples

See references/examples.md for detailed extraction examples.