All loops
RAGMedium 15 min· claude-opus-4-1

Slack archive RAG

Index Slack history with channel + thread metadata for grounded answers.

Read the full RAG build guide →
NOT DEPLOYEDNOT DEPLOYED
0170ms
Trigger
cron(0 7 * * *) fired · every day · 07:00
021190ms
Agent
claude-opus-4-1 · in 1690 tok · out 728 tok
03180ms
Tools
postgres-mcp/lovable cloud:invoke → 200 OK · 70ms
0460ms
Verify
schema check · pydantic v2 passed
0590ms
Output
eval passed · faithfulness 0.94
0650ms
Notify
audit log written · runbook link attached
SUCCESS
0%
0 runs
P50
0ms
median
P95
0ms
tail
AVG COST
per run
LAST OK
never
LAST FAIL
never
none
Latency · last 30 runs0 samples
no runs yet
Latest output · what your users see
RAG index · docs-prod
chunks
38
faithfulness
0.88
recall
0.9
Q: How do I rotate a secret without restarting the loop?
A: Call `locker rotate <name>` — running loops pick up the new value on their next tick via the signed refresh channel.
// press Test to run once · Watch live to keep streaming · Deploy to make it real
The problem

Naive RAG embarrasses you in front of users — irrelevant chunks, no citations, drift.

The outcome

A measurable, evaluable RAG pipeline with cited answers and a quality dashboard.

Ingredients & skills

Secrets
  • ANTHROPIC_API_KEY
  • DATABASE_URL
Providers
  • Anthropic
  • Lovable Cloud
MCP servers
  • postgres-mcp
  • fetch-mcp
#rag#embeddings#slack

How it works

Index Slack history with channel + thread metadata for grounded answers.

Step 1

1 — Index

Chunk → embed → upsert into pgvector with a metadata JSON column.

Step 2

2 — Retrieve

Top-k vector + filter on metadata. Optional rerank pass.

Step 3

3 — Answer

Claude answers using only retrieved chunks. Empty retrieval ⇒ 'I don't know'.

One-line deploy

The button above runs the same command with your saved config. This is the raw CLI form.

bash
npx claudeloops deploy slack-archive-rag

Related loops