{
  "schemaVersion": "1.0",
  "item": {
    "slug": "twitter-search-skill",
    "name": "Twitter Search",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/flyfoxCI/twitter-search-skill",
    "canonicalUrl": "https://clawhub.ai/flyfoxCI/twitter-search-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/twitter-search-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=twitter-search-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "references/twitter_api.md",
      "scripts/run_search.sh",
      "scripts/twitter_search.py"
    ],
    "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/twitter-search-skill"
    },
    "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/twitter-search-skill",
    "agentPageUrl": "https://openagent3.xyz/skills/twitter-search-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/twitter-search-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/twitter-search-skill/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": "Overview",
        "body": "Search Twitter for keywords using advanced search syntax, fetch up to 1000 relevant tweets, and analyze the data to produce professional reports with insights, statistics, and actionable recommendations."
      },
      {
        "title": "Prerequisites",
        "body": "API Key Required: Users must configure their Twitter API key from https://twitterapi.io\n\nThe API key can be provided in three ways:\n\nEnvironment variable (recommended): Set TWITTER_API_KEY in your ~/.bashrc or ~/.zshrc\necho 'export TWITTER_API_KEY=\"your_key_here\"' >> ~/.bashrc\nsource ~/.bashrc\n\n\nAs an argument: Use --api-key YOUR_KEY with the wrapper script\nPassed directly: As first argument to the Python script"
      },
      {
        "title": "Using the Wrapper Script (Recommended)",
        "body": "The wrapper script automatically handles environment variable loading and dependency checks:\n\n# Basic search (uses TWITTER_API_KEY from shell config)\n./scripts/run_search.sh \"AI\"\n\n# With custom API key\n./scripts/run_search.sh \"AI\" --api-key YOUR_KEY\n\n# With options\n./scripts/run_search.sh \"\\\"Claude AI\\\"\" --max-results 100 --format summary\n\n# Advanced query\n./scripts/run_search.sh \"from:elonmusk since:2024-01-01\" --query-type Latest"
      },
      {
        "title": "Direct Python Script Usage",
        "body": "# Search for a keyword\nscripts/twitter_search.py \"$API_KEY\" \"AI\"\n\n# Search with multiple keywords\nscripts/twitter_search.py \"$API_KEY\" \"\\\"ChatGPT\\\" OR \\\"Claude AI\\\"\"\n\n# Search from specific user\nscripts/twitter_search.py \"$API_KEY\" \"from:elonmusk\"\n\n# Search with date range\nscripts/twitter_search.py \"$API_KEY\" \"Bitcoin since:2024-01-01\""
      },
      {
        "title": "Advanced Queries",
        "body": "# Complex query: AI tweets from verified users, English only\nscripts/twitter_search.py \"$API_KEY\" \"AI OR \\\"machine learning\\\" lang:en filter:verified\"\n\n# Recent crypto tweets with minimum engagement\nscripts/twitter_search.py \"$API_KEY\" \"Bitcoin min_retweets:10 lang:en\"\n\n# From specific influencers\nscripts/twitter_search.py \"$API_KEY\" \"from:elonmusk OR from:VitalikButerin since:2024-01-01\""
      },
      {
        "title": "Output Format",
        "body": "# Full JSON with all tweets\nscripts/twitter_search.py \"$API_KEY\" \"AI\" --format json\n\n# Summary with statistics (default)\nscripts/twitter_search.py \"$API_KEY\" \"AI\" --format summary"
      },
      {
        "title": "Options",
        "body": "--max-results N: Maximum tweets to fetch (default: 1000)\n--query-type Latest|Top: Sort order (default: Top for relevance)\n--format json|summary: Output format (default: summary)"
      },
      {
        "title": "1. Understand User Requirements",
        "body": "Clarify the analysis goal:\n\nWhat topic/keyword to search?\nDate range preference?\nSpecific users to include/exclude?\nLanguage preference?\nType of insights needed (trends, sentiment, influencers)?"
      },
      {
        "title": "2. Build the Search Query",
        "body": "Use Twitter Advanced Search syntax:\n\nSyntaxExampleDescriptionkeywordAISingle keyword\"phrase\"\"machine learning\"Exact phraseORAI OR ChatGPTEither termfrom:userfrom:elonmuskFrom specific userto:userto:elonmuskReply to usersince:DATEsince:2024-01-01After dateuntil:DATEuntil:2024-12-31Before datelang:xxlang:enLanguage code#hashtag#AIHashtagfilter:linksfilter:linksTweets with linksmin_retweets:Nmin_retweets:100Minimum retweets"
      },
      {
        "title": "3. Fetch Data",
        "body": "Execute the search script:\n\nscripts/twitter_search.py \"$API_KEY\" \"YOUR_QUERY\" --max-results 1000 --query-type Top\n\nImportant: Default is 1000 tweets maximum. The script automatically:\n\nPaginates through all available results\nStops at 1000 tweets (API limit consideration)\nHandles errors gracefully"
      },
      {
        "title": "4. Analyze and Generate Report",
        "body": "After fetching data, produce a comprehensive professional report with:\n\nReport Structure\n\nExecutive Summary (2-3 sentences)\n\nWhat was searched\nKey findings overview\n\n\n\nData Overview\n\nTotal tweets analyzed\nDate range of data\nQuery parameters used\n\n\n\nKey Metrics\n\nTotal engagement (likes, retweets, replies, quotes, views)\nAverage engagement per tweet\nLanguage distribution\nReply vs. original tweet ratio\n\n\n\nTop Content Analysis\n\nMost retweeted tweets (with URL links to original tweets)\nMost liked tweets (with URL links to original tweets)\nTop hashtags with frequency\nMost mentioned users\nSelected tweet examples with full URL references\n\n\n\nInfluencer Analysis\n\nTop users by follower count\nMost active users\nVerified user percentage\n\n\n\nTrend Insights (based on data patterns)\n\nEmerging themes\nSentiment indicators\nTemporal patterns\nConversation drivers\n\n\n\nKey Takeaways\n\n3-5 bullet points of core insights\nData-backed conclusions\n\n\n\nActionable Recommendations\n\nSpecific, implementable suggestions\nBased on the data findings\nPrioritized by impact\n\nAnalysis Guidelines\n\nBe data-driven: Every claim should reference actual metrics\nProvide context: Explain why metrics matter\nIdentify patterns: Look for trends across the dataset\nStay objective: Present facts, avoid speculation\nBe specific: Recommendations should be concrete and actionable\nConsider external context: Use web search for background when relevant"
      },
      {
        "title": "5. Output Format",
        "body": "Present the report in clear markdown with:\n\nHeaders for each section\nTables for structured data\nBullet points for lists\nBold for key metrics\nCode blocks for tweet examples\nClickable URLs for all referenced tweets (format: [@username](https://x.com/username/status/tweet_id))\n\nTweet URL Format\n\nAlways include clickable links to tweets:\n\n| Author | Tweet | URL |\n|--------|-------|-----|\n| @user | Summary of tweet content | [View](https://x.com/user/status/123456) |\n\nOr inline format:\n\n- **@username**: Tweet summary - [View Tweet](https://x.com/username/status/123456)"
      },
      {
        "title": "Trend Analysis",
        "body": "\"AI\" OR \"artificial intelligence\" lang:en min_retweets:50"
      },
      {
        "title": "Competitor Monitoring",
        "body": "from:competitor1 OR from:competitor2 since:2024-01-01"
      },
      {
        "title": "Product Launch Tracking",
        "body": "#ProductName OR \"Product Name\" lang:en filter:verified"
      },
      {
        "title": "Crisis Monitoring",
        "body": "#BrandName OR \"Brand Name\" lang:en --query-type Latest"
      },
      {
        "title": "Influencer Discovery",
        "body": "#Topic lang:en min_retweets:100 min_faves:500"
      },
      {
        "title": "Sentiment Analysis",
        "body": "\"brand name\" OR #BrandName lang:en --max-results 1000"
      },
      {
        "title": "scripts/run_search.sh (Wrapper Script)",
        "body": "Convenience wrapper that handles environment variable loading and dependency checks:\n\nAutomatically loads TWITTER_API_KEY from ~/.bashrc or ~/.zshrc\nChecks Python availability and installs missing dependencies\nProvides user-friendly error messages\nSupports all command-line options from the Python script\n\nUsage:\n\n./scripts/run_search.sh <query> [options]\n\nOptions:\n\n--api-key KEY: Override environment variable API key\n--max-results N: Maximum tweets to fetch (default: 1000)\n--query-type Latest|Top: Sort order (default: Top)\n--format json|summary: Output format (default: json)"
      },
      {
        "title": "scripts/twitter_search.py",
        "body": "Executable Python script that:\n\nFetches tweets from Twitter API\nHandles pagination automatically\nExtracts key tweet metrics\nCalculates aggregate statistics\nOutputs structured JSON data\n\nUsage:\n\nscripts/twitter_search.py <api_key> <query> [options]"
      },
      {
        "title": "references/twitter_api.md",
        "body": "Comprehensive API documentation including:\n\nComplete parameter reference\nQuery syntax guide\nResponse structure details\nPagination instructions\nBest practices for analysis\nError handling guide\n\nRead this when: Building complex queries or understanding data structure."
      },
      {
        "title": "Tips for Better Analysis",
        "body": "Use Top query type for trend analysis (more relevant results)\nSet date filters for timely insights\nFilter by language for accurate text analysis\nInclude minimum engagement to filter noise\nCombine with web search to validate trends\nLook beyond metrics - analyze content themes\nTrack hashtags to identify sub-conversations\nIdentify influencers by combining followers + engagement"
      },
      {
        "title": "Error Handling",
        "body": "If the script fails:\n\nCheck API key validity\nVerify query syntax\nEnsure network connectivity\nCheck rate limits (if applicable)\nReview error messages for specific issues"
      }
    ],
    "body": "Twitter Search and Analysis\nOverview\n\nSearch Twitter for keywords using advanced search syntax, fetch up to 1000 relevant tweets, and analyze the data to produce professional reports with insights, statistics, and actionable recommendations.\n\nPrerequisites\n\nAPI Key Required: Users must configure their Twitter API key from https://twitterapi.io\n\nThe API key can be provided in three ways:\n\nEnvironment variable (recommended): Set TWITTER_API_KEY in your ~/.bashrc or ~/.zshrc\necho 'export TWITTER_API_KEY=\"your_key_here\"' >> ~/.bashrc\nsource ~/.bashrc\n\nAs an argument: Use --api-key YOUR_KEY with the wrapper script\nPassed directly: As first argument to the Python script\nQuick Start\nUsing the Wrapper Script (Recommended)\n\nThe wrapper script automatically handles environment variable loading and dependency checks:\n\n# Basic search (uses TWITTER_API_KEY from shell config)\n./scripts/run_search.sh \"AI\"\n\n# With custom API key\n./scripts/run_search.sh \"AI\" --api-key YOUR_KEY\n\n# With options\n./scripts/run_search.sh \"\\\"Claude AI\\\"\" --max-results 100 --format summary\n\n# Advanced query\n./scripts/run_search.sh \"from:elonmusk since:2024-01-01\" --query-type Latest\n\nDirect Python Script Usage\n# Search for a keyword\nscripts/twitter_search.py \"$API_KEY\" \"AI\"\n\n# Search with multiple keywords\nscripts/twitter_search.py \"$API_KEY\" \"\\\"ChatGPT\\\" OR \\\"Claude AI\\\"\"\n\n# Search from specific user\nscripts/twitter_search.py \"$API_KEY\" \"from:elonmusk\"\n\n# Search with date range\nscripts/twitter_search.py \"$API_KEY\" \"Bitcoin since:2024-01-01\"\n\nAdvanced Queries\n# Complex query: AI tweets from verified users, English only\nscripts/twitter_search.py \"$API_KEY\" \"AI OR \\\"machine learning\\\" lang:en filter:verified\"\n\n# Recent crypto tweets with minimum engagement\nscripts/twitter_search.py \"$API_KEY\" \"Bitcoin min_retweets:10 lang:en\"\n\n# From specific influencers\nscripts/twitter_search.py \"$API_KEY\" \"from:elonmusk OR from:VitalikButerin since:2024-01-01\"\n\nOutput Format\n# Full JSON with all tweets\nscripts/twitter_search.py \"$API_KEY\" \"AI\" --format json\n\n# Summary with statistics (default)\nscripts/twitter_search.py \"$API_KEY\" \"AI\" --format summary\n\nOptions\n--max-results N: Maximum tweets to fetch (default: 1000)\n--query-type Latest|Top: Sort order (default: Top for relevance)\n--format json|summary: Output format (default: summary)\nWorkflow\n1. Understand User Requirements\n\nClarify the analysis goal:\n\nWhat topic/keyword to search?\nDate range preference?\nSpecific users to include/exclude?\nLanguage preference?\nType of insights needed (trends, sentiment, influencers)?\n2. Build the Search Query\n\nUse Twitter Advanced Search syntax:\n\nSyntax\tExample\tDescription\nkeyword\tAI\tSingle keyword\n\"phrase\"\t\"machine learning\"\tExact phrase\nOR\tAI OR ChatGPT\tEither term\nfrom:user\tfrom:elonmusk\tFrom specific user\nto:user\tto:elonmusk\tReply to user\nsince:DATE\tsince:2024-01-01\tAfter date\nuntil:DATE\tuntil:2024-12-31\tBefore date\nlang:xx\tlang:en\tLanguage code\n#hashtag\t#AI\tHashtag\nfilter:links\tfilter:links\tTweets with links\nmin_retweets:N\tmin_retweets:100\tMinimum retweets\n3. Fetch Data\n\nExecute the search script:\n\nscripts/twitter_search.py \"$API_KEY\" \"YOUR_QUERY\" --max-results 1000 --query-type Top\n\n\nImportant: Default is 1000 tweets maximum. The script automatically:\n\nPaginates through all available results\nStops at 1000 tweets (API limit consideration)\nHandles errors gracefully\n4. Analyze and Generate Report\n\nAfter fetching data, produce a comprehensive professional report with:\n\nReport Structure\n\nExecutive Summary (2-3 sentences)\n\nWhat was searched\nKey findings overview\n\nData Overview\n\nTotal tweets analyzed\nDate range of data\nQuery parameters used\n\nKey Metrics\n\nTotal engagement (likes, retweets, replies, quotes, views)\nAverage engagement per tweet\nLanguage distribution\nReply vs. original tweet ratio\n\nTop Content Analysis\n\nMost retweeted tweets (with URL links to original tweets)\nMost liked tweets (with URL links to original tweets)\nTop hashtags with frequency\nMost mentioned users\nSelected tweet examples with full URL references\n\nInfluencer Analysis\n\nTop users by follower count\nMost active users\nVerified user percentage\n\nTrend Insights (based on data patterns)\n\nEmerging themes\nSentiment indicators\nTemporal patterns\nConversation drivers\n\nKey Takeaways\n\n3-5 bullet points of core insights\nData-backed conclusions\n\nActionable Recommendations\n\nSpecific, implementable suggestions\nBased on the data findings\nPrioritized by impact\nAnalysis Guidelines\nBe data-driven: Every claim should reference actual metrics\nProvide context: Explain why metrics matter\nIdentify patterns: Look for trends across the dataset\nStay objective: Present facts, avoid speculation\nBe specific: Recommendations should be concrete and actionable\nConsider external context: Use web search for background when relevant\n5. Output Format\n\nPresent the report in clear markdown with:\n\nHeaders for each section\nTables for structured data\nBullet points for lists\nBold for key metrics\nCode blocks for tweet examples\nClickable URLs for all referenced tweets (format: [@username](https://x.com/username/status/tweet_id))\nTweet URL Format\n\nAlways include clickable links to tweets:\n\n| Author | Tweet | URL |\n|--------|-------|-----|\n| @user | Summary of tweet content | [View](https://x.com/user/status/123456) |\n\n\nOr inline format:\n\n- **@username**: Tweet summary - [View Tweet](https://x.com/username/status/123456)\n\nQuery Examples by Use Case\nTrend Analysis\n\"AI\" OR \"artificial intelligence\" lang:en min_retweets:50\n\nCompetitor Monitoring\nfrom:competitor1 OR from:competitor2 since:2024-01-01\n\nProduct Launch Tracking\n#ProductName OR \"Product Name\" lang:en filter:verified\n\nCrisis Monitoring\n#BrandName OR \"Brand Name\" lang:en --query-type Latest\n\nInfluencer Discovery\n#Topic lang:en min_retweets:100 min_faves:500\n\nSentiment Analysis\n\"brand name\" OR #BrandName lang:en --max-results 1000\n\nResources\nscripts/run_search.sh (Wrapper Script)\n\nConvenience wrapper that handles environment variable loading and dependency checks:\n\nAutomatically loads TWITTER_API_KEY from ~/.bashrc or ~/.zshrc\nChecks Python availability and installs missing dependencies\nProvides user-friendly error messages\nSupports all command-line options from the Python script\n\nUsage:\n\n./scripts/run_search.sh <query> [options]\n\n\nOptions:\n\n--api-key KEY: Override environment variable API key\n--max-results N: Maximum tweets to fetch (default: 1000)\n--query-type Latest|Top: Sort order (default: Top)\n--format json|summary: Output format (default: json)\nscripts/twitter_search.py\n\nExecutable Python script that:\n\nFetches tweets from Twitter API\nHandles pagination automatically\nExtracts key tweet metrics\nCalculates aggregate statistics\nOutputs structured JSON data\n\nUsage:\n\nscripts/twitter_search.py <api_key> <query> [options]\n\nreferences/twitter_api.md\n\nComprehensive API documentation including:\n\nComplete parameter reference\nQuery syntax guide\nResponse structure details\nPagination instructions\nBest practices for analysis\nError handling guide\n\nRead this when: Building complex queries or understanding data structure.\n\nTips for Better Analysis\nUse Top query type for trend analysis (more relevant results)\nSet date filters for timely insights\nFilter by language for accurate text analysis\nInclude minimum engagement to filter noise\nCombine with web search to validate trends\nLook beyond metrics - analyze content themes\nTrack hashtags to identify sub-conversations\nIdentify influencers by combining followers + engagement\nError Handling\n\nIf the script fails:\n\nCheck API key validity\nVerify query syntax\nEnsure network connectivity\nCheck rate limits (if applicable)\nReview error messages for specific issues"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/flyfoxCI/twitter-search-skill",
    "publisherUrl": "https://clawhub.ai/flyfoxCI/twitter-search-skill",
    "owner": "flyfoxCI",
    "version": "0.1.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/twitter-search-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/twitter-search-skill",
    "agentUrl": "https://openagent3.xyz/skills/twitter-search-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/twitter-search-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/twitter-search-skill/agent.md"
  }
}