intern-updates / README.md
banao-tech's picture
Update README.md
0653bcd verified
---
title: AI Vidya Daily Report Agent
emoji: ๐Ÿ“‹
colorFrom: indigo
colorTo: blue
sdk: gradio
sdk_version: 5.9.1
app_file: app.py
pinned: false
---
# AI Vidya โ€” Daily Report Evaluation Agent
Reads **#ai-vidya** on Slack, checks who submitted their EOD report,
evaluates quality with Claude AI, and posts results to **#intern-updates**.
## Setup (5 minutes)
### 1. Create the HuggingFace Space
- Go to huggingface.co โ†’ New Space
- SDK: **Gradio**, Visibility: **Private**
- Upload `app.py`, `requirements.txt`, `README.md`
### 2. Add Secrets
In your Space โ†’ **Settings โ†’ Variables and Secrets**:
| Secret name | Value |
|---|---|
| `SLACK_BOT_TOKEN` | `xoxb-your-bot-token` |
| `ANTHROPIC_API_KEY` | `sk-ant-your-key` |
### 3. Create the Slack Bot
1. Go to [api.slack.com/apps](https://api.slack.com/apps) โ†’ Create New App
2. **OAuth & Permissions** โ†’ Bot Token Scopes, add:
- `channels:history` โ€” read #ai-vidya messages
- `channels:read` โ€” find channel IDs
- `chat:write` โ€” post to #intern-updates
- `users:read` โ€” look up intern names
3. Install to workspace โ†’ copy **Bot User OAuth Token**
4. Invite bot to both channels:
- `/invite @your-bot-name` in **#ai-vidya**
- `/invite @your-bot-name` in **#intern-updates**
### 4. Get Slack User IDs for Interns
In Slack: click any intern's profile โ†’ โ‹ฎ (more) โ†’ **Copy member ID**
It looks like: `U06T83LP86P`
Paste them into the intern registry JSON in the UI.
### 5. Schedule Daily at 11 PM IST
**GitHub Actions (free, recommended):**
Create `.github/workflows/daily_check.yml`:
```yaml
name: Daily Report Check
on:
schedule:
- cron: '30 17 * * 1-5' # 11:00 PM IST (Monโ€“Fri) = 17:30 UTC
jobs:
trigger:
runs-on: ubuntu-latest
steps:
- name: Trigger HF Space
run: |
curl -X POST "${{ secrets.HF_SPACE_URL }}/run/predict" \
-H "Content-Type: application/json" \
-d '{"data": [""]}'
```
Add `HF_SPACE_URL` as a GitHub secret โ€” format: `https://your-username-your-space-name.hf.space`
## What it does
1. Reads all messages in **#ai-vidya** posted today
2. Checks each registered intern โ€” submitted or missed
3. Evaluates submitted reports with Claude:
- ๐ŸŸข **Good** โ€” specific technical content, real blocker, shows thinking
- ๐ŸŸก **Weak** โ€” vague, missing blocker, just a status update
- ๐Ÿ”ด **Invalid** โ€” one liner, link only, "done", "working on it"
4. Posts a full summary to **#intern-updates**
5. @mentions each intern who missed with a warning message