{
  "schemaVersion": "1.0",
  "item": {
    "slug": "x-twitter",
    "name": "x-twitter",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/annettemekuro30/x-twitter",
    "canonicalUrl": "https://clawhub.ai/annettemekuro30/x-twitter",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/x-twitter",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=x-twitter",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "package.json",
      "SKILL.md",
      "bin/twclaw.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. 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. 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"
    },
    "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",
    "agentPageUrl": "https://openagent3.xyz/skills/x-twitter/agent",
    "manifestUrl": "https://openagent3.xyz/skills/x-twitter/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/x-twitter/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. 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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "twitter-openclaw 🐦‍⬛",
        "body": "Interact with Twitter/X posts, timelines, and users from OpenClaw."
      },
      {
        "title": "Authentication",
        "body": "Requires a Twitter API Bearer Token set as TWITTER_BEARER_TOKEN.\n\nOptionally set TWITTER_API_KEY and TWITTER_API_SECRET for write operations (post, like, retweet).\n\nRun twclaw auth-check to verify credentials."
      },
      {
        "title": "Reading",
        "body": "twclaw read <tweet-url-or-id>          # Read a single tweet with full metadata\ntwclaw thread <tweet-url-or-id>        # Read full conversation thread\ntwclaw replies <tweet-url-or-id> -n 20 # List replies to a tweet\ntwclaw user <@handle>                  # Show user profile info\ntwclaw user-tweets <@handle> -n 20     # User's recent tweets"
      },
      {
        "title": "Timelines",
        "body": "twclaw home -n 20                      # Home timeline\ntwclaw mentions -n 10                  # Your mentions\ntwclaw likes <@handle> -n 10           # User's liked tweets"
      },
      {
        "title": "Search",
        "body": "twclaw search \"query\" -n 10            # Search tweets\ntwclaw search \"from:elonmusk AI\" -n 5  # Search with operators\ntwclaw search \"#trending\" --recent     # Recent tweets only\ntwclaw search \"query\" --popular        # Popular tweets only"
      },
      {
        "title": "Trending",
        "body": "twclaw trending                        # Trending topics worldwide\ntwclaw trending --woeid 23424977       # Trending in specific location"
      },
      {
        "title": "Posting",
        "body": "twclaw tweet \"hello world\"                          # Post a tweet\ntwclaw reply <tweet-url-or-id> \"great thread!\"      # Reply to a tweet\ntwclaw quote <tweet-url-or-id> \"interesting take\"   # Quote tweet\ntwclaw tweet \"look at this\" --media image.png        # Tweet with media"
      },
      {
        "title": "Engagement",
        "body": "twclaw like <tweet-url-or-id>          # Like a tweet\ntwclaw unlike <tweet-url-or-id>        # Unlike a tweet\ntwclaw retweet <tweet-url-or-id>       # Retweet\ntwclaw unretweet <tweet-url-or-id>     # Undo retweet\ntwclaw bookmark <tweet-url-or-id>      # Bookmark a tweet\ntwclaw unbookmark <tweet-url-or-id>    # Remove bookmark"
      },
      {
        "title": "Following",
        "body": "twclaw follow <@handle>                # Follow user\ntwclaw unfollow <@handle>              # Unfollow user\ntwclaw followers <@handle> -n 20       # List followers\ntwclaw following <@handle> -n 20       # List following"
      },
      {
        "title": "Lists",
        "body": "twclaw lists                           # Your lists\ntwclaw list-timeline <list-id> -n 20   # Tweets from a list\ntwclaw list-add <list-id> <@handle>    # Add user to list\ntwclaw list-remove <list-id> <@handle> # Remove user from list"
      },
      {
        "title": "Output Options",
        "body": "--json          # JSON output\n--plain         # Plain text, no formatting\n--no-color      # Disable ANSI colors\n-n <count>      # Number of results (default: 10)\n--cursor <val>  # Pagination cursor for next page\n--all           # Fetch all pages (use with caution)"
      },
      {
        "title": "Guidelines for OpenClaw",
        "body": "When reading tweets, always show: author, handle, text, timestamp, engagement counts.\nFor threads, present tweets in chronological order.\nWhen searching, summarize results concisely with key metrics.\nBefore posting/liking/retweeting, confirm the action with the user.\nRate limits apply — space out bulk operations.\nUse --json when you need to process output programmatically."
      },
      {
        "title": "401 Unauthorized",
        "body": "Check that TWITTER_BEARER_TOKEN is set and valid."
      },
      {
        "title": "429 Rate Limited",
        "body": "Wait and retry. Twitter API has strict rate limits per 15-minute window.\n\nTL;DR: Read, search, post, and engage on Twitter/X. Always confirm before write actions."
      }
    ],
    "body": "twitter-openclaw 🐦‍⬛\n\nInteract with Twitter/X posts, timelines, and users from OpenClaw.\n\nAuthentication\n\nRequires a Twitter API Bearer Token set as TWITTER_BEARER_TOKEN.\n\nOptionally set TWITTER_API_KEY and TWITTER_API_SECRET for write operations (post, like, retweet).\n\nRun twclaw auth-check to verify credentials.\n\nCommands\nReading\ntwclaw read <tweet-url-or-id>          # Read a single tweet with full metadata\ntwclaw thread <tweet-url-or-id>        # Read full conversation thread\ntwclaw replies <tweet-url-or-id> -n 20 # List replies to a tweet\ntwclaw user <@handle>                  # Show user profile info\ntwclaw user-tweets <@handle> -n 20     # User's recent tweets\n\nTimelines\ntwclaw home -n 20                      # Home timeline\ntwclaw mentions -n 10                  # Your mentions\ntwclaw likes <@handle> -n 10           # User's liked tweets\n\nSearch\ntwclaw search \"query\" -n 10            # Search tweets\ntwclaw search \"from:elonmusk AI\" -n 5  # Search with operators\ntwclaw search \"#trending\" --recent     # Recent tweets only\ntwclaw search \"query\" --popular        # Popular tweets only\n\nTrending\ntwclaw trending                        # Trending topics worldwide\ntwclaw trending --woeid 23424977       # Trending in specific location\n\nPosting\ntwclaw tweet \"hello world\"                          # Post a tweet\ntwclaw reply <tweet-url-or-id> \"great thread!\"      # Reply to a tweet\ntwclaw quote <tweet-url-or-id> \"interesting take\"   # Quote tweet\ntwclaw tweet \"look at this\" --media image.png        # Tweet with media\n\nEngagement\ntwclaw like <tweet-url-or-id>          # Like a tweet\ntwclaw unlike <tweet-url-or-id>        # Unlike a tweet\ntwclaw retweet <tweet-url-or-id>       # Retweet\ntwclaw unretweet <tweet-url-or-id>     # Undo retweet\ntwclaw bookmark <tweet-url-or-id>      # Bookmark a tweet\ntwclaw unbookmark <tweet-url-or-id>    # Remove bookmark\n\nFollowing\ntwclaw follow <@handle>                # Follow user\ntwclaw unfollow <@handle>              # Unfollow user\ntwclaw followers <@handle> -n 20       # List followers\ntwclaw following <@handle> -n 20       # List following\n\nLists\ntwclaw lists                           # Your lists\ntwclaw list-timeline <list-id> -n 20   # Tweets from a list\ntwclaw list-add <list-id> <@handle>    # Add user to list\ntwclaw list-remove <list-id> <@handle> # Remove user from list\n\nOutput Options\n--json          # JSON output\n--plain         # Plain text, no formatting\n--no-color      # Disable ANSI colors\n-n <count>      # Number of results (default: 10)\n--cursor <val>  # Pagination cursor for next page\n--all           # Fetch all pages (use with caution)\n\nGuidelines for OpenClaw\nWhen reading tweets, always show: author, handle, text, timestamp, engagement counts.\nFor threads, present tweets in chronological order.\nWhen searching, summarize results concisely with key metrics.\nBefore posting/liking/retweeting, confirm the action with the user.\nRate limits apply — space out bulk operations.\nUse --json when you need to process output programmatically.\nTroubleshooting\n401 Unauthorized\n\nCheck that TWITTER_BEARER_TOKEN is set and valid.\n\n429 Rate Limited\n\nWait and retry. Twitter API has strict rate limits per 15-minute window.\n\nTL;DR: Read, search, post, and engage on Twitter/X. Always confirm before write actions."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/annettemekuro30/x-twitter",
    "publisherUrl": "https://clawhub.ai/annettemekuro30/x-twitter",
    "owner": "annettemekuro30",
    "version": "2.3.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/x-twitter",
    "downloadUrl": "https://openagent3.xyz/downloads/x-twitter",
    "agentUrl": "https://openagent3.xyz/skills/x-twitter/agent",
    "manifestUrl": "https://openagent3.xyz/skills/x-twitter/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/x-twitter/agent.md"
  }
}