跳到主要内容
知仓学习社ZHICANG

baoyu-post-to-x

自媒体创作者需要在X(Twitter)发布内容时,支持图文、视频、引用推文及Markdown长文发布,通过真实Chrome浏览器绕过反自动化检测,一键完成多格式内容分发,有效规避封号风险。

执行命令写文件读文件联网读环境变量(配置)严重 0 · 高危 17anbeime/skill

它会碰到什么

扫了多少11 个文本文件,104 KB
它会碰到什么执行命令写文件读文件联网读环境变量(配置)
命中总数36 处
命中统计严重 0 · 高 17 · 中 13 · 低 6

关于「读环境变量(配置)」:这个技能会读 process.env 之类的环境变量,但读到的都是端口、目录、超时这类配置项,没有读取密钥类变量。扫描规则原本把「读环境变量」一律算作「读凭据」,本站按变量名做了细化区分,命中明细仍如实列在下面。

逐条看命中(17 条严重或高危)
  • scripts/copy-to-clipboard.ts:1exec-spawn
    import { spawn } from 'node:child_process';
  • scripts/paste-from-clipboard.ts:1exec-spawn
    import { spawnSync } from 'node:child_process';
  • scripts/paste-from-clipboard.ts:1exec-spawn
    import { spawnSync } from 'node:child_process';
  • scripts/paste-from-clipboard.ts:54exec-spawn
    const result = spawnSync('osascript', ['-e', script], { stdio: 'pipe' });
  • scripts/paste-from-clipboard.ts:77exec-spawn
    const result = spawnSync('osascript', ['-e', script], { stdio: 'pipe' });
  • scripts/paste-from-clipboard.ts:103exec-spawn
    const which = spawnSync('which', [tool.cmd], { stdio: 'pipe' });
  • scripts/paste-from-clipboard.ts:107exec-spawn
    const result = spawnSync(tool.cmd, tool.args, { stdio: 'pipe' });
  • scripts/paste-from-clipboard.ts:130exec-spawn
    const result = spawnSync('powershell.exe', ['-NoProfile', '-Command', ps], { stdio: 'pipe' });
  • scripts/x-article.ts:1exec-spawn
    import { spawn } from 'node:child_process';
  • scripts/x-browser.ts:1exec-spawn
    import { spawn } from 'node:child_process';
  • scripts/x-quote.ts:1exec-spawn
    import { spawn } from 'node:child_process';
  • scripts/x-utils.ts:1exec-spawn
    import { spawnSync } from 'node:child_process';
  • scripts/x-utils.ts:1exec-spawn
    import { spawnSync } from 'node:child_process';
  • scripts/x-utils.ts:62cred-envread
    const override = process.env.X_BROWSER_CHROME_PATH?.trim();
  • scripts/x-utils.ts:72cred-envread
    const base = process.env.XDG_DATA_HOME || path.join(os.homedir(), '.local', 'share');
  • scripts/x-utils.ts:223exec-spawn
    const result = spawnSync('npx', ['-y', 'bun', scriptPath, ...args], { stdio: 'inherit' });
  • scripts/x-video.ts:1exec-spawn
    import { 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:

  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.

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 6,808
本站分层T1
该仓技能数84
原文件路径skills/content-creation-publisher/baoyu-post-to-x/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 84 个技能