canghe-post-to-x

安装量: 97
排名: #8481

安装

npx skills add https://github.com/freestylefly/canghe-skills --skill canghe-post-to-x
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/.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 scripts/check-paste-permissions.ts Verify environment & permissions Preferences (EXTEND.md) Use Bash to check EXTEND.md existence (priority order):

Check project-level first

test -f .canghe-skills/canghe-post-to-x/EXTEND.md && echo "project"

Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)

test
-f
"
$HOME
/.canghe-skills/canghe-post-to-x/EXTEND.md"
&&
echo
"user"
┌──────────────────────────────────────────────────┬───────────────────┐
│ Path │ Location │
├──────────────────────────────────────────────────┼───────────────────┤
│ .canghe-skills/canghe-post-to-x/EXTEND.md │ Project directory │
├──────────────────────────────────────────────────┼───────────────────┤
│ $HOME/.canghe-skills/canghe-post-to-x/EXTEND.md │ User home │
└──────────────────────────────────────────────────┴───────────────────┘
┌───────────┬───────────────────────────────────────────────────────────────────────────┐
│ Result │ Action │
├───────────┼───────────────────────────────────────────────────────────────────────────┤
│ Found │ Read, parse, apply settings │
├───────────┼───────────────────────────────────────────────────────────────────────────┤
│ Not 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.
npx
-y
bun
${SKILL_DIR}
/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:
Check
Fix
Chrome
Install Chrome or set
X_BROWSER_CHROME_PATH
env var
Profile dir
Ensure
~/.local/share/x-browser-profile
is writable
Bun runtime
curl -fsSL https://bun.sh/install | bash
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
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
Parameters
:
Parameter
Description
Post content (positional)
--image
Image file (repeatable, max 4)
--profile
Custom Chrome profile
Note
Script opens browser with content filled in. User reviews and publishes manually.
Video Posts
Text + video file.
npx
-y
bun
${SKILL_DIR}
/scripts/x-video.ts
"Check this out!"
--video
./clip.mp4
Parameters
:
Parameter
Description
Post content (positional)
--video
Video file (MP4, MOV, WebM)
--profile
Custom Chrome profile
Note
Script opens browser with content filled in. User reviews and publishes manually.
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!"
Parameters
:
Parameter
Description
URL to quote (positional)
Comment text (positional, optional)
--profile
Custom Chrome profile
Note
Script opens browser with content filled in. User reviews and publishes manually.
X Articles
Long-form Markdown articles (requires X Premium).
npx
-y
bun
${SKILL_DIR}
/scripts/x-article.ts article.md
npx
-y
bun
${SKILL_DIR}
/scripts/x-article.ts article.md
--cover
./cover.jpg
Parameters
:
Parameter
Description
Markdown file (positional)
--cover
Cover image
--title
Override title
Frontmatter
:
title
,
cover_image
supported in YAML front matter.
Note
Script opens browser with article filled in. User reviews and publishes manually.
Troubleshooting
Chrome debug port not ready
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
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) All scripts only fill content into the browser, user must review and publish manually Cross-platform: macOS, Linux, Windows Extension Support Custom configurations via EXTEND.md. See Preferences section for paths and supported options.
返回排行榜