← Back to Skills Marketplace
aaazzzr

fb_page_manager

by AAAZZZR · GitHub ↗ · v2.0.0
cross-platform ✓ Security Clean
385
Downloads
3
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install fb-page-manager
Description
Publish posts to a Facebook Page via the Meta Graph API. Use when the user says "post to Facebook", "FB post", "粉專發文", "社群貼文", "幫我發文", "schedule post", "排程發文...
README (SKILL.md)

Facebook Page Poster

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

Environment Variables

Variable Purpose
LONG_META_page_TOKEN Long-lived Page Access Token with pages_manage_posts and pages_read_engagement permissions
META_PAGE_ID Numeric Page ID
META_APP_SECRET Meta 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

Error Likely cause Fix
OAuthException / Invalid token Token expired Refresh via {baseDir}/references/token-setup-guide.md
Permission denied Missing pages_manage_posts Re-authorize token with correct scopes
Scheduled time in past Must be ≥10 min in the future Adjust the timestamp
Image too large >10 MB Compress or resize
Rate limit Too many requests Wait a few minutes, retry
Usage Guidance
This skill appears to do exactly what it says: post to a Facebook Page using the Graph API. Before installing, ensure you: (1) limit the token’s scopes to only what’s required (pages_manage_posts, pages_read_engagement), (2) avoid putting long-lived page tokens in shared or world-readable config files if you care about limiting exposure — prefer ephemeral tokens or secure credential storage and rotate tokens regularly, (3) confirm your agent will present the preview and require explicit user confirmation before running the node script (the CLI itself won’t prompt), (4) be cautious when supplying local file paths to upload (the script will read the file you pass), and (5) verify your environment runs a supported Node version (fetch is used). If any of these are unacceptable, do not install or do not populate the long-lived token in a shared config.
Capability Analysis
Type: OpenClaw Skill Name: fb-page-manager Version: 2.0.0 The skill bundle is a legitimate tool for publishing posts to a Facebook Page via the Meta Graph API. The Node.js script (scripts/fb-post.js) correctly implements the API calls using standard security practices like appsecret_proof, and the instructions (SKILL.md) explicitly require a user review step before any action is taken, preventing unauthorized automated posting.
Capability Assessment
Purpose & Capability
Name/description, required binaries (node), required env vars (page token, page id, app secret), and the included script all align with the stated purpose of publishing to the Meta Graph API.
Instruction Scope
SKILL.md properly limits actions to drafting, previewing, and calling the provided script. It instructs the agent to always preview and obtain user confirmation before publishing, but the provided CLI script itself does not enforce interactive confirmation — the safety depends on the agent following the SKILL.md workflow.
Install Mechanism
No install spec is provided (instruction-only install) and the code files are included in the skill bundle. The only runtime requirement is Node; no external downloads, unusual installers, or third-party package pulls are present.
Credentials
Requested environment variables (LONG_META_page_TOKEN, META_PAGE_ID, META_APP_SECRET) are exactly those needed to post and compute appsecret_proof. Caveat: the token setup guide suggests storing the long-lived Page token in shell profile or in ~/.openclaw/openclaw.json — storing long-lived tokens in a shared skill/agent config increases exposure to other skills and processes, so users should consider storage and rotation policies.
Persistence & Privilege
Skill does not request always:true or other elevated platform privileges. It does not modify other skills or system-wide settings. Autonomous invocation is enabled by default (normal) but should be combined with the confirmation step described in SKILL.md.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install fb-page-manager
  3. After installation, invoke the skill by name or use /fb-page-manager
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v2.0.0
Initial release. - Skill renamed from "fb-page-manager" to "fb-page-poster". - Reorganized file structure: scripts and guides relocated under respective subdirectories. - No functional changes; initial setup and workflow documentation provided.
v1.0.0
Initial release of Facebook Page Poster skill. - Enables publishing posts to a Facebook Page using the Meta Graph API. - Supports text-only, image, link-in-comment, scheduled posts, and ZH↔EN multilingual translation. - Always previews content and requests user confirmation before publishing. - Automatically parses post type, tone, schedule, and content from user requests. - Provides detailed error messages and environment variable setup guidance.
Metadata
Slug fb-page-manager
Version 2.0.0
License
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is fb_page_manager?

Publish posts to a Facebook Page via the Meta Graph API. Use when the user says "post to Facebook", "FB post", "粉專發文", "社群貼文", "幫我發文", "schedule post", "排程發文... It is an AI Agent Skill for Claude Code / OpenClaw, with 385 downloads so far.

How do I install fb_page_manager?

Run "/install fb-page-manager" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is fb_page_manager free?

Yes, fb_page_manager is completely free (open-source). You can download, install and use it at no cost.

Which platforms does fb_page_manager support?

fb_page_manager is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created fb_page_manager?

It is built and maintained by AAAZZZR (@aaazzzr); the current version is v2.0.0.

💬 Comments