bird
Original:🇺🇸 English
Translated
Twitter/X CLI skill. Triggers automatically when user shares an x.com or twitter.com URL. Also use when user mentions a tweet/thread, asks about Twitter posts, wants to search, check mentions, see timeline, post/reply on X. Runs bird CLI directly — no browser, no WebFetch.
7installs
Sourcezaydiscold/bird-skill
Added on
NPX Install
npx skill4agent add zaydiscold/bird-skill birdTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Bird — Twitter/X CLI
Auth: Browser cookies auto-detected (run to check logged-in account)
bird whoamiFirst use
On the first bird command in a session, verify bird is installed:
bash
which bird 2>/dev/null || echo "NOT_INSTALLED"If :
NOT_INSTALLED- Tell the user: "bird isn't installed yet. want me to install it? (takes ~5 seconds)"
- Wait for a yes/no.
- If yes, run:
bash
curl -L https://github.com/zaydiscold/bird/releases/download/v0.8.0/bird -o /tmp/bird && \
chmod +x /tmp/bird && \
mkdir -p ~/.local/bin && \
mv /tmp/bird ~/.local/bin/bird && \
export PATH="$HOME/.local/bin:$PATH" && \
echo "installed: $(bird --version 2>/dev/null || bird whoami 2>/dev/null | head -1)"If is not in PATH, fall back to .
~/.local/binsudo mv /tmp/bird /usr/local/bin/bird- If the user declines, let them know they can install manually from https://github.com/zaydiscold/bird/releases (steipete's original brew tap may no longer be maintained) and stop there.
brew install steipete/tap/bird - After successful install, continue with the original request.
- Skip this check for subsequent commands in the same session.
When invoked without arguments
Show a brief summary: "bird reads Twitter/X from your terminal. Try: paste a tweet URL, or say 'search [query]', 'my mentions', 'timeline'."
When invoked with a URL or ID
Run immediately — do not ask:
bash
bird read $ARGUMENTSThread detection — use instead of when:
bird threadbird read- User says "thread" or "conversation"
- URL path contains and user context implies a multi-tweet chain
/status/ - output shows "Replying to @..." at the top (suggest re-fetching with
bird readfor full context)bird thread
Default to for single URLs.
bird readbash
bird thread $ARGUMENTS # full conversation
bird thread $ARGUMENTS --all # all pages of a long threadRead
bash
bird read <url-or-id> # single tweet
bird thread <url-or-id> # full conversation
bird thread <url-or-id> --all # all pages
bird replies <url-or-id> # replies to a tweet
bird user-tweets @handle -n 20 # user's profile timelineSearch
bash
bird search "query" -n 20
bird search "from:@handle keyword" -n 10
bird search "term" --all # all results, paginatedTimeline & Discovery
bash
bird home -n 20 # For You feed
bird home --following -n 20 # Following (chronological)
bird mentions -n 20 # your mentions
bird mentions -u @handle -n 20 # another user's mentions
bird bookmarks -n 20
bird likes -n 20
bird news --ai-only # trending / AI-curated
bird news --with-tweets --tweets-per-item 3
bird lists # your lists
bird list-timeline <list-id-or-url>
bird about @handle # account origin & location
bird following -n 50
bird followers -n 50Post & Engage
Confirm before posting unless the user provided explicit text.
bash
bird tweet "text"
bird reply <url-or-id> "reply text"
bird follow @handle
bird unfollow @handle
bird unbookmark <url-or-id>
# Media (up to 4 images or 1 video)
bird tweet "caption" --media /path/to/file.jpg --alt "description"Output Formats
bash
bird read <id> --json # structured JSON
bird read <id> --json-full # JSON + raw API response
bird search "query" --plain # no color/emoji (for piping)Auth Check
bash
bird whoami # confirm logged-in account
bird check # check credential availabilityBehavior Rules
- If user pastes an x.com/twitter.com URL → immediately
bird read <url> - If user says "thread" or "conversation" →
bird thread <url> - For search/mentions/timeline → run the appropriate command and present results
- When processing output for analysis (not displaying directly), prefer to keep ANSI escape codes out of context
--plain - Do NOT open browser tabs or use WebFetch for Twitter content
- Do NOT make up tweet content — only report what bird returns
- Do NOT post, reply, follow, or unfollow without explicit user intent
- This skill handles CLI execution (reading, posting, searching). For content strategy, copywriting, or social media planning, defer to other skills like social-content
Post Verification
After running or :
bird tweetbird reply- Check the command output for a tweet URL or ID confirming success
- If output contains a URL → confirm to the user with the link
- If output shows an error → report the error; do not claim the tweet was posted
Error Handling
- /
unauthorized→ run401, report auth status, suggest re-opening Safari to refresh cookiesbird check - → wait 60s and retry once, then tell the user if still failing
rate limit - → tweet was likely deleted or account suspended, tell the user
not found - If Safari auth fails → try Chrome fallback:
bird --chrome-profile "Default" <command> - Command hangs >30s → kill it and report the timeout