{
  "schemaVersion": "1.0",
  "item": {
    "slug": "x-oauth-api",
    "name": "X OAuth API",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/ngmeyer/x-oauth-api",
    "canonicalUrl": "https://clawhub.ai/ngmeyer/x-oauth-api",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/x-oauth-api",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=x-oauth-api",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "bin/x.js",
      "heartbeat.sh",
      "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-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-oauth-api"
    },
    "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-oauth-api",
    "agentPageUrl": "https://openagent3.xyz/skills/x-oauth-api/agent",
    "manifestUrl": "https://openagent3.xyz/skills/x-oauth-api/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/x-oauth-api/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": "X OAuth API Skill",
        "body": "Post to X (formerly Twitter) using the official X API with OAuth 1.0a authentication."
      },
      {
        "title": "Overview",
        "body": "This skill provides direct access to X API v2 for posting tweets, managing threads, and monitoring mentions. No proxy or third-party service required — uses your X API credentials directly.\n\nUse when:\n\nUser says \"post to X\", \"tweet this\", \"post on Twitter\"\nNeed to create threads or media posts\nWant to check mentions or engage with replies"
      },
      {
        "title": "1. Configure X API Credentials",
        "body": "Store these environment variables (from your X Developer Account):\n\nX_API_KEY              # Consumer Key (API Key)\nX_API_SECRET           # Consumer Secret\nX_ACCESS_TOKEN         # Access Token\nX_ACCESS_TOKEN_SECRET  # Access Token Secret\nX_USER_ID              # Optional: Your numeric user ID (speeds up mentions)"
      },
      {
        "title": "Free Tier vs Paid Tier",
        "body": "Free tier supports:\n\n✅ Posting tweets and threads\n✅ Deleting tweets\n✅ Account info lookup (x me)\n\nRequires Basic+ tier:\n\n🔒 Search tweets\n🔒 Fetch mentions\n🔒 Media uploads"
      },
      {
        "title": "2. Basic Usage",
        "body": "# Post a simple tweet\nx post \"Hello from X API\"\n\n# Post a thread\nx thread \"First tweet\" \"Second tweet\" \"Third tweet\"\n\n# Check mentions\nx mentions --limit 10\n\n# Search recent tweets\nx search \"AI agents\" --limit 5"
      },
      {
        "title": "x post <text>",
        "body": "Post a single tweet.\n\nOptions:\n\n--reply-to <tweet-id> - Reply to a specific tweet\n--quote <tweet-id> - Quote tweet\n--media <file> - Attach image/video\n\nExample:\n\nx post \"Check this out\" --media image.jpg"
      },
      {
        "title": "x thread <tweet1> <tweet2> ...",
        "body": "Post a tweet thread.\n\nExample:\n\nx thread \\\n  \"Thread about AI\" \\\n  \"Here's what I learned\" \\\n  \"Most important takeaway\""
      },
      {
        "title": "x mentions [options]",
        "body": "Get recent mentions of your account.\n\nOptions:\n\n--limit <n> - Number of mentions (default: 10, max: 100)\n--since <tweet-id> - Only mentions after this ID\n--format json - Output as JSON\n\nNote: Requires X_USER_ID env var OR will fetch it automatically (slower)."
      },
      {
        "title": "x search <query> [options]",
        "body": "Search recent tweets.\n\nOptions:\n\n--limit <n> - Number of results (default: 10, max: 100)\n--format json - Output as JSON"
      },
      {
        "title": "x delete <tweet-id>",
        "body": "Delete a tweet."
      },
      {
        "title": "x me",
        "body": "Show current account info (name, username, follower counts, user ID)."
      },
      {
        "title": "API Rate Limits",
        "body": "X API v2 has rate limits per endpoint:\n\nEndpointLimitWindowPOST /2/tweets20015 min (Free tier)GET /2/tweets/search/recent10015 min (Free tier)GET /2/users/:id/mentions10015 min (Free tier)\n\nRate limits vary by access tier. See X API documentation for details."
      },
      {
        "title": "Authentication",
        "body": "OAuth 1.0a is handled transparently. Just provide your credentials via environment variables. The skill will sign all requests automatically."
      },
      {
        "title": "Post with media",
        "body": "x post \"Check out this screenshot\" --media screenshot.png"
      },
      {
        "title": "Reply to a tweet",
        "body": "x post \"Great point!\" --reply-to 1234567890123456789"
      },
      {
        "title": "Create a 3-tweet thread",
        "body": "x thread \\\n  \"Just launched x-oauth-api skill\" \\\n  \"It lets you post to X directly from your agent\" \\\n  \"No proxies, direct OAuth 1.0a authentication\""
      },
      {
        "title": "Search and reply",
        "body": "# Find interesting tweets\nx search \"agent framework\"\n\n# Reply to one\nx post \"Have you tried this?\" --reply-to 1234567890123456789"
      },
      {
        "title": "Troubleshooting",
        "body": "\"Unauthorized\" error\n\nCheck X API credentials are correct\nVerify credentials are set in environment\nEnsure your app has write permissions in X Developer Portal\n\n\"Rate limit exceeded\"\n\nWait 15 minutes for limit to reset\nReduce request frequency\nCheck your tier limits at https://developer.twitter.com/en/portal/dashboard\n\n\"This endpoint requires a paid X API tier\"\n\nSearch and mentions require Basic+ tier on X API\nFree tier only supports posting, deleting, and account lookup\nUpgrade at https://developer.twitter.com/en/portal/products\n\nTweet not posting\n\nCheck tweet is < 280 characters (or < 4000 with X Premium)\nVerify no special formatting issues\nCheck X API status at https://api.twitterstat.us/"
      },
      {
        "title": "Requirements",
        "body": "X Developer Account with API access\nOAuth 1.0a credentials configured\nNetwork access to api.twitter.com"
      },
      {
        "title": "Cost",
        "body": "Free. X API is free for basic usage. Check your app's rate limits in X Developer Portal."
      },
      {
        "title": "Support",
        "body": "For X API issues, see: https://developer.twitter.com/en/docs/twitter-api"
      }
    ],
    "body": "X OAuth API Skill\n\nPost to X (formerly Twitter) using the official X API with OAuth 1.0a authentication.\n\nOverview\n\nThis skill provides direct access to X API v2 for posting tweets, managing threads, and monitoring mentions. No proxy or third-party service required — uses your X API credentials directly.\n\nUse when:\n\nUser says \"post to X\", \"tweet this\", \"post on Twitter\"\nNeed to create threads or media posts\nWant to check mentions or engage with replies\nQuick Start\n1. Configure X API Credentials\n\nStore these environment variables (from your X Developer Account):\n\nX_API_KEY              # Consumer Key (API Key)\nX_API_SECRET           # Consumer Secret\nX_ACCESS_TOKEN         # Access Token\nX_ACCESS_TOKEN_SECRET  # Access Token Secret\nX_USER_ID              # Optional: Your numeric user ID (speeds up mentions)\n\nFree Tier vs Paid Tier\n\nFree tier supports:\n\n✅ Posting tweets and threads\n✅ Deleting tweets\n✅ Account info lookup (x me)\n\nRequires Basic+ tier:\n\n🔒 Search tweets\n🔒 Fetch mentions\n🔒 Media uploads\n2. Basic Usage\n# Post a simple tweet\nx post \"Hello from X API\"\n\n# Post a thread\nx thread \"First tweet\" \"Second tweet\" \"Third tweet\"\n\n# Check mentions\nx mentions --limit 10\n\n# Search recent tweets\nx search \"AI agents\" --limit 5\n\nCommands\nx post <text>\n\nPost a single tweet.\n\nOptions:\n\n--reply-to <tweet-id> - Reply to a specific tweet\n--quote <tweet-id> - Quote tweet\n--media <file> - Attach image/video\n\nExample:\n\nx post \"Check this out\" --media image.jpg\n\nx thread <tweet1> <tweet2> ...\n\nPost a tweet thread.\n\nExample:\n\nx thread \\\n  \"Thread about AI\" \\\n  \"Here's what I learned\" \\\n  \"Most important takeaway\"\n\nx mentions [options]\n\nGet recent mentions of your account.\n\nOptions:\n\n--limit <n> - Number of mentions (default: 10, max: 100)\n--since <tweet-id> - Only mentions after this ID\n--format json - Output as JSON\n\nNote: Requires X_USER_ID env var OR will fetch it automatically (slower).\n\nx search <query> [options]\n\nSearch recent tweets.\n\nOptions:\n\n--limit <n> - Number of results (default: 10, max: 100)\n--format json - Output as JSON\nx delete <tweet-id>\n\nDelete a tweet.\n\nx me\n\nShow current account info (name, username, follower counts, user ID).\n\nAPI Rate Limits\n\nX API v2 has rate limits per endpoint:\n\nEndpoint\tLimit\tWindow\nPOST /2/tweets\t200\t15 min (Free tier)\nGET /2/tweets/search/recent\t100\t15 min (Free tier)\nGET /2/users/:id/mentions\t100\t15 min (Free tier)\n\nRate limits vary by access tier. See X API documentation for details.\n\nAuthentication\n\nOAuth 1.0a is handled transparently. Just provide your credentials via environment variables. The skill will sign all requests automatically.\n\nExamples\nPost with media\nx post \"Check out this screenshot\" --media screenshot.png\n\nReply to a tweet\nx post \"Great point!\" --reply-to 1234567890123456789\n\nCreate a 3-tweet thread\nx thread \\\n  \"Just launched x-oauth-api skill\" \\\n  \"It lets you post to X directly from your agent\" \\\n  \"No proxies, direct OAuth 1.0a authentication\"\n\nSearch and reply\n# Find interesting tweets\nx search \"agent framework\"\n\n# Reply to one\nx post \"Have you tried this?\" --reply-to 1234567890123456789\n\nTroubleshooting\n\n\"Unauthorized\" error\n\nCheck X API credentials are correct\nVerify credentials are set in environment\nEnsure your app has write permissions in X Developer Portal\n\n\"Rate limit exceeded\"\n\nWait 15 minutes for limit to reset\nReduce request frequency\nCheck your tier limits at https://developer.twitter.com/en/portal/dashboard\n\n\"This endpoint requires a paid X API tier\"\n\nSearch and mentions require Basic+ tier on X API\nFree tier only supports posting, deleting, and account lookup\nUpgrade at https://developer.twitter.com/en/portal/products\n\nTweet not posting\n\nCheck tweet is < 280 characters (or < 4000 with X Premium)\nVerify no special formatting issues\nCheck X API status at https://api.twitterstat.us/\nRequirements\nX Developer Account with API access\nOAuth 1.0a credentials configured\nNetwork access to api.twitter.com\nCost\n\nFree. X API is free for basic usage. Check your app's rate limits in X Developer Portal.\n\nSupport\n\nFor X API issues, see: https://developer.twitter.com/en/docs/twitter-api"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ngmeyer/x-oauth-api",
    "publisherUrl": "https://clawhub.ai/ngmeyer/x-oauth-api",
    "owner": "ngmeyer",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/x-oauth-api",
    "downloadUrl": "https://openagent3.xyz/downloads/x-oauth-api",
    "agentUrl": "https://openagent3.xyz/skills/x-oauth-api/agent",
    "manifestUrl": "https://openagent3.xyz/skills/x-oauth-api/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/x-oauth-api/agent.md"
  }
}