📰 ZeeLin Report-to-X AutoPost
by @kelcey2023
Automatically picks the latest unposted report from a report website or JSON feed, drafts an English X/Twitter post summarizing the report, publishes it via...
clawhub install zeelin-report-to-x-autopost📖 About This Skill
name: ZeeLin Report-to-X AutoPost description: > Automatically picks the latest unposted report from a report website or JSON feed, drafts an English X/Twitter post summarizing the report, publishes it via the logged-in X web session, records posted ids to avoid duplicates, and can be scheduled with OpenClaw cron. Use when the user wants daily report-to-X posting, website report promotion, non-repeating social posting from a report list, or automated sharing of research/report updates to X. user-invocable: true metadata: {"openclaw":{"emoji":"📰","skillKey":"zeelin-report-to-x-autopost"}}
ZeeLin Report-to-X AutoPost 📰
把“报告网站/报告 JSON 列表 → 选最新未发报告 → 生成英文推文 → 发布到 X → 记录已发状态避免重复”封成一个可复用工作流。
适合场景:
何时触发
当用户表达类似需求时使用:
默认工作原则
1. 优先从结构化列表读取:先找 reports_config.json、RSS、JSON、静态配置,再考虑网页渲染内容
2. 先去重,再发帖:发布前必须检查本地 state 文件,避免重复发同一篇
3. 先摘要,再发布:推文应简洁介绍报告核心内容,并附源站网址
4. 默认英文发帖:除非用户要求中文或双语
5. 网页端发 X,不碰密码:用户需提前登录 X 网页版
6. 定时任务用 cron:日更/周更统一用 OpenClaw cron 管理
推荐目录结构
skill/
├── SKILL.md
└── scripts/
└── post_daily_report.py
一次性发布流程
Step 1:确认数据源
优先确认报告源是否存在结构化入口,例如:reports_config.json如果是前端渲染站点,不要急着浏览器点击;先从 HTML/JS 中找数据源。
Step 2:挑选未发过的最新报告
memory/report-post-state.json)Step 3:生成推文
推文建议结构:Today's report: {title}要求:
Step 4:调用现成的 X 发帖脚本
优先复用已有网页端 X 发帖脚本,例如:bash /path/to/tweet.sh "tweet text" https://x.com
如果发帖成功:
如果失败:
定时发布流程
用户要求“每天一条、不重复”时:
cron 建每日任务推荐时间:
Asia/Shanghai 每天上午 10:00状态文件建议
用 JSON 保存已发报告 id,例如:
{
"posted": [
"report-id-1",
"report-id-2"
]
}
关键防错规则
1. 只有发帖成功后才能记录已发状态 2. 如果找不到新报告,直接退出,不要重复发旧文 3. 如果网站是 React/Vue 前端渲染,先找 JSON 数据源,不要一上来就人工点网页 4. 如果用户指定“不要重复”,就必须持久化状态到文件 5. 推文要附网址,默认附站点首页;用户要求更细时可附具体报告链接
最小可复用脚本
这个 skill 适合把通用逻辑写进 scripts/post_daily_report.py:
回报格式
完成后告诉用户:
TL;DR: