release-skills
Universal release workflow. Auto-detects version files and changelogs. Supports Node.js, Python, Rust, Claude Plugin, and generic…
Posts content and articles to X (Twitter). Supports regular posts with images/videos and X Articles (long-form Markdown). Uses real Chrome with CDP to bypass anti-automation. Use when user asks to "post to X", "tweet", "publish to Twitter", or "share on X".
$ npx -y skills add freestylefly/canghe-skills --skill canghe-post-to-x --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/canghe-post-to-xContext preview
The summary Claude sees to decide when to auto-load this skill.
Posts content and articles to X (Twitter). Supports regular posts with images/videos and X Articles (long-form Markdown). Uses real Chrome with CDP to bypass anti-automation. Use when user asks to "post to X", "tweet", "publish to Twitter", or "share on X".
name: canghe-post-to-x description: Posts content and articles to X (Twitter). Supports regular posts with images/videos and X Articles (long-form Markdown). Uses real Chrome with CDP to bypass anti-automation. Use when user asks to "post to X", "tweet", "publish to Twitter", or "share on X".
Posts text, images, videos, and long-form articles to X via real Chrome browser (bypasses anti-bot detection).
**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 | | `scripts/check-paste-permissions.ts` | Verify environment & permissions |
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
Before first use, suggest running the environment check. User can skip if they prefer.
npx -y bun ${SKILL_DIR}/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 | 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) |
---
Text + up to 4 images.
npx -y bun ${SKILL_DIR}/scripts/x-browser.ts "Hello!" --image ./photo.png**Parameters**: | 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.
---
Text + video file.
npx -y bun ${SKILL_DIR}/scripts/x-video.ts "Check this out!" --video ./clip.mp4**Parameters**: | 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.
**Limits**: Regular 140s max, Premium 60min. Processing: 30-60s.
---
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 | |-----------|-------------| | `<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.
---
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>` | Markdown file (positional) | | `--cover <path>` | Cover image | | `--title <text>` | Override title |
**Frontmatter**: `title`, `cover_image` supported in Y
Skills shared by Canghe for improving daily work efficiency with Claude Code.
Universal release workflow. Auto-detects version files and changelogs. Supports Node.js, Python, Rust, Claude Plugin, and generic…
Analyzes article structure, identifies positions requiring visual aids, generates illustrations with Type × Style two-dimension…
Knowledge comic creator supporting multiple art styles and tones. Creates original educational comics with detailed panel layouts…
Compresses images to WebP (default) or PNG with automatic tool selection. Use when user asks to "compress image", "optimize…
Generates article cover images with 5 dimensions (type, palette, rendering, text, mood) combining 9 color palettes and 6…
Generates images and text via reverse-engineered Gemini Web API. Supports text generation, image generation from prompts,…