baoyu-post-to-x

$npx skills add jimliu/baoyu-skills --skill baoyu-post-to-x
SKILL.md

Baoyu Post To X

Posts text, images, videos, and long-form articles to X via real Chrome browser (bypasses anti-bot detection). **Important**: All scripts are located in the `scripts/` subdirectory of this skill. **Agent Execution Instructions**:

Post to X (Twitter)

Posts text, images, videos, and long-form articles to X via real Chrome browser (bypasses anti-bot detection).

Script Directory

Important: All scripts are located in the scripts/ subdirectory of this skill.
Agent Execution Instructions:
  1. Determine this SKILL.md file's directory path as SKILL_DIR
  2. Script path = ${SKILL_DIR}/scripts/<script-name>.ts
  3. Replace all ${SKILL_DIR} in this document with the actual path
Script Reference:
Script
Purpose
scripts/x-browser.ts
Regular posts (text + images)
scripts/x-video.ts
Video posts (text + video)
scripts/x-quote.ts
Quote tweet with comment
scripts/x-article.ts
Long-form article publishing (Markdown)
scripts/md-to-html.ts
Markdown → HTML conversion
scripts/copy-to-clipboard.ts
Copy content to clipboard
scripts/paste-from-clipboard.ts
Send real paste keystroke

Preferences (EXTEND.md)

Use Bash to check EXTEND.md existence (priority order):
# Check project-level first
test -f .baoyu-skills/baoyu-post-to-x/EXTEND.md && echo "project"

# Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)
test -f "$HOME/.baoyu-skills/baoyu-post-to-x/EXTEND.md" && echo "user"
┌──────────────────────────────────────────────────┬───────────────────┐ │ Path │ Location │ ├──────────────────────────────────────────────────┼───────────────────┤ │ .baoyu-skills/baoyu-post-to-x/EXTEND.md │ Project directory │ ├──────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.baoyu-skills/baoyu-post-to-x/EXTEND.md │ User home │ └──────────────────────────────────────────────────┴───────────────────┘
┌───────────┬───────────────────────────────────────────────────────────────────────────┐ │ Result │ Action │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ Found │ Read, parse, apply settings │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ Not found │ Use defaults │ └───────────┴───────────────────────────────────────────────────────────────────────────┘
EXTEND.md Supports: Default Chrome profile | Auto-submit preference

Prerequisites

  • Google Chrome or Chromium
  • bun runtime
  • First run: log in to X manually (session saved)

References

  • Regular Posts: See references/regular-posts.md for manual workflow, troubleshooting, and technical details
  • X Articles: See references/articles.md for long-form article publishing guide

Regular Posts

Text + up to 4 images.
npx -y bun ${SKILL_DIR}/scripts/x-browser.ts "Hello!" --image ./photo.png          # Preview
npx -y bun ${SKILL_DIR}/scripts/x-browser.ts "Hello!" --image ./photo.png --submit  # Post
Parameters:
Parameter
Description
<text>
Post content (positional)
--image <path>
Image file (repeatable, max 4)
--submit
Post (default: preview)
--profile <dir>
Custom Chrome profile

Video Posts

Text + video file.
npx -y bun ${SKILL_DIR}/scripts/x-video.ts "Check this out!" --video ./clip.mp4          # Preview
npx -y bun ${SKILL_DIR}/scripts/x-video.ts "Amazing content" --video ./demo.mp4 --submit  # Post
Parameters:
Parameter
Description
<text>
Post content (positional)
--video <path>
Video file (MP4, MOV, WebM)
--submit
Post (default: preview)
--profile <dir>
Custom Chrome profile
Limits: Regular 140s max, Premium 60min. Processing: 30-60s.

Quote Tweets

Quote an existing tweet with comment.
npx -y bun ${SKILL_DIR}/scripts/x-quote.ts https://x.com/user/status/123 "Great insight!"          # Preview
npx -y bun ${SKILL_DIR}/scripts/x-quote.ts https://x.com/user/status/123 "I agree!" --submit       # Post
Parameters:
Parameter
Description
<tweet-url>
URL to quote (positional)
<comment>
Comment text (positional, optional)
--submit
Post (default: preview)
--profile <dir>
Custom Chrome profile

X Articles

Long-form Markdown articles (requires X Premium).
npx -y bun ${SKILL_DIR}/scripts/x-article.ts article.md                        # Preview
npx -y bun ${SKILL_DIR}/scripts/x-article.ts article.md --cover ./cover.jpg    # With cover
npx -y bun ${SKILL_DIR}/scripts/x-article.ts article.md --submit               # Publish
Parameters:
Parameter
Description
<markdown>
Markdown file (positional)
--cover <path>
Cover image
--title <text>
Override title
--submit
Publish (default: preview)
Frontmatter: title, cover_image supported in YAML front matter.

Notes

  • First run: manual login required (session persists)
  • Always preview before --submit
  • Cross-platform: macOS, Linux, Windows

Extension Support

Custom configurations via EXTEND.md. See Preferences section for paths and supported options.