name: bird-cli description: Read-only usage of the bird CLI for X/Twitter accounts (timelines, mentions, and analysis). Trigger when asked to inspect whoami, timelines, mentions, replies, search, or reporting tasks without account mutations.
Bird CLI
Safety Policy (Hard Rules)
This skill is read-only with respect to X/Twitter account state.
- Never use commands that publish or mutate account state.
- If a request asks for posting or account mutations, refuse that part and offer a read-only alternative.
CRITICAL: bird's default subcommand is tweet (PUBLISH)
- Running
bird <any-text>without a subcommand will PUBLISH that text as a tweet - To READ a tweet, ALWAYS use
bird read <id-or-url>— never justbird <id> - This is the #1 source of accidental tweets. Triple-check every bird command.
Forbidden Commands (never run)
bird tweetbird replybird followbird unfollowbird unbookmark
Allowed Commands (query/inspection only)
bird whoamibird checkbird readbird repliesbird threadbird searchbird mentionsbird bookmarksbird likesbird homebird followingbird followersbird listsbird list-timelinebird aboutbird user-tweetsbird news/bird trendingbird query-ids(including--fresh)- NEVER run
bird <id-or-url>without a subcommand — bird's default subcommand istweet(publish), NOTread. Always usebird read <id-or-url>explicitly.
Quick Start
- Prefer explicit cookie source and browser profile to avoid Safari auto-detection.
- If multiple accounts exist, pass
--chrome-profileand--usernameexplicitly. - Defaults can be set in
~/.config/skills/config.jsonunderbird(chrome_profile,username).
Task: List unanswered mentions (most recent first)
- Run
scripts/unanswered_mentions.pywith the target profile. - If auto-detection fails, pass
--username. - The script checks
bird replies <tweet>for a reply authored by the target username (heuristic).
Examples:
python scripts/unanswered_mentions.py --cookie-source chrome --chrome-profile "<Profile>" --json-out /tmp/bird-unanswered.json --numbered
python scripts/unanswered_mentions.py --cookie-source chrome --chrome-profile "<Profile>" --show-text --limit 10
Output format:
<createdAt> | @author | https://x.com/<author>/status/<id>
Resources
scripts/unanswered_mentions.py: lists unanswered mentions in descending date order.scripts/daily_brief.py: daily brief of AI/dev news + home candidates.
Task: Daily brief (AI + dev)
Run:
python scripts/daily_brief.py
Defaults: AI news + Home following, prints 5 news items and 10 home candidates.
Optional flags:
python scripts/daily_brief.py --news-count 5 --home-results 10
python scripts/daily_brief.py --allow-for-you # use For You instead of Following
python scripts/daily_brief.py --json-out /tmp/bird-daily.json
scripts/ignore_mentions.py: mark mention IDs as ignored so they stop appearing.