By jankoritak
Post to X (Twitter) straight from Claude Code. Draft from your session context, review, approve, post. BYOK, write-only, local-only.
Check your Shotgun setup — keys present, DRY-RUN status — without posting anything.
Draft a tweet from your context plus your own angle/details, then post on approval.
Draft a tweet from your current Claude Code context, then post on approval.
Post to X (Twitter) from inside Claude Code. Draft a tweet from your current session context, review it, approve it, post it. Nothing posts without your approval.
OSS, bring-your-own-keys, write-only, local-only. No backend. The plugin runs in your Claude Code and posts to your own X account with your own credentials, at about $0.01 per post.
node, so this is required for both install methods (pnpm is needed only for the source install).Order matters. You need four OAuth 1.0a credentials:
From the marketplace:
/plugin marketplace add jankoritak/shotgun
/plugin install shotgun
From source:
pnpm install && pnpm build # bundles the MCP server into plugin/bin/
claude --plugin-dir ./plugin
Export the four keys in the shell that launches Claude Code:
export SHOTGUN_X_API_KEY="..." SHOTGUN_X_API_SECRET="..."
export SHOTGUN_X_ACCESS_TOKEN="..." SHOTGUN_X_ACCESS_SECRET="..."
Keys are read from the environment only. They are never written to disk and never committed.
Dry-run: with no keys set, or with SHOTGUN_DRY_RUN=1, Shotgun renders exactly what would post without calling X. It falls back to dry-run automatically when any key is missing.
| Command | What it does |
|---|---|
/shotgun:tweet-this | Drafts a tweet from your current session and repo context. No argument. |
/shotgun:tweet-suggest <angle> | Same context, steered by your angle or details. |
/shotgun:doctor | Reports which keys are present and the dry-run status. Never posts, never prints secrets. |
Both drafting commands produce 2-3 variants (max 280 chars, developer voice, minimal hashtags). You pick or edit one, and it posts only after you explicitly approve. Longer content posts as a numbered reply-chain thread.
Optional nudge: set SHOTGUN_NUDGE=1 and Claude proactively flags tweetable moments inline ("that looked tweetable, /shotgun:tweet-this?"). Off by default. It only suggests, never drafts or posts on its own.
oauth1-permissions: the access tokens are read-only. Set the App to Read and Write, then regenerate the Access Token and Secret.CreditsDepleted: the account has no API credits. Add billing in the developer portal.SHOTGUN_DRY_RUN is set. Run /shotgun:doctor to see which.A small Turborepo monorepo:
@shotgun/core: X API v2 client, OAuth 1.0a signing, config and dry-run resolution.@shotgun/mcp-server: a stdio MCP server exposing post_tweet and post_thread.plugin/: the slash commands, the opt-in nudge hook, and a single self-contained bundled server.The model drafts the text. The server only posts. Drafting never lives in the server.
BYOK means your keys, your account, your cents. The plugin author never sees your credentials. Keys live only in your environment. Rotate them in the X portal if they are ever exposed.
MIT, © Jan Koriťák
Admin access level
Server config contains admin-level keywords
Requires secrets
Needs API keys or credentials to function
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub jankoritak/shotgun --plugin shotgunUpstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.
Permanent coding companion for Claude Code — survives any update. MCP-based terminal pet with ASCII art, stats, reactions, and personality.
Production-grade vibe coding suite. Structured workflows from discovery to deployment: start, build, ship, fix, refactor.
Semantic search for Claude Code conversations. Remember past discussions, decisions, and patterns.