{
  "schemaVersion": "1.0",
  "item": {
    "slug": "x-research-but-cheaper",
    "name": "X Research But Cheaper",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/minilozio/x-research-but-cheaper",
    "canonicalUrl": "https://clawhub.ai/minilozio/x-research-but-cheaper",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/x-research-but-cheaper",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=x-research-but-cheaper",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "assets/banner.svg",
      "data/watchlist.json",
      "package.json",
      "references/twitterapi-io.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/x-research-but-cheaper"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/x-research-but-cheaper",
    "agentPageUrl": "https://openagent3.xyz/skills/x-research-but-cheaper/agent",
    "manifestUrl": "https://openagent3.xyz/skills/x-research-but-cheaper/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/x-research-but-cheaper/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "X Research",
        "body": "General-purpose X/Twitter research agent powered by TwitterAPI.io. Search, filter, monitor — all from the terminal. No X Developer Portal account needed.\n\nFor API details: read references/twitterapi-io.md."
      },
      {
        "title": "Why TwitterAPI.io?",
        "body": "X API OfficialTwitterAPI.ioCost$100+/mo (Basic plan)~$0.15/1k tweets (pay-per-use)SetupDeveloper Portal applicationJust an API keyRate limit10 req/15min200 QPSArchive7 days (recent)Full archive"
      },
      {
        "title": "Setup",
        "body": "Get a TwitterAPI.io key from twitterapi.io\n\n\nSet the env var:\n\nexport TWITTERAPI_KEY=\"your-key-here\"\n\nOr add to your .env file.\n\nNode.js 18+ required (for native fetch). No npm install needed — zero dependencies."
      },
      {
        "title": "CLI Tool",
        "body": "All commands run from the scripts directory:\n\ncd <skill-dir>/scripts"
      },
      {
        "title": "Search",
        "body": "npx tsx x-search.ts search \"<query>\" [options]\n\nOptions:\n\n--sort likes|retweets|impressions|recent — sort order (default: likes)\n--since 1h|3h|12h|1d|7d — time filter\n--min-likes N — filter minimum likes\n--min-impressions N — filter minimum views\n--pages N — pages to fetch, 1-5 (default: 1)\n--limit N — max results to display (default: 15)\n--quick — fast mode: 1 page, max 10 results, noise filter, 1hr cache\n--from <username> — shorthand for from:username in query\n--quality — filter low-engagement tweets (≥10 likes)\n--no-replies — exclude replies\n--save — save results to file\n--type Top|Latest — search mode (default: Latest; Top returns algorithmic ranking)\n--json — raw JSON output\n--markdown — markdown formatted output\n\nAuto-adds -is:retweet unless query already includes it. Cost estimate shown after each search.\n\nExamples:\n\nnpx tsx x-search.ts search \"AI agents Base chain\" --sort likes --limit 10\nnpx tsx x-search.ts search \"BNKR\" --quick\nnpx tsx x-search.ts search \"from:frankdegods\" --sort recent\nnpx tsx x-search.ts search \"(opus OR claude) trading\" --pages 2 --save\nnpx tsx x-search.ts search \"$SOL memecoin\" --min-likes 50 --since 1d\n\nSearch operators (passed through to X):\n\nOperatorExampleNoteskeywordbun 2.0Implicit ANDORbun OR denoMust be uppercase--is:retweetNegation()(fast OR perf)Groupingfrom:from:elonmuskPosts by userto:to:elonmuskReplies to user##buildinpublicHashtag$$AAPLCashtaglang:lang:enLanguage filteris:retweet-is:retweetFilter retweetsis:reply-is:replyFilter replieshas:mediahas:mediaContains mediahas:linkshas:linksContains linksmin_faves:min_faves:100Min likes (native)"
      },
      {
        "title": "Profile",
        "body": "npx tsx x-search.ts profile <username> [--count N] [--replies] [--json]\n\nFetches user info and recent tweets. Excludes replies by default."
      },
      {
        "title": "Single Tweet",
        "body": "npx tsx x-search.ts tweet <tweet_id> [--json]"
      },
      {
        "title": "Thread",
        "body": "npx tsx x-search.ts thread <tweet_id>\n\nFetches root tweet, author thread continuations, and replies in chronological order."
      },
      {
        "title": "Replies",
        "body": "npx tsx x-search.ts replies <tweet_id> [--sort likes|recent] [--limit N]\n\nGet replies to a specific tweet, sorted by engagement."
      },
      {
        "title": "Quote Tweets",
        "body": "npx tsx x-search.ts quotes <tweet_id> [--sort likes|recent] [--limit N]\n\nSee who quoted a tweet and what they said."
      },
      {
        "title": "Mentions",
        "body": "npx tsx x-search.ts mentions <username> [--since 1d|7d] [--sort recent|likes] [--limit N]\n\nGet tweets that mention a user. Great for tracking what people are saying about someone."
      },
      {
        "title": "Followers / Following",
        "body": "npx tsx x-search.ts followers <username> [--limit N]\nnpx tsx x-search.ts following <username> [--limit N]\n\nList a user's followers or who they follow. Shows name, follower count, and bio snippet."
      },
      {
        "title": "Search Users",
        "body": "npx tsx x-search.ts users \"<query>\" [--limit N]\n\nSearch for user accounts by keyword."
      },
      {
        "title": "Trending",
        "body": "npx tsx x-search.ts trending [--woeid N] [--count N]\n\nGet trending topics. Default: worldwide (woeid=1). Common WOEIDs: US=23424977, UK=23424975, Italy=23424853."
      },
      {
        "title": "Community",
        "body": "npx tsx x-search.ts community <id>           # Community info\nnpx tsx x-search.ts community tweets <id>    # Community tweets\n\nResearch X Communities by ID."
      },
      {
        "title": "Watchlist",
        "body": "npx tsx x-search.ts watchlist                       # Show all\nnpx tsx x-search.ts watchlist add <user> [note]     # Add account\nnpx tsx x-search.ts watchlist remove <user>          # Remove account\nnpx tsx x-search.ts watchlist check                  # Check recent from all\n\nWatchlist stored in data/watchlist.json. Use for periodic monitoring — check if key accounts posted anything notable."
      },
      {
        "title": "Cache",
        "body": "npx tsx x-search.ts cache clear    # Clear all cached results\n\nDefault 15-minute TTL. Quick mode uses 1-hour TTL. Avoids repeat API charges."
      },
      {
        "title": "Research Loop (Agentic)",
        "body": "When doing deep research (not just a quick search), follow this loop:"
      },
      {
        "title": "1. Decompose the Question into Queries",
        "body": "Turn the research question into 3-5 keyword queries:\n\nCore query: Direct keywords for the topic\nExpert voices: from: specific known experts\nPain points: Keywords like (broken OR bug OR issue)\nPositive signal: Keywords like (shipped OR love OR fast)\nLinks: has:links for resource-rich tweets\nCrypto spam: Add -airdrop -giveaway -whitelist if needed"
      },
      {
        "title": "2. Search and Extract",
        "body": "Run each query via CLI. After each, assess:\n\nSignal or noise? Adjust operators.\nKey voices worth searching from: specifically?\nThreads worth following via thread command?"
      },
      {
        "title": "3. Follow Threads",
        "body": "When a tweet has high engagement or is a thread starter:\n\nnpx tsx x-search.ts thread <tweet_id>"
      },
      {
        "title": "4. Synthesize",
        "body": "Group findings by theme, not by query:\n\n### [Theme/Finding Title]\n\n[1-2 sentence summary]\n\n- @username: \"[key quote]\" (♥ N, 👁 N) [Tweet](url)\n- @username2: \"[another perspective]\" (♥ N, 👁 N) [Tweet](url)"
      },
      {
        "title": "5. Save",
        "body": "Use --save flag or --markdown for research docs."
      },
      {
        "title": "Refinement Heuristics",
        "body": "Too much noise? Add --no-replies, use --sort likes, narrow keywords\nToo few results? Broaden with OR, remove restrictive operators\nCrypto spam? Add -airdrop -giveaway -whitelist to query\nExpert takes only? Use from: or --min-likes 50\nSubstance over hot takes? Search with has:links"
      },
      {
        "title": "Heartbeat Integration",
        "body": "On heartbeat, run watchlist check to see if key accounts posted anything notable. Flag only if genuinely interesting/actionable."
      },
      {
        "title": "Cost",
        "body": "TwitterAPI.io pay-per-use pricing:\n\n~$0.15 per 1,000 tweets fetched\n~$0.18 per profile lookup\nCost estimate shown after each command\nCache prevents redundant charges"
      },
      {
        "title": "File Structure",
        "body": "skills/x-research/\n├── SKILL.md                # This file\n├── package.json            # Zero dependencies\n├── scripts/\n│   ├── x-search.ts         # CLI entry point\n│   └── lib/\n│       ├── api.ts          # TwitterAPI.io wrapper\n│       ├── cache.ts        # File-based cache (15min/1hr TTL)\n│       └── format.ts       # Terminal + markdown formatters\n├── data/\n│   ├── watchlist.json      # Accounts to monitor\n│   └── cache/              # Auto-managed\n└── references/\n    └── twitterapi-io.md    # API endpoint reference"
      },
      {
        "title": "Requirements",
        "body": "Node.js 18+ (for native fetch)\nA TwitterAPI.io API key\nNo npm install needed — zero dependencies"
      }
    ],
    "body": "X Research\n\nGeneral-purpose X/Twitter research agent powered by TwitterAPI.io. Search, filter, monitor — all from the terminal. No X Developer Portal account needed.\n\nFor API details: read references/twitterapi-io.md.\n\nWhy TwitterAPI.io?\n\tX API Official\tTwitterAPI.io\nCost\t$100+/mo (Basic plan)\t~$0.15/1k tweets (pay-per-use)\nSetup\tDeveloper Portal application\tJust an API key\nRate limit\t10 req/15min\t200 QPS\nArchive\t7 days (recent)\tFull archive\nSetup\n\nGet a TwitterAPI.io key from twitterapi.io\n\nSet the env var:\n\nexport TWITTERAPI_KEY=\"your-key-here\"\n\n\nOr add to your .env file.\n\nNode.js 18+ required (for native fetch). No npm install needed — zero dependencies.\nCLI Tool\n\nAll commands run from the scripts directory:\n\ncd <skill-dir>/scripts\n\nSearch\nnpx tsx x-search.ts search \"<query>\" [options]\n\n\nOptions:\n\n--sort likes|retweets|impressions|recent — sort order (default: likes)\n--since 1h|3h|12h|1d|7d — time filter\n--min-likes N — filter minimum likes\n--min-impressions N — filter minimum views\n--pages N — pages to fetch, 1-5 (default: 1)\n--limit N — max results to display (default: 15)\n--quick — fast mode: 1 page, max 10 results, noise filter, 1hr cache\n--from <username> — shorthand for from:username in query\n--quality — filter low-engagement tweets (≥10 likes)\n--no-replies — exclude replies\n--save — save results to file\n--type Top|Latest — search mode (default: Latest; Top returns algorithmic ranking)\n--json — raw JSON output\n--markdown — markdown formatted output\n\nAuto-adds -is:retweet unless query already includes it. Cost estimate shown after each search.\n\nExamples:\n\nnpx tsx x-search.ts search \"AI agents Base chain\" --sort likes --limit 10\nnpx tsx x-search.ts search \"BNKR\" --quick\nnpx tsx x-search.ts search \"from:frankdegods\" --sort recent\nnpx tsx x-search.ts search \"(opus OR claude) trading\" --pages 2 --save\nnpx tsx x-search.ts search \"$SOL memecoin\" --min-likes 50 --since 1d\n\n\nSearch operators (passed through to X):\n\nOperator\tExample\tNotes\nkeyword\tbun 2.0\tImplicit AND\nOR\tbun OR deno\tMust be uppercase\n-\t-is:retweet\tNegation\n()\t(fast OR perf)\tGrouping\nfrom:\tfrom:elonmusk\tPosts by user\nto:\tto:elonmusk\tReplies to user\n#\t#buildinpublic\tHashtag\n$\t$AAPL\tCashtag\nlang:\tlang:en\tLanguage filter\nis:retweet\t-is:retweet\tFilter retweets\nis:reply\t-is:reply\tFilter replies\nhas:media\thas:media\tContains media\nhas:links\thas:links\tContains links\nmin_faves:\tmin_faves:100\tMin likes (native)\nProfile\nnpx tsx x-search.ts profile <username> [--count N] [--replies] [--json]\n\n\nFetches user info and recent tweets. Excludes replies by default.\n\nSingle Tweet\nnpx tsx x-search.ts tweet <tweet_id> [--json]\n\nThread\nnpx tsx x-search.ts thread <tweet_id>\n\n\nFetches root tweet, author thread continuations, and replies in chronological order.\n\nReplies\nnpx tsx x-search.ts replies <tweet_id> [--sort likes|recent] [--limit N]\n\n\nGet replies to a specific tweet, sorted by engagement.\n\nQuote Tweets\nnpx tsx x-search.ts quotes <tweet_id> [--sort likes|recent] [--limit N]\n\n\nSee who quoted a tweet and what they said.\n\nMentions\nnpx tsx x-search.ts mentions <username> [--since 1d|7d] [--sort recent|likes] [--limit N]\n\n\nGet tweets that mention a user. Great for tracking what people are saying about someone.\n\nFollowers / Following\nnpx tsx x-search.ts followers <username> [--limit N]\nnpx tsx x-search.ts following <username> [--limit N]\n\n\nList a user's followers or who they follow. Shows name, follower count, and bio snippet.\n\nSearch Users\nnpx tsx x-search.ts users \"<query>\" [--limit N]\n\n\nSearch for user accounts by keyword.\n\nTrending\nnpx tsx x-search.ts trending [--woeid N] [--count N]\n\n\nGet trending topics. Default: worldwide (woeid=1). Common WOEIDs: US=23424977, UK=23424975, Italy=23424853.\n\nCommunity\nnpx tsx x-search.ts community <id>           # Community info\nnpx tsx x-search.ts community tweets <id>    # Community tweets\n\n\nResearch X Communities by ID.\n\nWatchlist\nnpx tsx x-search.ts watchlist                       # Show all\nnpx tsx x-search.ts watchlist add <user> [note]     # Add account\nnpx tsx x-search.ts watchlist remove <user>          # Remove account\nnpx tsx x-search.ts watchlist check                  # Check recent from all\n\n\nWatchlist stored in data/watchlist.json. Use for periodic monitoring — check if key accounts posted anything notable.\n\nCache\nnpx tsx x-search.ts cache clear    # Clear all cached results\n\n\nDefault 15-minute TTL. Quick mode uses 1-hour TTL. Avoids repeat API charges.\n\nResearch Loop (Agentic)\n\nWhen doing deep research (not just a quick search), follow this loop:\n\n1. Decompose the Question into Queries\n\nTurn the research question into 3-5 keyword queries:\n\nCore query: Direct keywords for the topic\nExpert voices: from: specific known experts\nPain points: Keywords like (broken OR bug OR issue)\nPositive signal: Keywords like (shipped OR love OR fast)\nLinks: has:links for resource-rich tweets\nCrypto spam: Add -airdrop -giveaway -whitelist if needed\n2. Search and Extract\n\nRun each query via CLI. After each, assess:\n\nSignal or noise? Adjust operators.\nKey voices worth searching from: specifically?\nThreads worth following via thread command?\n3. Follow Threads\n\nWhen a tweet has high engagement or is a thread starter:\n\nnpx tsx x-search.ts thread <tweet_id>\n\n4. Synthesize\n\nGroup findings by theme, not by query:\n\n### [Theme/Finding Title]\n\n[1-2 sentence summary]\n\n- @username: \"[key quote]\" (♥ N, 👁 N) [Tweet](url)\n- @username2: \"[another perspective]\" (♥ N, 👁 N) [Tweet](url)\n\n5. Save\n\nUse --save flag or --markdown for research docs.\n\nRefinement Heuristics\nToo much noise? Add --no-replies, use --sort likes, narrow keywords\nToo few results? Broaden with OR, remove restrictive operators\nCrypto spam? Add -airdrop -giveaway -whitelist to query\nExpert takes only? Use from: or --min-likes 50\nSubstance over hot takes? Search with has:links\nHeartbeat Integration\n\nOn heartbeat, run watchlist check to see if key accounts posted anything notable. Flag only if genuinely interesting/actionable.\n\nCost\n\nTwitterAPI.io pay-per-use pricing:\n\n~$0.15 per 1,000 tweets fetched\n~$0.18 per profile lookup\nCost estimate shown after each command\nCache prevents redundant charges\nFile Structure\nskills/x-research/\n├── SKILL.md                # This file\n├── package.json            # Zero dependencies\n├── scripts/\n│   ├── x-search.ts         # CLI entry point\n│   └── lib/\n│       ├── api.ts          # TwitterAPI.io wrapper\n│       ├── cache.ts        # File-based cache (15min/1hr TTL)\n│       └── format.ts       # Terminal + markdown formatters\n├── data/\n│   ├── watchlist.json      # Accounts to monitor\n│   └── cache/              # Auto-managed\n└── references/\n    └── twitterapi-io.md    # API endpoint reference\n\nRequirements\nNode.js 18+ (for native fetch)\nA TwitterAPI.io API key\nNo npm install needed — zero dependencies"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/minilozio/x-research-but-cheaper",
    "publisherUrl": "https://clawhub.ai/minilozio/x-research-but-cheaper",
    "owner": "minilozio",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/x-research-but-cheaper",
    "downloadUrl": "https://openagent3.xyz/downloads/x-research-but-cheaper",
    "agentUrl": "https://openagent3.xyz/skills/x-research-but-cheaper/agent",
    "manifestUrl": "https://openagent3.xyz/skills/x-research-but-cheaper/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/x-research-but-cheaper/agent.md"
  }
}