Skip to content
Content
Skill

/fb-engagement-drafter

Draft replies to comments on your Facebook Page's posts, in your Page voice. Use when the user pastes the comments under one of their Page posts and wants on-brand replies that earn more comments and shares. Drafts 1-3 variants per comment using proven templates (answer, thank

From plugin
facebook-skills
758 skills

Claude Code

$ npx -y skills add sergebulaev/facebook-skills --skill fb-engagement-drafter --agent claude-code

SKILL.md

fb-engagement-drafter.SKILL.md
name: fb-engagement-drafter
description: "Draft replies to comments on your Facebook Page's posts, in your Page voice. Use when the user pastes the comments under one of their Page posts and wants on-brand replies that earn more comments and shares. Drafts 1-3 variants per comment using proven templates (answer, thank plus add value, handle the complaint, turn it into a share). Publora has no Facebook comment endpoint, so every draft returns as a copy-paste block to post yourself. Not for writing top-level posts (use fb-post-writer)."

Facebook Page Engagement Drafter

Drafts replies to the comments on your Page's posts. Replying fast in the first hour is a ranking action on Facebook, not just community management: a Page that keeps the conversation alive gets more reach on that post. This skill drafts the replies; you post them.

The honest limitation

Publora has **no Facebook comment endpoint** (its comment and reaction endpoints are LinkedIn-only), and `create-post` only creates new posts. So this skill **cannot auto-post** a reply to a comment. Every draft comes back as a copy-paste block for you to post in Facebook or Meta Business Suite by hand. This is a documented limitation of the publish layer, not a missing feature here.

When to use

  • User pastes the comments under one of their Page posts and says "reply to these"
  • A comment thread needs on-brand responses that keep the conversation going
  • A complaint or question needs a careful, human reply

Input

The Page post for context, and the comments to reply to. **The comments can be read rather than pasted**: with `APIFY_TOKEN`, `lib.ApifyClient().fetch_post_commenters(post_url, max_comments=25)`; on claude.ai, the Apify MCP connector's `danek--facebook-comments-ppr` with the mapping in `../../references/mcp-read-layer.md`. Each comment comes back with its author, reactions, reply count and depth, which is what decides who is worth answering first. The post text itself has no reader, so paste that, and with a `share/p/` link paste the comments too: the ids are behind an opaque token. Optionally the Page post URL for the target link, and the Page's voice samples.

Output

  • 1-3 reply variants per comment, each in the Page's voice
  • A short note on which template each variant uses and why
  • An approval card. On approval, each reply is returned as a copy-paste block

with the target post URL.

Reply templates (`references/reply-templates.md`)

  • **C1 Answer-the-Question** - they asked, you answer plainly plus one real detail
  • **C2 Thank-Plus-Add-Value** - acknowledge, then add a useful extra (not a bare "thanks!")
  • **C3 Handle-the-Complaint** - acknowledge, own it, offer the next step, take it to DM if needed
  • **C4 Turn-It-Into-a-Share** - build on a positive comment so the thread itself becomes shareable
  • **C5 Invite-the-Spotlight** - when a commenter shares a win, invite them to be featured (feeds FB10)

Steps

**Voice profile first (all drafts).** If `../../references/voice-profile.md` has `filled: yes`, load it and match the user's voice fingerprint, hard rules, and CTA/link style throughout. If it is not filled, mention once that `fb-humanizer --mode profile` can learn their voice from a few posts, then proceed with the generic voice rules.

**Story bank next.** If `../../references/story-bank.md` has `filled: yes`, load it and take every concrete detail (numbers, dates, named projects, positions) from there instead of asking mid-draft. **Never invent a figure, a date or a client name that is not in the bank or supplied by the user in this conversation.** If the bank has nothing that fits, ask the user, or say once that `fb-humanizer --mode interview` fills it in 20 to 40 minutes. A draft with a plausible invented number is worse than a draft with none: one is vague, the other is a retraction.

1. **Parse the post URL** if given. `lib.url_parser.parse_facebook_url(url)` returns `page`, `post_id`, `canonical_url` for the target link. 2. **Read the context.** Ask the user to paste the post and the comments. Group the comments (questions, praise, complaints, wins). 3. **Pick a template per comment** using the table above. 4. **Draft 1-3 variants per comment.** Keep them short and human. Answer questions plainly with one real detail. For complaints, acknowledge first, never get defensive, offer a concrete next step. 5. **Humanizer pass.** Scrub 2026 AI vocab by density, cap em dashes (a reply is short, so at most one, never swapped for a period), strip canned "Thank you for your feedback!" corporate filler and sincerity openers ("we'll be honest"). Leave the rhythm alone. Keep the Page voice. Canonical rules: `fb-humanizer` V3. 6. **Approval card.** Show each comment, its drafted replies, the template used, and the target post URL. 7. **On approval.** Call `lib.publish(kind="comment", draft_text=<approved>, target_url=<canonical_url>)`. Because Publora has no Facebook comment endpoint, this always returns a copy-paste block. Paste each reply under the comment in Facebook or Meta Business Suite yourself.

Hard rules

Global voice rules: see root `SKILL.md` Voice rules. Additional skill-specific rules:

  • Reply fast and human. The first hour matters for reach; a fast, real reply

beats a slow, polished one.

  • Never paste a canned "Thank you for your feedback!". Acknowledge with content

or do not reply.

  • On a complaint: acknowledge first, never argue in public, offer a next step,

move details to DM. Comments are public and screenshot-able.

  • Do not hard-sell in a reply. Help first; mention the product only if it

genuinely answers the question.

  • Keep replies under a few short lines. A Page reply is not a press release.

Example

> User: "Reply to these comments on my post: > https://www.facebook.com/MyBakery/posts/123. Comments: 'Are you open Sunday?' > and 'Best sourdough in town!'" > > Skill: parses -> page MyBakery, post 123. Drafts a C1 Answer-the

Read more
@sergebulaev
Ships withfacebook-skills

Part of the linkedin-skills family (400+ stars). Same voice engine and approve-before-publish flow, now for Facebook. Also available for Instagram · X · YouTube · TikTok · Threads. 8 skills that turn Claude Code and Codex into your Facebook Page content team.

Stars on GitHub

Momentum

stars in total
75
Star history of sergebulaev/facebook-skills on GitHub, a chart by star-history.com

Other skills on facebook-skills.

More skills from other plugins.

prompt-lookup

prompt-lookup

Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…

@gh-f@gh-fInstall Skill
ppt-master

ppt-master

AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…

@hugohe3@hugohe3Install Skill
morph-ppt

morph-ppt

Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…

officecli13d33k
@iofficeai@iofficeaiInstall Skill

Questions about fb-engagement-drafter.

Which coding agents can use fb-engagement-drafter?
fb-engagement-drafter installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.