Skill

x-twitter

Combined CLI for multiple API services

Verified: 2026-05-13 (printing-press-ingest-2026-05-13+enrich-capability-skill)

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.

Setup docs →

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