baoyu-post-to-x
自媒体创作者需要在X(Twitter)发布内容时,支持图文、视频、引用推文及Markdown长文发布,通过真实Chrome浏览器绕过反自动化检测,一键完成多格式内容分发,有效规避封号风险。
它会碰到什么
关于「读环境变量(配置)」:这个技能会读 process.env 之类的环境变量,但读到的都是端口、目录、超时这类配置项,没有读取密钥类变量。扫描规则原本把「读环境变量」一律算作「读凭据」,本站按变量名做了细化区分,命中明细仍如实列在下面。
逐条看命中(17 条严重或高危)
- 高
scripts/copy-to-clipboard.ts:1exec-spawnimport { spawn } from 'node:child_process'; - 高
scripts/paste-from-clipboard.ts:1exec-spawnimport { spawnSync } from 'node:child_process'; - 高
scripts/paste-from-clipboard.ts:1exec-spawnimport { spawnSync } from 'node:child_process'; - 高
scripts/paste-from-clipboard.ts:54exec-spawnconst result = spawnSync('osascript', ['-e', script], { stdio: 'pipe' }); - 高
scripts/paste-from-clipboard.ts:77exec-spawnconst result = spawnSync('osascript', ['-e', script], { stdio: 'pipe' }); - 高
scripts/paste-from-clipboard.ts:103exec-spawnconst which = spawnSync('which', [tool.cmd], { stdio: 'pipe' }); - 高
scripts/paste-from-clipboard.ts:107exec-spawnconst result = spawnSync(tool.cmd, tool.args, { stdio: 'pipe' }); - 高
scripts/paste-from-clipboard.ts:130exec-spawnconst result = spawnSync('powershell.exe', ['-NoProfile', '-Command', ps], { stdio: 'pipe' }); - 高
scripts/x-article.ts:1exec-spawnimport { spawn } from 'node:child_process'; - 高
scripts/x-browser.ts:1exec-spawnimport { spawn } from 'node:child_process'; - 高
scripts/x-quote.ts:1exec-spawnimport { spawn } from 'node:child_process'; - 高
scripts/x-utils.ts:1exec-spawnimport { spawnSync } from 'node:child_process'; - 高
scripts/x-utils.ts:1exec-spawnimport { spawnSync } from 'node:child_process'; - 高
scripts/x-utils.ts:62cred-envreadconst override = process.env.X_BROWSER_CHROME_PATH?.trim();
- 高
scripts/x-utils.ts:72cred-envreadconst base = process.env.XDG_DATA_HOME || path.join(os.homedir(), '.local', 'share');
- 高
scripts/x-utils.ts:223exec-spawnconst result = spawnSync('npx', ['-y', 'bun', scriptPath, ...args], { stdio: 'inherit' }); - 高
scripts/x-video.ts:1exec-spawnimport { spawn } from 'node:child_process';
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
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:
- Determine this SKILL.md file's directory path as
SKILL_DIR - Script path =
${SKILL_DIR}/scripts/<script-name>.ts - 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
bunruntime- First run: log in to X manually (session saved)
References
- Regular Posts: See
references/regular-posts.mdfor manual workflow, troubleshooting, and technical details - X Articles: See
references/articles.mdfor 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.
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
skills/content-creation-publisher/baoyu-post-to-x/SKILL.md