com um clique
bird
X/Twitter CLI for reading, searching, and posting via cookies or Sweetistics.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
X/Twitter CLI for reading, searching, and posting via cookies or Sweetistics.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.
Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
Search and analyze your own conversation history from session log files using jq.
Baseado na classificação ocupacional SOC
| name | bird |
| description | X/Twitter CLI for reading, searching, and posting via cookies or Sweetistics. |
| homepage | https://bird.fast |
| metadata | {"clawdbot":{"emoji":"🐦","requires":{"bins":["bird"]},"install":[{"id":"brew","kind":"brew","formula":"steipete/tap/bird","bins":["bird"],"label":"Install bird (brew)"}]}} |
For READING tweets (works great):
bird CLI - it's fast and reliablebird read <url-or-id> - grab a specific tweetbird search "query" -n 5 - search tweetsbird mentions - check notificationsFor WRITING tweets (here's where it gets spicy):
bird whoami # Check auth status
bird read <url-or-id> # Read a specific tweet
bird thread <url-or-id> # Read full thread
bird search "query" -n 5 # Search tweets
bird mentions # Check notifications
Twitter's compose box is a React controlled input. You can't just set .value like a normal input - React ignores it. The workaround:
Simulate a paste event:
// 1. Focus the editor
var editor = document.querySelector('[data-testid="tweetTextarea_0"]');
editor.focus();
// 2. Create a fake paste event (this triggers React's state update)
var dataTransfer = new DataTransfer();
dataTransfer.setData('text/plain', 'your tweet text here');
var pasteEvent = new ClipboardEvent('paste', {
clipboardData: dataTransfer,
bubbles: true,
cancelable: true
});
editor.dispatchEvent(pasteEvent);
// 3. Click the post button
document.querySelector('[data-testid="tweetButtonInline"]').click();
~/.config/bird/config.json5 for the CLIpkill -9 "Google Chrome") and restart with browser action=start[data-testid="tweetTextarea_0"][data-testid="tweetButtonInline"]TL;DR: read with CLI, write with browser + paste hack. 🐦