slack-channel-digestlisted
Install: claude install-skill ayushmall/memoryvault-kit
# slack-channel-digest
Turn a Slack channel into structured memories. The channel itself is
a **surface entity** (`entities/surfaces/slack-<name>.md`); the
memories from it carry `source_surface:` pointing back.
## Goal
When the vault owner asks **"what's happening in #channel?"** the
retrieval can answer it via entity-mediated lookup on the surface,
not keyword match. That requires every Slack-derived memory to carry
a structural link to the channel surface — not just a passing mention.
## Read (before saving)
1. **Does the channel surface entity exist?**
```
entity_resolve "#<channel-name>"
```
If no, create it with `surface_kind: slack-channel`, `medium: slack`,
inferred `about:` (customer, project, or topic), and `participants:`
(start empty; updated as you ingest messages).
2. **Search recent vault for memories already tied to this channel:**
```
memory_search entities=["[[#<channel-name>]]"]
```
Read the top 5 — what already exists shapes what new memories to write.
3. **Check active gap memories tied to this channel's `about:` entities:**
```
memory_search type=feedback tags=coverage-gap entities=["[[<about-entity>]]"]
```
If a gap matches new channel content, prioritize filling it.
## Reflect
For each non-trivial thread or message-cluster (skip emoji replies,
acks, single-line "thanks"):
- Is it a **decision**? (commitment language → `type: decision`, run the
`docs/memory-playbooks/decision.md` playbook)
- Is it a