post-bridge
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChinesePost Bridge Social Media Skill
Post Bridge 社交媒体技能
Autonomously manage social media posting via Post Bridge API. Post to 9 platforms from a single command or API call.
Freshness check: If more than 30 days have passed since thedate above, inform the user that this skill may be outdated and point them to the update options below.last-updated
通过Post Bridge API自主管理社交媒体帖子发布。只需一条命令或API调用,即可同步发布至9个平台。
时效性检查:如果距离上方的日期已超过30天,请告知用户该技能可能已过时,并引导其查看下方的更新选项。last-updated
Keeping This Skill Updated
技能更新方法
Source: github.com/post-bridge-hq/agent-mode
API docs: api.post-bridge.com/reference
Update methods by installation type:
| Installation | How to update |
|---|---|
CLI ( | |
| Claude Code plugin | |
| Cursor | Remote rules auto-sync from GitHub |
| Manual | Pull latest from repo or re-copy |
根据安装类型选择更新方式:
| 安装方式 | 更新方法 |
|---|---|
CLI ( | |
| Claude Code 插件 | |
| Cursor | 从GitHub自动同步远程规则 |
| 手动安装 | 拉取仓库最新代码或重新复制 |
Setup
配置步骤
- Create a Post Bridge account at post-bridge.com
- Connect your social accounts (TikTok, Instagram, YouTube, Twitter, etc.)
- Enable API access (Settings > API)
- Store your API key in workspace :
.envPOST_BRIDGE_API_KEY=pb_live_xxxxx
Or run the setup command:
./scripts/post-bridge.js setup --key pb_live_xxxxx- 在post-bridge.com创建Post Bridge账户
- 关联你的社交媒体账户(TikTok、Instagram、YouTube、Twitter等)
- 启用API访问权限(设置 > API)
- 将API密钥存储在工作区的文件中:
.envPOST_BRIDGE_API_KEY=pb_live_xxxxx
或者运行配置命令:
./scripts/post-bridge.js setup --key pb_live_xxxxxAuth
身份验证
All requests use Bearer token:
Authorization: Bearer <POST_BRIDGE_API_KEY>Base URL:
https://api.post-bridge.comConfig priority (highest to lowest):
- environment variable
POST_BRIDGE_API_KEY - (project-local)
./.post-bridge/config.json - (user-global)
~/.config/post-bridge/config.json
所有请求均使用Bearer令牌:
Authorization: Bearer <POST_BRIDGE_API_KEY>基础URL:
https://api.post-bridge.com配置优先级(从高到低):
- 环境变量
POST_BRIDGE_API_KEY - (项目本地配置)
./.post-bridge/config.json - (用户全局配置)
~/.config/post-bridge/config.json
Handling "API key not found" errors
处理“API密钥未找到”错误
When you receive an "API key not found" error from the CLI:
- Tell the user to run the setup command — setup requires user input, so you cannot run it on their behalf:
bash
<skill-path>/scripts/post-bridge.js setup --key pb_live_xxxxx - Stop and wait — do not continue with the task. You cannot create posts or perform any API operations without a valid API key.
- DO NOT search for API keys in env files, keychains, or other locations.
Get your API key at: https://www.post-bridge.com/dashboard/api-keys
Note for agents: All script paths in this document (e.g.,) are relative to the skill directory where this SKILL.md file is located. Resolve them accordingly based on where the skill is installed../scripts/post-bridge.js
当CLI返回“API密钥未找到”错误时:
- 告知用户运行配置命令 — 配置过程需要用户输入,你无法代劳:
bash
<skill-path>/scripts/post-bridge.js setup --key pb_live_xxxxx - 停止操作并等待 — 没有有效的API密钥,无法创建帖子或执行任何API操作。
- 禁止在环境文件、密钥链或其他位置搜索API密钥。
Agent注意事项:本文档中的所有脚本路径(如)均相对于该SKILL.md文件所在的技能目录。请根据技能的实际安装位置解析路径。./scripts/post-bridge.js
CLI Commands
CLI命令
| Command | Description |
|---|---|
| Configure API key |
| List connected social accounts |
| Create a post |
| Schedule a post |
| Upload media, returns media_id |
| Post with media |
| List recent posts |
| Get post details and status |
| Delete a scheduled/draft post |
| View analytics across platforms |
| Refresh analytics data |
| Check per-platform posting results |
| List uploaded media |
| Delete uploaded media |
| 命令 | 描述 |
|---|---|
| 配置API密钥 |
| 列出已关联的社交媒体账户 |
| 创建帖子 |
| 排期发布帖子 |
| 上传媒体文件,返回media_id |
| 发布带媒体的帖子 |
| 列出近期帖子 |
| 获取帖子详情及状态 |
| 删除已排期/草稿帖子 |
| 查看跨平台数据分析 |
| 刷新数据分析数据 |
| 检查各平台帖子发布结果 |
| 列出已上传的媒体文件 |
| 删除已上传的媒体文件 |
API Reference
API参考
Use these endpoints directly if you prefer raw API calls over the CLI.
如果你偏好直接调用原生API而非使用CLI,可以使用以下端点。
Social Accounts
社交媒体账户
GET /v1/social-accountsReturns array of connected accounts with , , . Store these IDs — you need them for every post.
idplatformusernameGET /v1/social-accounts返回已关联账户数组,包含、、。请保存这些ID — 发布每个帖子都需要用到。
idplatformusernameUpload Media
上传媒体
POST /v1/media/create-upload-url
Body: { "mime_type": "video/mp4", "size_bytes": <int>, "name": "video.mp4" }Returns + . Then:
media_idupload_urlPUT <upload_url>
Content-Type: video/mp4
Body: <binary file>List media:
GET /v1/media?limit=50&offset=0Delete media:
DELETE /v1/media/<media_id>POST /v1/media/create-upload-url
请求体: { "mime_type": "video/mp4", "size_bytes": <int>, "name": "video.mp4" }返回 + 。然后执行:
media_idupload_urlPUT <upload_url>
Content-Type: video/mp4
请求体: <二进制文件>列出媒体文件:
GET /v1/media?limit=50&offset=0删除媒体文件:
DELETE /v1/media/<media_id>Create Post
创建帖子
POST /v1/posts
Body: {
"caption": "your caption here #hashtags",
"media": ["<media_id>"],
"social_accounts": [<account_id_1>, <account_id_2>],
"scheduled_at": "2026-01-01T14:00:00Z", // omit for instant post
"is_draft": false, // true to save as draft
"use_queue": true, // optional, auto-schedule to next queue slot (uses saved timezone)
"platform_configurations": { ... }, // optional, see below
"account_configurations": { // optional, per-account overrides
"account_configurations": [
{ "account_id": 1, "caption": "override for this account" }
]
}
}Queue scheduling ():
use_queue- Pass to auto-schedule using the user's saved timezone from their dashboard settings
true - Pass to override with a specific IANA timezone
{ "timezone": "America/New_York" } - Cannot be used together with — pick one or the other
scheduled_at - Timezone priority: explicit timezone > saved profile/workspace timezone > UTC
- Queue slots are scoped to the workspace of the selected social accounts
- The queue schedule is configured by the user in their Post Bridge dashboard
- If is enabled, the slot time will be offset by up to ±10 minutes for a more natural posting pattern
randomize_queue_time - Returns an error if no queue schedule is configured or no slots are available in the next 90 days
POST /v1/posts
请求体: {
"caption": "你的帖子文案 #话题标签",
"media": ["<media_id>"],
"social_accounts": [<account_id_1>, <account_id_2>],
"scheduled_at": "2026-01-01T14:00:00Z", // 省略则立即发布
"is_draft": false, // 设置为true则保存为草稿
"use_queue": true, // 可选,自动排期到下一个队列时段(使用已保存的时区)
"platform_configurations": { ... }, // 可选,详见下文
"account_configurations": { // 可选,按账户覆盖配置
"account_configurations": [
{ "account_id": 1, "caption": "该账户的专属文案" }
]
}
}队列排期():
use_queue- 设置为时,将使用用户在仪表板中保存的时区自动排期
true - 传入可覆盖为指定的IANA时区
{ "timezone": "America/New_York" } - 不能与同时使用 — 二选一
scheduled_at - 时区优先级:显式指定时区 > 已保存的个人/工作区时区 > UTC
- 队列时段与所选社交媒体账户所属的工作区绑定
- 队列排期由用户在Post Bridge仪表板中配置
- 如果启用,时段将随机偏移±10分钟,模拟更自然的发布节奏
randomize_queue_time - 如果未配置队列排期或未来90天内无可用时段,将返回错误
List Posts
列出帖子
GET /v1/posts?limit=50&offset=0&status=scheduled&platform=instagramParams: , , (scheduled/published/failed/draft), .
limitoffsetstatusplatformGET /v1/posts?limit=50&offset=0&status=scheduled&platform=instagram参数:、、(scheduled/published/failed/draft)、。
limitoffsetstatusplatformGet Post
获取帖子详情
GET /v1/posts/<post_id>Returns full post details including status: , , , .
processingscheduledpostedfailedGET /v1/posts/<post_id>返回完整帖子详情,包括状态:、、、。
processingscheduledpostedfailedUpdate Post
更新帖子
PATCH /v1/posts/<post_id>
Body: { "caption": "new caption", "scheduled_at": "...", "social_accounts": [...] }Can update caption, schedule, accounts, media, platform configs, or draft status. Only works on scheduled/draft posts.
PATCH /v1/posts/<post_id>
请求体: { "caption": "新文案", "scheduled_at": "...", "social_accounts": [...] }可更新文案、排期、关联账户、媒体、平台配置或草稿状态。仅对已排期/草稿帖子生效。
Delete Post
删除帖子
DELETE /v1/posts/<post_id>Only works on scheduled/draft posts (cannot delete published posts).
DELETE /v1/posts/<post_id>仅对已排期/草稿帖子生效(无法删除已发布的帖子)。
Post Results
帖子发布结果
GET /v1/post-results?post_id=<post_id>&limit=50&offset=0Returns per-platform results showing whether each platform post succeeded or failed, with error details.
GET /v1/post-results?post_id=<post_id>&limit=50&offset=0返回各平台的发布结果,显示每个平台的帖子发布成功或失败状态及错误详情。
Analytics
数据分析
List analytics — views, likes, comments, shares per post:
GET /v1/analytics?platform=tiktok&limit=50&offset=0&timeframe=30dParams:
- (optional):
platform,tiktok,youtubeinstagram - (optional):
timeframe,7d,30d,90d(default:all)all - ,
limitfor paginationoffset
Returns:
json
{
"data": [
{
"id": "...",
"post_result_id": "...",
"platform": "tiktok",
"platform_post_id": "...",
"view_count": 4062,
"like_count": 120,
"comment_count": 15,
"share_count": 8,
"cover_image_url": "https://...",
"share_url": "https://...",
"video_description": "...",
"duration": 30,
"platform_created_at": "2026-03-01T09:00:00Z",
"last_synced_at": "2026-03-03T12:00:00Z",
"match_confidence": "exact"
}
],
"count": 42,
"limit": 50,
"offset": 0
}Sync analytics — refresh data from connected platforms:
POST /v1/analytics/sync?platform=tiktokTriggers a background sync of analytics data. Supports all tracked platforms: TikTok, YouTube, and Instagram.
Params:
- (optional):
platform,tiktok, oryoutube— sync only one platform. Omit to sync all.instagram
Returns:
json
{
"triggered": [
{ "platform": "tiktok", "runId": "run_..." },
{ "platform": "youtube", "runId": "run_..." },
{ "platform": "instagram", "runId": "run_..." }
]
}Get single analytics record:
GET /v1/analytics/<analytics_id>列出数据分析 — 每篇帖子的浏览量、点赞数、评论数、分享数:
GET /v1/analytics?platform=tiktok&limit=50&offset=0&timeframe=30d参数:
- (可选):
platform、tiktok、youtubeinstagram - (可选):
timeframe、7d、30d、90d(默认:all)all - 、
limit用于分页offset
返回结果:
json
{
"data": [
{
"id": "...",
"post_result_id": "...",
"platform": "tiktok",
"platform_post_id": "...",
"view_count": 4062,
"like_count": 120,
"comment_count": 15,
"share_count": 8,
"cover_image_url": "https://...",
"share_url": "https://...",
"video_description": "...",
"duration": 30,
"platform_created_at": "2026-03-01T09:00:00Z",
"last_synced_at": "2026-03-03T12:00:00Z",
"match_confidence": "exact"
}
],
"count": 42,
"limit": 50,
"offset": 0
}同步数据分析 — 从关联平台刷新数据:
POST /v1/analytics/sync?platform=tiktok触发数据分析数据的后台同步。支持所有追踪平台:TikTok、YouTube和Instagram。
参数:
- (可选):
platform、tiktok或youtube— 仅同步指定平台。省略则同步所有平台。instagram
返回结果:
json
{
"triggered": [
{ "platform": "tiktok", "runId": "run_..." },
{ "platform": "youtube", "runId": "run_..." },
{ "platform": "instagram", "runId": "run_..." }
]
}获取单个数据分析记录:
GET /v1/analytics/<analytics_id>MCP Integration
MCP集成
Post Bridge has a native MCP (Model Context Protocol) server. If you're using Claude Desktop, ChatGPT, Cursor, or any MCP-compatible client, you can connect directly without this skill.
Claude Desktop: One-click connect at post-bridge.com/mcp
Claude Code / Cursor / Other MCP clients — add to your MCP config:
json
{
"mcpServers": {
"post-bridge": {
"type": "streamable-http",
"url": "https://mcp.post-bridge.com/mcp"
}
}
}MCP Tools available (11 tools):
| Tool | Description |
|---|---|
| List all connected accounts with IDs, platforms, usernames |
| Create/schedule a post. Accepts caption, accounts, media_urls, schedule, use_queue (true or {timezone}), platform configs |
| List posts with filters (platform, status, limit, offset) |
| Get full post details by ID |
| Update caption, schedule, accounts, or media on a scheduled/draft post |
| Delete a scheduled or draft post |
| Get analytics (views, likes, comments, shares) with platform/timeframe filters |
| Trigger a background refresh of analytics data. Optional |
| Check per-platform posting results (success/failure with error details) |
| List uploaded media files with IDs and URLs |
| Delete an uploaded media file |
MCP tools accept (public URLs) — the server downloads and uploads them automatically. No need to manually upload media when using MCP.
media_urlsPost Bridge内置MCP(Model Context Protocol)服务器。如果你使用Claude Desktop、ChatGPT、Cursor或任何支持MCP的客户端,可以直接连接,无需使用本技能。
Claude Desktop:一键连接请访问post-bridge.com/mcp
Claude Code / Cursor / 其他MCP客户端 — 添加到你的MCP配置中:
json
{
"mcpServers": {
"post-bridge": {
"type": "streamable-http",
"url": "https://mcp.post-bridge.com/mcp"
}
}
}可用MCP工具(共11个):
| 工具 | 描述 |
|---|---|
| 列出所有已关联账户,包含ID、平台、用户名 |
| 创建/排期帖子。支持文案、账户、media_urls、排期、use_queue(true或{timezone})、平台配置 |
| 列出帖子,支持筛选(平台、状态、数量、偏移量) |
| 通过ID获取完整帖子详情 |
| 更新已排期/草稿帖子的文案、排期、账户或媒体 |
| 删除已排期或草稿帖子 |
| 获取数据分析(浏览量、点赞数、评论数、分享数),支持平台/时间范围筛选 |
| 触发数据分析数据的后台刷新。可选 |
| 检查各平台帖子发布结果(成功/失败及错误详情) |
| 列出已上传的媒体文件,包含ID和URL |
| 删除已上传的媒体文件 |
MCP工具支持(公共URL) — 服务器会自动下载并上传这些文件。使用MCP时无需手动上传媒体。
media_urlsPlatform Configurations
平台配置
Pass inside object on post creation, or use with the CLI:
platform_configurations--platform-configTikTok:
- — save as draft (publish manually on TikTok with trending sound)
draft: true - — cover thumbnail at 3 seconds
video_cover_timestamp_ms: 3000 - — label as AI-generated content
is_aigc: true
Instagram:
- — cover thumbnail
video_cover_timestamp_ms: 3000 - — trial reel mode (needs 1000+ followers)
is_trial_reel: true - — auto-graduate based on performance
trial_graduation: "SS_PERFORMANCE"
YouTube:
- — cover thumbnail
video_cover_timestamp_ms: 3000 - — override post title
title: "My Short Title"
Twitter/X:
- — platform-specific caption
caption: "override caption"
Pinterest:
- — pin title
title: "Pin Title" - — destination URL
link: "https://..." - — target boards
board_ids: ["board_id"]
All platforms support and overrides for per-platform customization.
captionmedia在创建帖子时,可将配置传入对象,或在CLI中使用参数:
platform_configurations--platform-configTikTok:
- — 保存为草稿(可在TikTok手动添加热门音效后发布)
draft: true - — 封面缩略图取第3秒画面
video_cover_timestamp_ms: 3000 - — 标记为AI生成内容
is_aigc: true
Instagram:
- — 封面缩略图
video_cover_timestamp_ms: 3000 - — 试用Reel模式(需要1000+粉丝)
is_trial_reel: true - — 根据表现自动毕业
trial_graduation: "SS_PERFORMANCE"
YouTube:
- — 封面缩略图
video_cover_timestamp_ms: 3000 - — 覆盖帖子标题
title: "My Short Title"
Twitter/X:
- — 平台专属文案
caption: "override caption"
Pinterest:
- — Pin标题
title: "Pin Title" - — 目标URL
link: "https://..." - — 目标看板
board_ids: ["board_id"]
所有平台均支持和的按平台自定义覆盖。
captionmediaRecommended Workflow for Video Content
视频内容推荐工作流
- Store videos in a local folder
- Extract a frame with ffmpeg to read any text overlays:
ffmpeg -i video.mp4 -ss 00:00:04 -frames:v 1 frame.jpg -y - Write caption based on video content + hashtags
- Upload → create post → schedule or post instantly
- Move posted videos to a subfolder to avoid duplicates
posted/ - Set a cron to check post status 5 mins after scheduled time
- Track performance by checking post results or analytics
- 将视频存储在本地文件夹
- 使用ffmpeg提取一帧画面,识别文字叠加层:
ffmpeg -i video.mp4 -ss 00:00:04 -frames:v 1 frame.jpg -y - 根据视频内容+话题标签撰写文案
- 上传媒体 → 创建帖子 → 排期或立即发布
- 将已发布的视频移至子文件夹,避免重复发布
posted/ - 设置定时任务,在排期发布5分钟后检查帖子状态
- 通过查看发布结果或数据分析追踪表现
Automation Guidelines
自动化指南
When automating posts, follow these rules to keep accounts in good standing:
- No duplicate content across multiple accounts on the same platform
- No unsolicited automated replies — only post original content or when explicitly requested
- No trending manipulation — don't mass-post about trending topics across accounts
- No fake engagement — don't automate likes, follows, or comments
- Respect rate limits — the API has rate limits, don't spam requests
- Use draft mode for review — when in doubt, use or TikTok's
is_draft: trueso the user can review before publishingdraft: true
Publishing confirmation: Unless the user explicitly asks to "post now" or "publish immediately", always confirm before posting. Creating a draft is safe; posting is irreversible and goes live instantly.
自动化发布帖子时,请遵循以下规则,确保账户状态良好:
- 同一平台的多个账户不得发布重复内容
- 不得自动发送未经请求的回复 — 仅发布原创内容或在明确要求时发布
- 不得操纵热门话题 — 不要跨账户批量发布热门话题内容
- 不得伪造互动数据 — 不要自动化点赞、关注或评论操作
- 遵守速率限制 — API有调用频率限制,请勿 spam 请求
- 使用草稿模式进行审核 — 不确定时,设置或TikTok的
is_draft: true,让用户在发布前审核draft: true
发布确认:除非用户明确要求“立即发布”,否则发布前务必确认。创建草稿是安全的;而发布操作不可逆,会立即上线。
Platform Names
平台名称规范
Use these exact names for platform filtering and configurations:
- — Instagram (Reels, Stories, Feed)
instagram - — TikTok
tiktok - — YouTube (Shorts)
youtube - — X (formerly Twitter)
twitter linkedinfacebookpinterest- — Threads
threads - — Bluesky
bluesky
筛选平台和配置时,请使用以下精确名称:
- — Instagram(Reels、Stories、Feed)
instagram - — TikTok
tiktok - — YouTube(Shorts)
youtube - — X(原Twitter)
twitter linkedinfacebookpinterest- — Threads
threads - — Bluesky
bluesky
Tips
技巧提示
- Post to multiple platforms simultaneously by including multiple account IDs
- Stagger posts throughout the day (e.g. 9am + 3pm) for better reach
- Use to pre-schedule batches — Post Bridge handles the timing
scheduled_at - Use to auto-schedule posts to the user's next available queue slot using their saved timezone — no need to pick a time manually
use_queue: true - TikTok draft mode lets you add trending sounds manually before publishing
- Keep hashtags to 4-5 per post for best engagement
- Check after posting to see per-platform success/failure
results - Use to refresh data before checking analytics
analytics:sync - Monitor what works and iterate on captions/formats
- Use flag when testing to avoid accidental publishing
--draft - Character limits vary by platform — keep captions concise for X (280 chars)
- 传入多个账户ID,可同时发布至多个平台
- 分时段发布(如上午9点+下午3点)以获得更好的触达效果
- 使用批量预排期帖子 — Post Bridge会自动处理时间
scheduled_at - 使用,可根据用户保存的时区自动排期到下一个可用队列时段 — 无需手动选择时间
use_queue: true - TikTok草稿模式允许你在发布前手动添加热门音效
- 每篇帖子建议使用4-5个话题标签,以获得最佳互动效果
- 发布后查看,确认各平台发布成功/失败情况
results - 查看数据分析前,使用刷新数据
analytics:sync - 跟踪有效策略,迭代优化文案和内容格式
- 测试时使用标志,避免意外发布
--draft - 不同平台的字符限制不同 — X平台请将文案控制在280字符以内