skills/birdy/SKILL.md
Install, operate, and troubleshoot birdy (multi-account proxy for the bird CLI on X/Twitter). Use when configuring birdy accounts/auth cookies, selecting rotation strategies, forwarding bird commands, setting up CI via BIRDY_ACCOUNTS, or debugging why bird/birdy-bird/bundled bird cannot be found or executed (Node 22+ requirement).
npx skillsauth add guzus/birdy birdyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use birdy to run bird commands through a rotating pool of X/Twitter sessions (auth cookies), reducing rate-limit risk.
If you need to run commands, ensure the birdy CLI is installed first:
bash skills/birdy/scripts/ensure_birdy.sh
birdy version
Prefer the installer (bundles bird as birdy-bird):
curl -fsSL https://raw.githubusercontent.com/guzus/birdy/main/install.sh | bash
Notes:
gh.birdy-bird requires Node >= 22.Alternative installs:
# Installs birdy only (no bundled bird); you must provide bird yourself.
go install github.com/guzus/birdy@latest
birdy needs two cookies per account: auth_token and ct0.
Optional: extract tokens automatically from your local browser cookies:
# Default tries Chrome, Safari, Firefox
bash skills/birdy/scripts/extract_x_tokens.sh
# Force a specific browser backend
bash skills/birdy/scripts/extract_x_tokens.sh --browsers chrome
# Pick a Chrome profile interactively (arrow keys)
bash skills/birdy/scripts/extract_x_tokens.sh --interactive
birdy account add personal
birdy account add work --auth-token "xxx" --ct0 "yyy"
birdy account list
Stored by default:
~/.config/birdy/accounts.json~/.config/birdy/state.jsonAny unknown command/flag is forwarded to bird using the selected account.
# Auto-rotate accounts
birdy home
birdy search "golang"
birdy read 1234567890
# Show which account was used
birdy -v home
# Force an account and skip rotation
birdy --account personal whoami
# Choose rotation strategy
birdy --strategy least-used home
Provide accounts via BIRDY_ACCOUNTS JSON:
export BIRDY_ACCOUNTS='[{"name":"bot1","auth_token":"xxx","ct0":"yyy"}]'
birdy -v home
birdy locates the underlying bird command in this order:
BIRDY_BIRD_PATH (explicit override)birdy-bird on PATH (installed by the birdy installer)birdy binary at bird/dist/cli.jsbird on PATHFixes:
birdy-bird is installed but fails: ensure node is available and node --version is >= 22.go install: install bird separately, or point BIRDY_BIRD_PATH to a working bird.third_party/@steipete/bird/dist/cli.js.auth_token and ct0 as secrets.tools
Generate release notes from git log between tags
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------