X Marketer
hanzili/hanzi-browse
Professional X/Twitter growth skill. An agent skill from hanzili/hanzi-browse.
Publishes text posts, images, videos, quote posts and long-form X Articles written in Markdown through a real Chrome browser.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add JimLiu/baoyu-skills --skill baoyu-post-to-x -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install JimLiu/baoyu-skills baoyu-post-to-x --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "baoyu-post-to-x" agent skill from https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-post-to-x into .claude/skills/baoyu-post-to-x/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "baoyu-post-to-x", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-post-to-xType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add JimLiu/baoyu-skills --skill baoyu-post-to-x -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install JimLiu/baoyu-skills baoyu-post-to-x --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JimLiu/baoyu-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/baoyu-post-to-x .agents/skills/baoyu-post-to-x && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "baoyu-post-to-x" agent skill from https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-post-to-x into .agents/skills/baoyu-post-to-x/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "baoyu-post-to-x", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add JimLiu/baoyu-skills --skill baoyu-post-to-x -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install JimLiu/baoyu-skills baoyu-post-to-x --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JimLiu/baoyu-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/baoyu-post-to-x .cursor/skills/baoyu-post-to-x && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "baoyu-post-to-x" agent skill from https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-post-to-x into .cursor/skills/baoyu-post-to-x/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "baoyu-post-to-x", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/JimLiu/baoyu-skills.git --path skills/baoyu-post-to-x--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add JimLiu/baoyu-skills --skill baoyu-post-to-x -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install JimLiu/baoyu-skills baoyu-post-to-x --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JimLiu/baoyu-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/baoyu-post-to-x .gemini/skills/baoyu-post-to-x && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "baoyu-post-to-x" agent skill from https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-post-to-x into .gemini/skills/baoyu-post-to-x/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "baoyu-post-to-x", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install JimLiu/baoyu-skills baoyu-post-to-xInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add JimLiu/baoyu-skills --skill baoyu-post-to-x -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/JimLiu/baoyu-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/baoyu-post-to-x .github/skills/baoyu-post-to-x && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "baoyu-post-to-x" agent skill from https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-post-to-x into .github/skills/baoyu-post-to-x/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "baoyu-post-to-x", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add JimLiu/baoyu-skills --skill baoyu-post-to-x -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install JimLiu/baoyu-skills baoyu-post-to-x --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JimLiu/baoyu-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/baoyu-post-to-x .opencode/skills/baoyu-post-to-x && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "baoyu-post-to-x" agent skill from https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-post-to-x into .opencode/skills/baoyu-post-to-x/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "baoyu-post-to-x", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
baoyu-post-to-xPublishes 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. 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.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 1567581. It shows what the files ask for, not the result of running them.
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.
Ships 13 files in scripts/ (TypeScript), which the agent can run.
Shell commands in SKILL.md call:
npxbrewnpmFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
x.comdevelopers.openai.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
The automated check found patterns that need a careful read before installing.
uter Use. This uses the user's existing Chrome window, cookies, login, extensions, and X session.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.
The full file from JimLiu/baoyu-skills at commit 1567581, republished under its MIT licence (© JimLiu). 2,180 words, ~4,406 tokens.
.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.Posts text, images, videos, and long-form articles to X via a real Chrome browser.
In Codex, do not conflate these browser paths:
@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.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.Important: All scripts are located in the scripts/ subdirectory of this skill.
Agent Execution Instructions:
{baseDir}{baseDir}/scripts/<script-name>.ts{baseDir} in this document with the actual path${BUN_X} runtime: if bun installed → bun; if npx available → npx -y bun; else suggest installing bunScript Reference:
| Script | Purpose |
|---|---|
scripts/x-browser.ts | Regular posts (text + images), CDP fallback |
scripts/x-video.ts | Video posts (text + video), CDP fallback |
scripts/x-quote.ts | Quote tweet with comment, CDP fallback |
scripts/x-article.ts | Long-form article publishing (Markdown), CDP fallback |
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 |
scripts/check-paste-permissions.ts | Verify environment & permissions |
Choose exactly one mode before interacting with X:
@chrome, the Chrome extension, or "Codex 自带的 Chrome 插件", use Codex Chrome Plugin Mode. Do not call Computer Use first.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.
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
chrome:Chrome skill before browser work.tool_search for node_repl js if the Node REPL js tool is not already visible.browser.user.openTabs() to verify the extension connection.General rules
browser.tabs.*, tab.playwright.*, tab.cua.*, and file chooser APIs for X UI actions.Insert -> Media upload flow.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.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.Publish, Post, or any externally visible submit action without explicit final confirmation from the user in the current conversation.X Articles
${BUN_X} {baseDir}/scripts/md-to-html.ts article.md --save-html /tmp/x-article-body.html > /tmp/x-article.jsontitle, coverImage, and contentImages (placeholder → localPath).https://x.com/compose/articles.${BUN_X} {baseDir}/scripts/copy-to-clipboard.ts html --file /tmp/x-article-body.htmlMeta+V.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.contentImages item in placeholder order:XIMGPH_N) and click it to place the caret there.Insert -> Media.aria-label="Add photos or video"; do not click the text/dropzone or hidden file input.localPath.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.XIMGPH_N is 0.Publish.Check EXTEND.md in priority order — the first one found wins:
| Priority | Path | Scope |
|---|---|---|
| 1 | .baoyu-skills/baoyu-post-to-x/EXTEND.md | Project |
| 2 | ${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-post-to-x/EXTEND.md | XDG |
| 3 | $HOME/.baoyu-skills/baoyu-post-to-x/EXTEND.md | User home |
If none found, use defaults.
EXTEND.md supports: Default Chrome profile
bun runtimeBefore first use, suggest running the environment check. User can skip if they prefer.
${BUN_X} {baseDir}/scripts/check-paste-permissions.tsChecks: Chrome, profile isolation, Bun, Accessibility, clipboard, paste keystroke, Chrome conflicts.
If any check fails, provide fix guidance per item:
| Check | Fix |
|---|---|
| Chrome | Install Chrome or set X_BROWSER_CHROME_PATH env var |
| Profile dir | Shared profile at baoyu-skills/chrome-profile (see CLAUDE.md Chrome Profile section) |
| Bun runtime | brew install oven-sh/bun/bun (macOS) or npm install -g bun |
| Accessibility (macOS) | System Settings → Privacy & Security → Accessibility → enable terminal app |
| Clipboard copy | Ensure 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.md for manual workflow, troubleshooting, and technical detailsreferences/articles.md for long-form article publishing guideUse 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:
get_app_state for Google Chrome.Publish, Post, or any externally visible submit action without an explicit final confirmation from the user in the current conversation.Regular posts:
https://x.com/compose/post.${BUN_X} {baseDir}/scripts/copy-to-clipboard.ts image /absolute/path/to/image.pngsuper+v on macOS, control+v on Windows/Linux), then wait until X finishes uploading media.Post.Video posts:
https://x.com/compose/post.Post.Quote tweets:
Post.X Articles:
${BUN_X} {baseDir}/scripts/md-to-html.ts article.md --save-html /tmp/x-article-body.html > /tmp/x-article.jsontitle, coverImage, and contentImages (placeholder → localPath).https://x.com/compose/articles, create or open the draft, upload the cover if present, and fill the title.${BUN_X} {baseDir}/scripts/copy-to-clipboard.ts html --file /tmp/x-article-body.htmlcontentImages entry in placeholder order:XIMGPH_3 and click it to set the insertion point.Insert dropdown, choose Media, then click the modal's icon button labeled Add photos or video.localPath.Delete first. Use Backspace only if Delete fails and the selected text is confirmed to be exactly the placeholder.XIMGPH_ placeholders remain and the expected images appear.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.
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.
Unless the user explicitly specifies the post type:
${BUN_X} {baseDir}/scripts/x-browser.ts "Hello!" --image ./photo.pngParameters:
| Parameter | Description |
|---|---|
<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.
Text + video file.
${BUN_X} {baseDir}/scripts/x-video.ts "Check this out!" --video ./clip.mp4Parameters:
| Parameter | Description |
|---|---|
<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 an existing tweet with comment.
${BUN_X} {baseDir}/scripts/x-quote.ts https://x.com/user/status/123 "Great insight!"Parameters:
| Parameter | Description |
|---|---|
<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.
Long-form Markdown articles (requires X Premium).
${BUN_X} {baseDir}/scripts/x-article.ts article.md
${BUN_X} {baseDir}/scripts/x-article.ts article.md --cover ./cover.jpgParameters:
| Parameter | Description |
|---|---|
<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:
XIMGPH_ placeholders in editor contentIf the check fails (warnings in output), alert the user with the specific issues before they publish.
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:
pkill -f "Chrome.*remote-debugging-port" 2>/dev/null; pkill -f "Chromium.*remote-debugging-port" 2>/dev/null; sleep 2Important: This should be done automatically — when encountering this error, kill Chrome CDP instances and retry the command without asking the user.
--submit is explicitly usedCustom 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
SKILL.md and 15 other files (scripts, references) in skills/baoyu-post-to-x of JimLiu/baoyu-skills.
Open the folder on GitHubat commit 1567581
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.
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| X Post Publisher this skillJimLiu/baoyu-skills | 27k | 1 repos | ~4.4k | Automated safety check: Warn | MIT | |
| X Marketerhanzili/hanzi-browse | 177 | — | ~5.3k | Automated safety check: Pass | Custom licence | |
| Canghe Post To Xfreestylefly/canghe-skills | 461 | 4 repos | ~1.7k | Automated safety check: Warn | None | |
| Publish X Articlesugarforever/01coder-agent-skills | 137 | — | ~5k | Automated safety check: Pass | MIT | |
| Social Card GenBrianRWagner/ai-marketing-claude-code-skills | 441 | — | ~1.9k | Automated safety check: Pass | None | |
| X Publishaiskillstore/marketplace | 433 | — | ~1.3k | Automated safety check: Pass | None |
hanzili/hanzi-browse
Professional X/Twitter growth skill. An agent skill from hanzili/hanzi-browse.
freestylefly/canghe-skills
Posts content and articles to X (Twitter). An agent skill from freestylefly/canghe-skills.
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.
BrianRWagner/ai-marketing-claude-code-skills
Generate platform-specific social post variants (Twitter/X, LinkedIn, Reddit) from one source input.
aiskillstore/marketplace
Publish tweets and threads to X (Twitter) draft using browser automation.
sharbelxyz/x-bookmarks
Fetch, summarize, and manage X/Twitter bookmarks via bird CLI or X API v2.
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.
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.
JimLiu/baoyu-skills
Creates standalone dark-themed SVG diagrams, including architecture, flowchart, sequence, structural, mind map, timeline and state machine types.
JimLiu/baoyu-skills
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.
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.
JimLiu/baoyu-skills
Generates text and images through an unofficial, reverse-engineered Gemini Web API, supporting reference images and multi-turn conversations.
Works with
Categories
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.