Skill
x-twitter
Combined CLI for multiple API services
When to use x-twitter
Choose if
You're building a social-automation agent that needs broad X (Twitter) API coverage — posting, DMs, media upload, analytics, firehose streaming, community notes — surfaced via typed exit codes and OAuth-aware request handling. Beats hand-rolling X SDK integration because pagination, scope enforcement, and rate-limit detection are pre-built.
Avoid if
You only need read-only public-tweet lookup — X's Free tier no longer exposes most of that, so the API key cost may not justify it; consider scraping-tier alternatives instead. Also strongly avoid when the agent's OAuth scopes can't be tightly constrained, because the destructive endpoints (delete posts, DMs, webhooks) have no audit-log or reversal guidance in the README.
Risk Flags
- HIGH auth Requires OAuth 1.0a or 2.0 User Context credentials with the right scopes — chat ops need tweet.read + users.read + dm.write; DM init needs dm.write. Token-exposure risk is high: README instructs setting credentials via environment variables with no rotation or vault guidance.
- HIGH scope Destructive operations are exposed without recovery guidance — delete posts, delete conversations, delete webhooks. No mention of audit logging or operation reversal. Agents with broad scopes can take irreversible actions on a user's X account.
- MEDIUM rate_limit Upstream X API enforces tier-based rate limits. README discloses no concrete thresholds; agents on heavy workloads must monitor for 429 responses (surfaced via the CLI's rate-limit exit code) and respect the tier they're operating under.
- MEDIUM scope Surface area is very wide (posts, media, DMs, encrypted chat, streaming, compliance firehose, community notes, lists, spaces). Agents should constrain their OAuth scopes to the minimum needed — broad scopes plus the destructive endpoints above is a meaningful blast radius.
Cost
Type: Usage based · Free tier: The CLI binary is free to install. All API calls bill against the user's X developer account quotas. OAuth credentials (1.0a User Context or 2.0 User Context) are mandatory before any endpoint works.
Hidden costs
- X (Twitter) API pricing is set by X — the CLI is a free MIT-licensed wrapper, but the upstream API tiers (Free / Basic / Pro / Enterprise) apply. README does not disclose specific tier requirements.
Install
Default
npx -y @mvanhorn/printing-press install x-twitter
# Set X OAuth credentials before any endpoint call (OAuth 2.0 example):
export X_CLIENT_ID=<your-client-id>
export X_CLIENT_SECRET=<your-client-secret>
export X_ACCESS_TOKEN=<your-access-token>
# OAuth 1.0a also supported — see upstream README for env var names.
Estimated time to first success: ~20 min
Dependencies
Minimum runtime: Node.js 18+ (or Go 1.26.3+ for source install)
Distribution
- Repository
- https://github.com/mvanhorn/printing-press-library
- License
- MIT