# X API

> X / Twitter 官方 API 自动化子技能：通过用户上下文 OAuth 发现、核验、筛选并发布 X 内容，供合规的定时任务使用。禁止浏览器脚本、网页自动化、凭证读取和绕过平台限制。

- Skill: `askairo/x-api` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add askairo/x-api`
- Raw SKILL.md: https://api.skillmd.com/api/skills/askairo/x-api/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: askairo (https://skillmd.com/u/askairo)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/askairo/x-api

---


# X API

本技能是 `x` 的 API 自动化版本，专供 `scheduled_run` 使用。`media-ops` 先传入账号目标、内容主体、受众、来源边界和发布策略；本技能通过官方 X API 完成候选发现、账号核验、平台筛选、发帖和结果核验。

## Discovery

- 使用 `GET /2/tweets/search/recent`、用户时间线、关注流和已配置来源发现候选；不得抓取或脚本化操作 x.com 网页。
- 记录原帖 ID、URL、作者、时间、可见指标、核心主张、账号相关性和原创增量。
- 近期搜索最多覆盖官方接口允许的时间窗口；不要声称 API 结果等同于 X 的个性化 For You 推荐。
- 依照 `x` 的账号定位、来源、事实、版权、重复、时效和内容评分门禁筛选。

## API reference

需要 OAuth、查询、发帖、引用帖或错误处理时读取 [x-api.md](references/x-api.md)。

## Adapt content

- 默认结构为“具体事实钩子 → 一个关键证据 → 原创解释 → 具体讨论问题”。
- 单帖只承载一个核心信息；不把翻译、摘要或引用原帖本身当作原创增量。
- 正文不自动添加“来源：”标签；X 原帖优先通过 API 的 `quote_tweet_id` 保留原作者和原帖媒体，网页来源只写入内部证据记录。

## Publish gate

1. 通过用户上下文 OAuth 调用 `GET /2/users/me`，确认返回用户名与配置中的平台 handle 完全一致。
2. 读取本人近期时间线和发布记录，执行重复事件、近似正文和重复链接门禁；不执行本地自设的最小间隔或每日上限。官方 API 返回的 rate limit、配额和账号安全状态仍是硬门禁。
3. 在内存中完成正文、引用对象、媒体、长度、版权和去重检查；使用幂等运行键避免超时重试。
4. 每次运行最多提交 1 次 `POST /2/tweets`。成功响应必须包含 `data.id`，再写入成功状态并核验帖子对象。
5. 引用帖使用 `quote_tweet_id`；若当前 API 套餐不支持，按策略跳过或发布普通原创帖，不回退浏览器自动化。

## Hard safety rules

- 禁止 Playwright、Chrome、Safari、DOM 点击、页面注入或任何 x.com 网页脚本自动化。
- 禁止读取、输出或保存密码、Cookie、access token、refresh token、client secret 和验证码；凭证由外部密钥管理器或运行时安全注入。
- 401/403、账号身份不一致、套餐不支持、挑战/安全验证或响应不明确：立即停止，不重试。
- 429、官方 API 配额、平台返回的每日发布上限或频率限制：按平台返回的 retry-after / 账号状态暂停，只采集、不提交、不重试；不得把固定 24 小时写死为本地门禁。
- 不自动点赞、关注、回复、私信、操纵趋势或批量互动。

