{
  "schemaVersion": "1.0",
  "item": {
    "slug": "x-read",
    "name": "X Read",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/tylordius/x-read",
    "canonicalUrl": "https://clawhub.ai/tylordius/x-read",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/x-read",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=x-read",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "CHANGELOG.md",
      "README.md",
      "SKILL.md",
      "index.js",
      "package-lock.json",
      "package.json"
    ],
    "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/x-read"
    },
    "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-read",
    "agentPageUrl": "https://openagent3.xyz/skills/x-read/agent",
    "manifestUrl": "https://openagent3.xyz/skills/x-read/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/x-read/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": "When to use this skill",
        "body": "Use x-read whenever you need to capture the text, media links, and basic metadata from a public X/Twitter permalink without using the API, creating an account, or burning Brave search credits. It works best for thread permalink URLs (https://x.com/<user>/status/<id>) and articles posted on X that surface their content on the same page."
      },
      {
        "title": "Inputs",
        "body": "url (required): The exact permalink you want to render. Include the full https://x.com/... path so the Puppeteer browser can navigate directly."
      },
      {
        "title": "What happens when you run it",
        "body": "Puppeteer launches a sandboxed Chromium instance with a realistic user-agent and loads the URL.\nThe script waits for article[data-testid=\"tweet\"] elements, captures the main thread (tweet + up to three replies), and extracts any linked card or media attachments.\nMedia is reprinted as ![](...) markdown with ALT text when available, and the main article body is appended beneath the primary tweet.\nThe output is a short markdown summary listing the thread author, timestamp, text, links, and media so the Telegram chat stays readable."
      },
      {
        "title": "Output format",
        "body": "## Tweet Thread Summary\nSource: <url>\n\n### **MAIN TWEET** by Display Name (@handle)\n*2026-02-21T18:24:00Z*\nTweet text …\n\n**Linked Article:** [Title](card URL)\n**Media:**\n- ![](media1)\n- ![](media2)\n---\n\nReplied tweets follow the same pattern with the Reply heading. Media URLs retain the name=large parameter for better quality."
      },
      {
        "title": "Limitations and troubleshooting",
        "body": "The skill only reads publicly available tweets. If X blocks the navigation with a login wall, you will see an error that logging in is required.\nLong-form articles sometimes use article.content; the script appends that text to the main tweet so you still get the full written piece.\nBecause the skill uses a browser, it may take a few extra seconds compared to an API call—expect 5–10 seconds per URL.\nFor best results, keep the thread URLs focused and don’t try to feed a feed of multiple unrelated URLs at once; run the tool per link."
      },
      {
        "title": "Testing and safety",
        "body": "The skill is read-only: it never posts, likes, DM’s, or authenticates to X.\nReview the index.js script if X changes its DOM selectors (it relies on data-testid attributes such as tweet, tweetText, User-Name, and card.wrapper).\nRun the skill manually with openclaw use x-read read_tweet --url <link> before publishing to confirm the output is what you expect."
      }
    ],
    "body": "X-Read Skill\nWhen to use this skill\n\nUse x-read whenever you need to capture the text, media links, and basic metadata from a public X/Twitter permalink without using the API, creating an account, or burning Brave search credits. It works best for thread permalink URLs (https://x.com/<user>/status/<id>) and articles posted on X that surface their content on the same page.\n\nInputs\nurl (required): The exact permalink you want to render. Include the full https://x.com/... path so the Puppeteer browser can navigate directly.\nWhat happens when you run it\nPuppeteer launches a sandboxed Chromium instance with a realistic user-agent and loads the URL.\nThe script waits for article[data-testid=\"tweet\"] elements, captures the main thread (tweet + up to three replies), and extracts any linked card or media attachments.\nMedia is reprinted as ![](...) markdown with ALT text when available, and the main article body is appended beneath the primary tweet.\nThe output is a short markdown summary listing the thread author, timestamp, text, links, and media so the Telegram chat stays readable.\nOutput format\n## Tweet Thread Summary\nSource: <url>\n\n### **MAIN TWEET** by Display Name (@handle)\n*2026-02-21T18:24:00Z*\nTweet text …\n\n**Linked Article:** [Title](card URL)\n**Media:**\n- ![](media1)\n- ![](media2)\n---\n\n\nReplied tweets follow the same pattern with the Reply heading. Media URLs retain the name=large parameter for better quality.\n\nLimitations and troubleshooting\nThe skill only reads publicly available tweets. If X blocks the navigation with a login wall, you will see an error that logging in is required.\nLong-form articles sometimes use article.content; the script appends that text to the main tweet so you still get the full written piece.\nBecause the skill uses a browser, it may take a few extra seconds compared to an API call—expect 5–10 seconds per URL.\nFor best results, keep the thread URLs focused and don’t try to feed a feed of multiple unrelated URLs at once; run the tool per link.\nTesting and safety\nThe skill is read-only: it never posts, likes, DM’s, or authenticates to X.\nReview the index.js script if X changes its DOM selectors (it relies on data-testid attributes such as tweet, tweetText, User-Name, and card.wrapper).\nRun the skill manually with openclaw use x-read read_tweet --url <link> before publishing to confirm the output is what you expect."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/tylordius/x-read",
    "publisherUrl": "https://clawhub.ai/tylordius/x-read",
    "owner": "tylordius",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/x-read",
    "downloadUrl": "https://openagent3.xyz/downloads/x-read",
    "agentUrl": "https://openagent3.xyz/skills/x-read/agent",
    "manifestUrl": "https://openagent3.xyz/skills/x-read/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/x-read/agent.md"
  }
}