Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

fb_page_manager

v2.0.0

Publish posts to a Facebook Page via the Meta Graph API. Use when the user says "post to Facebook", "FB post", "粉專發文", "社群貼文", "幫我發文", "schedule post", "排程發文...

3· 392· 2 versions· 0 current· 0 all-time· Updated 10h ago· MIT-0

Install

openclaw skills install fb-page-manager

Facebook Page Poster

Publish content to a Facebook Page through the Meta Graph API.

Environment Variables

VariablePurpose
LONG_META_page_TOKENLong-lived Page Access Token with pages_manage_posts and pages_read_engagement permissions
META_PAGE_IDNumeric Page ID
META_APP_SECRETMeta App Secret for appsecret_proof

If any are missing, walk the user through {baseDir}/references/token-setup-guide.md.

Workflow

1. Parse the request

Extract from the user message:

  • Content: the text to post
  • Language direction: ZH→EN, EN→ZH, ZH→ZH, or EN→EN
  • Post type: text | image | link-in-comment | scheduled (combinable)
  • Tone: infer automatically — marketing/social (upbeat, CTA) for promotions and events; formal/professional for announcements and corporate. Ask if ambiguous.
  • Image: local file path or URL (if applicable)
  • Schedule: ISO 8601 timestamp (if applicable)
  • Link: URL for the first comment (if applicable)

2. Draft and translate — always preview first

Never publish without user confirmation.

If source language differs from target, translate with these rules:

  • Preserve meaning, intent, hashtags
  • Adapt idioms naturally, do not translate literally
  • Keep brand names and proper nouns in original form
  • Maintain emoji usage unless unnatural in target language

Present preview:

📋 Post Preview
─────────────────
[Post text here]

🔗 First comment: [URL or N/A]
🖼️ Image: [filename/URL or N/A]
⏰ Schedule: [time or "Publish immediately"]
─────────────────
Confirm? (yes / edit / cancel)

3. Publish

Run the script at {baseDir}/scripts/fb-post.js:

# Text-only
node {baseDir}/scripts/fb-post.js --type text --message "content"

# Image (file)
node {baseDir}/scripts/fb-post.js --type image --message "content" --image-file /path/to/img.jpg

# Image (URL)
node {baseDir}/scripts/fb-post.js --type image --message "content" --image-url "https://..."

# Link in first comment
node {baseDir}/scripts/fb-post.js --type text --message "content" --comment-link "https://..."

# Scheduled (append to any above)
node {baseDir}/scripts/fb-post.js --type text --message "content" --schedule "2025-12-25T10:00:00+0800"

Flags are combinable. Example — image + comment link + scheduled:

node {baseDir}/scripts/fb-post.js --type image --message "content" --image-url "https://..." --comment-link "https://..." --schedule "2025-12-25T10:00:00+0800"

4. Report result

  • Show the post ID
  • Confirm comment was posted (if link-in-comment)
  • Confirm scheduled time (if scheduled)
  • On error, show the message and suggest a fix

Error reference

ErrorLikely causeFix
OAuthException / Invalid tokenToken expiredRefresh via {baseDir}/references/token-setup-guide.md
Permission deniedMissing pages_manage_postsRe-authorize token with correct scopes
Scheduled time in pastMust be ≥10 min in the futureAdjust the timestamp
Image too large>10 MBCompress or resize
Rate limitToo many requestsWait a few minutes, retry

Version tags

latestvk973ws9pd98kr2gs3g8mfk1p6x82bz87

Runtime requirements

📘 Clawdis
Binsnode
EnvLONG_META_page_TOKEN, META_PAGE_ID, META_APP_SECRET
Primary envLONG_META_page_TOKEN