{"id":"9f440fcb-1cc3-4dc3-aeac-96828f32f450","entityType":"agent","slug":"clawhub-skills-0xnyk-xint","name":"xint","canonicalUrl":"https://www.xpersona.co/agent/clawhub-skills-0xnyk-xint","canonicalPath":"/agent/clawhub-skills-0xnyk-xint","generatedAt":"2026-10-09T23:44:45.163Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"description":"X Intelligence CLI — search, analyze, and engage on X/Twitter from the terminal. Use when: (1) user says \"x research\", \"search x for\", \"search twitter for\", \"what are people saying about\", \"what's twitter saying\", \"check x for\", \"x search\", \"search x\", \"find tweets about\", \"monitor x for\", \"track followers\", (2) user is working on something where recent X discourse would provide useful context (new library releases, API changes, product launches, cultural events, industry drama), (3) user wants to find what devs/experts/community thinks about a topic, (4) user needs real-time monitoring (\"watch\"), (5) user wants AI-powered analysis (\"analyze\", \"sentiment\", \"report\"). Also supports: bookmarks, likes, following (read/write), trending topics, Grok AI analysis, and cost tracking. Export as JSON, JSONL (pipeable), CSV, or Markdown. Non-goals: Not for posting tweets, not for DMs, not for enterprise features. Requires OAuth for user-context operations (bookmarks, likes, following, diff). --- name: xint description: > X Intelligence CLI — search, analyze, and engage on X/Twitter from the terminal. Use when: (1) user says \"x research\", \"search x for\", \"search twitter for\", \"what are people saying about\", \"what's twitter saying\", \"check x for\", \"x search\", \"search x\", \"find tweets about\", \"monitor x for\", \"track followers\", (2) user is working on something where recent X discourse would provide useful c","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.","installCommand":"clawhub skill install skills:0xnyk:xint","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/0xnyk/xint","homepage":null,"primaryLinks":[{"label":"View on ClawHub","url":"https://github.com/openclaw/skills/tree/main/skills/0xnyk/xint","kind":"source"}],"safetyScore":84,"overallRank":62,"popularityScore":50,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"X Intelligence CLI — search, analyze, and engage on X/Twitter from the terminal. Use when: (1) user says \"x research\", \"search x for\", \"search twitter for\", \"wh"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"protocols":[{"protocol":"MCP","label":"MCP","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"send","status":"self-declared"},{"label":"decide","status":"self-declared"},{"label":"x","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":4,"capabilityMatrix":{"rows":[{"key":"MCP","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"},{"key":"send","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"decide","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"x","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"protocol:MCP|unknown|profile capability:send|supported|profile capability:decide|supported|profile capability:x|supported|profile"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No source adoption metrics were available."},"stars":null,"forks":null,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-02-28T15:28:57.407Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-02-28T15:28:57.407Z","lastIndexedAt":null,"nextCrawlAt":"2026-03-01T15:28:57.407Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install skills:0xnyk:xint","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xnyk-xint/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xnyk-xint/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xnyk-xint/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xnyk-xint/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xnyk-xint/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xnyk-xint/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["MCP"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-09T23:44:45.162Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xnyk-xint/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xnyk-xint/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xnyk-xint/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xnyk-xint/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"readme":"---\nname: xint\ndescription: >\n  X Intelligence CLI — search, analyze, and engage on X/Twitter from the terminal.\n  Use when: (1) user says \"x research\", \"search x for\", \"search twitter for\",\n  \"what are people saying about\", \"what's twitter saying\", \"check x for\", \"x search\",\n  \"search x\", \"find tweets about\", \"monitor x for\", \"track followers\", (2) user is working on \n  something where recent X discourse would provide useful context (new library releases, \n  API changes, product launches, cultural events, industry drama), (3) user wants to find \n  what devs/experts/community thinks about a topic, (4) user needs real-time monitoring (\"watch\"),\n  (5) user wants AI-powered analysis (\"analyze\", \"sentiment\", \"report\").\n  Also supports: bookmarks, likes, following (read/write), trending topics, Grok AI analysis,\n  and cost tracking. Export as JSON, JSONL (pipeable), CSV, or Markdown.\n  Non-goals: Not for posting tweets, not for DMs, not for enterprise features.\n  Requires OAuth for user-context operations (bookmarks, likes, following, diff).\ncredentials:\n  - name: X_BEARER_TOKEN\n    description: X API v2 bearer token for search, profile, thread, tweet, trends\n    required: true\n  - name: XAI_API_KEY\n    description: xAI API key for Grok analysis, article fetching, sentiment, x-search, collections\n    required: false\n  - name: XAI_MANAGEMENT_API_KEY\n    description: xAI Management API key for collections management\n    required: false\n  - name: X_CLIENT_ID\n    description: X OAuth 2.0 client ID for user-context operations (bookmarks, likes, following, diff)\n    required: false\nrequired_env_vars:\n  - X_BEARER_TOKEN\nrequiredEnvVars:\n  - X_BEARER_TOKEN\nprimary_credential: X_BEARER_TOKEN\nprimaryCredential: X_BEARER_TOKEN\nsecurity:\n  always: false\n  autonomous: false\n  local_data_dir: data/\n  network_endpoints:\n    - https://api.x.com\n    - https://x.com\n    - https://api.x.ai\n---\n\n# xint — X Intelligence CLI\n\nGeneral-purpose agentic research over X/Twitter. Decompose any research question into targeted searches, iteratively refine, follow threads, deep-dive linked content, and synthesize into a sourced briefing.\n\nFor X API details (endpoints, operators, response format): read `references/x-api.md`.\n\n## Security Considerations\n\nThis skill requires sensitive credentials. Follow these guidelines:\n\n### Credentials\n- **X_BEARER_TOKEN**: Required for X API. Treat as a secret - prefer exported environment variables (optional project-local `.env`)\n- **XAI_API_KEY**: Optional, needed for AI analysis. Also a secret\n- **X_CLIENT_ID**: Optional, needed for OAuth. Less sensitive but don't expose publicly\n- **XAI_MANAGEMENT_API_KEY**: Optional, for collections management\n\n### File Writes\n- This skill writes to its own `data/` directory: cache, exports, snapshots, OAuth tokens\n- OAuth tokens stored with restrictive permissions (chmod 600)\n- Review exported data before sharing - may contain sensitive search queries\n\n### Webhooks\n- `watch` and `stream` can send data to webhook endpoints\n- Remote endpoints must use `https://` (`http://` is accepted only for localhost/loopback)\n- Optional host allowlist: `XINT_WEBHOOK_ALLOWED_HOSTS=hooks.example.com,*.internal.example`\n- Avoid sending sensitive search queries or token-bearing URLs to third-party destinations\n\n### Runtime Notes\n- This file documents usage and safety controls for the CLI only.\n- Network listeners are opt-in (`mcp --sse`) and disabled by default\n- Webhook delivery is opt-in (`--webhook`) and disabled by default\n\n### Installation\n- For Bun: prefer OS package managers over `curl | bash` when possible\n- Verify any installer scripts before running\n\n### MCP Server (Optional)\n- `bun run xint.ts mcp` starts a local MCP server exposing xint commands as tools\n- Default mode is stdio/local integration; no inbound web server unless `--sse` is explicitly enabled\n- Respect `--policy read_only|engagement|moderation` and budget guardrails\n\n## CLI Tool\n\nAll commands run from the project directory:\n\n```bash\n# Set your environment variables\nexport X_BEARER_TOKEN=\"your-token\"\n```\n\n### Search\n\n```bash\nbun run xint.ts search \"<query>\" [options]\n```\n\n**Options:**\n- `--sort likes|impressions|retweets|recent` — sort order (default: likes)\n- `--since 1h|3h|12h|1d|7d` — time filter (default: last 7 days). Also accepts minutes (`30m`) or ISO timestamps.\n- `--min-likes N` — filter by minimum likes\n- `--min-impressions N` — filter by minimum impressions\n- `--pages N` — pages to fetch, 1-5 (default: 1, 100 tweets/page)\n- `--limit N` — max results to display (default: 15)\n- `--quick` — quick mode: 1 page, max 10 results, auto noise filter, 1hr cache, cost summary\n- `--from <username>` — shorthand for `from:username` in query\n- `--quality` — filter low-engagement tweets (>=10 likes, post-hoc)\n- `--no-replies` — exclude replies\n- `--sentiment` — AI-powered per-tweet sentiment analysis (via Grok). Shows positive/negative/neutral/mixed with scores.\n- `--save` — save results to `data/exports/`\n- `--json` — raw JSON output\n- `--jsonl` — one JSON object per line (optimized for Unix pipes: `| jq`, `| tee`)\n- `--csv` — CSV output for spreadsheet analysis\n- `--markdown` — markdown output for research docs\n\nAuto-adds `-is:retweet` unless query already includes it. All searches display estimated API cost.\n\n**Examples:**\n```bash\nbun run xint.ts search \"AI agents\" --sort likes --limit 10\nbun run xint.ts search \"from:elonmusk\" --sort recent\nbun run xint.ts search \"(opus 4.6 OR claude) trading\" --pages 2 --save\nbun run xint.ts search \"$BTC (revenue OR fees)\" --min-likes 5\nbun run xint.ts search \"AI agents\" --quick\nbun run xint.ts search \"AI agents\" --quality --quick\nbun run xint.ts search \"solana memecoins\" --sentiment --limit 20\nbun run xint.ts search \"startup funding\" --csv > funding.csv\nbun run xint.ts search \"AI\" --jsonl | jq 'select(.metrics.likes > 100)'\n```\n\n### Profile\n\n```bash\nbun run xint.ts profile <username> [--count N] [--replies] [--json]\n```\n\nFetches recent tweets from a specific user (excludes replies by default).\n\n### Thread\n\n```bash\nbun run xint.ts thread <tweet_id> [--pages N]\n```\n\nFetches full conversation thread by root tweet ID.\n\n### Single Tweet\n\n```bash\nbun run xint.ts tweet <tweet_id> [--json]\n```\n\n### Article (Full Content Fetcher)\n\n```bash\nbun run xint.ts article <url> [--json] [--full] [--ai <text>]\n```\n\nFetches and extracts full article content from any URL using xAI's web_search tool (Grok reads the page). Returns clean text with title, author, date, and word count. Requires `XAI_API_KEY`.\n\nAlso supports X tweet URLs — automatically extracts the linked article from the tweet and fetches it.\n\n**Options:**\n- `--json` — structured JSON output (title, content, author, published, wordCount, ttr)\n- `--full` — return full article text without truncation (default truncates to ~5000 chars)\n- `--model <name>` — Grok model (default: grok-4)\n- `--ai <text>` — analyze article with Grok AI (passes content to analyze command)\n\n**Examples:**\n```bash\n# Fetch article from URL\nbun run xint.ts article https://example.com/blog/post\n\n# Auto-extract article from X tweet URL and analyze\nbun run xint.ts article \"https://x.com/user/status/123456789\" --ai \"Summarize key takeaways\"\n\n# Fetch + analyze with AI\nbun run xint.ts article https://techcrunch.com/article --ai \"What are the main points?\"\n\n# Full content without truncation\nbun run xint.ts article https://blog.example.com/deep-dive --full\n```\n\n**Agent usage:** When search results include tweets with article links, use `article` to read the full content. Search results now include article titles and descriptions from the X API (shown as `📰` lines), so you can decide which articles are worth a full read. Prioritize articles that:\n- Multiple tweets reference\n- Come from high-engagement tweets\n- Have relevant titles/descriptions from the API metadata\n\n### Bookmarks\n\n```bash\nbun run xint.ts bookmarks [options]       # List bookmarked tweets\nbun run xint.ts bookmark <tweet_id>       # Bookmark a tweet\nbun run xint.ts unbookmark <tweet_id>     # Remove a bookmark\n```\n\n**Bookmark list options:**\n- `--limit N` — max bookmarks to display (default: 20)\n- `--since <dur>` — filter by recency (1h, 1d, 7d, etc.)\n- `--query <text>` — client-side text filter\n- `--json` — raw JSON output\n- `--markdown` — markdown output\n- `--save` — save to data/exports/\n- `--no-cache` — skip cache\n\nRequires OAuth. Run `auth setup` first.\n\n### Likes\n\n```bash\nbun run xint.ts likes [options]           # List your liked tweets\nbun run xint.ts like <tweet_id>           # Like a tweet\nbun run xint.ts unlike <tweet_id>         # Unlike a tweet\n```\n\n**Likes list options:** Same as bookmarks (`--limit`, `--since`, `--query`, `--json`, `--no-cache`).\n\nRequires OAuth with `like.read` and `like.write` scopes.\n\n### Following\n\n```bash\nbun run xint.ts following [username] [--limit N] [--json]\n```\n\nLists accounts you (or another user) follow. Defaults to the authenticated user.\n\nRequires OAuth with `follows.read` scope.\n\n### Trends\n\n```bash\nbun run xint.ts trends [location] [options]\n```\n\nFetches trending topics. Tries the official X API trends endpoint first; falls back to search-based hashtag frequency estimation if unavailable.\n\n**Options:**\n- `[location]` — location name or WOEID number (default: worldwide)\n- `--limit N` — number of trends to display (default: 20)\n- `--json` — raw JSON output\n- `--no-cache` — bypass the 15-minute cache\n- `--locations` — list all known location names\n\n**Examples:**\n```bash\nbun run xint.ts trends                    # Worldwide\nbun run xint.ts trends us --limit 10      # US top 10\nbun run xint.ts trends japan --json       # Japan, JSON output\nbun run xint.ts trends --locations        # List all locations\n```\n\n### Analyze (Grok AI)\n\n```bash\nbun run xint.ts analyze \"<query>\"                              # Ask Grok a question\nbun run xint.ts analyze --tweets <file>                        # Analyze tweets from JSON file\nbun run xint.ts search \"topic\" --json | bun run xint.ts analyze --pipe  # Pipe search results\n```\n\nUses xAI's Grok API (OpenAI-compatible). Requires `XAI_API_KEY` in env or `.env`.\n\n**Options:**\n- `--model <name>` — grok-3, grok-3-mini (default), grok-2\n- `--tweets <file>` — path to JSON file containing tweets\n- `--pipe` — read tweet JSON from stdin\n\n**Examples:**\n```bash\nbun run xint.ts analyze \"What are the top AI agent frameworks right now?\"\nbun run xint.ts search \"AI agents\" --json | bun run xint.ts analyze --pipe \"Which show product launches?\"\nbun run xint.ts analyze --model grok-3 \"Deep analysis of crypto market sentiment\"\n```\n\n## xAI X Search (No Cookies/GraphQL)\n\nFor “recent sentiment / what X is saying” without using cookies/GraphQL, use xAI’s hosted `x_search` tool.\n\nScript:\n\n```bash\npython3 scripts/xai_x_search_scan.py --help\n```\n\n## xAI Collections Knowledge Base (Files + Collections)\n\nStore first-party artifacts (reports, logs) in xAI Collections and semantic-search them later.\n\nScript:\n\n```bash\npython3 scripts/xai_collections.py --help\n```\n\nEnv:\n- `XAI_API_KEY` (api.x.ai): file upload + search\n- `XAI_MANAGEMENT_API_KEY` (management-api.x.ai): collections management + attaching documents\n\nNotes:\n- Never print keys.\n- Prefer `--dry-run` when wiring new cron jobs.\n\n### Watch (Real-Time Monitoring)\n\n```bash\nbun run xint.ts watch \"<query>\" [options]\n```\n\nPolls a search query on an interval, shows only new tweets. Great for monitoring topics during catalysts, tracking mentions, or feeding live data into downstream tools.\n\n**Options:**\n- `--interval <dur>` / `-i` — poll interval: `30s`, `1m`, `5m`, `15m` (default: 5m)\n- `--webhook <url>` — POST new tweets as JSON to this URL (`https://` required for remote hosts)\n- `--jsonl` — output as JSONL instead of formatted text (for piping to `tee`, `jq`, etc.)\n- `--quiet` — suppress per-poll headers (just show tweets)\n- `--limit N` — max tweets to show per poll\n- `--sort likes|impressions|retweets|recent` — sort order\n\nPress `Ctrl+C` to stop — prints session stats (duration, total polls, new tweets found, total cost).\n\n**Examples:**\n```bash\nbun run xint.ts watch \"solana memecoins\" --interval 5m\nbun run xint.ts watch \"@vitalikbuterin\" --interval 1m\nbun run xint.ts watch \"AI agents\" -i 30s --webhook https://hooks.example.com/ingest\nbun run xint.ts watch \"breaking news\" --jsonl | tee -a feed.jsonl\n```\n\n**Agent usage:** Use `watch` when you need continuous monitoring of a topic. For one-off checks, use `search` instead. The watch command auto-stops if the daily budget is exceeded.\n\n### Diff (Follower Tracking)\n\n```bash\nbun run xint.ts diff <@username> [options]\n```\n\nTracks follower/following changes over time using local snapshots. First run creates a baseline; subsequent runs show who followed/unfollowed since last check.\n\n**Options:**\n- `--following` — track who the user follows (instead of their followers)\n- `--history` — view all saved snapshots for this user\n- `--json` — structured JSON output\n- `--pages N` — pages of followers to fetch (default: 5, 1000 per page)\n\nRequires OAuth (`auth setup` first). Snapshots stored in `data/snapshots/`.\n\n**Examples:**\n```bash\nbun run xint.ts diff @vitalikbuterin          # First run: create snapshot\nbun run xint.ts diff @vitalikbuterin          # Later: show changes\nbun run xint.ts diff @0xNyk --following       # Track who you follow\nbun run xint.ts diff @solana --history        # View snapshot history\n```\n\n**Agent usage:** Use `diff` to detect notable follower changes for monitored accounts. Combine with `watch` for comprehensive account monitoring. Run periodically (e.g., daily) to build a history of follower changes.\n\n### Report (Intelligence Reports)\n\n```bash\nbun run xint.ts report \"<topic>\" [options]\n```\n\nGenerates comprehensive markdown intelligence reports combining search results, optional sentiment analysis, and AI-powered summary via Grok.\n\n**Options:**\n- `--sentiment` — include per-tweet sentiment analysis\n- `--accounts @user1,@user2` — include per-account activity sections\n- `--model <name>` — Grok model for AI summary (default: grok-3-mini)\n- `--pages N` — search pages to fetch (default: 2)\n- `--save` — save report to `data/exports/`\n\n**Examples:**\n```bash\nbun run xint.ts report \"AI agents\"\nbun run xint.ts report \"solana\" --sentiment --accounts @aaboronkov,@rajgokal --save\nbun run xint.ts report \"crypto market\" --model grok-3 --sentiment --save\n```\n\n**Agent usage:** Use `report` when the user wants a comprehensive briefing on a topic. This is the highest-level command — it runs search, sentiment, and analysis in one pass and produces a structured markdown report. For quick pulse checks, use `search --quick` instead.\n\n### Costs\n\n```bash\nbun run xint.ts costs                     # Today's costs\nbun run xint.ts costs week                # Last 7 days\nbun run xint.ts costs month               # Last 30 days\nbun run xint.ts costs all                 # All time\nbun run xint.ts costs budget              # Show budget info\nbun run xint.ts costs budget set 2.00     # Set daily limit to $2\nbun run xint.ts costs reset               # Reset today's data\n```\n\nTracks per-call API costs with daily aggregates and configurable budget limits.\n\n### Watchlist\n\n```bash\nbun run xint.ts watchlist                       # Show all\nbun run xint.ts watchlist add <user> [note]     # Add account\nbun run xint.ts watchlist remove <user>         # Remove account\nbun run xint.ts watchlist check                 # Check recent from all\n```\n\n### Auth\n\n```bash\nbun run xint.ts auth setup [--manual]    # Set up OAuth 2.0 (PKCE)\nbun run xint.ts auth status              # Check token status\nbun run xint.ts auth refresh             # Manually refresh tokens\n```\n\nRequired scopes: `bookmark.read bookmark.write tweet.read users.read like.read like.write follows.read offline.access`\n\n### Cache\n\n```bash\nbun run xint.ts cache clear    # Clear all cached results\n```\n\n15-minute TTL. Avoids re-fetching identical queries.\n\n## Research Loop (Agentic)\n\nWhen doing deep research (not just a quick search), follow this loop:\n\n### 1. Decompose the Question into Queries\n\nTurn the research question into 3-5 keyword queries using X search operators:\n\n- **Core query**: Direct keywords for the topic\n- **Expert voices**: `from:` specific known experts\n- **Pain points**: Keywords like `(broken OR bug OR issue OR migration)`\n- **Positive signal**: Keywords like `(shipped OR love OR fast OR benchmark)`\n- **Links**: `url:github.com` or `url:` specific domains\n- **Noise reduction**: `-is:retweet` (auto-added), add `-is:reply` if needed\n\n### 2. Search and Extract\n\nRun each query via CLI. After each, assess:\n- Signal or noise? Adjust operators.\n- Key voices worth searching `from:` specifically?\n- Threads worth following via `thread` command?\n- Linked resources worth deep-diving?\n\n### 3. Follow Threads\n\nWhen a tweet has high engagement or is a thread starter:\n```bash\nbun run xint.ts thread <tweet_id>\n```\n\n### 4. Deep-Dive Linked Content\n\nSearch results now include article titles and descriptions from the X API (shown as `📰` in output). Use these to decide which links are worth a full read, then fetch with `xint article`:\n\n```bash\nbun run xint.ts article <url>               # terminal display\nbun run xint.ts article <url> --json         # structured output\nbun run xint.ts article <url> --full         # no truncation\n```\n\nPrioritize links that:\n- Multiple tweets reference\n- Come from high-engagement tweets\n- Have titles/descriptions suggesting depth (not just link aggregators)\n- Point to technical resources directly relevant to the question\n\n### 5. Analyze with Grok\n\nFor complex research, pipe search results into Grok for synthesis:\n```bash\nbun run xint.ts search \"topic\" --json | bun run xint.ts analyze --pipe \"Summarize themes and sentiment\"\n```\n\n### 6. Synthesize\n\nGroup findings by theme, not by query:\n\n```\n### [Theme/Finding Title]\n\n[1-2 sentence summary]\n\n- @username: \"[key quote]\" (NL, NI) [Tweet](url)\n- @username2: \"[another perspective]\" (NL, NI) [Tweet](url)\n\nResources shared:\n- [Resource title](url) — [what it is]\n```\n\n### 7. Save\n\nUse `--save` flag to save to `data/exports/`.\n\n## Cost Management\n\nAll API calls are tracked in `data/api-costs.json`. The budget system warns when approaching limits but does not block calls (passive).\n\n**X API v2 pay-per-use rates:**\n- Tweet reads (search, bookmarks, likes, profile): ~$0.005/tweet\n- Full-archive search: ~$0.01/tweet\n- Write operations (like, unlike, bookmark, unbookmark): ~$0.01/action\n- Profile lookups: ~$0.005/lookup\n- Follower/following lookups: ~$0.01/page\n- Trends: ~$0.10/request\n- Grok AI (sentiment/analyze/report): billed by xAI separately (not X API)\n\nDefault daily budget: $1.00 (adjustable via `costs budget set <N>`).\n\n## Refinement Heuristics\n\n- **Too much noise?** Add `-is:reply`, use `--sort likes`, narrow keywords\n- **Too few results?** Broaden with `OR`, remove restrictive operators\n- **Crypto spam?** Add `-$ -airdrop -giveaway -whitelist`\n- **Expert takes only?** Use `from:` or `--min-likes 50`\n- **Substance over hot takes?** Search with `has:links`\n\n## File Structure\n\n```\nxint/\n├── SKILL.md           (this file — agent instructions)\n├── xint.ts            (CLI entry point)\n├── lib/\n│   ├── api.ts         (X API wrapper: search, thread, profile, tweet)\n│   ├── article.ts     (full article content fetcher via xAI web_search)\n│   ├── bookmarks.ts   (bookmark read — OAuth)\n│   ├── cache.ts       (file-based cache, 15min TTL)\n│   ├── costs.ts       (API cost tracking & budget)\n│   ├── engagement.ts  (likes, like/unlike, following, bookmark write — OAuth)\n│   ├── followers.ts   (follower/following tracking + snapshot diffs)\n│   ├── format.ts      (terminal, markdown, CSV, JSONL formatters)\n│   ├── grok.ts        (xAI Grok analysis integration)\n│   ├── oauth.ts       (OAuth 2.0 PKCE auth + token refresh)\n│   ├── report.ts      (intelligence report generation)\n│   ├── sentiment.ts   (AI-powered sentiment analysis via Grok)\n│   ├── trends.ts      (trending topics — API + search fallback)\n│   └── watch.ts       (real-time monitoring with polling)\n├── data/\n│   ├── api-costs.json  (cost tracking data)\n│   ├── oauth-tokens.json (OAuth tokens — chmod 600)\n│   ├── watchlist.json  (accounts to monitor)\n│   ├── exports/        (saved research)\n│   ├── snapshots/      (follower/following snapshots for diff)\n│   └── cache/          (auto-managed)\n└── references/\n    └── x-api.md        (X API endpoint reference)\n```\n","readmeExcerpt":"--- name: xint description: > X Intelligence CLI — search, analyze, and engage on X/Twitter from the terminal. Use when: (1) user says \"x research\", \"search x for\", \"search twitter for\", \"what are people saying about\", \"what's twitter saying\", \"check x for\", \"x search\", \"search x\", \"find tweets about\", \"monitor x for\", \"track followers\", (2) user is working on something where recent X discourse would provide useful c","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"# Set your environment variables\nexport X_BEARER_TOKEN=\"your-token\""},{"language":"bash","snippet":"bun run xint.ts search \"<query>\" [options]"},{"language":"bash","snippet":"bun run xint.ts search \"AI agents\" --sort likes --limit 10\nbun run xint.ts search \"from:elonmusk\" --sort recent\nbun run xint.ts search \"(opus 4.6 OR claude) trading\" --pages 2 --save\nbun run xint.ts search \"$BTC (revenue OR fees)\" --min-likes 5\nbun run xint.ts search \"AI agents\" --quick\nbun run xint.ts search \"AI agents\" --quality --quick\nbun run xint.ts search \"solana memecoins\" --sentiment --limit 20\nbun run xint.ts search \"startup funding\" --csv > funding.csv\nbun run xint.ts search \"AI\" --jsonl | jq 'select(.metrics.likes > 100)'"},{"language":"bash","snippet":"bun run xint.ts profile <username> [--count N] [--replies] [--json]"},{"language":"bash","snippet":"bun run xint.ts thread <tweet_id> [--pages N]"},{"language":"bash","snippet":"bun run xint.ts tweet <tweet_id> [--json]"}],"parameters":{},"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["typescript"],"docsSourceLabel":"CLAWHUB","editorialOverview":"X Intelligence CLI — search, analyze, and engage on X/Twitter from the terminal. Use when: (1) user says \"x research\", \"search x for\", \"search twitter for\", \"what are people saying about\", \"what's twitter saying\", \"check x for\", \"x search\", \"search x\", \"find tweets about\", \"monitor x for\", \"track followers\", (2) user is working on something where recent X discourse would provide useful context (new library releases, API changes, product launches, cultural events, industry drama), (3) user wants to find what devs/experts/community thinks about a topic, (4) user needs real-time monitoring (\"watch\"), (5) user wants AI-powered analysis (\"analyze\", \"sentiment\", \"report\"). Also supports: bookmarks, likes, following (read/write), trending topics, Grok AI analysis, and cost tracking. Export as JSON, JSONL (pipeable), CSV, or Markdown. Non-goals: Not for posting tweets, not for DMs, not for enterprise features. Requires OAuth for user-context operations (bookmarks, likes, following, diff). --- name: xint description: > X Intelligence CLI — search, analyze, and engage on X/Twitter from the terminal. Use when: (1) user says \"x research\", \"search x for\", \"search twitter for\", \"what are people saying about\", \"what's twitter saying\", \"check x for\", \"x search\", \"search x\", \"find tweets about\", \"monitor x for\", \"track followers\", (2) user is working on something where recent X discourse would provide useful c","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":478,"uniquenessScore":64,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T23:44:45.163Z","emptyReason":null},"items":[{"id":"91842505-d59e-48ad-ae35-d504a6e8eadb","entityType":"agent","canonicalPath":"/agent/ard-urn-air-com-brainiall-mcp-nlp","slug":"ard-urn-air-com-brainiall-mcp-nlp","name":"Brainiall NLP","description":"Sentiment, toxicity, entity extraction, PII, translation, summary, QA, fraud scoring, safety audit.","url":"https://api.brainiall.com/mcp/nlp/mcp","homepage":"https://api.brainiall.com/mcp/nlp/mcp","source":"ARD_REGISTRY","protocols":["MCP"],"capabilities":["mcp","mcp-registry"],"safetyScore":95,"overallRank":93.5,"updatedAt":"2026-10-09T19:59:36.369Z","createdAt":"2026-10-09T02:32:12.319Z","downloads":null},{"id":"c07bfd45-37e3-4ca4-bce7-0f2c138264a2","entityType":"agent","canonicalPath":"/agent/ard-urn-air-ai-revuo-mcp-revuo","slug":"ard-urn-air-ai-revuo-mcp-revuo","name":"Revuo","description":"Agent-callable B2B SaaS directory: capability-structured, continuously verified listings.","url":"https://www.revuo.ai/api/mcp","homepage":"https://www.revuo.ai/api/mcp","source":"ARD_REGISTRY","protocols":["MCP"],"capabilities":["mcp","mcp-registry"],"safetyScore":95,"overallRank":93.5,"updatedAt":"2026-10-09T19:04:52.902Z","createdAt":"2026-10-09T02:32:15.408Z","downloads":null},{"id":"b72e3032-816c-4f68-bcc9-1a847aef4d79","entityType":"agent","canonicalPath":"/agent/ard-urn-air-ai-bankee-mcp-inferventis-mcp","slug":"ard-urn-air-ai-bankee-mcp-inferventis-mcp","name":"Inferventis MCP Server","description":"Loan & mortgage calculator, compound interest, ROI, crypto prices, FX conversion for AI agents.","url":"https://mcp-server-295985738387.europe-west1.run.app/mcp","homepage":"https://mcp-server-295985738387.europe-west1.run.app/mcp","source":"ARD_REGISTRY","protocols":["MCP"],"capabilities":["mcp","mcp-registry"],"safetyScore":95,"overallRank":93.5,"updatedAt":"2026-10-09T18:09:37.547Z","createdAt":"2026-10-09T02:32:16.798Z","downloads":null},{"id":"a785e560-2661-4edd-a374-5e8de7c54e7a","entityType":"agent","canonicalPath":"/agent/ard-urn-air-io-github-cleandev-fix-mcp-shortlistlens","slug":"ard-urn-air-io-github-cleandev-fix-mcp-shortlistlens","name":"ShortlistLens","description":"Structured website and review evidence for AI-assisted local-business shortlisting.","url":"https://shortlistlens-mcp.streaming22box.workers.dev/mcp","homepage":"https://shortlistlens-mcp.streaming22box.workers.dev/mcp","source":"ARD_REGISTRY","protocols":["MCP"],"capabilities":["mcp","mcp-registry"],"safetyScore":95,"overallRank":93.5,"updatedAt":"2026-10-09T18:04:03.143Z","createdAt":"2026-10-09T02:32:13.915Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"MCP","href":"/agent/protocol/mcp"}]}}}