AI News Digest
Fetch and curate important AI news from the user's X/Twitter AI list.
Prerequisites
@dannote/bird-premium package (official X API v2)
- AI list ID:
1894700501725229467
Workflow
- Fetch tweets from the last 24 hours (use pagination to get all)
- Filter out noise (marketing, challenges, hiring, retweets, emojis-only)
- Categorize into: Releases, Papers, Insights, Tools
- Extract actual announcement links from tweet text (t.co URLs to blogs, GitHub, arxiv)
- Include tweet link as source
Fetching Last 24 Hours
The list produces ~250-300 tweets per day. Use pagination to fetch all:
# First request (100 tweets max per request)
bunx --bun @dannote/bird-premium list-timeline 1894700501725229467 -n 100 --json
# Continue with cursor from previous response until createdAt < 24h ago
bunx --bun @dannote/bird-premium list-timeline 1894700501725229467 -n 100 --cursor <nextCursor> --json
Stop fetching when the oldest tweet's createdAt is older than 24 hours.
Merge all tweets from paginated responses, then filter by createdAt >= (now - 24h).
Filtering Criteria
Include (important)
- Model releases and announcements
- Research papers (arxiv links, paper titles)
- Tool/library releases with technical details
- Benchmark results
- Technical insights and analysis
- Infrastructure updates (vLLM, ComfyUI, MLX, etc.)
- API launches
Exclude (noise)
- Marketing fluff ("excited to announce", "join us")
- Challenges and contests
- Hiring posts
- Retweets (text starting with "RT @")
- Single emoji or short reaction posts
- Partnership announcements without technical substance
- Repetitive product links spam
Output Format
Organize into sections. Extract actual links from tweet text when available (GitHub, arxiv, blog posts). Include tweet as source.
## Releases
**ProductName** (Company) — Brief description
Link: https://github.com/org/repo (or blog/arxiv link from tweet)
Source: https://x.com/username/status/ID
## Papers
**Paper Title** — One-line summary (Institution)
Link: https://arxiv.org/abs/XXXX
Source: https://x.com/username/status/ID
## Insights
**Topic** — Key finding or leak
Source: https://x.com/username/status/ID
## Tools
**Tool** — What it does
Link: https://example.com
Source: https://x.com/username/status/ID
Example Usage
User: "What's happening in AI today?"
- Fetch first page:
bunx --bun @dannote/bird-premium list-timeline 1894700501725229467 -n 100 --json
- Check oldest tweet's
createdAt — if < 24h ago, fetch next page with --cursor
- Repeat until oldest tweet is > 24h old
- Merge all tweets, filter to last 24h by
createdAt
- Parse JSON, extract:
author.username, text, id
- Build source link:
https://x.com/{username}/status/{id}
- Extract t.co links from text, resolve to actual URLs when relevant
- Filter noise, categorize, output curated digest
1---2name: ai-news3description: Fetch and curate AI news from X/Twitter list. Use when user asks for AI news, AI digest, what's happening in AI, or wants a summary of AI announcements, papers, and releases.4---56# AI News Digest78Fetch and curate important AI news from the user's X/Twitter AI list.910## Prerequisites1112- `@dannote/bird-premium` package (official X API v2)13- AI list ID: `1894700501725229467`1415## Workflow16171. Fetch tweets from the last 24 hours (use pagination to get all)182. Filter out noise (marketing, challenges, hiring, retweets, emojis-only)193. Categorize into: Releases, Papers, Insights, Tools204. Extract actual announcement links from tweet text (t.co URLs to blogs, GitHub, arxiv)215. Include tweet link as source2223## Fetching Last 24 Hours2425The list produces ~250-300 tweets per day. Use pagination to fetch all:2627```bash28# First request (100 tweets max per request)29bunx --bun @dannote/bird-premium list-timeline 1894700501725229467 -n 100 --json3031# Continue with cursor from previous response until createdAt < 24h ago32bunx --bun @dannote/bird-premium list-timeline 1894700501725229467 -n 100 --cursor <nextCursor> --json33```3435**Stop fetching when** the oldest tweet's `createdAt` is older than 24 hours.3637**Merge all tweets** from paginated responses, then filter by `createdAt` >= (now - 24h).3839## Filtering Criteria4041### Include (important)4243- Model releases and announcements44- Research papers (arxiv links, paper titles)45- Tool/library releases with technical details46- Benchmark results47- Technical insights and analysis48- Infrastructure updates (vLLM, ComfyUI, MLX, etc.)49- API launches5051### Exclude (noise)5253- Marketing fluff ("excited to announce", "join us")54- Challenges and contests55- Hiring posts56- Retweets (text starting with "RT @")57- Single emoji or short reaction posts58- Partnership announcements without technical substance59- Repetitive product links spam6061## Output Format6263Organize into sections. Extract actual links from tweet text when available (GitHub, arxiv, blog posts). Include tweet as source.6465```markdown66## Releases6768**ProductName** (Company) — Brief description69Link: https://github.com/org/repo (or blog/arxiv link from tweet)70Source: https://x.com/username/status/ID7172## Papers7374**Paper Title** — One-line summary (Institution)75Link: https://arxiv.org/abs/XXXX76Source: https://x.com/username/status/ID7778## Insights7980**Topic** — Key finding or leak81Source: https://x.com/username/status/ID8283## Tools8485**Tool** — What it does86Link: https://example.com87Source: https://x.com/username/status/ID88```8990## Example Usage9192User: "What's happening in AI today?"93941. Fetch first page:95 ```bash96 bunx --bun @dannote/bird-premium list-timeline 1894700501725229467 -n 100 --json97 ```982. Check oldest tweet's `createdAt` — if < 24h ago, fetch next page with `--cursor`993. Repeat until oldest tweet is > 24h old1004. Merge all tweets, filter to last 24h by `createdAt`1015. Parse JSON, extract: `author.username`, `text`, `id`1026. Build source link: `https://x.com/{username}/status/{id}`1037. Extract t.co links from text, resolve to actual URLs when relevant1048. Filter noise, categorize, output curated digest