twitter-data-export

twitter-data-export is a skill for Claude Code, Codex from Aditya923-c/xpoz-agent-skills. It costs 66 tokens per session (3,130 once invoked), scanned A, a copy of twitter-data-export, MIT.

A workflow for searching Twitter/X posts by keywords, author, and date, then exporting the results as a CSV file for analysis.

In plain words
What is it for?
Use it to build datasets of posts about a topic, download posts from an account, filter a time period, or analyze exported Twitter/X data.
Why use it?
It saves the work of collecting posts individually when you need a larger, filterable dataset.

Skill for Claude CodeCodex

Which agent this was written for is unclear — built for openclaw. Also seen: reads .claude/ paths; mentions Claude Code; built for openclaw.

Good fit Use it to build datasets of posts about a topic, download posts from an account, filter a time period, or analyze exported Twitter/X data.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/aditya923-c/xpoz-agent-skills/twitter-data-export
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add Aditya923-c/xpoz-agent-skills --skill twitter-data-export
Clone the repo
git clone --depth 1 https://github.com/Aditya923-c/xpoz-agent-skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for twitter-data-export

README.md
[![agentmods](https://agentmods.dev/badge/skills/aditya923-c/xpoz-agent-skills/twitter-data-export/github.svg)](https://agentmods.dev/skills/aditya923-c/xpoz-agent-skills/twitter-data-export)
Your own site
<a href="https://agentmods.dev/skills/aditya923-c/xpoz-agent-skills/twitter-data-export"><img src="https://agentmods.dev/badge/skills/aditya923-c/xpoz-agent-skills/twitter-data-export/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for twitter-data-export

Your own site · 80×15
<a href="https://agentmods.dev/skills/aditya923-c/xpoz-agent-skills/twitter-data-export"><img src="https://agentmods.dev/badge/skills/aditya923-c/xpoz-agent-skills/twitter-data-export.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 66 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,130 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 2 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 86% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00066 $0.03130
Opus 5 $0.00033 $0.01565
Sonnet 5 $0.00013 $0.00626
Haiku 4.5 $0.00007 $0.00313

Measured 11d ago against content hash 6fe4626d6ecc, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

twitter-data-export scanned grade A with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

import secrets, hashlib, base64, urllib.parse, json, urllib.request, os

Runs shell commandslowCapability

Expected in a hook, worth knowing in a rule or an instructions file.

subprocess.run(['mcporter', 'config', 'remove', 'xpoz'], capture_output=True)
Origin

This is a copy

86% identical to twitter-data-export — 27 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

skills/twitter-data-export/SKILL.md · 397 lines

How it starts

The opening of the file, as written. The whole thing — 397 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Twitter Data Export

Overview

Search and export Twitter/X data to CSV files for analysis. Supports keyword search, author-based search, date filtering, and bulk exports up to 500K rows — no Twitter API keys required.

When to Use

Activate when the user asks:

  • "Export tweets about [TOPIC] to CSV"
  • "Download all tweets from @[USER]"
  • "Get Twitter data for [KEYWORD] from last month"
  • "I need a dataset of tweets about [TOPIC]"
  • "Bulk download tweets matching [QUERY]"
  • "Twitter data export"

Setup & Authentication

Before fetching data, ensure Xpoz access is configured. Follow these checks in order.

Check 1: Already authenticated?

If you have MCP tools, try calling any Xpoz tool (e.g., checkAccessKeyStatus). If it works → skip to Step 1.

If you have the SDK, try:

from xpoz import XpozClient
client = XpozClient()  # reads XPOZ_API_KEY env var

If this succeeds without error → skip to Step 1.

If neither works, you need to authenticate. Choose the path that fits your environment:


Path A: MCP via mcporter (OpenClaw agents)

If mcporter is available:

mcporter call xpoz.checkAccessKeyStatus

If hasAccessKey: true → ready. If not:

mcporter config add xpoz https://mcp.xpoz.ai/mcp --auth oauth

Then authenticate — generate the OAuth URL and send it to the user:

Step 1: Generate authorization URL

import secrets, hashlib, base64, urllib.parse, json, urllib.request, os

verifier = secrets.token_urlsafe(64)
challenge = base64.urlsafe_b64encode(hashlib.sha256(verifier.encode()).digest()).rstrip(b'=').decode()
state = secrets.token_urlsafe(32)

# Dynamic client registration
reg_req = urllib.request.Request(
    'https://mcp.xpoz.ai/oauth/register',
    data=json.dumps({
        'client_name': 'Agent Skills',
        'redirect_uris': ['https://www.xpoz.ai/oauth/openclaw'],
        'grant_types': ['authorization_code'],
        'response_types': ['code'],
        'token_endpoint_auth_method': 'none',
    }).encode(),
    headers={'Content-Type': 'application/json'},
)
reg_resp = json.loads(urllib.request.urlopen(reg_req).read())

params = urllib.parse.urlencode({
    'response_type': 'code',
    'client_id': reg_resp['client_id'],
    'code_challenge': challenge,
    'code_challenge_method': 'S256',
    'redirect_uri': 'https://www.xpoz.ai/oauth/openclaw',
    'state': state,
    'scope': 'mcp:tools',
    'resource': 'https://mcp.xpoz.ai/',
})

auth_url = 'https://mcp.xpoz.ai/oauth/authorize?' + params

# Save state for token exchange
os.makedirs(os.path.expanduser('~/.cache/xpoz-oauth'), exist_ok=True)
with open(os.path.expanduser('~/.cache/xpoz-oauth/state.json'), 'w') as f:
    json.dump({'verifier': verifier, 'state': state, 'client_id': reg_resp['client_id'],
               'redirect_uri': 'https://www.xpoz.ai/oauth/openclaw'}, f)

print(auth_url)

Read the full file on GitHub · 397 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 11d ago First seen · 397 lines · 66 tokens per session scan A 6fe4626d6ecc

Subscribe to this mod's changes

twitter-data-export is a skill published in the GitHub repository Aditya923-c/xpoz-agent-skills (5 stars, last pushed today), licensed MIT. It adds 66 tokens to every session and 3,130 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 2 findings (makes network calls, runs shell commands). It is 86% identical to twitter-data-export, differing in 27 lines, and is treated as a copy.

Related

Other skills, from other repositories

craft

Use when a product idea is still vague and needs to become a clear definition of what to build — "let's craft an app like X", "help me define what I actually want", "clarify this idea before we plan it". Also use before planning or implementation when requirements, UX, domain behaviour, or technical preferences have…

kardebadas/claude-plugin · 83 tokens

pipeline

Use when the user asks to take a substantial feature from an initial idea through implementation in one mostly autonomous run.

kardebadas/claude-plugin · 24 tokens

bug-fix

Use when a bug, regression, or unexpected behaviour is reported and the user wants it fixed end to end — "why is X broken", "this stopped working after Y", "fix this crash". Also use when a symptom is known but its cause is not. Not for building new behaviour, and not for a change whose cause is already proven.

kardebadas/claude-plugin · 74 tokens

bug-investigate

Use when someone wants to know WHY something is broken and has not asked for it to be fixed — "why is this happening", "what's causing this error", "find out what's wrong", "diagnose this before we decide". Also use before committing to a fix, when the cause is unknown and the decision depends on it. Not for fixing …

kardebadas/claude-plugin · 83 tokens

setup

Use when superb's skills need their dependencies installed or checked — "set up superb", "install the dependencies", "why does pipeline say superpowers is missing", after a fresh plugin install, or on a new machine. Also use when a skill fails complaining that a superpowers sub-skill cannot be found.

kardebadas/claude-plugin · 64 tokens

session-deep-dive

Deep qualitative analysis of high-signal sessions. Spawns subagents with v2 template, synthesizes patterns, compares against known findings. Use after /session-scan.

oliver-kriska/claude-elixir-phoenix · 40 tokens