Claude Code Skill for X

Give Claude Code the ability
to post to X

Looking for a Twitter skill for Claude Code? Here is the honest version: there is no marketplace skill to install yet. There are two setups that actually work today, and both take minutes. One command adds 36 X tools via MCP, or you write a 30-line SKILL.md against the OpenTweet REST API. No X developer account either way.

Get your API key

7-day free trial. Connect X once, then Claude Code takes over.

Skills, MCP, and what actually exists

Claude Code has two extension points. Skills are SKILL.md files in .claude/skills/ that Claude reads when a task matches their description. MCP servers expose typed tools Claude can call directly. People searching for a "Claude Code Twitter skill" usually want the outcome: type "tweet about this release" in the terminal and have it happen safely.

OpenTweet does not ship a public skills repo yet, and any page telling you to npx install one is making it up. What OpenTweet does ship is a hosted MCP server with 36 X tools and a REST API that a hand-written skill can call with plain curl. Setup path one below is the fast one. Path two is for people who want a skill file they own and can edit.

Path 1: add the hosted MCP server

Recommended. One command, nothing to install or run locally, and Claude Code gets real tools with validation instead of raw curl. Get your ot_ key from the OpenTweet dashboard first.

# One command in your terminal

claude mcp add --transport http opentweet \
  https://mcp.opentweet.io/mcp \
  --header "Authorization: Bearer ot_your_key"

// or the equivalent .mcp.json / ~/.claude.json entry

{
  "mcpServers": {
    "opentweet": {
      "type": "streamable-http",
      "url": "https://mcp.opentweet.io/mcp",
      "headers": { "Authorization": "Bearer ot_your_key" }
    }
  }
}

Full tool reference on the Twitter MCP server page and in the MCP docs.

What the 36 tools cover

Everything below becomes a natural-language capability in Claude Code the moment the server is added.

Tweets

create_tweet, publish_tweet, update_tweet, delete_tweet, list_tweets, get_tweet. Draft, edit, publish, and manage posts by conversation.

Threads

create_thread builds multi-tweet threads up to 25 tweets. Claude writes them, OpenTweet posts them in order.

Scheduling

schedule_tweet for one post, batch_schedule for up to 50 at once, plus get_best_times and analyze_best_times to pick the slots.

Evergreen queue

Add posts to a recycling pool, set cooldowns, tune settings, and review history. Eight dedicated evergreen tools.

X Articles

create_article, update_article, publish_article and more. Long-form drafts from markdown. Publishing requires X Premium.

Analytics

get_analytics, get_top_posts, get_profile_growth, get_content_gaps. Ask what worked before writing what comes next.

Media

upload_media attaches images and video to tweets. generate_image and generate_video create them from a prompt.

Multi-account

list_accounts and a x_account_id parameter on posting tools. One key can drive several connected X accounts.

Path 2: write your own SKILL.md

If you want an actual skill file, write one. Save this as .claude/skills/post-to-x/SKILL.md, export OPENTWEET_API_KEY in your shell, and Claude Code will pick it up whenever you ask it to tweet. The endpoint and fields below are the real OpenTweet API, the same one the MCP server uses.

# .claude/skills/post-to-x/SKILL.md

---
name: post-to-x
description: Post or schedule a tweet on X through the OpenTweet API. Use when the user asks to tweet, post to X, or announce something on Twitter.
---

# Post to X

Post through the OpenTweet REST API. The key is in the
OPENTWEET_API_KEY environment variable.

## Publish a tweet now

curl -X POST https://opentweet.io/api/v1/posts \
  -H "Authorization: Bearer $OPENTWEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Tweet text here", "publish_now": true}'

## Schedule a tweet (ISO 8601, UTC)

curl -X POST https://opentweet.io/api/v1/posts \
  -H "Authorization: Bearer $OPENTWEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Tweet text here", "scheduled_date": "2026-07-10T09:00:00Z"}'

## Rules

- Keep every tweet under 280 characters.
- Never send publish_now and scheduled_date in the same request.
- Show the drafted tweet to the user before posting it.
- If the API returns an error, report it. Do not retry blindly.

The rules section is the point of a skill: it is where your posting policy lives. Extend it with your voice, banned topics, or a "always schedule, never publish directly" rule.

Which path fits your setup

Post, schedule, and thread with typed tools

Hosted MCP server. One command, 36 tools, no files to maintain.

Encode your voice, cadence, and review rules

A SKILL.md. Skills are instructions, and posting policy is instructions.

A portable setup that also works in scripts and CI

The REST API with your ot_ key. Same endpoint a SKILL.md documents.

The best of all three

MCP server for tools plus a short skill for policy. They compose cleanly.

No X developer account or OAuth app to manage
Flat monthly fee, no per-post X API billing
Works in Claude Code, scripts, and CI with the same ot_ key
Scheduling, evergreen, and analytics beyond raw posting

Frequently asked questions

Is there an official OpenTweet skill I can install from a skills marketplace?

Not yet. There is no public OpenTweet skills repo and no one-line skill installer today. The two real paths are: add the hosted MCP server (one command, 36 tools, recommended), or write a small SKILL.md yourself that calls the OpenTweet REST API with your ot_ key. Both are documented on this page with working code.

What is the difference between a Claude Code skill and an MCP server?

A skill is a SKILL.md file with instructions Claude Code reads when the task matches its description. An MCP server exposes typed tools Claude Code can call directly. For posting to X, the MCP server does the heavy lifting (real create_tweet and schedule_tweet tools with validation), while a skill is a good place to encode your posting rules: voice, cadence, review steps.

Do I need an X developer account for this?

No. OpenTweet manages the X OAuth connection and token refresh for you. You connect your X account once in the OpenTweet dashboard, copy an ot_ API key, and Claude Code posts through OpenTweet. No X developer portal, no app credentials, no pay-per-use X API billing.

What can Claude Code actually do once connected?

The hosted MCP server exposes 36 tools: create, update, delete, and publish tweets; build threads up to 25 tweets; schedule single posts or batch schedule up to 50; manage an evergreen queue; write and publish X Articles (publishing requires X Premium); upload media; and read analytics like top posts, best posting times, and profile growth.

Can I combine a custom skill with the MCP server?

Yes, and it is the best setup. Add the MCP server for the tools, then write a skill that tells Claude Code how your account posts: tone, hashtag policy, when to schedule versus publish, and which tweets need your review first. The skill supplies judgment, the MCP server supplies capability.

What does OpenTweet cost?

Pro is $11.99/mo and Advanced is $29/mo, both with a 7-day free trial. That is a flat fee: no per-post charges and no X API pay-per-use bills. See the pricing page for full plan details.

Plan details are on the pricing page.

One key. Your terminal posts to X.

Connect your X account, copy your ot_ key, and give Claude Code its Twitter skill in the next five minutes.

Start your 7-day free trial