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---5
6# AI News Digest
7
8Fetch and curate important AI news from the user's X/Twitter AI list.
9
10## Prerequisites
11
12- `@dannote/bird-premium` package (official X API v2)
13- AI list ID: `1894700501725229467`
14
15## Workflow
16
171. 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, Tools
204. Extract actual announcement links from tweet text (t.co URLs to blogs, GitHub, arxiv)
215. Include tweet link as source
22
23## Fetching Last 24 Hours
24
25The list produces ~250-300 tweets per day. Use pagination to fetch all:
26
27```bash
28# First request (100 tweets max per request)
29bunx --bun @dannote/bird-premium list-timeline 1894700501725229467 -n 100 --json
30
31# Continue with cursor from previous response until createdAt < 24h ago
32bunx --bun @dannote/bird-premium list-timeline 1894700501725229467 -n 100 --cursor <nextCursor> --json
33```
34
35**Stop fetching when** the oldest tweet's `createdAt` is older than 24 hours.
36
37**Merge all tweets** from paginated responses, then filter by `createdAt` >= (now - 24h).
38
39## Filtering Criteria
40
41### Include (important)
42
43- Model releases and announcements
44- Research papers (arxiv links, paper titles)
45- Tool/library releases with technical details
46- Benchmark results
47- Technical insights and analysis
48- Infrastructure updates (vLLM, ComfyUI, MLX, etc.)
49- API launches
50
51### Exclude (noise)
52
53- Marketing fluff ("excited to announce", "join us")
54- Challenges and contests
55- Hiring posts
56- Retweets (text starting with "RT @")
57- Single emoji or short reaction posts
58- Partnership announcements without technical substance
59- Repetitive product links spam
60
61## Output Format
62
63Organize into sections. Extract actual links from tweet text when available (GitHub, arxiv, blog posts). Include tweet as source.
64
65```markdown
66## Releases
67
68**ProductName** (Company) — Brief description
69Link: https://github.com/org/repo (or blog/arxiv link from tweet)
70Source: https://x.com/username/status/ID
71
72## Papers
73
74**Paper Title** — One-line summary (Institution)
75Link: https://arxiv.org/abs/XXXX
76Source: https://x.com/username/status/ID
77
78## Insights
79
80**Topic** — Key finding or leak
81Source: https://x.com/username/status/ID
82
83## Tools
84
85**Tool** — What it does
86Link: https://example.com
87Source: https://x.com/username/status/ID
88```
89
90## Example Usage
91
92User: "What's happening in AI today?"
93
941. Fetch first page:
95 ```bash
96 bunx --bun @dannote/bird-premium list-timeline 1894700501725229467 -n 100 --json
97 ```
982. Check oldest tweet's `createdAt` — if < 24h ago, fetch next page with `--cursor`
993. Repeat until oldest tweet is > 24h old
1004. 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 relevant
1048. Filter noise, categorize, output curated digest