{
  "schemaVersion": "1.0",
  "item": {
    "slug": "x-twitter-search",
    "name": "X / Twitter Search",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/blueberrywoodsym/x-twitter-search",
    "canonicalUrl": "https://clawhub.ai/blueberrywoodsym/x-twitter-search",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/x-twitter-search",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=x-twitter-search",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      ".gitignore",
      "package.json",
      "README.md",
      "SKILL.md",
      "scripts/search.js"
    ],
    "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-twitter-search"
    },
    "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-twitter-search",
    "agentPageUrl": "https://openagent3.xyz/skills/x-twitter-search/agent",
    "manifestUrl": "https://openagent3.xyz/skills/x-twitter-search/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/x-twitter-search/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": "Search X",
        "body": "Real-time X/Twitter search with two modes:\n\nxAI Grok (default) — AI-powered search with x_search tool, up to 30 days\nX API (--x-api) — Native X search, up to 7 days, pay-per-use"
      },
      {
        "title": "Option 1: xAI API (default)",
        "body": "export XAI_API_KEY=\"xai-YOUR-KEY\"\n\nGet your key at: https://console.x.ai"
      },
      {
        "title": "Option 2: X API (native)",
        "body": "export X_BEARER_TOKEN=\"YOUR-BEARER-TOKEN\"\n\nGet your token at: https://console.x.com\n\nNote: X API uses pay-per-usage pricing. No subscription needed."
      },
      {
        "title": "Basic Search (xAI Grok)",
        "body": "node {baseDir}/scripts/search.js \"AI video editing\""
      },
      {
        "title": "Native X API Search",
        "body": "node {baseDir}/scripts/search.js --x-api \"AI video editing\"\nnode {baseDir}/scripts/search.js --x-api --max 50 \"trending topic\"  # More results"
      },
      {
        "title": "Filter by Time",
        "body": "node {baseDir}/scripts/search.js --days 7 \"breaking news\"\nnode {baseDir}/scripts/search.js --days 1 \"trending today\"\nnode {baseDir}/scripts/search.js --x-api --days 7 \"news\"  # X API max is 7 days"
      },
      {
        "title": "Filter by Handles",
        "body": "node {baseDir}/scripts/search.js --handles @elonmusk,@OpenAI \"AI announcements\"\nnode {baseDir}/scripts/search.js --exclude @bots \"real discussions\""
      },
      {
        "title": "Output Options",
        "body": "node {baseDir}/scripts/search.js --json \"topic\"        # Full JSON response\nnode {baseDir}/scripts/search.js --compact \"topic\"     # Just tweets, no fluff\nnode {baseDir}/scripts/search.js --links-only \"topic\"  # Just X links"
      },
      {
        "title": "Example Usage in Chat",
        "body": "User: \"Search X for what people are saying about Claude Code\"\nAction: Run search with query \"Claude Code\"\n\nUser: \"Find tweets from @remotion_dev in the last week\"\nAction: Run search with --handles @remotion_dev --days 7\n\nUser: \"What's trending about AI on Twitter today?\"\nAction: Run search with --days 1 \"AI trending\"\n\nUser: \"Search X for Remotion best practices, last 30 days\"\nAction: Run search with --days 30 \"Remotion best practices\""
      },
      {
        "title": "xAI Grok Mode (default)",
        "body": "Uses xAI's Responses API (/v1/responses) with the x_search tool:\n\nModel: grok-4-1-fast (optimized for agentic search)\nUp to 30 days of history\nAI-powered result formatting with citations\nReturns real tweets with URLs"
      },
      {
        "title": "X API Mode (--x-api)",
        "body": "Uses X's native search API (/2/tweets/search/recent):\n\nUp to 7 days of history\nPay-per-usage pricing (no subscription)\nRaw tweet data with metrics\nUp to 100 results per query"
      },
      {
        "title": "Response Format",
        "body": "Each result includes:\n\n@username (display name)\nTweet content\nDate/time\nEngagement metrics (X API mode)\nDirect link to tweet"
      },
      {
        "title": "Environment Variables",
        "body": "xAI Mode:\n\nXAI_API_KEY - Your xAI API key (required for default mode)\nSEARCH_X_MODEL - Model override (default: grok-4-1-fast)\nSEARCH_X_DAYS - Default days to search (default: 30)\n\nX API Mode:\n\nX_BEARER_TOKEN - Your X API Bearer Token\nTWITTER_BEARER_TOKEN - Alternative env var name"
      },
      {
        "title": "Security & Permissions",
        "body": "What this skill does:\n\nCalls xAI's /v1/responses endpoint (Grok mode) or X's /2/tweets/search/recent endpoint (X API mode)\nReturns public tweet data with URLs and citations\nAll requests go only to api.x.ai or api.x.com\n\nWhat this skill does NOT do:\n\nDoes not post, like, retweet, or modify any X/Twitter content\nDoes not access your X/Twitter account or DMs\nDoes not read config files or access the local filesystem\nDoes not send credentials to any third-party endpoint\nCannot be invoked autonomously by the agent (disable-model-invocation: true)\n\nReview scripts/search.js before first use to verify behavior."
      }
    ],
    "body": "Search X\n\nReal-time X/Twitter search with two modes:\n\nxAI Grok (default) — AI-powered search with x_search tool, up to 30 days\nX API (--x-api) — Native X search, up to 7 days, pay-per-use\nSetup\nOption 1: xAI API (default)\nexport XAI_API_KEY=\"xai-YOUR-KEY\"\n\n\nGet your key at: https://console.x.ai\n\nOption 2: X API (native)\nexport X_BEARER_TOKEN=\"YOUR-BEARER-TOKEN\"\n\n\nGet your token at: https://console.x.com\n\nNote: X API uses pay-per-usage pricing. No subscription needed.\n\nCommands\nBasic Search (xAI Grok)\nnode {baseDir}/scripts/search.js \"AI video editing\"\n\nNative X API Search\nnode {baseDir}/scripts/search.js --x-api \"AI video editing\"\nnode {baseDir}/scripts/search.js --x-api --max 50 \"trending topic\"  # More results\n\nFilter by Time\nnode {baseDir}/scripts/search.js --days 7 \"breaking news\"\nnode {baseDir}/scripts/search.js --days 1 \"trending today\"\nnode {baseDir}/scripts/search.js --x-api --days 7 \"news\"  # X API max is 7 days\n\nFilter by Handles\nnode {baseDir}/scripts/search.js --handles @elonmusk,@OpenAI \"AI announcements\"\nnode {baseDir}/scripts/search.js --exclude @bots \"real discussions\"\n\nOutput Options\nnode {baseDir}/scripts/search.js --json \"topic\"        # Full JSON response\nnode {baseDir}/scripts/search.js --compact \"topic\"     # Just tweets, no fluff\nnode {baseDir}/scripts/search.js --links-only \"topic\"  # Just X links\n\nExample Usage in Chat\n\nUser: \"Search X for what people are saying about Claude Code\" Action: Run search with query \"Claude Code\"\n\nUser: \"Find tweets from @remotion_dev in the last week\" Action: Run search with --handles @remotion_dev --days 7\n\nUser: \"What's trending about AI on Twitter today?\" Action: Run search with --days 1 \"AI trending\"\n\nUser: \"Search X for Remotion best practices, last 30 days\" Action: Run search with --days 30 \"Remotion best practices\"\n\nHow It Works\nxAI Grok Mode (default)\n\nUses xAI's Responses API (/v1/responses) with the x_search tool:\n\nModel: grok-4-1-fast (optimized for agentic search)\nUp to 30 days of history\nAI-powered result formatting with citations\nReturns real tweets with URLs\nX API Mode (--x-api)\n\nUses X's native search API (/2/tweets/search/recent):\n\nUp to 7 days of history\nPay-per-usage pricing (no subscription)\nRaw tweet data with metrics\nUp to 100 results per query\nResponse Format\n\nEach result includes:\n\n@username (display name)\nTweet content\nDate/time\nEngagement metrics (X API mode)\nDirect link to tweet\nEnvironment Variables\n\nxAI Mode:\n\nXAI_API_KEY - Your xAI API key (required for default mode)\nSEARCH_X_MODEL - Model override (default: grok-4-1-fast)\nSEARCH_X_DAYS - Default days to search (default: 30)\n\nX API Mode:\n\nX_BEARER_TOKEN - Your X API Bearer Token\nTWITTER_BEARER_TOKEN - Alternative env var name\nSecurity & Permissions\n\nWhat this skill does:\n\nCalls xAI's /v1/responses endpoint (Grok mode) or X's /2/tweets/search/recent endpoint (X API mode)\nReturns public tweet data with URLs and citations\nAll requests go only to api.x.ai or api.x.com\n\nWhat this skill does NOT do:\n\nDoes not post, like, retweet, or modify any X/Twitter content\nDoes not access your X/Twitter account or DMs\nDoes not read config files or access the local filesystem\nDoes not send credentials to any third-party endpoint\nCannot be invoked autonomously by the agent (disable-model-invocation: true)\n\nReview scripts/search.js before first use to verify behavior."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/blueberrywoodsym/x-twitter-search",
    "publisherUrl": "https://clawhub.ai/blueberrywoodsym/x-twitter-search",
    "owner": "blueberrywoodsym",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/x-twitter-search",
    "downloadUrl": "https://openagent3.xyz/downloads/x-twitter-search",
    "agentUrl": "https://openagent3.xyz/skills/x-twitter-search/agent",
    "manifestUrl": "https://openagent3.xyz/skills/x-twitter-search/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/x-twitter-search/agent.md"
  }
}