home / skills / openclaw / skills / danish-news-aggregator
This skill aggregates Danish RSS feeds into category-based, deduplicated feeds with authority ranking for timely national, regional, tech, sports, and English
npx playbooks add skill openclaw/skills --skill danish-news-aggregatorReview the files below or copy the command above to add this skill to your agents.
---
name: danish-news-aggregator
description: |
Comprehensive Danish News RSS Aggregator - combines 100+ Danish RSS feeds into category-based unified feeds.
Produces 6 curated RSS feeds:
- danish-all.xml (top 30 sources)
- danish-national.xml (newspapers)
- danish-regional.xml (local news)
- danish-sports.xml (sports)
- danish-business.xml (finance)
- danish-tech.xml (technology)
- danish-english.xml (English-language Denmark)
Auto-refreshes every 15 minutes, deduplicates, ranks by source authority.
---
# Danish News Aggregator Skill
Aggregates 100+ Danish RSS feeds into category-based unified RSS feeds.
## Quick Start
```bash
# Install dependencies
pip install feedparser python-dateutil
# Run aggregator
python3 aggregator.py
# Output feeds in output/ directory
ls output/
```
## Configuration
Edit `feeds.json` to customize which feeds to include:
```json
{
"refresh_interval": 900, // seconds (15 min)
"max_items_per_feed": 50,
"deduplicate": true,
"feeds": {
"national": ["https://..."],
"sports": ["https://..."]
}
}
```
## Output Feeds
| Feed | Description | Sources |
|------|-------------|---------|
| `danish-all.xml` | All news combined | Top 30 |
| `danish-national.xml` | DR, Berlingske, Politiken | 8 |
| `danish-regional.xml` | Nordjyske, Fyens, etc | 5 |
| `danish-sports.xml` | Bold, Tipsbladet, TV2 Sport | 8 |
| `danish-business.xml` | Finans, Nationalbanken | 6 |
| `danish-tech.xml` | Version2, Ingeniøren | 10 |
| `danish-english.xml` | The Local, CPH Post | 5 |
## Features
- ✅ Category-based feeds
- ✅ Deduplication (same article from multiple sources)
- ✅ Source authority ranking (DR > major newspapers > regional)
- ✅ Time filtering (last 24h by default)
- ✅ RSS 2.0 compliant
- ✅ UTF-8 encoding
- ✅ Auto-refresh (15 min interval)
- ✅ Media RSS extensions for images
## Hosting
### Self-Host (Docker)
```bash
docker build -t danish-news-aggregator .
docker run -d -p 8080:8080 danish-news-aggregator
```
### Cron Job
```bash
# Add to crontab
*/15 * * * * cd /path/to/aggregator && python3 aggregator.py
```
## Subscribe
Add these URLs to your RSS reader:
- https://your-domain.com/danish-all.xml
- https://your-domain.com/danish-national.xml
- https://your-domain.com/danish-regional.xml
- https://your-domain.com/danish-sports.xml
- https://your-domain.com/danish-business.xml
- https://your-domain.com/danish-tech.xml
- https://your-domain.com/danish-english.xml
## Credits
Aggregates from: DR, Berlingske, Politiken, Information, Nordjyske, Fyens, JydskeVestkysten, Bold.dk, Tipsbladet, TV2 Sport, Finans, Nationalbanken, Version2, Ingeniøren, Computerworld, The Local Denmark, The Copenhagen Post, and many more.
---
*Danish News Aggregator v1.0 - Built by Nexus Orchestrator*
This skill aggregates over 100 Danish RSS feeds into six curated, category-based RSS outputs. It produces timely, deduplicated feeds refreshed every 15 minutes and ranked by source authority to surface the most relevant items. The feeds are RSS 2.0 compliant, UTF-8 encoded, and include media support where available.
The aggregator polls configured RSS feeds on a 15-minute interval, normalizes items, deduplicates identical stories, and ranks entries using a source-authority score to prefer national outlets. It groups items into predefined categories (all, national, regional, sports, business, tech, and English) and writes the top items to static XML files. Configuration is via a JSON file for refresh interval, max items, and included feeds.
Can I change the refresh interval?
Yes. Edit the refresh_interval value in feeds.json (default 900 seconds) and restart or schedule the script.
How does deduplication work?
The aggregator compares normalized titles, links, and timestamps to collapse duplicate articles from multiple sources.