xitter
Interact with X/Twitter via the x-cli terminal client using official X API credentials. Use for posting, reading timelines, searching tweets, liking, retweeting, bookmarks, mentions, and user lookups.
Best use case
xitter is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Interact with X/Twitter via the x-cli terminal client using official X API credentials. Use for posting, reading timelines, searching tweets, liking, retweeting, bookmarks, mentions, and user lookups.
Teams using xitter should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/xitter/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How xitter Compares
| Feature / Agent | xitter | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Interact with X/Twitter via the x-cli terminal client using official X API credentials. Use for posting, reading timelines, searching tweets, liking, retweeting, bookmarks, mentions, and user lookups.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Xitter — X/Twitter via x-cli Use `x-cli` for official X/Twitter API interactions from the terminal. This skill is for: - posting tweets, replies, and quote tweets - searching tweets and reading timelines - looking up users, followers, and following - liking and retweeting - checking mentions and bookmarks This skill intentionally does not vendor a separate CLI implementation into Hermes. Install and use upstream `x-cli` instead. ## Important Cost / Access Note X API access is not meaningfully free for most real usage. Expect to need paid or prepaid X developer access. If commands fail with permissions or quota errors, check your X developer plan first. ## Install Install upstream `x-cli` with `uv`: ```bash uv tool install git+https://github.com/Infatoshi/x-cli.git ``` Upgrade later with: ```bash uv tool upgrade x-cli ``` Verify: ```bash x-cli --help ``` ## Credentials You need these five values from the X Developer Portal: - `X_API_KEY` - `X_API_SECRET` - `X_BEARER_TOKEN` - `X_ACCESS_TOKEN` - `X_ACCESS_TOKEN_SECRET` Get them from: - https://developer.x.com/en/portal/dashboard ### Why does X need 5 secrets? Unfortunately, the official X API splits auth across both app-level and user-level credentials: - `X_API_KEY` + `X_API_SECRET` identify your app - `X_BEARER_TOKEN` is used for app-level read access - `X_ACCESS_TOKEN` + `X_ACCESS_TOKEN_SECRET` let the CLI act as your user account for writes and authenticated actions So yes — it is a lot of secrets for one integration, but this is the stable official API path and is still preferable to cookie/session scraping. Setup requirements in the portal: 1. Create or open your app 2. In user authentication settings, set permissions to `Read and write` 3. Generate or regenerate the access token + access token secret after enabling write permissions 4. Save all five values carefully — missing any one of them will usually produce confusing auth or permission errors Note: upstream `x-cli` expects the full credential set to be present, so even if you mostly care about read-only commands, it is simplest to configure all five. ## Cost / Friction Reality Check If this setup feels heavier than it should be, that is because it is. X’s official developer flow is high-friction and often paid. This skill chooses the official API path because it is more stable and maintainable than browser-cookie/session approaches. If the user wants the least brittle long-term setup, use this skill. If they want a zero-setup or unofficial path, that is a different trade-off and not what this skill is for. ## Where to Store Credentials `x-cli` looks for credentials in `~/.config/x-cli/.env`. If you already keep your X credentials in `~/.hermes/.env`, the cleanest setup is: ```bash mkdir -p ~/.config/x-cli ln -sf ~/.hermes/.env ~/.config/x-cli/.env ``` Or create a dedicated file: ```bash mkdir -p ~/.config/x-cli cat > ~/.config/x-cli/.env <<'EOF' X_API_KEY=your_consumer_key X_API_SECRET=your_secret_key X_BEARER_TOKEN=your_bearer_token X_ACCESS_TOKEN=your_access_token X_ACCESS_TOKEN_SECRET=your_access_token_secret EOF chmod 600 ~/.config/x-cli/.env ``` ## Quick Verification ```bash x-cli user get openai x-cli tweet search "from:NousResearch" --max 3 x-cli me mentions --max 5 ``` If reads work but writes fail, regenerate the access token after confirming `Read and write` permissions. ## Common Commands ### Tweets ```bash x-cli tweet post "hello world" x-cli tweet get https://x.com/user/status/1234567890 x-cli tweet delete 1234567890 x-cli tweet reply 1234567890 "nice post" x-cli tweet quote 1234567890 "worth reading" x-cli tweet search "AI agents" --max 20 x-cli tweet metrics 1234567890 ``` ### Users ```bash x-cli user get openai x-cli user timeline openai --max 10 x-cli user followers openai --max 50 x-cli user following openai --max 50 ``` ### Self / Authenticated User ```bash x-cli me mentions --max 20 x-cli me bookmarks --max 20 x-cli me bookmark 1234567890 x-cli me unbookmark 1234567890 ``` ### Quick Actions ```bash x-cli like 1234567890 x-cli retweet 1234567890 ``` ## Output Modes Use structured output when the agent needs to inspect fields programmatically: ```bash x-cli -j tweet search "AI agents" --max 5 x-cli -p user get openai x-cli -md tweet get 1234567890 x-cli -v -j tweet get 1234567890 ``` Recommended defaults: - `-j` for machine-readable output - `-v` when you need timestamps, metrics, or metadata - plain/default mode for quick human inspection ## Agent Workflow 1. Confirm `x-cli` is installed 2. Confirm credentials are present 3. Start with a read command (`user get`, `tweet search`, `me mentions`) 4. Use `-j` when extracting fields for later steps 5. Only perform write actions after confirming the target tweet/user and the user's intent ## Pitfalls - **Paid API access**: many failures are plan/permission problems, not code problems. - **403 oauth1-permissions**: regenerate the access token after enabling `Read and write`. - **Reply restrictions**: X restricts many programmatic replies. `tweet quote` is often more reliable than `tweet reply`. - **Rate limits**: expect per-endpoint limits and cooldown windows. - **Credential drift**: if you rotate tokens in `~/.hermes/.env`, make sure `~/.config/x-cli/.env` still points at the current file. ## Notes - Prefer official API workflows over cookie/session scraping. - Use tweet URLs or IDs interchangeably — `x-cli` accepts both. - If bookmark behavior changes upstream, check the upstream README first: https://github.com/Infatoshi/x-cli
Related Skills
xurl
X/Twitter via xurl CLI: post, search, DM, media, v2 API.
research-paper-writing
End-to-end pipeline for writing ML/AI research papers — from experiment design through analysis, drafting, revision, and submission. Covers NeurIPS, ICML, ICLR, ACL, AAAI, COLM. Integrates automated experiment monitoring, statistical analysis, iterative writing, and citation verification.
cli-productivity
Essential CLI tools and shell productivity patterns for efficient terminal workflows
usage-tracker
Track and analyze usage metrics with timestamped logging, reporting, and trend detection
state-directory-manager
Manage persistent state directories with XDG-compliant paths and cleanup for bash scripts
parallel-batch-executor
Parallel task execution patterns using xargs and job control for significant performance gains
json-config-loader
Configuration file parsing patterns for bash scripts (INI, key=value, JSON)
interactive-menu-builder
Build multi-level interactive CLI menus with navigation and selection for bash scripts
git-sync-manager
Multi-repository git synchronization and fetch-pull-push patterns for batch operations across workspaces
complexity-scorer
Score task complexity using keyword matching, heuristic analysis, and configurable threshold rules
bash-cli-framework
Universal bash CLI patterns for colors, logging, headers, and error handling
bird-twitter
Read X/Twitter timelines, tweets, and threads using the bird CLI (cookie-based GraphQL). Use when the user mentions "bird", wants to read their Following/For You timeline, fetch tweets, search X, or pull timeline data for summarization. Prefer over xitter (x-cli) for read-heavy workflows — bird uses browser cookies (zero API cost) while x-cli uses the paid official API.