원클릭으로
twitter-post
Compose and publish a post (text, image, or video) to Twitter/X using the browser. Supports single and thread posts.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Compose and publish a post (text, image, or video) to Twitter/X using the browser. Supports single and thread posts.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Publish videos to Bilibili (B站) via Open Platform API (OAuth2). Supports chunked video upload, cover image, tags, and partition selection. Requires BILIBILI_APP_ID and BILIBILI_APP_SECRET environment variables.
内容校准预测循环——打分 → 盲预测 → T+3d复盘 → 进化 rubric。按平台独立迭代,每个平台拥有自己的 rubric、校准池、预测日志、受众画像。本技能负责打分(blind sub-agent + score-only.sh + 阈值门 + 流程 1A)与校准闭环;发布记录与数据采集由 published-track 统一管理。
口播视频去口误。自动识别并删除静音、语气词、卡顿词、重复句、残句等,输出干净视频+字幕+剪映草稿。触发词:去口误、剪口播、de-mouth、去除口误
Generate custom WeChat CSS themes from natural language descriptions, WeChat article URLs, or recent articles from a WeChat Official Account. Produces a valid CSS file conforming to wenyan and ready for wx-mp-publisher.
一站式短视频制作。支持文章链接、追爆报告、文字主题等多种输入,用 gen.py 直连火山 Seedance / 阿里云百炼 Wan2.7-HappyHorse 端点生成视频素材(声画同出),FFmpeg 组装成片。
通过浏览器自动化发布视频到微信视频号。处理 wujie shadow DOM,支持视频上传、标题描述填写、即时发布。
| name | twitter-post |
| description | Compose and publish a post (text, image, or video) to Twitter/X using the browser. Supports single and thread posts. |
| metadata | {"openclaw":{"emoji":"🐦"}} |
Use this skill when:
Prerequisites: The browser session must be logged in to x.com. Warm up with a homepage visit if session is cold.
/tmp/openclaw/uploads/(browser 工具沙箱限制)browser upload 工具可能返回「超时错误」,但这不代表上传失败!上传后用 snapshot 检查页面状态(缩略图是否出现)input.files.length 是否为 0 判定上传是否失败! input.files.length == 0 不代表上传失败。browser failed: timed out. Restart the OpenClaw gateway ... 错误时,不需要重启、不需要报错!等待 30 秒后在原页面继续操作即可。若仍无法操作,再等 30 秒;若还不行,尝试关闭浏览器后重开;只有关闭重开后仍报错才是真的出错,需停止并反馈用户。type + slowly: true,不要用 fill()1. Navigate to https://x.com/compose/post
2. Wait for the compose box to load
3. Click into the text area and type the content
- Plain text only (no Markdown)
- Max 280 characters for standard accounts
4. Verify character count — trim if over limit
5. **立即点击 "Post" 按钮——不要等待用户确认!**
6. Wait for success confirmation (URL changes or "Your post was sent" toast)
7. Extract and report the post URL
1. Navigate to https://x.com/compose/post
2. Wait for the compose box to load
3. Click the media icon (camera/photo button below compose box)
4. Upload the image file using the file picker
5. Wait for image upload to complete (thumbnail appears)
6. Click into the caption area and type the caption
- Plain text only (no Markdown)
- Max 280 characters for standard accounts
7. **立即点击 "Post" 按钮——不要等待用户确认!**
8. Wait for confirmation and report the post URL
Patchright 1.60+:也可用 locator.drop() 直接拖拽图片到 compose 区域:
const imgBuf = fs.readFileSync(imagePath);
await page.locator('[data-testid="tweetTextarea_0"]').drop({
files: { name: 'image.png', mimeType: 'image/png', buffer: imgBuf }
});
1. Navigate to https://x.com/compose/post
2. Click the media icon
3. Upload the video file (MP4 recommended, max 512MB, max 2min 20sec)
4. Wait for video processing — this can take 30–120 seconds or more for larger files. Look for the thumbnail preview to confirm completion.
5. Click into the caption area and type the caption
- Plain text only (no Markdown)
- Max 280 characters for standard accounts
6. **立即点击 "Post" 按钮——不要等待用户确认!**
7. Wait for upload confirmation and report the post URL
1. Navigate to https://x.com/compose/post
2. Click into the compose box and type the first tweet
- Plain text only (no Markdown)
- Max 280 characters for standard accounts
3. Click the "+" icon to add another tweet to the thread
4. Click into the new compose box and type the second tweet
- Plain text only (no Markdown)
- Max 280 characters for standard accounts
5. Repeat for each additional tweet
6. Click "Post all" to publish the full thread
| Type | Limit |
|---|---|
| Text | 280 characters (standard) |
| Images | Up to 4 per post |
| Video | Max 512 MB, max 2m 20s |
| GIF | Max 15 MB |
| Situation | Action |
|---|---|
| Login page appears | Session expired — inform user to re-login via browser |
| Character limit exceeded | Trim content or use thread format |
| Media upload fails | Retry once; check file format and size |
| Rate limit error | Wait 15 minutes before retrying |
| Post button greyed out | Content is empty or over limit — check before clicking |