← ClaudeAtlas

x-likes-digestlisted

读取 X/Twitter 账号新增的 Likes,按当周实际内容生成一封偏娱乐的 HTML 周报并发送到 Gmail。触发于“处理本周 X 点赞”“X likes 周报”“把最近点赞发我邮箱”;不摄入 Wiki,不点赞或取消点赞,也不用于单个已给 URL 的普通摄入。
yuanhaorannnnnn/agent-skills · ★ 0 · AI & Automation · score 72
Install: claude install-skill yuanhaorannnnnn/agent-skills
# X Likes 娱乐周报 把 X Likes 当成每周一次的娱乐 inbox。只做增量发现、分组、排版和邮件投递;不写 Wiki,不调用 acquisition。 ## 固定边界 - X 侧只读:只读 `liked_tweets`,不得点赞、取消点赞、发帖、书签或修改任何 X 状态。 - 凭据只由 `xurl` 的 OAuth 配置管理;不得输出 token、secret 或授权头。 - 不写 `/media/yhr/2T/files/wiki`,不执行 git、catalog、index 或 log。 - 收件人固定为 Gmail `me`;不抄送、不转发给其他人。 - 用户已确认的内容规则:按当周实际内容分组,不设固定分类比例;不加点评;视频只给链接,不嵌缩略图;不过滤条目。 - 安全边界:敏感、成人或明显冒犯条目仍保留在周报中,但邮件正文不复述其文本或媒体,只显示“⚠️ 敏感内容,点开原帖查看”加链接。 ## 依赖 - `xurl` app `x-bookmark-ingest`,当前 OAuth 已具备 `like.read`。 - 只读探测:`npx -y @xdevplatform/xurl --app x-bookmark-ingest /2/users/me` - MCP 的 X 工具没有“读取自己 likes”的接口,必须用 xurl REST;不要用 `get_posts_liking_users` 代替。 - Gmail 发送: `gmail_send_email({to:"me", subject, payload:{mime_type:"text/html", charset:"UTF-8", body:{content:html}}, response_fields:["id","thread_id"]})` ## 状态 - `~/.codex/automations/x-likes/state.json` - `~/.codex/automations/x-likes/issues/<issue-id>/` - `~/.codex/automations/x-likes/memory.md` `state.json` 的 `seen` 是增量账本;首次运行且没有 `baseline_at` 时只建立 baseline,不发邮件。 Baseline 只关心“从现在往后的新增”。不要自动运行高消耗的 API baseline;优先让用户从 X 设置下载数据归档,用 `import-archive --path <like.js>` 直接导入历史 like 的 tweetId,零 API 读取。没有归档时报告 blocked 并停止,等用户明确同意再建立 API baseline;API baseline 最多读取一页 100 条,增量遇到已见条目即停止。 如果用户手动指定某条推文作为本期起点,用 `set-start --tweet-id <id> --manifest <pending.json>` 建立边界:该推文及更新的 Likes 视为本期新增,之后的旧 Likes 标记为已见。 ## 运行流程 1. `python3 <skill-dir>/scripts/x_likes_digest.py probe` 2. `python3 <skill-dir>/scripts/x_likes_digest.py status` 3. 没有 baseline:优先从 X 数据归档执行 `i