slack-notify
Send daily report to Slack workspace via webhook or Bot API
When & Why to Use This Skill
The Slack Notify skill streamlines team communication by automating the delivery of formatted daily reports and metrics directly to Slack workspaces. It intelligently converts Markdown content into Slack's rich Block Kit format, ensuring that critical business data, GitHub updates, and project milestones are presented clearly and professionally via Webhooks or the Slack Bot API.
Use Cases
- Automated Daily Reporting: Schedule and send daily business performance metrics or website traffic summaries to dedicated Slack channels to keep stakeholders informed.
- Team Progress Synchronization: Post automated daily standup summaries or project progress reports to keep distributed teams aligned on goals and blockers.
- Engineering & DevOps Updates: Push repository activity, commit summaries, or build status reports from Markdown files directly to engineering channels.
- KPI & Metric Monitoring: Highlight key performance indicators and data tables in a structured, easy-to-read format for quick team review.
| name | slack-notify |
|---|---|
| description | Send daily report to Slack workspace via webhook or Bot API |
Slack Notify Skill
Sends the daily report to a Slack channel.
When to Use
Use this skill when you need to:
- Send the generated daily report to Slack
- Notify the team about daily metrics
- Post formatted messages to a Slack channel
How to Use
# Send a markdown file to Slack
$CLAUDE_CONFIG_DIR/skills/slack-notify/scripts/send-report.sh "/path/to/report.md"
# Send with custom channel (requires Bot Token)
$CLAUDE_CONFIG_DIR/skills/slack-notify/scripts/send-report.sh "/path/to/report.md" "#daily-reports"
Arguments
report_file(required): Path to the markdown report filechannel(optional): Slack channel to post to (only works with Bot Token, not webhook)
Prerequisites
Choose one of these authentication methods:
Option 1: Webhook (Simpler)
SLACK_WEBHOOK_URLenvironment variable must be set- Create an Incoming Webhook at: https://api.slack.com/apps → Your App → Incoming Webhooks
Option 2: Bot Token (More features)
SLACK_BOT_TOKENenvironment variable must be set (starts withxoxb-)SLACK_CHANNEL_IDenvironment variable for default channel- Create a Slack App with
chat:writescope
Output
Console output:
Sending daily report to Slack...
Report sent successfully!
Message timestamp: 1702656000.000000
Message Format
The script converts the markdown report to Slack Block Kit format:
- Headers become bold section headers
- Tables are preserved with code formatting
- Lists are converted to bullet points
- Key metrics are highlighted
Example Slack message:
📊 Daily Data Report - 2024-12-15
*GitHub Repository: vm0-ai/vm0*
• Stars: 1,234 (+12)
• Forks: 56 (+3)
*Website Traffic*
• Visitors: 500
• Pageviews: 1,200
*Code Changes*
• 5 commits by 2 authors
• +150 / -30 lines
📋 View full report: [link]
Error Handling
- invalid_token: Check that SLACK_BOT_TOKEN or SLACK_WEBHOOK_URL is set correctly
- channel_not_found: The channel doesn't exist or bot is not invited
- missing_scope: The bot needs
chat:writepermission - rate_limited: Too many requests, the script will retry automatically