Skip to content
Development
Skill

/bird-twitter

Read X/Twitter content via Bird CLI. Actions: read tweets, search, view all bookmarks or bookmark folders, trending, news, timeline, mentions, lists. Keywords: twitter, x, tweet, trending, bookmarks, bookmark folder, 收藏夹, timeline.

From plugin
all-my-ai-needs
1223 skills9 MCP
Install
$ npx -y skills add codingSamss/all-my-ai-needs --skill bird-twitter --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/bird-twitter

Context preview

The summary Claude sees to decide when to auto-load this skill.

Read X/Twitter content via Bird CLI. Actions: read tweets, search, view all bookmarks or bookmark folders, trending, news, timeline, mentions, lists. Keywords: twitter, x, tweet, trending, bookmarks, bookmark folder, 收藏夹, timeline.

SKILL.md

bird-twitter.SKILL.md
name: bird-twitter
description: "Read X/Twitter content via Bird CLI. Actions: read tweets, search, view all bookmarks or bookmark folders, trending, news, timeline, mentions, lists. Keywords: twitter, x, tweet, trending, bookmarks, bookmark folder, 收藏夹, timeline."

Bird Twitter Skill (Read-Only)

Read X/Twitter content using the Bird CLI tool. This skill only exposes read-only operations to avoid account suspension risks.

When to Use This Skill

Triggered by:

  • "read tweet [id/url]", "show tweet [id/url]"
  • "search twitter [query]", "search x [query]"
  • "my bookmarks", "twitter bookmarks"
  • "bookmark folder", "收藏夹文件夹", "待办收藏夹", "推特收藏夹中的[folder name]"
  • "trending", "twitter trends", "what's trending"
  • "twitter news", "x news"
  • "timeline", "i/timeline", "通知时间线", "device follow"
  • "for you", "home", "home timeline", "首页推荐"
  • "following", "following timeline", "首页关注流"
  • "user timeline [username]", "timeline [username]", "user tweets [username]"
  • "my mentions", "twitter mentions"
  • "twitter lists", "my lists"
  • "my feed"

Terminology Mapping (Unified)

  • `timeline` -> `x.com/i/timeline` (`device_follow` endpoint)
  • `for you` / `首页推荐` / `home` -> `bird home -n 20`
  • `following` / `首页关注流` -> `bird home --following -n 100`
  • `timeline [username]` -> `bird user-tweets <username> -n 20`

Default rule: if user says only `timeline` with no qualifier, treat it as `i/timeline`.

Prerequisites

1. Bird CLI must be installed: 优先使用仓库内置包 `vendor/bird-macos-universal-v0.8.0.tar.gz`;外部来源可用时可选 `brew install steipete/tap/bird` 2. Must be logged into X/Twitter in Chrome browser 3. In this environment, network access to X should go through local proxy:

  • `HTTP_PROXY=http://127.0.0.1:7897`
  • `HTTPS_PROXY=http://127.0.0.1:7897`

4. Run `HTTP_PROXY=http://127.0.0.1:7897 HTTPS_PROXY=http://127.0.0.1:7897 bird --cookie-source chrome --timeout 15000 whoami` to verify authentication 5. If Python requests fail with SSL certificate verification behind proxy, ensure `certifi` is available (`python3 -c "import certifi; print(certifi.where())"`); when needed, pass the CA bundle explicitly via `--cafile`.

Global Options

All commands should use:

  • proxy env (`HTTP_PROXY` / `HTTPS_PROXY`)
  • `--cookie-source chrome` to only use Chrome cookies (skip Safari/Firefox)
  • `--timeout 15000` to avoid hanging requests

Recommended command prefix:

HTTP_PROXY=http://127.0.0.1:7897 HTTPS_PROXY=http://127.0.0.1:7897 bird --cookie-source chrome --timeout 15000 <command>

For `device_follow_timeline.py`:

  • In this proxy environment, prefer a single-shot command with explicit `--cafile`; do not first try a bare command and then retry.
  • Script now auto-detects `certifi` CA bundle and logs `SSL trust source`.
  • You can explicitly force trust source with `--cafile <path>` / `--capath <dir>`; environment variables `SSL_CERT_FILE` / `SSL_CERT_DIR` are still supported.
  • Emergency fallback only: set `BIRD_INSECURE_SSL=1` to retry once without SSL verification.

Example:

HTTP_PROXY=http://127.0.0.1:7897 HTTPS_PROXY=http://127.0.0.1:7897 bird --cookie-source chrome --timeout 15000 home -n 20

Commands

1. Check Auth Status

**Triggers:** "twitter auth", "bird whoami", "check twitter login"

HTTP_PROXY=http://127.0.0.1:7897 HTTPS_PROXY=http://127.0.0.1:7897 bird --cookie-source chrome --timeout 15000 whoami

2. Read Tweet

**Triggers:** "read tweet [id]", "show tweet [url]", "get tweet"

HTTP_PROXY=http://127.0.0.1:7897 HTTPS_PROXY=http://127.0.0.1:7897 bird --cookie-source chrome --timeout 15000 read <tweet-id-or-url>

Options: `--plain` for stable output without emoji/color Notes:

  • `--plain` 仅用于临时阅读/命令行快速查看,不得用于“收录/归档/完整保存”任务。
  • 归档任务必须使用 `--json-full`,并从 `article.article_results.result.content_state`(正文结构)+ `media_entities`(图片资源)恢复图文顺序。

2b. Archive Tweet/Article (Text + Media)

**Use when:** 用户要求“收录/归档/完整保存/原文保留(含图)”

HTTP_PROXY=http://127.0.0.1:7897 HTTPS_PROXY=http://127.0.0.1:7897 bird --cookie-source chrome --timeout 15000 read --json-full <tweet-id-or-url>

Requirements:

  • 保留原文结构(标题、列表、引用、代码块)
  • 图片按原文顺序本地化并在文内原位引用
  • 必做三数一致校验:预期图片数 = 下载成功数 = 文内引用数
  • 结构重建必须以 `content_state.blocks` 为唯一顺序源,禁止用 `--plain` 文本推断结构
  • `atomic` 块类型必须从 `entityMap.value.type` 判定(`MEDIA` / `MARKDOWN` / `DIVIDER`),禁止猜测
  • `MEDIA` 必须通过 `mediaItems[].mediaId -> media_entities[].media_info.original_img_url` 映射原图
  • 下载前先清理目标目录中“同编号不同扩展名”的旧文件,避免 `img-N.jpg/png` 并存
  • 收尾必须做块级一致性校验:`MEDIA=标准图片引用数`、`MARKDOWN=代码块数`、`DIVIDER=分隔线数`
  • 若存在人工补充图,必须显式标注“补充内容,非 X 原文正文”
  • 最后执行一次未引用资产扫描,删除 `assets/hitw93-*/` 下未被任何 `.md` 引用的冗余文件

3. Read Thread

**Triggers:** "read thread [id]", "show thread [url]"

HTTP_PROXY=http://127.0.0.1:7897 HTTPS_PROXY=http://127.0.0.1:7897 bird --cookie-source chrome --timeout 15000 thread <tweet-id-or-url>

4. Read Replies

**Triggers:** "show replies to [id]", "tweet replies"

HTTP_PROXY=http://127.0.0.1:7897 HTTPS_PROXY=http://127.0.0.1:7897 bird --cookie-source chrome --timeout 15000 replies <tweet-id-or-url>

Notes:

  • `replies` does not support `-n` / `--count` in current Bird CLI versions.
  • Use `--max-pages <number>` or `--all` to control pagination when needed.

5. Search

**Triggers:** "search twitter [query]", "search x [query]", "find tweets about"

HTTP_PROXY=http://127.0.0.1:7897 HTTPS_PROXY=http://127.0.0.1:7897 bird --cookie-source chrome --timeout 15000 search "<query>" -n 10

6. View Bookmarks

**Triggers:** "my bookmarks", "twitter bookmarks", "saved tweets"

HTTP_PROXY=http://127.0.0.1:7897 HTTPS_PROXY=http://127.0.0.1:7897 bird --cookie-source chrome --timeout 15000 bookmarks -n 20

Notes:

  • `bookmarks` without `--folder-id` reads **All Bookmarks**, not a user-created bookmark folder.
  • If the user names a folder such as `待办`, do not summarize All Bookmarks as a substitute. Resolve the folder id first, then read that folder.

6b. View Bookmark Folder

**Triggers:** "bookmark folder [name/id]",

Read more
Ships withall-my-ai-needs

跨 Claude Code 与 Codex 两套 agent 的 skill 能力真源与同步规则。写入由 agent 执行,人只审校与决策。 把 Claude Code 与 Codex 的可复用能力收敛到一个仓库,按 platform-first 维护:每个平台独立持有自己的 skills/ 与运行约定,同名 skill 允许在两端并存,不强行抽象去重。 仓库要解决的是多端 AI 配置的漂移——GitHub 仓库、本地工作区、本地 CLI

Get the whole plugin

Other skills on all-my-ai-needs.

aihot
Skill

aihot

查询 AIHOT 的中文 AI 资讯、精选、当前热点和日报。用户询问今天或最近的 AI 新闻、AI 圈动态、大模型或产品发布、OpenAI/Anthropic/Google 最新消息、AI 论文、AI 日报、AIHOT 精选、当前最热事件,或需要同步当前全部精选时使用。必须通过 aihot.news 的匿名只读…

apifox-cli
Skill

apifox-cli

通过 Apifox CLI 管理 Apifox 项目资源。触发场景:运行接口自动化测试/测试套件,查询/创建/更新/删除接口、环境、Schema、Mock、分支等项目资源,导入导出 API 文档,查看测试报告,管理 Runner、定时任务、通知等 CI/CD 配置。CLI 输出为结构化 JSON,常含…

cc-codex-review
Skill

cc-codex-review

CC×Codex 交叉讨论。不确定性强的问题(事实核查 / 有争议或乐观的结论 / 重要技术决策)找 codex 交叉验证,避免单模型片面。关键词: 让codex看看, 跟codex讨论, codex审查, 帮我审查, review, 交叉讨论, battle, 发给codex, 继续讨论, 接着聊