fb-page-poster

Publish posts to a Facebook Page via the Meta Graph API. Use when the user says "post to Facebook", "FB post", "粉專發文", "社群貼文", "幫我發文", "schedule post", "排程發文", or provides content and says "post this" or "publish this". Supports text-only, image, link-in-comment, scheduled posts, and multilingual translation (ZH↔EN) with a review step before publishing.

3,891 stars

Best use case

fb-page-poster is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Publish posts to a Facebook Page via the Meta Graph API. Use when the user says "post to Facebook", "FB post", "粉專發文", "社群貼文", "幫我發文", "schedule post", "排程發文", or provides content and says "post this" or "publish this". Supports text-only, image, link-in-comment, scheduled posts, and multilingual translation (ZH↔EN) with a review step before publishing.

Teams using fb-page-poster should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/fb-page-manager/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/aaazzzr/fb-page-manager/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/fb-page-manager/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How fb-page-poster Compares

Feature / Agentfb-page-posterStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Publish posts to a Facebook Page via the Meta Graph API. Use when the user says "post to Facebook", "FB post", "粉專發文", "社群貼文", "幫我發文", "schedule post", "排程發文", or provides content and says "post this" or "publish this". Supports text-only, image, link-in-comment, scheduled posts, and multilingual translation (ZH↔EN) with a review step before publishing.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# 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`:

```bash
# 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:

```bash
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 |

Related Skills

x-twitter-poster

3891
from openclaw/skills

X (Twitter) 发推 Skill。使用 Playwright 连接用户已登录的 Chrome 浏览器,自动填写并发送推文。 适用场景: - 用户要求"发推"、"发一条推"、"发推文"、"发推特" - 用户要求"帮我发一条关于 XX 的推" - 用户要求"发一条推文,内容是..." 核心能力: - 连接用户 Chrome 浏览器(CDP 模式) - 继承用户的登录状态 - 跨平台支持:Mac (Meta+Enter) / Windows/Linux (Control+Enter) ⚠️ 安全要求: - 仅在信任代码时启用 CDP 端口 - 建议使用单独 Chrome 账号测试 - 可配置 X_USERNAME 环境变量

Content & Documentation

Landing Page Copywriter Lite

3891
from openclaw/skills

Free version — generate hero section copy and run a quick 3-point CRO audit on any landing page.

conference-poster-pitch

3891
from openclaw/skills

Use conference poster pitch for academic writing workflows that need structured execution, explicit assumptions, and clear output boundaries.

Facebook Page & Group Scraper

3891
from openclaw/skills

> Part of **[ScrapeClaw](https://www.scrapeclaw.cc/)** — a suite of production-ready, agentic social media scrapers for Instagram, YouTube, X/Twitter, and Facebook built with Python & Playwright, no API keys required.

one-page-cv

3891
from openclaw/skills

Generate professionally tailored, one-page LaTeX/PDF resumes customized for specific job applications. Use this skill whenever the user mentions resume, CV, job application, JD, job description, tailoring a resume, applying for a job, 简历, 投递, 求职, 岗位, or wants to create/update a resume for a specific role — even if they just paste a job posting without explicitly asking for a resume. Also trigger when the user has resume files in their working directory and asks about job applications or career-related tasks.

deepagents-implementation

3891
from openclaw/skills

Implements agents using Deep Agents. Use when building agents with create_deep_agent, configuring backends, defining subagents, adding middleware, or setting up human-in-the-loop workflows.

deepagents-code-review

3891
from openclaw/skills

Reviews Deep Agents code for bugs, anti-patterns, and improvements. Use when reviewing code that uses create_deep_agent, backends, subagents, middleware, or human-in-the-loop patterns. Catches common configuration and usage mistakes.

deepagents-architecture

3891
from openclaw/skills

Guides architectural decisions for Deep Agents applications. Use when deciding between Deep Agents vs alternatives, choosing backend strategies, designing subagent systems, or selecting middleware approaches.

Page CRO Skill

3891
from openclaw/skills

## Trigger

landing-page-generator

3891
from openclaw/skills

Generates high-converting landing pages as complete Next.js/React (TSX) components with Tailwind CSS. Creates hero sections, feature grids, pricing tables, FAQ accordions, testimonial blocks, and CTA sections using proven copy frameworks (PAS, AIDA, BAB). Outputs SEO meta tags, structured data, and performance-optimised code targeting Core Web Vitals (LCP < 1s, CLS < 0.1). Use when the user asks to create a landing page, marketing page, homepage, single-page site, lead capture page, campaign page, promo page, or conversion-optimised web page — or when they want to A/B test landing page variants or replace a static page with one designed to convert.

page-cro

3891
from openclaw/skills

When the user wants to optimize, improve, or increase conversions on any marketing page — including homepage, landing pages, pricing pages, feature pages, or blog posts. Also use when the user says "CRO," "conversion rate optimization," "this page isn't converting," "improve conversions," or "why isn't this page working." For signup/registration flows, see signup-flow-cro. For post-signup activation, see onboarding-cro. For forms outside of signup, see form-cro. For popups/modals, see popup-cro.

nocobase-page-building

3891
from openclaw/skills

Guide AI to build NocoBase pages — menus, tables, forms, popups, KPIs, JS blocks, outlines, event flows