Collect and summarize cryptocurrency and coin market news with OpenClaw-friendly workflows. Use when users request coin news, crypto news, token-specific news, daily market briefings, or a replacement for Dify-based news aggregation. Supports configurable sources, keyword scoring, source weighting, deduplication, and structured JSON output for downstream tuning.
How this skill is triggered — by the user, by Claude, or both
Slash command
/feedmob-campaign-creator:coin-news-openclawThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Collect cryptocurrency news from configurable sources, normalize the articles, score relevance, and return a structured digest that can be tuned over time.
Collect cryptocurrency news from configurable sources, normalize the articles, score relevance, and return a structured digest that can be tuned over time.
references/sources.yaml to determine enabled sources and source weights.references/scoring.yaml to determine token aliases, topic keywords, negative keywords, and ranking logic.scripts/fetch_coin_news.py.# Basic usage - JSON output (default)
python3 scripts/fetch_coin_news.py --days 1
# ⭐ Markdown output with clickable links (recommended for reading)
python3 scripts/fetch_coin_news.py --days 1 --format markdown
# Limit number of articles
python3 scripts/fetch_coin_news.py --days 1 --limit 10 --format markdown
# Filter by specific tokens
python3 scripts/fetch_coin_news.py --days 1 --token BTC --token ETH
# Filter by specific topics
python3 scripts/fetch_coin_news.py --days 1 --topic etf --topic regulation
# Adjust token fetch limit (default: 100, max: 250)
python3 scripts/fetch_coin_news.py --days 1 --token-limit 50
# Disable dynamic token fetching (use only YAML config)
python3 scripts/fetch_coin_news.py --days 1 --no-dynamic-tokens
python3 scripts/fetch_coin_news.py --days 1
Returns structured JSON for programmatic use.
python3 scripts/fetch_coin_news.py --days 1 --format markdown
Returns formatted markdown with clickable links for each article:
## 1. [Article Title](https://example.com/article)
**来源**: CoinDesk | **时间**: 2026-03-25 | **分数**: 78
**Token**: BTC, ETH
**主题**: etf
Summary text here...
---
--days <n> over manually converting to hours.--days and --hours are provided, --days takes precedence.--days 2--days 3--days 7--days 7The skill automatically fetches the top 100 tokens (by market cap) from CoinGecko API and merges them with the YAML config:
scoring.yaml under dynamic_tokens)token_aliases overrides dynamic tokens (for manual tuning)--no-dynamic-tokens to use only YAML configPrefer this JSON structure for workflow handoff:
[
{
“title”: “Example headline”,
“url”: “https://example.com/article”,
“source”: “CoinDesk”,
“published_at”: “2026-03-20T09:00:00Z”,
“summary”: “One paragraph summary.”,
“score”: 78,
“matched_topics”: [“bitcoin”, “etf”],
“matched_tokens”: [“BTC”],
“duplicate_group_key”: “normalized-title-key”
}
]
references/sources.yaml.references/scoring.yaml.references/sources.yaml: source registry and weightsreferences/scoring.yaml: token aliases, topic keywords, penalties, thresholdsscripts/fetch_coin_news.py: deterministic RSS collector and scorernpx claudepluginhub feed-mob/agent-skills --plugin feedmob-content-toolsGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.