{
  "schemaVersion": "1.0",
  "item": {
    "slug": "baoyu-post-to-x",
    "name": "Baoyu Post To X",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/liuhedev/baoyu-post-to-x",
    "canonicalUrl": "https://clawhub.ai/liuhedev/baoyu-post-to-x",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/baoyu-post-to-x",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=baoyu-post-to-x",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/articles.md",
      "references/regular-posts.md",
      "scripts/copy-to-clipboard.ts",
      "scripts/md-to-html.ts",
      "scripts/paste-from-clipboard.ts"
    ],
    "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-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.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/baoyu-post-to-x"
    },
    "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/baoyu-post-to-x",
    "agentPageUrl": "https://openagent3.xyz/skills/baoyu-post-to-x/agent",
    "manifestUrl": "https://openagent3.xyz/skills/baoyu-post-to-x/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/baoyu-post-to-x/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": "Post to X (Twitter)",
        "body": "Posts text, images, videos, and long-form articles to X via real Chrome browser (bypasses anti-bot detection)."
      },
      {
        "title": "Script Directory",
        "body": "Important: All scripts are located in the scripts/ subdirectory of this skill.\n\nAgent Execution Instructions:\n\nDetermine this SKILL.md file's directory path as SKILL_DIR\nScript path = ${SKILL_DIR}/scripts/<script-name>.ts\nReplace all ${SKILL_DIR} in this document with the actual path\n\nScript Reference:\n\nScriptPurposescripts/x-browser.tsRegular posts (text + images)scripts/x-video.tsVideo posts (text + video)scripts/x-quote.tsQuote tweet with commentscripts/x-article.tsLong-form article publishing (Markdown)scripts/md-to-html.tsMarkdown → HTML conversionscripts/copy-to-clipboard.tsCopy content to clipboardscripts/paste-from-clipboard.tsSend real paste keystroke"
      },
      {
        "title": "Preferences (EXTEND.md)",
        "body": "Use Bash to check EXTEND.md existence (priority order):\n\n# Check project-level first\ntest -f .baoyu-skills/baoyu-post-to-x/EXTEND.md && echo \"project\"\n\n# Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)\ntest -f \"$HOME/.baoyu-skills/baoyu-post-to-x/EXTEND.md\" && echo \"user\"\n\n┌──────────────────────────────────────────────────┬───────────────────┐\n│                       Path                       │     Location      │\n├──────────────────────────────────────────────────┼───────────────────┤\n│ .baoyu-skills/baoyu-post-to-x/EXTEND.md          │ Project directory │\n├──────────────────────────────────────────────────┼───────────────────┤\n│ $HOME/.baoyu-skills/baoyu-post-to-x/EXTEND.md    │ User home         │\n└──────────────────────────────────────────────────┴───────────────────┘\n\n┌───────────┬───────────────────────────────────────────────────────────────────────────┐\n│  Result   │                                  Action                                   │\n├───────────┼───────────────────────────────────────────────────────────────────────────┤\n│ Found     │ Read, parse, apply settings                                               │\n├───────────┼───────────────────────────────────────────────────────────────────────────┤\n│ Not found │ Use defaults                                                              │\n└───────────┴───────────────────────────────────────────────────────────────────────────┘\n\nEXTEND.md Supports: Default Chrome profile | Auto-submit preference"
      },
      {
        "title": "Prerequisites",
        "body": "Google Chrome or Chromium\nbun runtime\nFirst run: log in to X manually (session saved)"
      },
      {
        "title": "References",
        "body": "Regular Posts: See references/regular-posts.md for manual workflow, troubleshooting, and technical details\nX Articles: See references/articles.md for long-form article publishing guide"
      },
      {
        "title": "Regular Posts",
        "body": "Text + up to 4 images.\n\nnpx -y bun ${SKILL_DIR}/scripts/x-browser.ts \"Hello!\" --image ./photo.png          # Preview\nnpx -y bun ${SKILL_DIR}/scripts/x-browser.ts \"Hello!\" --image ./photo.png --submit  # Post\n\nParameters:\n\nParameterDescription<text>Post content (positional)--image <path>Image file (repeatable, max 4)--submitPost (default: preview)--profile <dir>Custom Chrome profile"
      },
      {
        "title": "Video Posts",
        "body": "Text + video file.\n\nnpx -y bun ${SKILL_DIR}/scripts/x-video.ts \"Check this out!\" --video ./clip.mp4          # Preview\nnpx -y bun ${SKILL_DIR}/scripts/x-video.ts \"Amazing content\" --video ./demo.mp4 --submit  # Post\n\nParameters:\n\nParameterDescription<text>Post content (positional)--video <path>Video file (MP4, MOV, WebM)--submitPost (default: preview)--profile <dir>Custom Chrome profile\n\nLimits: Regular 140s max, Premium 60min. Processing: 30-60s."
      },
      {
        "title": "Quote Tweets",
        "body": "Quote an existing tweet with comment.\n\nnpx -y bun ${SKILL_DIR}/scripts/x-quote.ts https://x.com/user/status/123 \"Great insight!\"          # Preview\nnpx -y bun ${SKILL_DIR}/scripts/x-quote.ts https://x.com/user/status/123 \"I agree!\" --submit       # Post\n\nParameters:\n\nParameterDescription<tweet-url>URL to quote (positional)<comment>Comment text (positional, optional)--submitPost (default: preview)--profile <dir>Custom Chrome profile"
      },
      {
        "title": "X Articles",
        "body": "Long-form Markdown articles (requires X Premium).\n\nnpx -y bun ${SKILL_DIR}/scripts/x-article.ts article.md                        # Preview\nnpx -y bun ${SKILL_DIR}/scripts/x-article.ts article.md --cover ./cover.jpg    # With cover\nnpx -y bun ${SKILL_DIR}/scripts/x-article.ts article.md --submit               # Publish\n\nParameters:\n\nParameterDescription<markdown>Markdown file (positional)--cover <path>Cover image--title <text>Override title--submitPublish (default: preview)\n\nFrontmatter: title, cover_image supported in YAML front matter."
      },
      {
        "title": "Notes",
        "body": "First run: manual login required (session persists)\nAlways preview before --submit\nCross-platform: macOS, Linux, Windows"
      },
      {
        "title": "Extension Support",
        "body": "Custom configurations via EXTEND.md. See Preferences section for paths and supported options."
      }
    ],
    "body": "Post to X (Twitter)\n\nPosts text, images, videos, and long-form articles to X via real Chrome browser (bypasses anti-bot detection).\n\nScript Directory\n\nImportant: All scripts are located in the scripts/ subdirectory of this skill.\n\nAgent Execution Instructions:\n\nDetermine this SKILL.md file's directory path as SKILL_DIR\nScript path = ${SKILL_DIR}/scripts/<script-name>.ts\nReplace all ${SKILL_DIR} in this document with the actual path\n\nScript Reference:\n\nScript\tPurpose\nscripts/x-browser.ts\tRegular posts (text + images)\nscripts/x-video.ts\tVideo posts (text + video)\nscripts/x-quote.ts\tQuote tweet with comment\nscripts/x-article.ts\tLong-form article publishing (Markdown)\nscripts/md-to-html.ts\tMarkdown → HTML conversion\nscripts/copy-to-clipboard.ts\tCopy content to clipboard\nscripts/paste-from-clipboard.ts\tSend real paste keystroke\nPreferences (EXTEND.md)\n\nUse Bash to check EXTEND.md existence (priority order):\n\n# Check project-level first\ntest -f .baoyu-skills/baoyu-post-to-x/EXTEND.md && echo \"project\"\n\n# Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)\ntest -f \"$HOME/.baoyu-skills/baoyu-post-to-x/EXTEND.md\" && echo \"user\"\n\n\n┌──────────────────────────────────────────────────┬───────────────────┐ │ Path │ Location │ ├──────────────────────────────────────────────────┼───────────────────┤ │ .baoyu-skills/baoyu-post-to-x/EXTEND.md │ Project directory │ ├──────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.baoyu-skills/baoyu-post-to-x/EXTEND.md │ User home │ └──────────────────────────────────────────────────┴───────────────────┘\n\n┌───────────┬───────────────────────────────────────────────────────────────────────────┐ │ Result │ Action │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ Found │ Read, parse, apply settings │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ Not found │ Use defaults │ └───────────┴───────────────────────────────────────────────────────────────────────────┘\n\nEXTEND.md Supports: Default Chrome profile | Auto-submit preference\n\nPrerequisites\nGoogle Chrome or Chromium\nbun runtime\nFirst run: log in to X manually (session saved)\nReferences\nRegular Posts: See references/regular-posts.md for manual workflow, troubleshooting, and technical details\nX Articles: See references/articles.md for long-form article publishing guide\nRegular Posts\n\nText + up to 4 images.\n\nnpx -y bun ${SKILL_DIR}/scripts/x-browser.ts \"Hello!\" --image ./photo.png          # Preview\nnpx -y bun ${SKILL_DIR}/scripts/x-browser.ts \"Hello!\" --image ./photo.png --submit  # Post\n\n\nParameters:\n\nParameter\tDescription\n<text>\tPost content (positional)\n--image <path>\tImage file (repeatable, max 4)\n--submit\tPost (default: preview)\n--profile <dir>\tCustom Chrome profile\nVideo Posts\n\nText + video file.\n\nnpx -y bun ${SKILL_DIR}/scripts/x-video.ts \"Check this out!\" --video ./clip.mp4          # Preview\nnpx -y bun ${SKILL_DIR}/scripts/x-video.ts \"Amazing content\" --video ./demo.mp4 --submit  # Post\n\n\nParameters:\n\nParameter\tDescription\n<text>\tPost content (positional)\n--video <path>\tVideo file (MP4, MOV, WebM)\n--submit\tPost (default: preview)\n--profile <dir>\tCustom Chrome profile\n\nLimits: Regular 140s max, Premium 60min. Processing: 30-60s.\n\nQuote Tweets\n\nQuote an existing tweet with comment.\n\nnpx -y bun ${SKILL_DIR}/scripts/x-quote.ts https://x.com/user/status/123 \"Great insight!\"          # Preview\nnpx -y bun ${SKILL_DIR}/scripts/x-quote.ts https://x.com/user/status/123 \"I agree!\" --submit       # Post\n\n\nParameters:\n\nParameter\tDescription\n<tweet-url>\tURL to quote (positional)\n<comment>\tComment text (positional, optional)\n--submit\tPost (default: preview)\n--profile <dir>\tCustom Chrome profile\nX Articles\n\nLong-form Markdown articles (requires X Premium).\n\nnpx -y bun ${SKILL_DIR}/scripts/x-article.ts article.md                        # Preview\nnpx -y bun ${SKILL_DIR}/scripts/x-article.ts article.md --cover ./cover.jpg    # With cover\nnpx -y bun ${SKILL_DIR}/scripts/x-article.ts article.md --submit               # Publish\n\n\nParameters:\n\nParameter\tDescription\n<markdown>\tMarkdown file (positional)\n--cover <path>\tCover image\n--title <text>\tOverride title\n--submit\tPublish (default: preview)\n\nFrontmatter: title, cover_image supported in YAML front matter.\n\nNotes\nFirst run: manual login required (session persists)\nAlways preview before --submit\nCross-platform: macOS, Linux, Windows\nExtension Support\n\nCustom configurations via EXTEND.md. See Preferences section for paths and supported options."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/liuhedev/baoyu-post-to-x",
    "publisherUrl": "https://clawhub.ai/liuhedev/baoyu-post-to-x",
    "owner": "liuhedev",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/baoyu-post-to-x",
    "downloadUrl": "https://openagent3.xyz/downloads/baoyu-post-to-x",
    "agentUrl": "https://openagent3.xyz/skills/baoyu-post-to-x/agent",
    "manifestUrl": "https://openagent3.xyz/skills/baoyu-post-to-x/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/baoyu-post-to-x/agent.md"
  }
}