A self-updating static website that summarizes AI-related news twice daily.
ai-news-summary skill (thurkube AgentJob, 07:00 & 19:00 Europe/Paris)
→ gathers HN + arXiv + curated RSS, enriches with WebSearch/WebFetch
→ writes content/YYYY-MM-DD-<edition>.md and pushes to main
→ GitHub Actions builds ghcr.io/thurbeen/ai-news:<sha7>
→ ArgoCD Image Updater bumps the thurspace deployment
→ site updates at https://ai-news (Tailscale)
The agent is Claude Code, so summarization needs no separate LLM API key.
| Path | Purpose |
|---|---|
content/*.md |
Dated editions (frontmatter + markdown), written by the agent |
generate.py |
Static generator: content/*.md → public/ (index + per-edition pages) |
templates/ |
base.html, index.html, day.html (str.replace templating) |
static/style.css |
Site styling |
Dockerfile |
Multi-stage: build static → serve via nginx on :80 |
.github/workflows/build.yml |
Build + push image tagged with 7-char SHA |
.claude/config.yaml |
Source list + site config (read by the skill and generator) |
pip install -r requirements.txt
python generate.py # → ./public/
docker build -t ai-news:test .
docker run --rm -p 8080:80 ai-news:test # http://localhost:8080Edit .claude/config.yaml (sources.*). Any new RSS host must also be added to
the claude-code-jobs Cilium egress allow-list in thurspace
(kubernetes/apps/base/network-policies/claude-code-jobs.yaml), otherwise the
agent pod cannot reach it.