Token导航 LogoToken导航TokenDH.com
研究检索需要联网clawhub未标认证来源可访问clear审计通过

spotify-news-digestSpotify 新闻摘要

Agent Skill

spotify-news-digest 用于处理浏览器自动化、网页检查和页面信息提取,适合在 OpenClaw 中需要让 Agent 打开页面、读取网页或验证前端流程时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

5,998

周安装

245

GitHub Stars

1

下载量

1,940
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:spotify-news-digest(Spotify 新闻摘要)
来源仓库:https://github.com/ibillxia/spotify-news-digest
安装命令:
openclaw skills install spotify-news-digest
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install spotify-news-digest

简介

聚合多个来源的 Spotify 相关新闻并进行智能摘要整理。

  • 适合跟踪公司动态、产品更新或行业趋势分析等研究用途。
  • 自动抓取 TechCrunch、The Verge 等平台内容并生成简明报告。
  • 依赖网页爬虫技术,需注意目标网站的反爬机制与合规性边界。
  • spotify-news-digest 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

name
spotify-news-digest
description
>
metadata
version
1.1.0
author
billxia

Spotify News Digest Skill

Overview

This skill automatically aggregates Spotify-related news from 9+ sources (official Spotify blogs + media + community), deduplicates articles, ranks them by relevance, and delivers a formatted Chinese digest — one-sentence summary per article with the original link.

Key Features:

  • 🎵 Covers Spotify's full content ecosystem (Engineering, Newsroom, Research, Design)
  • 📰 Pulls media coverage from TechCrunch, The Verge, Music Business Worldwide, Forbes
  • 💬 Includes Hacker News community discussions via Algolia API
  • 🔍 DDG News search fallback ensures coverage even when RSS is restricted
  • 🧹 Title-similarity deduplication (threshold: 0.65)
  • 📊 Multi-factor ranking: source authority + recency + community score
  • 🤖 One-sentence Chinese summaries generated by LLM at render time
  • ⏰ Configurable time range (hours or days)

⚠️ Security Notes

Read this before scheduling or running in any environment with internal network access.
  • TLS verification is enabled. The fetcher uses verify=True on all HTTP requests. Do not add any ssl._create_default_https_context overrides.
  • Domain allowlist enforced for search results. DDG News results are filtered through ALLOWED_DDG_DOMAINS (defined at the top of scripts/fetch_spotify_news.py). Only well-known public news domains pass; internal hostnames are rejected. Review and edit that list before running in sensitive environments.
  • RSS sources are explicit and fixed. The base sources in config/sources.json are official Spotify feeds and a few trusted media outlets. Do not add intranet or metadata-service URLs to sources.json.
  • Run in isolation when scheduling. If you plan to schedule this skill, run it in a container or VM that has no access to internal services or secrets. A mis-configured DDG result that slips through would otherwise reach your internal network.
  • Audit pip dependencies before installing in production: feedparser, beautifulsoup4, requests, python-dateutil, ddgs.
  • Cron delivery scope. When you ask OpenClaw to schedule this skill, it creates an isolated agentTurn cron job. Confirm the target channel is a group/recipient you intend before confirming the job.

Quick Start

One-Time Digest (Last 24 Hours)

cd /projects/.openclaw/skills/spotify-news-digest
python3 scripts/generate_digest.py

Last 7 Days (Broader Coverage)

python3 scripts/generate_digest.py --hours 168

Save to Markdown File

python3 scripts/generate_digest.py --hours 24 --output /tmp/spotify_digest.md

News Sources

SourceTypeURL / MethodCategory
Spotify Engineering BlogRSSengineering.atspotify.com/feed/official
Spotify NewsroomRSSnewsroom.spotify.com/feed/official
Spotify ResearchRSSresearch.atspotify.com/feed/research
Spotify DesignRSSspotify.design/feeddesign
TechCrunch SpotifyRSStechcrunch.com/tag/spotify/feed/media
The Verge (filtered)RSSVerge full feed + keyword filtermedia
Hacker News SpotifyAlgolia APIhn.algolia.com query=spotifycommunity
DDG News SearchDDGS API5 queries × 8 resultsmedia/official
Note: Music Business Worldwide and Billboard RSS feeds have high latency and are disabled by default (_disabled: true in sources.json). Their articles are captured via DDG News Search instead.

Output Format

Each digest is grouped by category with one-sentence Chinese summaries:

🎵 Spotify 新闻日报 · YYYY-MM-DD
共 N 条(去重后)
─────────────────────────────

🎵 官方动态(N 条)
· [一句话中文总结](Source Name)
  🔗 https://...

📰 媒体报道(N 条)
· [一句话中文总结](Source Name)
  🔗 https://...

🔬 技术研究(N 条)
· ...

─────────────────────────────
🤖 由 OpenClaw · spotify-news-digest 自动生成

Category Labels

Category KeyDisplay Label
official🎵 官方动态
research🔬 技术研究
design🎨 产品设计
media📰 媒体报道
community💬 社区讨论
industry🏭 行业资讯

Usage Examples

1. As Python Module

import sys
sys.path.insert(0, '/projects/.openclaw/skills/spotify-news-digest/scripts')

from fetch_spotify_news import SpotifyNewsFetcher
from process_spotify_news import SpotifyNewsProcessor, format_digest

# Fetch articles from the last 48 hours
articles = SpotifyNewsFetcher().fetch_all(hours=48)
print(f"Fetched {len(articles)} articles")

# Deduplicate, score, and group by category
result = SpotifyNewsProcessor().process(articles, max_output=20)

# Render Markdown digest
md = format_digest(result, date_str='2026-03-17')
print(md)

2. LLM-Enhanced Summaries (Recommended)

The format_digest() function outputs [English Title] placeholders when no zh_summary is set on an article. The calling LLM should:

  1. Run generate_digest.py to get the raw structured result
  2. For each article, read title + summary and generate a one-sentence Chinese summary
  3. Set item['zh_summary'] before calling format_digest()

This two-step flow keeps the scraping fast and the summarization accurate.

# Example: LLM fills zh_summary before formatting
for cat_items in result.values():
    for item in cat_items:
        item['zh_summary'] = llm_summarize_zh(item['title'], item['summary'])

digest = format_digest(result)

3. Scheduled Daily Digest (Cron via OpenClaw)

Ask OpenClaw to set up a daily cron job:

"每天上午 10 点发一份 Spotify 新闻日报到 [群/频道]"

OpenClaw will create an isolated agentTurn cron job that:

  1. Runs this skill
  2. Generates Chinese summaries with LLM
  3. Posts the digest to the specified channel

Configuration

Add / Remove Sources

Edit config/sources.json:

{
  "sources": [
    {
      "name": "My Custom Source",
      "type": "rss",
      "url": "https://example.com/feed/",
      "language": "en",
      "category": "media",
      "keyword_filter": "spotify"
    }
  ],
  "settings": {
    "max_news_per_source": 15,
    "final_output_count": 20,
    "similarity_threshold": 0.65,
    "timeout": 12,
    "keyword_filter_default": "spotify"
  }
}

keyword_filter: When set, only articles containing this keyword (case-insensitive) in title or summary are included. Leave empty for official Spotify feeds that are already Spotify-only.

_disabled: true: Mark a source to skip it at runtime without deleting it.

Security: Only add public news domains to sources.json. Do not add intranet, VPN, or cloud metadata URLs — they could be fetched directly via RSS without domain-allowlist filtering.

Extend the DDG Domain Allowlist

If you add sources that are reachable via DDG News search (not RSS), also add their domain to ALLOWED_DDG_DOMAINS near the top of scripts/fetch_spotify_news.py:

ALLOWED_DDG_DOMAINS: tuple = (
    'atspotify.com',
    'techcrunch.com',
    ...
    'your-new-domain.com',  # ← add here
)

Tune Deduplication

In scripts/process_spotify_news.py:

processor = SpotifyNewsProcessor(similarity_threshold=0.65)
# 0.5 = aggressive dedup | 0.8 = loose dedup

Tune Source Authority Weights

In process_spotify_news.py, edit source_weight:

source_weight = {
    'Spotify Engineering Blog': 90,
    'Spotify Newsroom': 80,
    'TechCrunch': 60,
    # Add your custom sources here
}

Command-Line Reference

python3 scripts/generate_digest.py [OPTIONS]

Options:
  --hours N     Time range in hours (default: 24)
  --max N       Max articles to output after dedup (default: 20)
  --output PATH Save Markdown digest to file
python3 scripts/fetch_spotify_news.py [OPTIONS]

Options:
  --hours N     Fetch articles published within last N hours

Troubleshooting

No articles fetched (0 条)

Most likely a network restriction on RSS endpoints.

# Test direct RSS access
curl -I https://engineering.atspotify.com/feed/

# Test DDG search fallback
python3 -c "
from ddgs import DDGS
with DDGS() as d:
    r = list(d.news('spotify new feature', max_results=3, timelimit='w'))
    print(r)
"

If RSS is blocked but DDG works, the skill will still return results via the search fallback. This is normal in restricted network environments.

ddgs not installed

pip3 install ddgs
duckduckgo-search (older package name) is also supported as a fallback.

Slow fetch / timeout

Sources with slow RSS feeds are marked _disabled: true in sources.json. To disable an additional slow source:

{ "name": "...", "_disabled": true, ... }

Too many duplicate articles

Lower the similarity threshold:

SpotifyNewsProcessor(similarity_threshold=0.5)

Articles missing Chinese summary

The format_digest() function wraps untranslated titles in [brackets]. This is intentional — the LLM caller should fill zh_summary before rendering. See Usage Examples → LLM-Enhanced Summaries above.


File Structure

spotify-news-digest/
├── SKILL.md                    ← You are here
├── config/
│   └── sources.json            ← News source definitions & settings
├── scripts/
│   ├── fetch_spotify_news.py   ← Multi-source fetcher (RSS + DDG)
│   ├── process_spotify_news.py ← Dedup, scoring, formatting
│   └── generate_digest.py      ← CLI entry point (fetch → process → print)
└── references/
    └── (reserved for future API reference docs)

Dependencies

pip3 install feedparser beautifulsoup4 requests python-dateutil ddgs
PackagePurpose
feedparserRSS feed parsing
beautifulsoup4HTML summary cleanup
requestsHTTP requests for RSS
python-dateutilRobust date parsing
ddgsDuckDuckGo News search fallback

Python: 3.8+


Design Notes

  • Why DDG News over site-specific scrapers? RSS feeds from Spotify blogs occasionally return 0 results due to network restrictions. DDG News search provides a reliable fallback that requires no authentication and respects timelimit for recency filtering.
  • Why one-sentence Chinese summaries? The target audience (WeChat Work groups) prefers dense, scannable content. English titles are preserved in the source data so users can verify accuracy.
  • Why not store summaries? Summaries are generated at render time by the calling LLM, keeping the skill stateless and reproducible.

Changelog

VersionDateChanges
1.1.02026-07-14Security: remove SSL bypass, add domain allowlist for DDG results, explicit verify=True on all requests, updated security guidance
1.0.02026-03-17Initial release: RSS + DDG, 9 sources, category grouping, Chinese summary support

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

95.66%
按下载量换算1,856

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills