Install
openclaw skills install @yangzhe1991/robotaxi-briefingTrack autonomous driving and Robotaxi sector intelligence with Pony.ai, Waymo, Tesla Robotaxi, and Baidu Apollo as core targets. Generates twice-daily incremental briefings with real source URLs, delta extraction against previous reports, and competitive landscape analysis.
openclaw skills install @yangzhe1991/robotaxi-briefingGenerates twice-daily (08:00 / 20:00 CST) incremental intelligence briefings for the autonomous driving and Robotaxi sector, focusing on Pony.ai, Waymo, Tesla, and Baidu Apollo.
Directly curl RSS feeds from 5 major English tech media sources. This is a pure HTTP channel — no API key, no search provider, works even when web_search is down.
#!/bin/bash
# Robotaxi RSS fast scan — 5 English tech media RSS feeds
# Output format: TITLE | SOURCE | URL | DATE
KEYWORDS='robotaxi|waymo|zoox|aurora|cruise|self-driving|autonomous|cybercab|pony.ai|weride|baidu.apollo|driverless|FSD|teleoperator|teleoperation'
feeds=(
"TechCrunch|https://techcrunch.com/feed/"
"The Verge|https://www.theverge.com/rss/index.xml"
"Wired|https://www.wired.com/feed/rss"
"Ars Technica|https://arstechnica.com/feed/"
"Reuters Tech|https://www.reutersagency.com/feed/?taxonomy=best-sectors&post_type=best&best-sectors=tech"
)
for entry in "${feeds[@]}"; do
IFS='|' read -r name url <<< "$entry"
items=$(curl -sL --max-time 15 -H "User-Agent: Mozilla/5.0" "$url" 2>/dev/null | \
python3 -c "
import sys, re, xml.etree.ElementTree as ET
data = sys.stdin.read()
# Try RSS 2.0
root = ET.fromstring(data)
ns = {'content': 'http://purl.org/rss/1.0/modules/content/'}
for item in root.iter('item'):
title = (item.find('title').text or '') if item.find('title') is not None else ''
link = (item.find('link').text or '') if item.find('link') is not None else ''
pubdate = (item.find('pubDate').text or '') if item.find('pubDate') is not None else ''
print(f'{title}|{link}|{pubdate}')
" 2>/dev/null)
if [ -z "$items" ]; then
echo " ⚠️ $name: RSS fetch failed or empty"
continue
fi
count=0
while IFS='|' read -r title link pubdate; do
if echo "$title" | grep -qiE "$KEYWORDS"; then
echo " ✅ $name | $title | $link"
count=$((count+1))
fi
done <<< "$items"
echo " 📊 $name: $count robotaxi-related articles found"
done
What this catches: Articles published on TechCrunch, The Verge, Wired, Ars Technica, and Reuters that mention robotaxi/autonomous driving keywords. This channel is immune to web_search outages — it's a direct HTTP request with no intermediate API.
Processing: Extract title + source + URL for each match. These will later be combined with results from other channels and deduplicated before delta extraction.
curl -s https://www.reddit.com/r/SelfDrivingCars/new.json?limit=15 -H "User-Agent: my-agent/1.0"
Extract posts/permalinks related to Pony.ai or Waymo.
Priority chain: web_search → web_fetch direct → RSS (already done in Step 0)
Channel A — web_search (best coverage, use first): Search for:
Must cover:
site:x.com robotaxi, site:x.com waymoChannel B — web_fetch direct (fallback when web_search fails):
If web_search returns error or empty results, switch to direct page fetching:
# English sources — direct page pulls (no search API needed)
web_fetch https://techcrunch.com/category/transportation/
web_fetch https://www.theverge.com/transportation
web_fetch https://arstechnica.com/cars/
web_fetch https://www.reuters.com/technology/autos-transportation/
# Chinese sources — direct page pulls
web_fetch https://36kr.com/search/articles/robotaxi
web_fetch https://www.cls.cn/searchPage?keyword=robotaxi
Extract article titles and links from returned markdown. Filter by 24h freshness and robotaxi relevance.
Channel C — X/Twitter search (supplementary):
Use web_search site:x.com to search for breaking robotaxi discussions on X/Twitter.
Data source status reporting: After all channels run, report each channel's status:
数据源状态:
- web_search: ✅ 可用 / ❌ 不可用 (reason)
- RSS 直抓: ✅ X篇 / ❌ 失败
- web_fetch 直拉: ✅ X篇 / ❌ 跳过
- Reddit: ✅ X篇 / ❌ 失败
- X/Twitter: ✅ X条 / ❌ 跳过
web_search often returns Google News redirect URLs (news.google.com/...). Every URL must be resolved:
curl -sIL -o /dev/null -w "%{url_effective}\n" "URL"
来源:媒体名(原文链接不可用)First: List and read ALL saved reports from the past 24 hours:
ls -t ~/.openclaw/workspace-group/memory/robotaxi_report_*.md | head -20
Second: Read every file, merge all covered events/topics into one baseline set.
Third: Delta declaration MUST list compared files: ⚠️ Delta:vs 过去24h全部报告(共N份:0800.md, 2000.md)。12h增量:...
⛔ 严禁:
Why: 0800 covers event A → 2000 skips A → next 0800 finds A again → MUST NOT flag as new. Merge-all prevents false increments from coverage gaps.
Strict delta filtering:
Before outputting the report to chat, save it with write:
write ~/.openclaw/workspace-group/memory/robotaxi_report_YYYYMMDD_HHMM.md
Then delete files older than 24h:
find ~/.openclaw/workspace-group/memory/ -name 'robotaxi_report_*.md' -mmin +1440 -delete
⛔ If the file write fails, do NOT deliver the report — fix and retry.
Produce a focused, sharp incremental briefing with:
memory/robotaxi_report_*.md within 24h, merge covered events (from Step 4)⚠️ Delta:vs 24h全部报告(共3份:0515_0800, 0515_2000, 0516_0800)🔴 [增量更新] for new facts, ⚪ [跟进报道] for repeatsStart with a timeline summary of the reporting window and number of incremental items found.
Group by topic/company, each item with:
List all monitored dimensions with status against previous report:
Priority-ranked upcoming events for the sector.
Synthesize the narrative shift in the past window with forward-looking implications.
message tool.<think> tags: Avoid any internal reasoning output to save tokens.[text](url) Markdown link syntax — links will disappear. Correct format: 🔗 https://example.com/article, NOT [🔗](https://example.com/article). Feishu auto-linkifies bare URLs.