Media News Digest
Automated media & entertainment industry news digest system. Covers Hollywood trades, box office, streaming platforms, awards season, film festivals, production news, and industry deals.
Quick Start
Generate Digest (unified pipeline — runs all 4 sources in parallel):
python3 scripts/run-pipeline.py \
--defaults <SKILL_DIR>/config/defaults \
--config <WORKSPACE>/config \
--hours 48 --freshness pd \
--archive-dir <WORKSPACE>/archive/media-news-digest/ \
--output /tmp/md-merged.json --verbose --force
Use Templates: Apply Discord or email templates to merged output
Data Sources (76 total sources, 75 enabled)
- RSS 46 enabled feeds: THR, Deadline, Variety, IndieWire, The Wrap, Collider, YouTube RSS mirrors, and more
- Twitter/X 18 KOLs: @THR, @DEADLINE, @Variety, @FilmUpdates, @DiscussingFilm, @BoxOfficeMojo, @MattBelloni, @TheAcademy, @letterboxd, @A24, and more
- Reddit 11 subreddits: r/movies, r/boxoffice, r/television, r/Oscars, r/TrueFilm, r/entertainment, r/netflix, r/marvelstudios, r/DC_Cinematic, r/anime, r/flicks
- Web Search (9 topic sections): Brave Search / Tavily with freshness filters
Topics (9 topic sections)
- 🇨🇳 China / 中国影视 — China mainland box office, Chinese films, Chinese streaming
- 🎬 Production / 制作动态 — New projects, casting, filming updates
- 💰 Deals & Business / 行业交易 — M&A, rights, talent deals
- 🎞️ Upcoming Releases / 北美近期上映 — Theater openings, release dates, trailers
- 🎟️ Box Office / 票房 — NA/global box office, opening weekends
- 📺 Streaming / 流媒体 — Netflix, Disney+, Apple TV+, HBO, viewership
- 🏆 Awards / 颁奖季 — Oscars, Golden Globes, Emmys, BAFTAs
- 🎪 Film Festivals / 电影节 — Cannes, Venice, TIFF, Sundance, Berlin
- ⭐ Reviews & Buzz / 影评口碑 — Critical reception, RT/Metacritic scores
Scripts Pipeline
Unified Pipeline
python3 scripts/run-pipeline.py \
--defaults config/defaults --config workspace/config \
--hours 48 --freshness pd \
--archive-dir workspace/archive/media-news-digest/ \
--output /tmp/md-merged.json --verbose --force
- Features: Runs all 4 fetch steps in parallel, then merges + deduplicates + scores
- Output: Final merged JSON ready for report generation (~30s total)
- Flags:
--skip rss,twitter to skip steps, --enrich for full-text enrichment
Individual Scripts
fetch-rss.py — Parallel RSS fetcher (10 workers, 30s timeout, caching)
fetch-twitter.py — Dual backend: official X API v2 + twitterapi.io (auto fallback, 3-worker concurrency)
fetch-web.py — Web search via Brave (multi-key rotation) or Tavily
fetch-reddit.py — Reddit public JSON API (4 workers, no auth)
merge-sources.py — Quality scoring, URL dedup, multi-source merging
summarize-merged.py — Structured overview sorted by quality_score
enrich-articles.py — Full-text enrichment for top articles
generate-pdf.py — PDF generation with Chinese typography + emoji
send-email.py — MIME email with HTML body + PDF attachment
sanitize-html.py — XSS-safe markdown to HTML conversion
validate-config.py — Configuration validator
source-health.py — Source health tracking
config_loader.py — Config overlay loader (defaults + user overrides)
test-pipeline.sh — Pipeline testing with --only/--skip/--twitter-backend filters
Cron Integration
Reference references/digest-prompt.md in cron prompts.
Daily Digest
MODE = daily, FRESHNESS = pd, RSS_HOURS = 48
Weekly Digest
MODE = weekly, FRESHNESS = pw, RSS_HOURS = 168
Dependencies
Python 3.8+ is required. Install requirements.txt for reliable RSS parsing (feedparser), config validation (jsonschema), and PDF rendering (weasyprint). PDF output also needs system libraries/fonts such as Cairo/Pango, Noto CJK fonts, and fonts-noto-color-emoji so emoji glyphs are rendered with a real emoji font rather than CJK/fontconfig fallback; on Ubuntu install msmtp fonts-noto-cjk fonts-noto-color-emoji python3-venv as needed for email/PDF delivery.
1---2name: media-news-digest3description: Generate media & entertainment industry news digests. Covers Hollywood trades (THR, Deadline, Variety), box office, streaming, awards season, film festivals, and production news. Four-source data collection from RSS feeds, Twitter/X KOLs, Reddit, and web search. Pipeline-based scripts with retry mechanisms and deduplication. Supports Discord and email output with PDF attachments.4---56# Media News Digest78Automated media & entertainment industry news digest system. Covers Hollywood trades, box office, streaming platforms, awards season, film festivals, production news, and industry deals.910## Quick Start11121. **Generate Digest** (unified pipeline — runs all 4 sources in parallel):13 ```bash14 python3 scripts/run-pipeline.py \15 --defaults <SKILL_DIR>/config/defaults \16 --config <WORKSPACE>/config \17 --hours 48 --freshness pd \18 --archive-dir <WORKSPACE>/archive/media-news-digest/ \19 --output /tmp/md-merged.json --verbose --force20 ```21222. **Use Templates**: Apply Discord or email templates to merged output2324## Data Sources (76 total sources, 75 enabled)2526- **RSS 46 enabled feeds**: THR, Deadline, Variety, IndieWire, The Wrap, Collider, YouTube RSS mirrors, and more27- **Twitter/X 18 KOLs**: @THR, @DEADLINE, @Variety, @FilmUpdates, @DiscussingFilm, @BoxOfficeMojo, @MattBelloni, @TheAcademy, @letterboxd, @A24, and more28- **Reddit 11 subreddits**: r/movies, r/boxoffice, r/television, r/Oscars, r/TrueFilm, r/entertainment, r/netflix, r/marvelstudios, r/DC_Cinematic, r/anime, r/flicks29- **Web Search (9 topic sections)**: Brave Search / Tavily with freshness filters3031## Topics (9 topic sections)3233- 🇨🇳 China / 中国影视 — China mainland box office, Chinese films, Chinese streaming34- 🎬 Production / 制作动态 — New projects, casting, filming updates35- 💰 Deals & Business / 行业交易 — M&A, rights, talent deals36- 🎞️ Upcoming Releases / 北美近期上映 — Theater openings, release dates, trailers37- 🎟️ Box Office / 票房 — NA/global box office, opening weekends38- 📺 Streaming / 流媒体 — Netflix, Disney+, Apple TV+, HBO, viewership39- 🏆 Awards / 颁奖季 — Oscars, Golden Globes, Emmys, BAFTAs40- 🎪 Film Festivals / 电影节 — Cannes, Venice, TIFF, Sundance, Berlin41- ⭐ Reviews & Buzz / 影评口碑 — Critical reception, RT/Metacritic scores4243## Scripts Pipeline4445### Unified Pipeline46```bash47python3 scripts/run-pipeline.py \48 --defaults config/defaults --config workspace/config \49 --hours 48 --freshness pd \50 --archive-dir workspace/archive/media-news-digest/ \51 --output /tmp/md-merged.json --verbose --force52```53- **Features**: Runs all 4 fetch steps in parallel, then merges + deduplicates + scores54- **Output**: Final merged JSON ready for report generation (~30s total)55- **Flags**: `--skip rss,twitter` to skip steps, `--enrich` for full-text enrichment5657### Individual Scripts58- `fetch-rss.py` — Parallel RSS fetcher (10 workers, 30s timeout, caching)59- `fetch-twitter.py` — Dual backend: official X API v2 + twitterapi.io (auto fallback, 3-worker concurrency)60- `fetch-web.py` — Web search via Brave (multi-key rotation) or Tavily61- `fetch-reddit.py` — Reddit public JSON API (4 workers, no auth)62- `merge-sources.py` — Quality scoring, URL dedup, multi-source merging63- `summarize-merged.py` — Structured overview sorted by quality_score64- `enrich-articles.py` — Full-text enrichment for top articles65- `generate-pdf.py` — PDF generation with Chinese typography + emoji66- `send-email.py` — MIME email with HTML body + PDF attachment67- `sanitize-html.py` — XSS-safe markdown to HTML conversion68- `validate-config.py` — Configuration validator69- `source-health.py` — Source health tracking70- `config_loader.py` — Config overlay loader (defaults + user overrides)71- `test-pipeline.sh` — Pipeline testing with --only/--skip/--twitter-backend filters7273## Cron Integration7475Reference `references/digest-prompt.md` in cron prompts.7677### Daily Digest78```79MODE = daily, FRESHNESS = pd, RSS_HOURS = 4880```8182### Weekly Digest83```84MODE = weekly, FRESHNESS = pw, RSS_HOURS = 16885```8687## Dependencies8889Python 3.8+ is required. Install `requirements.txt` for reliable RSS parsing (`feedparser`), config validation (`jsonschema`), and PDF rendering (`weasyprint`). PDF output also needs system libraries/fonts such as Cairo/Pango, Noto CJK fonts, and `fonts-noto-color-emoji` so emoji glyphs are rendered with a real emoji font rather than CJK/fontconfig fallback; on Ubuntu install `msmtp fonts-noto-cjk fonts-noto-color-emoji python3-venv` as needed for email/PDF delivery.