← 返回 Skills 市场
rkotchamp

agent-Postmoore

作者 Omaano Tetteh · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
86
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install agent-postmoore
功能描述
Autonomously post, schedule, upload media, save drafts, and manage content across Instagram, TikTok, YouTube Shorts, LinkedIn, Facebook, Threads, and Bluesky...
使用说明 (SKILL.md)

Postmoore — Social Media Assistant

Autonomously manage social media posting via the Postmoore API.

Setup

  1. Create a Postmoore account at postmoo.re
  2. Connect your social accounts (Instagram, TikTok, YouTube Shorts, LinkedIn, Facebook, Threads, Bluesky)
  3. Go to Profile → API Keys and generate an API key (Creator or Premium plan required)
  4. Store your key in your workspace .env:
POSTMOORE_API_KEY=pm_live_xxxxx

Auth

All requests use a Bearer token:

Authorization: Bearer \x3CPOSTMOORE_API_KEY>

Base URL: https://postmoo.re/api/v1

Core Workflow

1. Get Social Accounts

GET /accounts

Optional filter by platform:

GET /accounts?platform=tiktok

Supported platform values: instagram · tiktok · ytshorts · linkedin · facebook · threads · bluesky

Returns an array of connected accounts. Each account has:

  • id — use this in every post request
  • platform — the platform name
  • displayName — the account display name
  • platformUsername — username on the platform
  • status — always active

Always fetch account IDs before posting — never guess them.

2. Upload Media

POST /media
Content-Type: multipart/form-data

file: \x3Cbinary>

Supported formats: image/jpeg · image/png · image/gif · image/webp · video/mp4 · video/quicktime · video/webm

Max file size: 100 MB. Storage quota: 5 GB (Creator plan) · 20 GB (Premium plan).

Returns:

{
  "data": {
    "id": "uploads/user123/filename.mp4",
    "type": "video",
    "url": "https://storage.postmoo.re/...",
    "mimeType": "video/mp4",
    "size": 10485760,
    "filename": "video.mp4"
  }
}

Save both id and url — you need both when creating a media post.

3. Create a Post

POST /posts
Content-Type: application/json

Text post (post now):

{
  "contentType": "text",
  "text": "Your caption here #hashtags",
  "accounts": ["\x3Caccount_id_1>", "\x3Caccount_id_2>"],
  "schedule": { "type": "now" }
}

Text post (scheduled):

{
  "contentType": "text",
  "text": "Scheduled caption #hashtags",
  "accounts": ["\x3Caccount_id_1>"],
  "schedule": { "type": "scheduled", "at": "2026-06-01T14:00:00Z" }
}

Media post (image or video):

{
  "contentType": "media",
  "text": "Caption for the post #hashtags",
  "media": [{ "id": "\x3Cid_from_upload>", "url": "\x3Curl_from_upload>" }],
  "accounts": ["\x3Caccount_id_1>", "\x3Caccount_id_2>"],
  "schedule": { "type": "now" }
}

Draft (save without publishing):

{
  "contentType": "text",
  "text": "Draft caption to review",
  "accounts": ["\x3Caccount_id_1>"],
  "schedule": { "type": "draft" }
}

schedule options:

  • { "type": "now" } — publish immediately
  • { "type": "scheduled", "at": "\x3CISO 8601 datetime>" } — schedule for future
  • { "type": "draft" } — save as draft, no publishing

Returns post object with:

  • id — post ID
  • statuspending · scheduled · published · failed · draft
  • accounts — array of { id, platform }
  • results — per-platform result with success, postId, url, error

4. List Posts

GET /posts
GET /posts?status=scheduled
GET /posts?status=draft&page=1&limit=20

Status filters: pending · scheduled · published · failed · draft

Pagination params: page (default 1) · limit (default 20, max 100)

Returns paginated array with data and pagination object containing page, limit, total, totalPages, hasMore.

5. Get a Single Post

GET /posts/\x3Cpost_id>

Returns full post object including per-platform results.

6. Delete a Post

DELETE /posts/\x3Cpost_id>

Only works on posts with status pending or draft. Scheduled and published posts cannot be deleted.

Returns { "data": { "id": "\x3Cpost_id>", "deleted": true } }.

Recommended Workflow for Video Content

  1. Ask the user for the video file path
  2. Extract a frame to understand the content:
    ffmpeg -i video.mp4 -ss 00:00:03 -frames:v 1 frame.jpg -y
    
  3. Read the frame and write a caption with 4–5 relevant hashtags
  4. Upload the video: POST /media
  5. Get account IDs: GET /accounts
  6. Create the post with the media id and url from the upload
  7. Confirm status: GET /posts/\x3Cpost_id>

Tips

  • Post to multiple platforms in one request by including multiple account IDs
  • Use "type": "draft" when the user wants to review content before it goes live
  • Stagger scheduled posts throughout the day for better reach
  • Keep hashtags to 4–5 per post
  • Always confirm account IDs from GET /accounts before every session
  • Check the results array after posting for per-platform success or failure details
  • If a post fails on one platform but succeeds on others, the overall status will be failed — check individual results
安全使用建议
This skill appears to do what it says: it needs a Postmoore API key and will upload media files and call postmoo.re endpoints. Before installing: (1) Verify the service domain (https://postmoo.re) and that you trust Postmoore; (2) Prefer providing the API key via environment variable rather than writing it to a global config file if you are on a shared machine; (3) If you will use video features, install ffmpeg and ensure you consent to the agent being asked for file paths (the skill will read the specified media files to upload); (4) Note the package registry metadata omitted the declared POSTMOORE_API_KEY/homepage — this is likely a metadata error but you may want to confirm the publisher identity and the homepage; (5) Use a scoped or revocable API key (if the service supports it) so you can revoke access if needed.
功能分析
Type: OpenClaw Skill Name: agent-postmoore Version: 1.0.0 The skill is a legitimate integration for the Postmoore social media management service. The Node.js script (scripts/postmoore.js) is a clean CLI wrapper that communicates exclusively with the official API domain (postmoo.re) and uses standard configuration paths for API key storage. The instructions in SKILL.md are well-defined, and the recommended use of ffmpeg for video processing is a standard utility task without signs of malicious intent or prompt injection.
能力标签
requires-oauth-tokenrequires-sensitive-credentials
能力评估
Purpose & Capability
The name/description, SKILL.md, and the included CLI script all align: this is a Postmoore client for uploading and scheduling social posts. The required credential (POSTMOORE_API_KEY) and optional use of ffmpeg for extracting video frames are consistent with the stated purpose. Minor incoherences: the registry summary at the top of the package metadata lists no required env vars and no homepage, while SKILL.md declares POSTMOORE_API_KEY and a homepage (https://postmoo.re). That mismatch is likely an authoring/registry metadata error, not malicious.
Instruction Scope
SKILL.md instructs the agent to upload files, call the Postmoore API endpoints, and (for video) run ffmpeg to extract a frame. The included script reads/writes user config files (~/.config/postmoore/config.json and .postmoore/config.json) to store an API key and reads media files to upload. Those file reads/writes are coherent with the skill's purpose. There are no instructions to read unrelated system files or to send data to unexpected external endpoints beyond postmoo.re/storage endpoints described in the docs.
Install Mechanism
This is instruction-only plus a single CLI script; there is no install spec that downloads/extracts arbitrary archives or runs installers. No high-risk install behavior was found.
Credentials
The only secret the skill needs is POSTMOORE_API_KEY (declared in SKILL.md metadata and used in code). The code supports reading the key from env or from config files. This is proportionate, but be aware the CLI writes the key to a local or global config file by default (global ~/.config/postmoore/config.json) which may be a privacy risk in shared environments.
Persistence & Privilege
The skill does not request 'always: true' and does not modify other skills or global agent settings. It only persists its own config in user paths (expected behavior for a CLI client).
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install agent-postmoore
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /agent-postmoore 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Version 1.1.0 (Postmoore): Major documentation update and workflow clarification. - Added detailed usage instructions for the Postmoore API in SKILL.md, covering setup, authentication, endpoints, and content management. - Included multi-platform posting support information (Instagram, TikTok, YouTube Shorts, LinkedIn, Facebook, Threads, Bluesky). - Documented recommended workflow for video content creation and scheduling. - Outlined tips for best practices and troubleshooting per-platform posting results. - Specified required environment variable and binary dependencies (POSTMOORE_API_KEY, ffmpeg).
元数据
Slug agent-postmoore
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

agent-Postmoore 是什么?

Autonomously post, schedule, upload media, save drafts, and manage content across Instagram, TikTok, YouTube Shorts, LinkedIn, Facebook, Threads, and Bluesky... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 86 次。

如何安装 agent-Postmoore?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install agent-postmoore」即可一键安装,无需额外配置。

agent-Postmoore 是免费的吗?

是的,agent-Postmoore 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

agent-Postmoore 支持哪些平台?

agent-Postmoore 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 agent-Postmoore?

由 Omaano Tetteh(@rkotchamp)开发并维护,当前版本 v1.0.0。

💬 留言讨论