kaspa-news
Kaspa 新闻 — 让您的 Claw 在一个地方了解有关 Kaspa 的一切:最新新闻、核心开发更新、生态系统启动、社区讲座和每周报告摘要。当有人询问 Kaspa 现在发生了什么时使用,包括开发者/构建者活动、热门推文、视频和 Reddit 更新。无需 API 密钥。
安装 / 下载方式
TotalClaw CLI推荐
totalclaw skills install shop:totalclaw:totalclaw~atl4so-kaspa-newscURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~atl4so-kaspa-news/file -o atl4so-kaspa-news.md## 概述(中文)
Kaspa 新闻 — 让您的 Claw 在一个地方了解有关 Kaspa 的一切:最新新闻、核心开发更新、生态系统启动、社区讲座和每周报告摘要。当有人询问 Kaspa 现在发生了什么时使用,包括开发者/构建者活动、热门推文、视频和 Reddit 更新。无需 API 密钥。
## 原文
# Kaspa News Skill
Query the public kaspa.news API for Kaspa ecosystem intelligence. No API keys needed.
## Quick Start
```bash
SCRIPT="~/.openclaw/workspace/skills/kaspa-news/scripts/kaspa-news.sh"
$SCRIPT focused # Curated community tweets
$SCRIPT builders # Ecosystem/builder tweets
$SCRIPT top # Most viewed tweets
$SCRIPT developers # Core dev tweets (includes replies)
$SCRIPT videos # YouTube videos
$SCRIPT reddit # r/kaspa posts
$SCRIPT pulse # Latest AI pulse report
```
## Requirements
- `python3` with `requests` module
- `jq`
- Internet access to `https://kaspa.news/api`
- **No API keys, no tokens, no auth** — all endpoints are public
---
## Commands Reference
### `focused` — Curated Community Tweets
Community-curated tweets. Excludes replies. Best for "what's the Kaspa community talking about?"
```bash
$SCRIPT focused # Latest 10
$SCRIPT focused -n 5 # Latest 5
$SCRIPT focused --since 12 # Last 12 hours only
```
### `builders` — Ecosystem/Builder Tweets
Projects building on Kaspa (labeled "Ecosystem" on kaspa.news frontend). Excludes replies.
```bash
$SCRIPT builders # Latest 10
$SCRIPT builders -n 20 # Latest 20
```
### `top` — Highest Engagement Tweets
Sorted by view count (most views first). **This is the only command that shows view counts** (👁️).
```bash
$SCRIPT top # Top 10 by views
$SCRIPT top -n 3 # Top 3
```
### `developers` — Developer Tweets
Tweets from known Kaspa core developers. **Includes replies** (unlike other tweet commands). Shows dev discussions and technical debates.
The script has a built-in list of known dev usernames, but **this is only for the default `developers` command filter**. Per-user searches (see below) work for ANY username.
```bash
$SCRIPT developers # Latest 10 dev tweets
$SCRIPT developers -n 15 # Latest 15
```
### `videos` — YouTube Videos
Latest Kaspa-related YouTube videos with view/like counts.
```bash
$SCRIPT videos # Latest 10
$SCRIPT videos --since 48 # Last 2 days
```
### `reddit` — Reddit Posts
Latest posts from r/kaspa with upvote scores.
```bash
$SCRIPT reddit # Latest 10
$SCRIPT reddit -n 5 # Latest 5
```
### `pulse` — AI Pulse Report
AI-generated intelligence report summarizing recent Kaspa ecosystem activity. Single latest report.
```bash
$SCRIPT pulse # Latest report (text summary)
$SCRIPT pulse --sources # With clickable source links to tweets
$SCRIPT pulse --json # Full JSON (for custom parsing)
```
---
## Global Options
| Option | Description | Default |
|--------|-------------|---------|
| `-n, --limit N` | Number of items to show | 10 |
| `--since HOURS` | Only items from last N hours | all |
| `--json` | Raw JSON output (for scripting/parsing) | off |
| `--sources` | Show source links in pulse reports | off |
| `-h, --help` | Show help text | — |
---
## Script Output Format
The script outputs **plain text**. Here's exactly what each command produces:
### Tweet Commands (focused, builders, developers)
```
🎯 Focused Tweets
📝 @DailyKaspa (1h)
Nearly $10 million in short positions are stacked around the 0.037 level...
[SOURCE](https://x.com/DailyKaspa/status/2024047412226978031)
💬 @KaspaHub (10h)
Better late than never, I guess.
[SOURCE](https://x.com/KaspaHub/status/2023918673216311580)
↩️ @hashdag (1h)
@asaefstroem @maxibitcat could be, not ruling that out...
[SOURCE](https://x.com/hashdag/status/2024050945718399078)
```
### Top Command (includes view counts)
```
🔥 Top Tweets
📝 @BSCNews (23h) — 👁️ 22179
🚨JUST IN: $KAS, $PI, $ASTER AMONG PROJECTS WITH MOST BULLISH SENTIMENT...
[SOURCE](https://x.com/BSCNews/status/2023709720901534048)
💬 @kaspaunchained (14h) — 👁️ 10663
Private messaging on Kaspa L1. Encrypted payloads riding the BlockDAG...
[SOURCE](https://x.com/kaspaunchained/status/2023845437577257447)
```
### Videos
```
📺 Kaspa Videos
📺 Kaspa Crypto Prediction | Why We Went Bearish?
📡 Crypto MindSet | 👁️ 80 | ❤️ 3 | 6h
🔗 https://youtube.com/watch?v=NgO5iW1B_t4
```
### Reddit
```
🟠 Kaspa Reddit
🟠 Did Fred Thiel Dump his Kaspa Bag?
👤 u/Weekly-Fudge1909 | ⬆️ 10 | 2h
🔗 https://reddit.com/r/kaspa/comments/1r7o9oi
```
### Pulse
```
📊 Kaspa Pulse Reports
[REPORT HERE](https://kaspa.news/pulse/d6167911-21ab-4135-bccb-a4baf4e4480f)
📊 From Silverscript to TangFi...
🕐 13h | 🤖 gpt-5.2
Silverscript compiler goes live on Testnet 12, delivering first high-level
contract language for Kaspa...
```
---
## 🎨 PRESENTATION RULES (MANDATORY FOR ALL AGENTS)
The script outputs plain text. When you present this to a user, follow these rules **exactly**. This is the approved format — do not deviate.
### Tweet Type Emojis
| Emoji | Meaning |
|-------|---------|
| 📝 | Regular tweet |
| 💬 | Quote tweet (user's own comment only — NOT the quoted source tweet) |
| ↩️ | Reply |
### What the Script Already Does (don't redo these)
- ✅ Picks correct emoji (📝/💬/↩️)
- ✅ Shows relative time ("10h", "1d", "5m" — no "ago")
- ✅ Expands t.co links to real URLs
- ✅ Strips trailing t.co image links
- ✅ Decodes HTML entities (& → &, > → >)
- ✅ Truncates at 300 chars
- ✅ Adds [SOURCE](url) link on every tweet
- ✅ Shows 👁️ views ONLY on `top` command
### What YOU (the presenting agent) Must Do
#### X/Twitter Linkification
Convert plain text @handles, #hashtags, and $CASHTAGS into clickable links:
- `@username` → `[@username](https://x.com/username)` — links to X profile
- `#hashtag` → `[#hashtag](https://x.com/search?q=%23hashtag)` — links to X search
- `$KAS` → `[$KAS](https://x.com/search?q=%24KAS)` — links to X search
**Important:**
- Only linkify REAL handles/hashtags/cashtags
- `#2`, `#4`, `#10BPS` (numbers) are NOT hashtags — leave as-is
- `@` inside email addresses are NOT handles — leave as-is
- Link to **x.com** (NOT twitter.com, NOT Telegram)
#### Pulse Report Formatting
When presenting pulse reports, reformat the summary into grouped sections:
```
📊 **Latest Kaspa Pulse Report** (date)
**"Report Title Here"**
━━━ Core Development ━━━
🔧 **Silverscript** — First high-level smart contract language, live on TN12.
📐 **Covenants** — Enable programmable spending conditions on UTXO.
━━━ Ecosystem ━━━
💵 **TangFi** — Bridging stablecoins (USDT/USDC) to Kaspa L1.
🔐 **Private Messaging** — Encrypted payloads on BlockDAG at 10 BPS.
━━━ Milestones ━━━
📈 600M total transactions on Kaspa mainnet.
```
**Pulse formatting rules:**
- Group by category with `━━━ Category ━━━` separators
- Bold project/feature names
- One line per item, max 1-2 sentences
- Use emojis as bullet prefixes (🔧💵🔐💬🌉⚡🏦📊📈💎🎤📱)
- Key people to name: @hashdag (Yonatan Sompolinsky), @michaelsuttonil (Michael Sutton), @OriNewman (Ori Newman)
---
## 🔍 Per-User Tweet Search
When someone asks for tweets from a **specific person** (e.g., "show me @michaelsuttonil tweets from last 2 weeks"), this works for **ANY username** — not limited to the 9 built-in dev names.
### How to Query
Fetch ALL endpoints and merge (always go wide):
```bash
# Fetch all 4 tweet sources
$SCRIPT focused --json -n 999 > /tmp/focused.json
$SCRIPT builders --json -n 999 > /tmp/builders.json
$SCRIPT top --json -n 999 > /tmp/top.json
$SCRIPT developers --json -n 999 > /tmp/devs.json
# Merge, deduplicate by url, filter by username + date range (safe)
TARGET_USER="michaelsuttonil"
cat /tmp/*.json | jq -s --arg user "$TARGET_USER" 'add | unique_by(.url) | [.[] | select(.author_username == $user)]'
```
Or use the `--json` output and filter with jq/python inline.
**Security note:** never interpolate raw user input directly into jq programs. Always pass user values via `--arg` / `--arg