Skip to content
Conduit

skill

slack-daily-digest

Slack -> Feishu (Lark) daily intelligence digest skill for Mira / Claude Agent. Auto-synthesizes Highlights, TODO, Pipeline, Risks; pins new entries to a unified index doc; self-healing watchdog.

encircleacity2/slack-daily-digestcommunitylistedunreviewed

Set up

Skills are installed by placing their folder where your agent loads skills.

The download comes from github.com/encircleacity2/slack-daily-digest itself, not from our server, so what you get is exactly what its author published.

Install instructions come from the README

Skills do not use an MCP config. Follow the steps in the README below.

README

synced Oct 23, 2026

slack-daily-digest

A Mira / Claude Agent skill that turns your Slack workspace into an AI-synthesized daily intelligence digest in Feishu (Lark) docs — Highlights, TODO backlog, business pipeline, risks, by-channel breakdown — pinned to a single index doc and pushed to you via Lark IM.


✨ Features

  • One-time onboarding walks you through creating a Slack User OAuth App and a Lark Custom Bot, then stores credentials locally (~/.slack-daily-digest/credentials.json, mode 0600).
  • Unified index doc in Feishu — every daily digest is pinned to the top of the list.
  • Twice-daily synthesis (default 11:00 / 16:00 UTC+8, user-configurable) covering recent messages with:
    • 🎯 Executive Summary (P0/P1/P2 prioritized)
    • 📌 Highlights · ✅ TODO · 📈 Pipeline · ⚠️ Risk Signals
    • 🗂️ By-Channel verbatim transcripts (no truncation, no ellipsis)
    • 📝 Statistics + identified BytePlus / ByteDance owners
  • Self-healing watchdog runs T+20min after each scheduled slot. Verifies all required sections exist; on failure self-retries with [60s, 300s, 900s] backoff up to 3 times, then escalates.
  • Lark IM card notification with Highlights + TODO summary + "Open Full Digest" button.

📦 Install

This is a Mira / Claude-Agent skill. Drop the contents of this repo into your skills directory:

git clone https://github.com/<your-org>/slack-daily-digest.git \
  ~/.claude/skills/slack-daily-digest

Then in your next conversation, ask the agent:

"Set up Slack daily digest"

The skill will guide you through Slack App + Lark Bot onboarding.


🔧 Prerequisites

RequirementWhy
Python 3.9+Helper scripts
curl, jqAPI calls + JSON parsing
A Slack workspace where you can install a custom appRead channel history
A Feishu / Lark tenant where you can publish a custom appWrite docs + send IM
The lark-docs-skill and lark-drive-wiki-skill Mira skills (or equivalent CLIs)Doc CRUD + folder ops

See references/slack-app-setup.md and references/lark-bot-setup.md for credential creation.


🚀 Quick Start

After installing, the skill auto-runs Phase A (Onboarding) on first invocation:

  1. Slack: create app → add User Token Scopes → install → paste xoxp-...
  2. Lark: create app → add scopes → publish → paste App ID + App Secret + your work email
  3. Index doc: pick a parent folder (or create new) → confirm daily run time
  4. The skill stores everything in ~/.slack-daily-digest/ and registers a recurring task

From then on, every scheduled slot:

slack-daily-digest run --slot 11:00
slack-daily-digest watchdog --slot 11:00   # T+20min

🗂️ Repo Layout

SKILL.md                          # Skill manifest (Mira-compatible)
scripts/
├── save_credentials.py           # Persist Slack/Lark creds + schedule
├── refresh_users_cache.py        # Refresh users.list cache (Tier 2, 7-day TTL)
├── list_channels.py              # users.conversations paginated list
├── pull_history.py               # conversations.history per channel + filters
├── build_digest.py               # Resolve mentions, BytePlus owner detection
├── lark_helpers.py               # tenant_token / email→open_id / doc CRUD
├── run_digest.py                 # Orchestrator (Steps 0-4 + agent handoff)
├── watchdog.py                   # T+20min self-healing checker
└── notify_lark.py                # IM card with Highlights + TODO
references/
├── slack-app-setup.md            # Step-by-step Slack App guide
├── lark-bot-setup.md             # Step-by-step Lark Bot guide
└── digest-template.md            # Synthesis template v4 (Hard Rules + rubric)

🔐 Security

  • Credentials live only in ~/.slack-daily-digest/credentials.json with mode 0600.
  • The Lark tenant_access_token is cached for 90 minutes in ~/.slack-daily-digest/.lark_tenant_token.
  • The skill never sends credentials over the wire to anything other than the Slack and Lark APIs.
  • .gitignore excludes all runtime data — verify before committing.

If your Slack token is revoked or rotated, re-run:

python3 scripts/save_credentials.py --slack-token "xoxp-..."

⚠️ Hard Rules (encoded in references/digest-template.md)

  • ❌ Never truncate a message with [:N].
  • ❌ Never collapse long messages into ellipsis.
  • ❌ Never keep only a summary while dropping the original text.
  • ✅ Filter channel_join, channel_leave, pure-emoji replies, pure greetings.
  • ✅ Allowed to merge consecutive messages from the same speaker for compactness.

🤝 Contributing

PRs welcome. Please:

  1. Strip any real credentials, doc URLs, channel IDs, or user names from logs/screenshots.
  2. Test the onboarding flow end-to-end on a fresh ~/.slack-daily-digest/ directory.
  3. Update CHANGELOG.md with user-visible changes.

📜 License

MIT

↑↓ navigate openesc close