Agent skill

X Post Publisher

by JimLiu in JimLiu/baoyu-skills

Publishes text posts, images, videos, quote posts and long-form X Articles written in Markdown through a real Chrome browser.

MITAuto-check: warningsProductivity & Automation

Install X Post Publisher

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add JimLiu/baoyu-skills --skill baoyu-post-to-x -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install JimLiu/baoyu-skills baoyu-post-to-x --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/JimLiu/baoyu-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/baoyu-post-to-x .claude/skills/baoyu-post-to-x && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
baoyu-post-to-x
GitHub stars
27k
Used in
1 other repo
Token cost
~4.4k tokens
SKILL.md length
2,180 words
Files
16 (incl. scripts, references)
Skills in repo
22
Repo updated
First seen
Licence
MIT

At a glance

Publishes text posts, images, videos, quote posts and long-form X Articles written in Markdown through a real Chrome browser.

  • Works in 4 steps: Determine this SKILL.md file's directory… → Script path = {baseDir}/scripts/.ts → Replace all {baseDir} in this document… → …
  • Posting to X with an image or video from the terminal
  • SKILL.md covers Script Directory, Execution Mode Selection…, Codex Chrome Plugin Mode and Preferences (EXTEND.md), plus 13 more sections
  • Runs TypeScript scripts from its folder; calls npx, brew and npm; reaches x.com and developers.openai.com

What it does

The skill drives a real Chrome session to post to X. It handles plain posts with images, video posts, quote posts with a comment, and long-form Articles converted from Markdown. Before touching X, the agent must choose exactly one of three modes.

Codex Chrome plugin mode is required when you ask for the Codex Chrome plugin or @chrome. Chrome Computer Use mode drives the visible Chrome window and is used when you ask for it, or when no plugin preference is stated and it is available. CDP script mode is a fallback, used when the chosen mode is unavailable or you ask for it, and the agent must not drift from Computer Use to another path without telling you.

Bundled TypeScript scripts cover regular posts, video, quotes, articles, Markdown to HTML conversion, clipboard copy and paste, and a permissions check. They run with Bun, or through npx when Bun is not installed.

When your agent uses it

  • Posting to X with an image or video from the terminal
  • Publishing a Markdown file as a long-form X Article
  • Quote-posting with a comment
  • Sharing a release announcement on X

Example prompts

  • “Post to X: we just shipped dark mode, attach ./shots/dark-mode.png.”
  • “Publish ./articles/launch-notes.md as an X Article.”
  • “Tweet this clip with the caption Demo day recap, using Chrome Computer Use.”

Requirements

  • Google Chrome
  • Bun, or npx to run Bun

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Determine this SKILL.md file's directory path as {baseDir}
  2. Script path = {baseDir}/scripts/.ts
  3. Replace all {baseDir} in this document with the actual path
  4. Resolve ${BUN_X} runtime: if bun installed → bun; if npx available → npx -y bun; else suggest installing bun

What it can do on your machine

Read from SKILL.md and the folder at commit 1567581. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 13 files in scripts/ (TypeScript), which the agent can run.

    Shell commands in SKILL.md call:

    • npx
    • brew
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • x.com
    • developers.openai.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

X Post Publisher loads about 4.4k tokens when it runs, and up to ~8.8k if it reads all its reference files. Until then it costs about 110 tokens; SKILL.md has 2,180 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~110
When it runs · the whole SKILL.md, loaded when a task matches
~4.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: warnings

The automated check found patterns that need a careful read before installing.

  • WarningMentions a credentials file (SSH keys, cloud or package-manager tokens)SKILL.md:148
    uter Use. This uses the user's existing Chrome window, cookies, login, extensions, and X session.
  • WarningTells the agent its actions are pre-authorized / not to stop for confirmationSKILL.md:324
    ome CDP instances and retry the command without asking the user.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from JimLiu/baoyu-skills at commit 1567581, republished under its MIT licence (© JimLiu). 2,180 words, ~4,406 tokens.

Download SKILL.mdSave it as .claude/skills/baoyu-post-to-x/SKILL.md (or your agent's skills folder). This skill also uses 15 other files; get the full folder from GitHub.
name
baoyu-post-to-x
description
Posts content and articles to X (Twitter). Supports regular posts with images/videos and X Articles (long-form Markdown). In Codex, honor explicit requests for the Codex Chrome plugin/@chrome by using the Chrome Extension workflow; otherwise use Chrome Computer Use when available and fall back to real Chrome CDP scripts only when allowed. Use when user asks to "post to X", "tweet", "publish to Twitter", or "share on X".
version
1.58.1

Post to X (Twitter)

Posts text, images, videos, and long-form articles to X via a real Chrome browser.

In Codex, do not conflate these browser paths:

  • Codex Chrome plugin / @chrome / Chrome Extension: use the bundled chrome:Chrome skill and its Node REPL browser client. This is required whenever the user says "Codex Chrome plugin", "Codex 自带的 Chrome 插件", @chrome, or similar.
  • Chrome Computer Use: use mcp__computer_use__.* against the visible Google Chrome UI only when the user asks for Computer Use or no Chrome-plugin preference is stated and Computer Use is available.
  • CDP script mode: use only as a fallback when the selected mode is unavailable or the user explicitly asks for CDP/script mode.

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 {baseDir}
  2. Script path = {baseDir}/scripts/<script-name>.ts
  3. Replace all {baseDir} in this document with the actual path
  4. Resolve ${BUN_X} runtime: if bun installed → bun; if npx available → npx -y bun; else suggest installing bun

Script Reference:

ScriptPurpose
scripts/x-browser.tsRegular posts (text + images), CDP fallback
scripts/x-video.tsVideo posts (text + video), CDP fallback
scripts/x-quote.tsQuote tweet with comment, CDP fallback
scripts/x-article.tsLong-form article publishing (Markdown), CDP fallback
scripts/md-to-html.tsMarkdown → HTML conversion
scripts/copy-to-clipboard.tsCopy content to clipboard
scripts/paste-from-clipboard.tsSend real paste keystroke
scripts/check-paste-permissions.tsVerify environment & permissions

Execution Mode Selection (Required)

Choose exactly one mode before interacting with X:

  1. If the user explicitly asks for the Codex Chrome plugin, @chrome, the Chrome extension, or "Codex 自带的 Chrome 插件", use Codex Chrome Plugin Mode. Do not call Computer Use first.
  2. If the user explicitly asks for Chrome Computer Use, use Chrome Computer Use Mode. Do not fall back to CDP, Playwright, the in-app Browser, or the Chrome plugin without telling the user and getting approval.
  3. If the user explicitly asks for CDP/script mode, use CDP Script Mode.
  4. Otherwise, prefer Chrome Computer Use Mode. For Markdown X Articles with local content images, use the tested X editor flow: insert each body image from the toolbar (Insert -> Media -> dialog icon button Add photos or video) at its placeholder, then delete the placeholder text. Use CDP Script Mode only when the selected browser-control mode is unavailable or the UI upload/selection flow is unreliable.

Never use the in-app Browser for X publishing workflows.

Codex Chrome Plugin Mode

Use this mode whenever the user requests the Codex Chrome plugin, @chrome, or the Chrome Extension path. This uses the user's real Chrome profile and X login through the bundled Chrome plugin, not Computer Use and not CDP.

Setup

  1. Load the chrome:Chrome skill before browser work.
  2. Use tool_search for node_repl js if the Node REPL js tool is not already visible.
  3. Initialize the Chrome browser client exactly as the Chrome skill specifies, then run a lightweight call such as browser.user.openTabs() to verify the extension connection.
  4. If the first lightweight call fails, wait 2 seconds and retry once. If it still fails, follow the Chrome skill's extension checks and recovery steps. If checks pass but communication still fails, ask the user before opening a new Chrome window. Do not switch to Computer Use or CDP silently.

General rules

  • Use the Chrome plugin's browser.tabs.*, tab.playwright.*, tab.cua.*, and file chooser APIs for X UI actions.
  • Shell commands are allowed for Markdown preprocessing and rich-HTML clipboard preparation. For X Article body images, do not rely on image clipboard paste; use the editor's Insert -> Media upload flow.
  • If a file upload fails with Not allowed, tell the user: To enable file upload, go to chrome://extensions in Chrome, click Details under the Codex extension, and enable "Allow access to file URLs." See https://developers.openai.com/codex/app/chrome-extension#upload-files for details.
  • If the Chrome plugin reports native pipe is closed, retry the lightweight browser call once after 2 seconds, then run the Chrome skill health checks. If Chrome is running, the extension is enabled, and the native host manifest is correct, ask permission to open a new Chrome window and retry. Do not keep sending browser actions through the broken pipe.
  • Never click Publish, Post, or any externally visible submit action without explicit final confirmation from the user in the current conversation.

X Articles

  1. Convert Markdown and keep the image map:
    bash
    ${BUN_X} {baseDir}/scripts/md-to-html.ts article.md --save-html /tmp/x-article-body.html > /tmp/x-article.json
  2. Read the JSON output for title, coverImage, and contentImages (placeholder → localPath).
  3. Open or create the article draft at https://x.com/compose/articles.
  4. Upload the cover with the Chrome plugin file chooser flow. If upload is blocked by extension permissions, stop and report the exact permission fix above.
  5. Fill the title, then copy rich HTML:
    bash
    ${BUN_X} {baseDir}/scripts/copy-to-clipboard.ts html --file /tmp/x-article-body.html
  6. Paste into the article body with a real paste keystroke through the Chrome plugin. On macOS use Meta+V.
  7. Verify the editor text contains the article body and XIMGPH_ placeholders. Do not rely on tab.clipboard.readText() as proof of the system clipboard after shell clipboard writes; on macOS verify with pbpaste if needed.
  8. For each contentImages item in placeholder order:
    • Locate the visible placeholder text (XIMGPH_N) and click it to place the caret there.
    • Open the toolbar menu Insert -> Media.
    • In the modal, click the icon button with aria-label="Add photos or video"; do not click the text/dropzone or hidden file input.
    • Use the file chooser to upload that image's localPath.
    • After the image appears, if XIMGPH_N remains above it, select exactly that placeholder and press Delete first. Use Backspace only if Delete fails and the selected text is confirmed to be exactly the placeholder.
    • Verify the placeholder count for that XIMGPH_N is 0.
  9. Open Preview and verify title, cover, body, links, and images.
  10. Ask for explicit confirmation before clicking Publish.

Preferences (EXTEND.md)

Check EXTEND.md in priority order — the first one found wins:

PriorityPathScope
1.baoyu-skills/baoyu-post-to-x/EXTEND.mdProject
2${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-post-to-x/EXTEND.mdXDG
3$HOME/.baoyu-skills/baoyu-post-to-x/EXTEND.mdUser home

If none found, use defaults.

EXTEND.md supports: Default Chrome profile

Prerequisites

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

Pre-flight Check (Optional)

Before first use, suggest running the environment check. User can skip if they prefer.

bash
${BUN_X} {baseDir}/scripts/check-paste-permissions.ts

Checks: Chrome, profile isolation, Bun, Accessibility, clipboard, paste keystroke, Chrome conflicts.

If any check fails, provide fix guidance per item:

CheckFix
ChromeInstall Chrome or set X_BROWSER_CHROME_PATH env var
Profile dirShared profile at baoyu-skills/chrome-profile (see CLAUDE.md Chrome Profile section)
Bun runtimebrew install oven-sh/bun/bun (macOS) or npm install -g bun
Accessibility (macOS)System Settings → Privacy & Security → Accessibility → enable terminal app
Clipboard copyEnsure Swift/AppKit available (macOS Xcode CLI tools: xcode-select --install)
Paste keystroke (macOS)Same as Accessibility fix above
Paste keystroke (Linux)Install xdotool (X11) or ydotool (Wayland)

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

Show full SKILL.md (1,087 more words)Show less

Chrome Computer Use Mode

Use this mode when the user explicitly asks for Chrome Computer Use, or when no Chrome-plugin preference is stated and Codex can control Google Chrome with Computer Use. This uses the user's existing Chrome window, cookies, login, extensions, and X session.

General rules:

  • Start each assistant turn that controls Chrome by calling get_app_state for Google Chrome.
  • Prefer element-index actions when available; use coordinates only for editor text selection or drag selection.
  • Do not use the in-app Browser, the Chrome plugin, Playwright, or CDP for X UI actions in this mode unless the user approves a mode change.
  • Never click Publish, Post, or any externally visible submit action without an explicit final confirmation from the user in the current conversation.

Regular posts:

  1. Open or navigate Chrome to https://x.com/compose/post.
  2. Type the post text into the composer using Computer Use.
  3. For each image, run:
    bash
    ${BUN_X} {baseDir}/scripts/copy-to-clipboard.ts image /absolute/path/to/image.png
  4. Paste with Computer Use (super+v on macOS, control+v on Windows/Linux), then wait until X finishes uploading media.
  5. Ask for confirmation before clicking Post.

Video posts:

  1. Open or navigate Chrome to https://x.com/compose/post.
  2. Type the post text into the composer.
  3. Use the visible media upload/file picker UI to attach the video.
  4. Wait for upload and processing to complete.
  5. Ask for confirmation before clicking Post.

Quote tweets:

  1. Open the tweet URL in Chrome.
  2. Use the visible quote/repost UI to choose Quote.
  3. Type the comment.
  4. Ask for confirmation before clicking Post.

X Articles:

  1. Convert Markdown and keep the image map:
    bash
    ${BUN_X} {baseDir}/scripts/md-to-html.ts article.md --save-html /tmp/x-article-body.html > /tmp/x-article.json
  2. Read the JSON output for title, coverImage, and contentImages (placeholder → localPath).
  3. In Chrome, open https://x.com/compose/articles, create or open the draft, upload the cover if present, and fill the title.
  4. Copy rich HTML to the clipboard:
    bash
    ${BUN_X} {baseDir}/scripts/copy-to-clipboard.ts html --file /tmp/x-article-body.html
  5. Paste into the article body with Computer Use.
  6. For each contentImages entry in placeholder order:
    • Locate the exact visible placeholder text such as XIMGPH_3 and click it to set the insertion point.
    • Open the toolbar Insert dropdown, choose Media, then click the modal's icon button labeled Add photos or video.
    • Use the native file picker to choose the image's localPath.
    • Wait until the image block appears and any upload activity is finished.
    • If the placeholder remains above the inserted image, reselect exactly that placeholder text and press Delete first. Use Backspace only if Delete fails and the selected text is confirmed to be exactly the placeholder.
  7. Verify no XIMGPH_ placeholders remain and the expected images appear.
  8. Open Preview and verify title, cover, body, links, and images.
  9. Ask for explicit confirmation before clicking Publish.

If Computer Use selection, toolbar upload, or file-picker control becomes unreliable, stop and report the blocker instead of switching to the Chrome plugin or CDP silently.


CDP Script Mode (Fallback)

Use the script sections below only when the selected browser-control mode is unavailable, unreliable, or explicitly not requested. These scripts launch or reuse a real Chrome instance via CDP and keep the browser open for review.

Do not use CDP Script Mode when the user explicitly requires the Codex Chrome plugin or Chrome Computer Use unless the user approves the fallback after you explain the blocker.


Post Type Selection

Unless the user explicitly specifies the post type:

  • Plain text + within 10,000 characters → Regular Post (Premium members support up to 10,000 characters, non-Premium: 280)
  • Markdown file (.md) → X Article

Regular Posts

bash
${BUN_X} {baseDir}/scripts/x-browser.ts "Hello!" --image ./photo.png

Parameters:

ParameterDescription
<text>Post content (positional)
--image <path>Image file (repeatable, max 4)
--profile <dir>Custom Chrome profile

Note: Script opens browser with content filled in. User reviews and publishes manually.

Codex mode note: If the user explicitly requested the Codex Chrome plugin, use Codex Chrome Plugin Mode. Otherwise, if Chrome Computer Use is enabled, use Chrome Computer Use Mode instead of running x-browser.ts.


Video Posts

Text + video file.

bash
${BUN_X} {baseDir}/scripts/x-video.ts "Check this out!" --video ./clip.mp4

Parameters:

ParameterDescription
<text>Post content (positional)
--video <path>Video file (MP4, MOV, WebM)
--profile <dir>Custom Chrome profile

Note: Script opens browser with content filled in. User reviews and publishes manually.

Codex mode note: If the user explicitly requested the Codex Chrome plugin, use Codex Chrome Plugin Mode. Otherwise, if Chrome Computer Use is enabled, use Chrome Computer Use Mode instead of running x-video.ts.

Limits: Regular 140s max, Premium 60min. Processing: 30-60s.


Quote Tweets

Quote an existing tweet with comment.

bash
${BUN_X} {baseDir}/scripts/x-quote.ts https://x.com/user/status/123 "Great insight!"

Parameters:

ParameterDescription
<tweet-url>URL to quote (positional)
<comment>Comment text (positional, optional)
--profile <dir>Custom Chrome profile

Note: Script opens browser with content filled in. User reviews and publishes manually.

Codex mode note: If the user explicitly requested the Codex Chrome plugin, use Codex Chrome Plugin Mode. Otherwise, if Chrome Computer Use is enabled, use Chrome Computer Use Mode instead of running x-quote.ts.


X Articles

Long-form Markdown articles (requires X Premium).

bash
${BUN_X} {baseDir}/scripts/x-article.ts article.md
${BUN_X} {baseDir}/scripts/x-article.ts article.md --cover ./cover.jpg

Parameters:

ParameterDescription
<markdown>Markdown file (positional)
--cover <path>Cover image
--title <text>Override title

Frontmatter: title, cover_image supported in YAML front matter.

Codex mode note: If the user explicitly requested the Codex Chrome plugin, follow Codex Chrome Plugin Mode above. If the user explicitly requested Chrome Computer Use, follow Chrome Computer Use Mode. Otherwise, prefer Chrome Computer Use; for Markdown articles with local content images, use the toolbar Insert -> Media image-upload workflow before falling back to x-article.ts in CDP Script Mode.

CDP fallback note: The script opens browser with article filled in. User reviews and publishes manually unless --submit is used.

Publish safety: Do not use --submit or click Publish unless the user explicitly confirms the final public publish action.

Post-Composition Check: The script automatically verifies after all images are inserted:

  • Remaining XIMGPH_ placeholders in editor content
  • Expected vs actual image count

If the check fails (warnings in output), alert the user with the specific issues before they publish.


Troubleshooting

Chrome debug port not ready

CDP fallback only: if a script fails with Chrome debug port not ready or Unable to connect, kill existing Chrome CDP instances first, then retry:

bash
pkill -f "Chrome.*remote-debugging-port" 2>/dev/null; pkill -f "Chromium.*remote-debugging-port" 2>/dev/null; sleep 2

Important: This should be done automatically — when encountering this error, kill Chrome CDP instances and retry the command without asking the user.

Notes

  • First run: manual login required (session persists)
  • In Codex Chrome Plugin Mode and Chrome Computer Use Mode, use the user's existing Chrome session and do not launch a separate CDP profile
  • CDP scripts only fill content into the browser by default; user must review and publish manually unless --submit is explicitly used
  • Cross-platform: macOS, Linux, Windows

Extension Support

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

© JimLiu, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 15 other files (scripts, references) in skills/baoyu-post-to-x of JimLiu/baoyu-skills.

  • SKILL.md
  • references/articles.md
  • references/regular-posts.md
  • scripts/bun.lock
  • scripts/check-paste-permissions.ts
  • scripts/copy-to-clipboard.ts
  • scripts/md-to-html.test.ts
  • scripts/md-to-html.ts
  • scripts/package.json
  • scripts/paste-from-clipboard.ts
  • scripts/x-article.ts
  • scripts/x-browser.ts
  • scripts/x-quote.ts
  • scripts/x-utils.test.ts
  • scripts/x-utils.ts
  • scripts/x-video.ts

Open the folder on GitHubat commit 1567581

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in JimLiu/baoyu-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

X Post Publisher next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

X Post Publisher compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
X Post Publisher this skillJimLiu/baoyu-skills27k1 repos~4.4kAutomated safety check: WarnMIT
X Marketerhanzili/hanzi-browse177—~5.3kAutomated safety check: PassCustom licence
Canghe Post To Xfreestylefly/canghe-skills4614 repos~1.7kAutomated safety check: WarnNone
Publish X Articlesugarforever/01coder-agent-skills137—~5kAutomated safety check: PassMIT
Social Card GenBrianRWagner/ai-marketing-claude-code-skills441—~1.9kAutomated safety check: PassNone
X Publishaiskillstore/marketplace433—~1.3kAutomated safety check: PassNone

Similar skills

  • X Marketer

    hanzili/hanzi-browse

    Professional X/Twitter growth skill. An agent skill from hanzili/hanzi-browse.

    177 GitHub stars~5.3k tokensUpdated 5 mo ago
    Productivity & AutomationAuto-check passed
  • Canghe Post To X

    freestylefly/canghe-skills

    Posts content and articles to X (Twitter). An agent skill from freestylefly/canghe-skills.

    461 GitHub starsUsed in 4 repos~1.7k tokens
    Marketing & SEOAuto-check: warnings
  • Publish X Article

    sugarforever/01coder-agent-skills

    Publishes a Markdown file or URL to the X Articles editor with formatting kept, turning tables, mermaid diagrams and deep headers that X cannot show into images.

    137 GitHub stars~5k tokensUpdated 3 mo ago
    Writing & ContentAuto-check passed
  • Social Card Gen

    BrianRWagner/ai-marketing-claude-code-skills

    Generate platform-specific social post variants (Twitter/X, LinkedIn, Reddit) from one source input.

    441 GitHub stars~1.9k tokensUpdated 6 mo ago
    AI & LLM EngineeringAuto-check passed
  • X Publish

    aiskillstore/marketplace

    Publish tweets and threads to X (Twitter) draft using browser automation.

    433 GitHub stars~1.3k tokensUpdated yesterday
    Writing & ContentAuto-check passed
  • X Bookmarks

    sharbelxyz/x-bookmarks

    Fetch, summarize, and manage X/Twitter bookmarks via bird CLI or X API v2.

    289 GitHub stars~2k tokensUpdated 7 mo ago
    Productivity & AutomationAuto-check: notes

More from JimLiu/baoyu-skills

All 22 skills in this repo
  • Markdown Article Formatter

    JimLiu/baoyu-skills

    Reformats plain text or Markdown articles with frontmatter, a title, a summary, headings, bold, lists and code blocks, and saves a separate formatted copy.

    27k GitHub starsUsed in 6 repos~3.5k tokens
    Auto-check passed
  • X to Markdown Converter

    JimLiu/baoyu-skills

    Saves tweets, threads and X Articles as Markdown files with YAML front matter, using an unofficial API that asks for your consent first.

    27k GitHub starsUsed in 4 repos~1.8k tokens
    Auto-check: warnings
  • SVG Diagram Generator

    JimLiu/baoyu-skills

    Creates standalone dark-themed SVG diagrams, including architecture, flowchart, sequence, structural, mind map, timeline and state machine types.

    27k GitHub starsUsed in 1 repo~3.1k tokens
    Auto-check passed
  • Publishes articles and image-text posts to a WeChat Official Account through the API or Chrome CDP, converting markdown to WeChat-ready HTML with link citations.

    27k GitHub starsUsed in 2 repos~3.6k tokens
    Auto-check: warnings
  • Image Compressor

    JimLiu/baoyu-skills

    Compresses images to WebP by default, or to PNG or JPEG, picking the best available tool on the machine and optionally processing whole folders.

    27k GitHub starsUsed in 5 repos~598 tokens
    Auto-check passed
  • Generates text and images through an unofficial, reverse-engineered Gemini Web API, supporting reference images and multi-turn conversations.

    27k GitHub starsUsed in 5 repos~1.6k tokens
    Auto-check passed

Questions about X Post Publisher

What does X Post Publisher do?

Publishes text posts, images, videos, quote posts and long-form X Articles written in Markdown through a real Chrome browser. The skill drives a real Chrome session to post to X. It handles plain posts with images, video posts, quote posts with a comment, and long-form Articles converted from Markdown.

When should I use X Post Publisher?

X Post Publisher fits situations like: posting to X with an image or video from the terminal; publishing a Markdown file as a long-form X Article; quote-posting with a comment; sharing a release announcement on X.

How do I install X Post Publisher in Claude Code?

Run `npx skills add JimLiu/baoyu-skills --skill baoyu-post-to-x -a claude-code`. Or copy the skill folder (skills/baoyu-post-to-x in JimLiu/baoyu-skills) into .claude/skills/baoyu-post-to-x in your project. Claude Code loads it when a task matches its description.

How do I install X Post Publisher in Codex?

Run `npx skills add JimLiu/baoyu-skills --skill baoyu-post-to-x -a codex`. Or copy the skill folder (skills/baoyu-post-to-x in JimLiu/baoyu-skills) into .agents/skills/baoyu-post-to-x in your project. Codex loads it when a task matches its description.

Can I use X Post Publisher in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add JimLiu/baoyu-skills --skill baoyu-post-to-x -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/baoyu-post-to-x, .gemini/skills/baoyu-post-to-x, .github/skills/baoyu-post-to-x and .opencode/skills/baoyu-post-to-x in your project.

What does X Post Publisher need to run?

Going by SKILL.md and its folder, X Post Publisher needs TypeScript for the scripts in its folder and the command-line tools its instructions call (npx, brew and npm). Our summary lists: Google Chrome; Bun, or npx to run Bun.

Does X Post Publisher access the network?

SKILL.md names 2 domains. In commands or code: x.com and developers.openai.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is X Post Publisher safe to install?

Our automated static check of SKILL.md flagged 2 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens); tells the agent its actions are pre-authorized / not to stop for confirmation. Read the flagged lines before installing; the check is not a guarantee either way. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does X Post Publisher use?

X Post Publisher is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does X Post Publisher use?

About 4.4k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.4k tokens, read only when the agent opens those files.

What are the alternatives to X Post Publisher?

Skills that share tags, products or a category with X Post Publisher: X Marketer (hanzili/hanzi-browse, 177 stars), Canghe Post To X (freestylefly/canghe-skills, 461 stars), Publish X Article (sugarforever/01coder-agent-skills, 137 stars) and Social Card Gen (BrianRWagner/ai-marketing-claude-code-skills, 441 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains X Post Publisher?

JimLiu (a GitHub user) maintains it in JimLiu/baoyu-skills, which has 26,507 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on September 10, 2026.

Source: JimLiu/baoyu-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.