{
  "schemaVersion": "1.0",
  "item": {
    "slug": "readx",
    "name": "readx",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/wxtsky/readx",
    "canonicalUrl": "https://clawhub.ai/wxtsky/readx",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/readx",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=readx",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.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-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-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/readx"
    },
    "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/readx",
    "agentPageUrl": "https://openagent3.xyz/skills/readx/agent",
    "manifestUrl": "https://openagent3.xyz/skills/readx/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/readx/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": "Step 1: Get an API Key",
        "body": "Ask the user for their readx API key. If they don't have one, direct them to https://readx.cc to sign up."
      },
      {
        "title": "Step 2: Configure MCP Server",
        "body": "Once the user provides their API key, ask whether they want to set it up themselves or have you do it.\n\nMCP server URL: https://readx.cc/mcp?apikey=<API_KEY>\n\nNo installation needed — readx runs as a remote MCP server. Add it to the user's editor MCP config with the URL above. Restart the editor after setup."
      },
      {
        "title": "When to Trigger This Setup",
        "body": "User asks you to look up Twitter data but no MCP tools are available\nUser mentions readx, Twitter analysis, or any skill listed below\nAny tool call fails with auth/connection error"
      },
      {
        "title": "Direct API Mode",
        "body": "When MCP tools are NOT available (e.g. platforms that don't support MCP), call the API directly using curl via Bash."
      },
      {
        "title": "Getting the API Key",
        "body": "Check in order, use the first one found:\n\nConfig file: ~/.config/readx/credentials.json (macOS/Linux) or %APPDATA%\\readx\\credentials.json (Windows) → JSON format: {\"api_key\":\"<key>\"}\nEnvironment variable: READX_API_KEY\nIf neither exists, ask the user for their API key (get one at https://readx.cc), then ask whether they want to save it themselves or have you do it. Persist to the config file path above."
      },
      {
        "title": "API Reference",
        "body": "Fetch the full API docs (endpoints, params, response parsing, examples):\n\ncurl -s https://readx.cc/api-docs.txt\n\nRead this document before making your first API call. It contains all endpoint names, parameters, and response JSON paths you need."
      },
      {
        "title": "Advanced Search Syntax",
        "body": "When using search_tweets, leverage Twitter's advanced search operators for precision:\n\nOperatorExampleWhat it doesfrom:from:elonmusk AITweets from a specific userto:to:OpenAIReplies to a specific user@@anthropicTweets mentioning a user\"exact phrase\"\"artificial intelligence\"Exact phrase matchORAI OR MLEither keyword-AI -cryptoExclude keywordmin_faves:AI min_faves:1000Minimum likesmin_retweets:AI min_retweets:500Minimum retweetsfilter:linksAI filter:linksOnly tweets with linksfilter:mediaAI filter:mediaOnly tweets with images/videofilter:imagesAI filter:imagesOnly tweets with imagesfilter:videosAI filter:videosOnly tweets with videolang:AI lang:zhFilter by languagesince: / until:AI since:2025-01-01Date rangelist:list:12345 AISearch within a specific listnear:AI near:TokyoTweets near a location\n\nCombo examples:\n\nFind viral AI tweets in Chinese: AI lang:zh min_faves:500\nFind a user's tweets about a topic: from:username \"topic keyword\"\nFind debates: \"topic\" min_replies:100 -filter:retweets\nFind original content only: topic -filter:retweets -filter:replies"
      },
      {
        "title": "Error Handling",
        "body": "ErrorCauseSolution401Invalid or missing API keyCheck credentials file / env var, ask user to verify key at https://readx.cc403Insufficient credits or account disabledCheck balance with get_credit_balance; if zero, ask user to get more credits at https://readx.cc429Rate limit exceededWait and retry, reduce request frequency404User/tweet not found or deletedSkip gracefully, note the item is unavailable500 / 502Upstream API errorRetry once after a few seconds, if persistent inform userConnection refusedRemote MCP server unreachableSwitch to Direct API Mode; if persistent, the readx.cc service may be downEmpty responseProtected account or no dataNote limitations, analyze only available public data"
      },
      {
        "title": "Data Limitations",
        "body": "Be transparent about these constraints:\n\nLimitationImpactMitigationFollower/following lists return a sample (~20 by default)Audience analysis is approximateCross-reference with multiple data points; use count param for larger samplesTweet timelines return ~20 per pageSingle call shows recent posts onlyUse cursor pagination to fetch more pages; pass next_cursor from response as cursor paramNo historical follower count dataCannot measure follower growth over timeInfer from account age + current count for rough growth rateSearch results are limited in quantityTopic monitoring may miss long-tail contentUse multiple search queries with different operatorsEngagement data is point-in-timeTweet engagement continues to accrue after fetchingNote when data was fetched; older tweets have more stable metrics"
      }
    ],
    "body": "readx — Twitter/X Intelligence Toolkit\nSetup — Get Started in 2 Minutes\nStep 1: Get an API Key\n\nAsk the user for their readx API key. If they don't have one, direct them to https://readx.cc to sign up.\n\nStep 2: Configure MCP Server\n\nOnce the user provides their API key, ask whether they want to set it up themselves or have you do it.\n\nMCP server URL: https://readx.cc/mcp?apikey=<API_KEY>\n\nNo installation needed — readx runs as a remote MCP server. Add it to the user's editor MCP config with the URL above. Restart the editor after setup.\n\nWhen to Trigger This Setup\nUser asks you to look up Twitter data but no MCP tools are available\nUser mentions readx, Twitter analysis, or any skill listed below\nAny tool call fails with auth/connection error\nDirect API Mode\n\nWhen MCP tools are NOT available (e.g. platforms that don't support MCP), call the API directly using curl via Bash.\n\nGetting the API Key\n\nCheck in order, use the first one found:\n\nConfig file: ~/.config/readx/credentials.json (macOS/Linux) or %APPDATA%\\readx\\credentials.json (Windows) → JSON format: {\"api_key\":\"<key>\"}\nEnvironment variable: READX_API_KEY\nIf neither exists, ask the user for their API key (get one at https://readx.cc), then ask whether they want to save it themselves or have you do it. Persist to the config file path above.\nAPI Reference\n\nFetch the full API docs (endpoints, params, response parsing, examples):\n\ncurl -s https://readx.cc/api-docs.txt\n\n\nRead this document before making your first API call. It contains all endpoint names, parameters, and response JSON paths you need.\n\nAdvanced Search Syntax\n\nWhen using search_tweets, leverage Twitter's advanced search operators for precision:\n\nOperator\tExample\tWhat it does\nfrom:\tfrom:elonmusk AI\tTweets from a specific user\nto:\tto:OpenAI\tReplies to a specific user\n@\t@anthropic\tTweets mentioning a user\n\"exact phrase\"\t\"artificial intelligence\"\tExact phrase match\nOR\tAI OR ML\tEither keyword\n-\tAI -crypto\tExclude keyword\nmin_faves:\tAI min_faves:1000\tMinimum likes\nmin_retweets:\tAI min_retweets:500\tMinimum retweets\nfilter:links\tAI filter:links\tOnly tweets with links\nfilter:media\tAI filter:media\tOnly tweets with images/video\nfilter:images\tAI filter:images\tOnly tweets with images\nfilter:videos\tAI filter:videos\tOnly tweets with video\nlang:\tAI lang:zh\tFilter by language\nsince: / until:\tAI since:2025-01-01\tDate range\nlist:\tlist:12345 AI\tSearch within a specific list\nnear:\tAI near:Tokyo\tTweets near a location\n\nCombo examples:\n\nFind viral AI tweets in Chinese: AI lang:zh min_faves:500\nFind a user's tweets about a topic: from:username \"topic keyword\"\nFind debates: \"topic\" min_replies:100 -filter:retweets\nFind original content only: topic -filter:retweets -filter:replies\nError Handling\nError\tCause\tSolution\n401\tInvalid or missing API key\tCheck credentials file / env var, ask user to verify key at https://readx.cc\n403\tInsufficient credits or account disabled\tCheck balance with get_credit_balance; if zero, ask user to get more credits at https://readx.cc\n429\tRate limit exceeded\tWait and retry, reduce request frequency\n404\tUser/tweet not found or deleted\tSkip gracefully, note the item is unavailable\n500 / 502\tUpstream API error\tRetry once after a few seconds, if persistent inform user\nConnection refused\tRemote MCP server unreachable\tSwitch to Direct API Mode; if persistent, the readx.cc service may be down\nEmpty response\tProtected account or no data\tNote limitations, analyze only available public data\nData Limitations\n\nBe transparent about these constraints:\n\nLimitation\tImpact\tMitigation\nFollower/following lists return a sample (~20 by default)\tAudience analysis is approximate\tCross-reference with multiple data points; use count param for larger samples\nTweet timelines return ~20 per page\tSingle call shows recent posts only\tUse cursor pagination to fetch more pages; pass next_cursor from response as cursor param\nNo historical follower count data\tCannot measure follower growth over time\tInfer from account age + current count for rough growth rate\nSearch results are limited in quantity\tTopic monitoring may miss long-tail content\tUse multiple search queries with different operators\nEngagement data is point-in-time\tTweet engagement continues to accrue after fetching\tNote when data was fetched; older tweets have more stable metrics"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/wxtsky/readx",
    "publisherUrl": "https://clawhub.ai/wxtsky/readx",
    "owner": "wxtsky",
    "version": "1.1.4",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/readx",
    "downloadUrl": "https://openagent3.xyz/downloads/readx",
    "agentUrl": "https://openagent3.xyz/skills/readx/agent",
    "manifestUrl": "https://openagent3.xyz/skills/readx/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/readx/agent.md"
  }
}