agentsclimarketplace

Twitter

Skill tdimino/claude-code-minoan/skills/integration-automation/twitter

Search, post, monitor, and archive on Twitter/X via five tools: the official hosted X MCP server (full-archive search, trends, bookmarks, Articles via xurl bridge), x-search CLI (cost-tracked API v2 research, feeds, watchlists, posting), xurl (official CLI for any endpoint incl. media/DMs), bird CLI (free session-based reads/writes, frozen at 0.8.0), and Smaug bookmark archival. Triggers on: search tweets, post to X, reply on Twitter, full-archive search, what's trending, check mentions, timeline, DMs, monitor account, research topic on Twitter, archive bookmarks.From its SKILL.md

Install
npx -y skills add tdimino/claude-code-minoan --skill twitter

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

8.6 KB, ~2.2k tokens by cl100k_base, as published. Nobody here has run it

Twitter/X — Multi-Mode Integration

Five tools; choose by task:

ModeToolAuthCostUse For
Hosted MCPxapi MCP server (via xurl bridge)OAuth 2.0pay-per-useFull-archive search, trends, bookmarks, Articles, timelines
Official APIx-searchBearer + OAuth 1.0apay-per-use, trackedCost-governed research, feeds, watchlists, posting
Official CLIxurlOAuth 1.0a + 2.0pay-per-useAny endpoint: media upload, DMs, raw API calls
SessionbirdBrowser cookiesFreeCasual reads, mentions, media posts — while it lasts
ArchivalsmaugVia birdFreeBookmark/likes processing, AI-powered filing

Pricing changes often (twice in 2026 already) — full rate card and billing mechanics in references/pricing.md. Headline numbers: post read $0.005, post create $0.015, post with URL $0.200, owned reads $0.001, 24h-UTC dedup, 2M reads/month cap.

When to Use Which

TaskToolWhy
Full-archive search (beyond 7 days)xapi MCPOnly mode that reaches X's full history
Trends, news by locationxapi MCPX-proprietary, not in x-search
Search recent tweets by topicx-searchCost-tracked, cached, quality filters
Daily feed from followed accountsx-search feedBatched OR-queries, cheap
Monitor specific accountsx-search watchlistBatch check with cost tracking
Post a text tweet or replyx-search post/replyURL-surcharge guard built in
Post with media, DMs, ArticlesxurlOfficial CLI, chunked upload
Check actual billed spendx-search usageGET /2/usage/tweets ground truth
Free casual reads / mentionsbirdFree while cookies + GraphQL hold
Archive bookmarkssmaugAI categorization, markdown output

Hosted X MCP (xapi)

X's first-party MCP server at https://api.x.com/mcp (launched June 2026). Six tool groups: Posts, Search (incl. full-archive), Users/timelines, Bookmarks, Trends by WOEID, Articles.

Wire it once via the claude mcp add xapi command in references/xurl-mcp-setup.md (requires OAuth 2.0 client credentials on your X app), and verify with claude mcp list (xapi ... ✔ Connected) before directing work at xapi tools.

Every tool call bills standard pay-per-use rates — treat agentic MCP loops with the same cost discipline as x-search deep searches. Setup, re-auth, and the read-only Bearer fallback: references/xurl-mcp-setup.md.

Never read ~/.xurl (live OAuth tokens) or the skill .env values into context.

x-search — Cost-Governed Research

Run via: bun run ~/.claude/skills/twitter/x-search/x-search.ts <command> — the examples below abbreviate this prefix to x-search.ts; always use the full bun run invocation.

# Quick search (default for exploration): 1 page, max 10, noise filter, 1hr cache, ~$0.50
x-search.ts search "AI agents" --quick

# Full search
x-search.ts search "Claude Code" --pages 3 --sort likes --since 1d
x-search.ts search "Minoan archaeology" --markdown --save

# Profiles, threads, single tweets
x-search.ts profile AnthropicAI --count 10
x-search.ts thread 1234567890 --pages 3
x-search.ts tweet 1234567890

# Feeds from named account groups (geopolitics, palestine, all-feeds)
x-search.ts feed geopolitics --since 1d
x-search.ts feed all-feeds --since 7d --markdown --save
x-search.ts feed imetatronink,Megatron_ron --since 1d --bird   # free via bird
x-search.ts feedgroup add tech kaboreas "K8s/infra"            # manage groups

# Watchlist (profile API — pricier)
x-search.ts watchlist add kikismith "Ancient art"
x-search.ts watchlist check

# Posting (OAuth 1.0a). URL posts are REFUSED unless --allow-url ($0.20 vs $0.015)
x-search.ts post "Hello from x-search!"
x-search.ts post "test text" --dry-run          # validate + show cost WITHOUT posting
x-search.ts reply 1234567890 "Great thread!"
x-search.ts delete 1234567890                    # delete own tweet ($0.01)

# Billed consumption (real spend, not estimates)
x-search.ts usage

Key search flags: --quick, --sort likes|impressions|retweets|recent, --since 1h|3h|12h|1d|7d, --pages 1-5, --from user, --quality, --min-likes N, --min-impressions N, --no-replies, --json, --markdown, --save. Profile: --count N (default 20), --replies to include replies. Cache: 15min TTL (1hr quick), auto-pruned on every run; cache clear to flush.

When testing or demonstrating post/reply, always use --dry-run — the success path publishes a live tweet otherwise.

Setup requires Bearer + OAuth 1.0a keys in ~/.claude/skills/twitter/.env — walkthrough and credential troubleshooting: references/setup.md.

Research methodology

  1. Decompose the topic into 2-3 query angles, 2. search --quick to assess signal, 3. refine with --from/--quality/--since, 4. thread high-value conversations, 5. deep-dive best queries with --pages 3 --markdown --save, 6. synthesize. Reach for the xapi MCP when the answer predates the 7-day window.

xurl — Official CLI

xurl /2/users/me                                   # any endpoint, OAuth handled
xurl -X POST /2/tweets -d '{"text": "hello"}'
xurl media upload photo.png                        # chunked media upload

Installed (v1.2.2). Auth registration and the MCP bridge command: references/xurl-mcp-setup.md.

bird CLI — Session-Based Operations (Frozen at 0.8.0)

Uses undocumented Twitter GraphQL APIs via browser cookies. Free, but upstream is dead: steipete deleted the repo and brew tap (Feb 2026). npm still serves the final 0.8.0 (npm install -g @steipete/bird); source mirror at github.com/LaceLetho/bird-cli-backup. Verified working 2026-07-05 — but when X rotates GraphQL internals there will be no fix. Fall back to xapi MCP / x-search for reads, xurl for writes. Smaug's fetching inherits this risk (migration path: Owned Reads at $0.001/resource, see references/pricing.md).

Always pass --cookie-source chrome to all bird commands to avoid EPERM warnings from Safari cookie access.

Posting

bird --cookie-source chrome tweet "Hello world"
bird --cookie-source chrome reply 123456789 "Great thread!"
bird --cookie-source chrome tweet "With image" --media photo.png --alt "Description"

Reading

bird --cookie-source chrome read 123456789
bird --cookie-source chrome thread https://x.com/user/status/123456789
bird --cookie-source chrome replies 123456789 --json

Search (free, via GraphQL)

bird --cookie-source chrome search "query" -n 10
bird --cookie-source chrome search "from:anthropic" -n 20 --json

Monitoring

bird --cookie-source chrome mentions -n 10
bird --cookie-source chrome bookmarks -n 20
bird --cookie-source chrome likes -n 20
bird --cookie-source chrome following -n 50
bird --cookie-source chrome followers -n 50

Maintenance

bird --cookie-source chrome whoami          # verify auth
bird --cookie-source chrome check           # credential sources
bird --cookie-source chrome query-ids --fresh  # refresh when Twitter rotates IDs

Troubleshooting

  • 403 errors: browser cookies expired — log into Twitter in Chrome, then bird check
  • Query ID errors: bird query-ids --fresh (works until X changes the schema itself; then bird is done)
  • Rate limiting (429): wait a few minutes

Smaug — Bookmark Archival

cd ~/tools/smaug
npx smaug run                    # fetch + process with Claude
npx smaug fetch 20               # fetch only
npx smaug fetch --source likes   # likes instead of bookmarks
npx smaug run -t                 # track token costs
npx smaug status

Output: bookmarks.md, knowledge/tools/, knowledge/articles/.

Reference Files

FileContents
references/pricing.mdFull July 2026 rate card, Owned Reads endpoints, rebates, dedup, worked estimates
references/xurl-mcp-setup.mdOAuth 2.0 app setup, MCP bridge wiring, xurl usage, self-hosted xMCP
references/setup.mdBearer + OAuth 1.0a credential setup, bird/smaug install, credential troubleshooting

What ships with it: 12 files

95.2 KB alongside SKILL.md, 4 of them executable

x-search/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.