claude code skill for bird, the twitter/x cli. originally by @steipete.
what it does · install · usage · changelog
bird is a fast cli for twitter/x, built by @steipete. reads tweets, searches, posts, follows, checks your timeline. all from the terminal using your browser's saved cookies — no api keys, no oauth dance.
the original repo was removed from github. we keep it accessible at zaydiscold/bird.
this is a claude code skill that wraps it. paste an x.com link into any conversation and your agent reads it directly. no browser tab, no webfetch, no auth setup. the skill is bash-only by design (allowed-tools: Bash) — that's the whole point: agents read twitter without opening a browser.
open tools should stay open.
works in claude code, codex, cursor, openclaw, gemini. one install, all agents.
step 1: install the bird cli
# from zaydiscold/bird — universal arm64/x86_64 binary
curl -L https://github.com/zaydiscold/bird/releases/download/v0.8.0/bird -o bird
chmod +x bird
sudo mv bird /usr/local/bin/birdsteipete's original tap (
brew install steipete/tap/bird) may no longer be maintained — use the curl install above.
verify it's working:
bird whoami # should return your twitter handlebird uses safari or chrome cookies automatically. safari should stay the default path. if safari works in your normal terminal but fails inside an agent shell, the skill now tells the agent to probe chrome profiles and persist a fallback config instead of incorrectly telling you to relogin.
for full cli docs and archive: zaydiscold/bird
step 2: install the skill
npx skills add zaydiscold/bird-skill@bird -g -y # global, all agentsor install to a single agent:
npx skills add zaydiscold/bird-skill@bird -y # current project onlyonce installed, the skill activates automatically. paste any x.com or twitter.com link and your agent reads it. no slash command needed.
# what the agent runs behind the scenes
bird read https://x.com/user/status/123456789 # single tweet
bird thread https://x.com/user/status/123456789 # full thread
bird search "query" -n 20 # search tweets
bird mentions -n 20 # your mentions
bird home -n 20 # for you feed
bird home --following -n 20 # chronological
bird news --ai-only # trending topics
bird user-tweets @handle -n 20 # someone's profileposting requires a confirm from you first. reading is automatic.
bird tweet "text here" # post a tweet
bird reply <url-or-id> "reply" # reply to a tweet
bird follow @handle
bird bookmarks -n 20
bird likes -n 20output options:
bird read <id> --json # structured json
bird search "q" --plain # no color, pipeableall bird commands: read, thread, replies, search, mentions, home, bookmarks, likes, user-tweets, news, lists, list-timeline, following, followers, about, tweet, reply, follow, unfollow, unbookmark, whoami, check
- Works on macOS with a browser profile (Safari or Chrome) that has an authenticated bird session.
- Prefers Safari when available. If Safari cookie access fails only inside an agent shell, the skill now treats Chrome as a fallback recovery path rather than as the primary source.
- Requires
birdv0.8.0+ and a functioning cookie-backed auth state. - The skill currently gates write actions behind explicit confirmation (
tweet,reply,follow,unfollow,unbookmark). - Inputs are validated before execution; only x.com / twitter.com content links, status IDs, and explicit action commands are supported.
- List-style outputs default to
N=12for compact responses, then offershow morefor additional chunks. - This skill intentionally uses only
Bashtooling and avoids browser automation/WebFetch for reads and writes.
Before publishing a new skill version, verify:
metadata.versioninbird/SKILL.mdand the README skill badge both match the release tag.SKILL_TESTS.mdcore scenarios pass (trigger, functional, and failure-mode checks).SKILL.mdpreflight/auth flow works for: missing binary, unauthorized, and private/protected responses.README.mdhas matching changelog entry, installation steps, and compatibility notes.npx skills publishchecks (or equivalent distribution check) include this directory with updated files.
Verification command examples:
# quick local consistency checks
grep -n "metadata:\n version" bird/SKILL.md
grep -n "skill-v1.1.0" README.md
python -m markdown
# run your normal smoke tests using SKILL_TESTS.md- made Safari the explicit first/default auth path in the skill docs
- added agent-shell recovery guidance for Safari cookie permission failures
- documented Chrome profile probing and
~/.config/bird/config.json5fallback persistence - synced README version badge with skill metadata
- added explicit preflight command sequencing and auth gating
- added explicit write-command confirmation protocol for side-effect actions
- added URL normalization and malformed input rejection
- added default N=12 list output cap with show-more policy
- expanded troubleshooting cases (private/protected, suspended/deleted, malformed input, network/DNS, timeout)
- moved detailed operators/write/error guidance into
references/docs and addedSKILL_TESTS.mdtest matrix - added compatibility + release verification checklist and version-sync rule
- smarter install detection (
command -v+~/.local/binfallback instead ofwhich) - search operators quick reference (from:, to:, filter:, date ranges, engagement filters)
- output presentation rules — agent knows when to show raw vs summarize vs curate
- batch URL handling — multiple tweet links processed sequentially
- cleaned up stale HTML comment in readme
- aligned skill with anthropic's official skill guide
- added
license,compatibility, and standardmetadatafields to frontmatter - added negative trigger in description to prevent over-triggering on content strategy tasks
- added overview line at top of skill body
- added concrete examples section (URL read, search, post) per guide's recommended template
- renamed error handling → troubleshooting with structured error/cause/solution format
- skill now detects missing bird binary on invocation and offers to install from zaydiscold/bird
- install section updated with curl fallback for when steipete's brew tap is unavailable
- updated description: x.com/twitter.com URL trigger is now first (stronger auto-invoke)
- added
bird v0.8.0badge - credits @steipete as original bird author
- auth line now shows
@ColdCooksfor clarity - bash-only design note (no browser, no webfetch — that's the point)
- links to zaydiscold/bird for cli docs and archive
- initial release: read, search, thread, post, timeline
- cross-agent: claude code, codex, cursor, openclaw, gemini
- follows agentskills open standard
mit. license
zayd / cold
zayd.wtf · twitter · github
icarus only fell because he flew
to do
☑ core skill: read, search, thread, post, timeline
☑ cross-agent: claude code, codex, cursor, openclaw, gemini
☑ follows agentskills open standard
☑ auto-install bird if missing
☑ aligned with anthropic's official skill guide
☐ skills.sh listing
☐ firefox profile support in skill
☐ multi-account switching