New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Draft a short punchy Facebook Page post

Facebook Page Post Writer

by sergebulaev · MIT license · ★ 49 on GitHub · updated Sep 17

Facebook Page Post Writer cover

Draft a short punchy Facebook Page post, or a longer story post, using a 2026 Facebook hook formula (one-line opinion, tiny number, ask-the-page question, this-or-that, useful tip, story post) picked by goal (shares, comments,…

---
name: fb-post-writer
description: "Draft a short punchy Facebook Page post, or a longer story post, using a 2026 Facebook hook formula (one-line opinion, tiny number, ask-the-page question, this-or-that, useful tip, story post) picked by goal (shares, comments, reactions). Favors the under-80-character engagement sweet spot, runs the humanizer pass, and publishes via Publora on approval. Use to write a Page post from notes. Not for replying to comments (use fb-engagement-drafter) or auditing a draft (use fb-humanizer)."
---

# Facebook Page Post Writer

Ship a short punchy Page post, or a longer story post when the material earns it,
using hook shapes that actually travel on a Facebook Page in 2026. The single
highest-engagement move on a Page is the short post: posts under 80 characters
get a reported ~66% engagement lift, so this skill leads short and only goes long
on purpose.

## When to use

- User says "write me a Facebook Page post about X"
- User has a topic or a rough line and wants a sharper, shorter hook
- User wants to pick a proven Page-post shape and fill in their voice

Overview

Ship a short punchy Page post, or a longer story post when the material earns it, using hook shapes that actually travel on a Facebook Page in 2026. The single highest-engagement move on a Page is the short post: posts under 80 characters get a reported ~66% engagement lift, so this skill leads short and only goes long on purpose.

Manual install (npx, ZIP)
Claude Codenpx skills add sergebulaev/facebook-skills --skill fb-post-writer -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/sergebulaev/facebook-skills/tar.gz/cc47acac47a8 \ | tar -xz -C ~/.claude/skills --strip-components=4 facebook-skills-cc47acac47a8/.codex-marketplace/facebook-skills/skills/fb-post-writer
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/9b9f4cf893bfc433578f/fb-post-writer.zip" -OutFile "$env:TEMP\fb-post-writer.zip"; Expand-Archive "$env:TEMP\fb-post-writer.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md7.1 KB
  • references/1 file · 3.0 KB
Read the files here
sergebulaev/cc47aca2 files
Shared references4SKILL.md reads these from elsewhere in the repo. Not in the ZIP.Get them on GitHub ↗
SKILL.md
Show the full text128 lines

Facebook Page Post Writer

Ship a short punchy Page post, or a longer story post when the material earns it, using hook shapes that actually travel on a Facebook Page in 2026. The single highest-engagement move on a Page is the short post: posts under 80 characters get a reported ~66% engagement lift, so this skill leads short and only goes long on purpose.

When to use

  • User says "write me a Facebook Page post about X"
  • User has a topic or a rough line and wants a sharper, shorter hook
  • User wants to pick a proven Page-post shape and fill in their voice
  • User wants a quick draft that auto-publishes on approval

Formulas this skill uses

Code Formula Primary goal Best for
FB1 One-Line Opinion shares a sharp, defensible take in one short line
FB2 The Tiny Number shares one concrete number that reframes a thing
FB3 Ask-the-Page Question comments an easy, fun question the audience answers
FB4 This-or-That comments a friendly binary choice readers pick a side on
FB5 Relatable One-Liner reactions a specific shared moment, no setup
FB6 Behind-the-Scenes reactions a real human moment inside the business
FB7 Useful Tip shares one usable tip the reader passes on
FB8 Story Post with a Turn shares a longer true story with a quotable turn
FB9 Announcement with Stakes shares a launch or news, led human not corporate
FB10 Community Spotlight shares featuring a real customer or team member

Full skeletons in ../../references/hook-formulas.md. FB1-FB7 are short-post shapes (lead here). FB8-FB10 are longer story shapes (use on purpose).

Pick by goal first
Goal Reach for
Shares FB1, FB2, FB7, FB8, FB9, FB10
Comments FB3, FB4, FB8
Reactions FB5, FB6

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.

  1. Gather inputs. Topic, angle, any rough draft, target audience (B2C / B2B / local / community), and the goal (shares / comments / reactions).
  2. Pick the container. Default to a short post (aim under 80 chars). If it is one opinion, number, question, or moment, it stays short. Only escalate to a story post (FB8-FB10) if the idea is a true narrative, a real launch, or a spotlight that needs room.
  3. Pick the formula. Use the goal table to shortlist, then suggest 2-3 that also fit the topic and let the user choose.
  4. Draft the post. Fill the skeleton in the user's voice. Respect the 2026 Facebook rules:
    • Lead short. Try to land the whole point under 80 chars.
    • First line carries the post (Facebook folds longer posts behind "See more").
    • One idea per post. Line breaks as beats.
    • 0-2 hashtags, 0-2 emoji, none on a serious take.
    • If the post includes a link, write framing text above it (Facebook builds a preview card) and warn that link posts reach fewer people organically.
  5. Humanizer pass. Scrub 2026 AI vocab by paragraph density, cap em dashes (about one per 100 words, never swap one for a period), strip "We are thrilled to announce" and every corporate opener, break stacked triads and reveal bridges. Fix only a story paragraph that reads machine-flat; never manufacture variance, and never fragment a short post for punch. Add an odd-precision number with a named referent or a named entity where the claim allows it. Canonical rules: fb-humanizer V3.
  6. Optional audit. Invoke fb-humanizer --mode audit for a pass-fail check.
  7. Approval card. Show: formula used, full draft, char count (flag if it crosses the 80-char sweet spot), suggested posting window, primary goal.
  8. On approval. Call lib.publish(kind="post", draft_text=<approved>, target_url="https://www.facebook.com/YourPage", platforms=[<FACEBOOK_PLATFORM_ID>], scheduled_time=<iso_or_None>). For a deliberate long story post, pass kind="story". The wrapper handles Publora / manual / diy routing.

Hard rules

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

  • Lead short. Default to under 80 chars; that is the engagement sweet spot. A long post is a deliberate choice for a story, not the fallback.
  • The first line must carry the post on its own (everything above the "See more" fold).
  • One specific number where the claim allows it. "4 minutes" beats "fast".
  • Never open with "We are thrilled / excited / delighted to announce".
  • Do not beg for engagement. Earn the share or comment with the post itself.

Anti-patterns (skill will refuse)

  • "We are thrilled to announce.." and every variant.
  • Engagement bait ("LIKE and SHARE if you agree", "comment YES", "tag 3 friends").
  • Em dashes above the cap (more than about one per 100 words), or an em dash swapped for a period.
  • "Here's what" or "Stop X, start Y" as the opener; "The result?" as a reveal.
  • Announced candor ("We'll be honest with you", "real talk") with no dated fact behind it.
  • Staccato stacks ("No X. No Y. Just Z.") and one-word lines added for drama.
  • Padding a one-line idea into five paragraphs.
  • Rule-of-three lists without specifics.
  • "leverage", "fundamentally", "game-changer", "deep dive".
  • A bare external link with no framing text.
  • 5+ hashtags stuffed at the bottom.

Resources

  • ../../references/hook-formulas.md - all 10 Facebook formula skeletons (FB1-FB7 short, FB8-FB10 story)
  • ../../references/algorithm-heuristics.md - 2026 Facebook Page ranking rules (signals, the under-80 boost, timing, limits)
  • references/short-post-checklist.md - the per-post scrub and the under-80 fit check

Optional illustration

Offer a generated image when a visual would lift reach. Draft a prompt and call lib.illustrate(prompt, kind="wide"), pulling brand handle/color from Voice & Brand Profile section 6 for a pixel-exact overlay. Show the returned url + cost, then attach on publish via media_urls=[url]. Full workflow (incl. quote-cards): ../fb-humanizer/sub-skills/illustration.md. No Pixfaro key -> it drafts the prompt for you to generate manually.

  • fb-humanizer - aggressive AI-tell scrubber, plus --mode audit for review
  • fb-hook-extractor - reverse-engineer a hook from a Page post you admire
  • fb-content-planner - plan a week of these posts
  • fb-engagement-drafter - reply to the comments your post earns
1---
2name: fb-post-writer
3description: "Draft a short punchy Facebook Page post, or a longer story post, using a 2026 Facebook hook formula (one-line opinion, tiny number, ask-the-page question, this-or-that, useful tip, story post) picked by goal (shares, comments, reactions). Favors the under-80-character engagement sweet spot, runs the humanizer pass, and publishes via Publora on approval. Use to write a Page post from notes. Not for replying to comments (use fb-engagement-drafter) or auditing a draft (use fb-humanizer)."
4---
5 
6# Facebook Page Post Writer
7 
8Ship a short punchy Page post, or a longer story post when the material earns it,
9using hook shapes that actually travel on a Facebook Page in 2026. The single
10highest-engagement move on a Page is the short post: posts under 80 characters
11get a reported ~66% engagement lift, so this skill leads short and only goes long
12on purpose.
13 
14## When to use
15 
16- User says "write me a Facebook Page post about X"
17- User has a topic or a rough line and wants a sharper, shorter hook
18- User wants to pick a proven Page-post shape and fill in their voice
19- User wants a quick draft that auto-publishes on approval
20 
21## Formulas this skill uses
22 
23| Code | Formula | Primary goal | Best for |
24|---|---|---|---|
25| FB1 | One-Line Opinion | shares | a sharp, defensible take in one short line |
26| FB2 | The Tiny Number | shares | one concrete number that reframes a thing |
27| FB3 | Ask-the-Page Question | comments | an easy, fun question the audience answers |
28| FB4 | This-or-That | comments | a friendly binary choice readers pick a side on |
29| FB5 | Relatable One-Liner | reactions | a specific shared moment, no setup |
30| FB6 | Behind-the-Scenes | reactions | a real human moment inside the business |
31| FB7 | Useful Tip | shares | one usable tip the reader passes on |
32| FB8 | Story Post with a Turn | shares | a longer true story with a quotable turn |
33| FB9 | Announcement with Stakes | shares | a launch or news, led human not corporate |
34| FB10 | Community Spotlight | shares | featuring a real customer or team member |
35 
36Full skeletons in `../../references/hook-formulas.md`. FB1-FB7 are short-post
37shapes (lead here). FB8-FB10 are longer story shapes (use on purpose).
38 
39### Pick by goal first
40 
41| Goal | Reach for |
42|---|---|
43| Shares | FB1, FB2, FB7, FB8, FB9, FB10 |
44| Comments | FB3, FB4, FB8 |
45| Reactions | FB5, FB6 |
46 
47## Steps
48 
49**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.
50 
511. **Gather inputs.** Topic, angle, any rough draft, target audience (B2C / B2B /
52 local / community), and the goal (shares / comments / reactions).
532. **Pick the container.** Default to a short post (aim under 80 chars). If it is
54 one opinion, number, question, or moment, it stays short. Only escalate to a
55 story post (FB8-FB10) if the idea is a true narrative, a real launch, or a
56 spotlight that needs room.
573. **Pick the formula.** Use the goal table to shortlist, then suggest 2-3 that
58 also fit the topic and let the user choose.
594. **Draft the post.** Fill the skeleton in the user's voice. Respect the 2026
60 Facebook rules:
61 - Lead short. Try to land the whole point under 80 chars.
62 - First line carries the post (Facebook folds longer posts behind "See more").
63 - One idea per post. Line breaks as beats.
64 - 0-2 hashtags, 0-2 emoji, none on a serious take.
65 - If the post includes a link, write framing text above it (Facebook builds a
66 preview card) and warn that link posts reach fewer people organically.
675. **Humanizer pass.** Scrub 2026 AI vocab by paragraph density, cap em
68 dashes (about one per 100 words, never swap one for a period), strip "We
69 are thrilled to announce" and every corporate opener, break stacked triads
70 and reveal bridges. Fix only a story paragraph that reads machine-flat;
71 never manufacture variance, and never fragment a short post for punch. Add
72 an odd-precision number with a named referent or a named entity where the
73 claim allows it. Canonical rules: `fb-humanizer` V3.
746. **Optional audit.** Invoke `fb-humanizer --mode audit` for a pass-fail check.
757. **Approval card.** Show: formula used, full draft, char count (flag if it
76 crosses the 80-char sweet spot), suggested posting window, primary goal.
778. **On approval.** Call `lib.publish(kind="post", draft_text=<approved>,
78 target_url="https://www.facebook.com/YourPage", platforms=[<FACEBOOK_PLATFORM_ID>],
79 scheduled_time=<iso_or_None>)`. For a deliberate long story post, pass
80 `kind="story"`. The wrapper handles Publora / manual / diy routing.
81 
82## Hard rules
83 
84Global voice rules: see root `SKILL.md` Voice rules. Additional skill-specific
85rules:
86 
87- Lead short. Default to under 80 chars; that is the engagement sweet spot. A
88 long post is a deliberate choice for a story, not the fallback.
89- The first line must carry the post on its own (everything above the "See more"
90 fold).
91- One specific number where the claim allows it. "4 minutes" beats "fast".
92- Never open with "We are thrilled / excited / delighted to announce".
93- Do not beg for engagement. Earn the share or comment with the post itself.
94 
95## Anti-patterns (skill will refuse)
96 
97- "We are thrilled to announce.." and every variant.
98- Engagement bait ("LIKE and SHARE if you agree", "comment YES", "tag 3 friends").
99- Em dashes above the cap (more than about one per 100 words), or an em dash swapped for a period.
100- "Here's what" or "Stop X, start Y" as the opener; "The result?" as a reveal.
101- Announced candor ("We'll be honest with you", "real talk") with no dated fact behind it.
102- Staccato stacks ("No X. No Y. Just Z.") and one-word lines added for drama.
103- Padding a one-line idea into five paragraphs.
104- Rule-of-three lists without specifics.
105- "leverage", "fundamentally", "game-changer", "deep dive".
106- A bare external link with no framing text.
107- 5+ hashtags stuffed at the bottom.
108 
109## Resources
110 
111- `../../references/hook-formulas.md` - all 10 Facebook formula skeletons (FB1-FB7 short, FB8-FB10 story)
112- `../../references/algorithm-heuristics.md` - 2026 Facebook Page ranking rules (signals, the under-80 boost, timing, limits)
113- `references/short-post-checklist.md` - the per-post scrub and the under-80 fit check
114 
115## Optional illustration
116 
117Offer a generated image when a visual would lift reach. Draft a prompt and call
118`lib.illustrate(prompt, kind="wide")`, pulling brand handle/color from Voice &
119Brand Profile section 6 for a pixel-exact overlay. Show the returned `url` + `cost`,
120then attach on publish via `media_urls=[url]`. Full workflow (incl. quote-cards):
121`../fb-humanizer/sub-skills/illustration.md`. No Pixfaro key -> it drafts the prompt for you to generate manually.
122## Related skills
123 
124- `fb-humanizer` - aggressive AI-tell scrubber, plus `--mode audit` for review
125- `fb-hook-extractor` - reverse-engineer a hook from a Page post you admire
126- `fb-content-planner` - plan a week of these posts
127- `fb-engagement-drafter` - reply to the comments your post earns
128 
View all files on GitHub →

Details

Updated
Sep 17, 2026
License
MIT
Stars on the repo
★ 49
Checked
Source
sergebulaev/facebook-skills ↗
Creator
sergebulaev · 77 listings
View creator

Similar skills

See all →
SkillResearch what people actually say about any topicSTEP 0: STALE-CLONE SELF-CHECK — RUN BEFORE READING BELOWmvanhorn/last30days-skill · by mvanhornResearch what people actually say about any topic in the last 30 days. Pulls posts and engagement from Reddit, X, YouTube, TikTok, Hacker News, Polymarket, GitHub, and the web. Includes a doctor health check to diagnose broken or missing sources.★ 63.5k GitHub starsSkillScrapes social platforms, business dataApifydanielmiessler/LifeOS · by danielmiesslerScrapes social platforms, business data, and e-commerce via Apify actors — Instagram, LinkedIn, TikTok, YouTube, Facebook, Google Maps, Amazon, and web crawls — filtering in code. USE WHEN scrape Instagram, scrape LinkedIn, scrape TikTok, scrape YouTube, scrape Facebook, Google Maps leads, Amazon reviews, business intelligence, multi-platform social listening, competitive analysis, lead generation, social monitoring, Apify actors, web crawl, extract contacts. NOT FOR X/Twitter account operations like posting, threads, or bookmarks (those need a dedicated X API client), 4-tier progressive scraping with proxy escalation (use BrightData), or real-Chrome bot bypass and computer use (use Interceptor).★ 19.3k GitHub starsSkill微信公众号长文增长闭环 ——tsingyuai/growth-lab · by tsingyuai微信公众号长文增长闭环 —— 从读者问题与复刻锚选题、写出可验证的公众号长文、预览与合规检查、同步微信草稿、三重确认下受控发布,到回收阅读与转化数据并复盘。用户要求写公众号、把内容改成公众号、同步或发布微信草稿、查看公众号数据或复盘时使用。★ 2k GitHub starsSkillSearch and retrieve content from Twitter/XTwitter/X SkillReScienceLab/opc-skills · by ReScienceLabSearch and retrieve content from Twitter/X. Get user info, tweets, replies, followers, communities, spaces, and trends via twitterapi.io. Use when user mentions Twitter, X, or tweets.★ 1.8k GitHub starsSkillSays 'YouTube script', 'video script'🎬 YouTube Script: Writing retention-optimized video script...cwinvestments/memstack · by cwinvestmentsUse this skill when the user says 'YouTube script', 'video script', 'write script for YouTube', 'YouTube video outline', or is creating scripted content for a YouTube video with hooks, chapters, and CTAs. Do NOT use for TikTok/Reels short-form scripts or webinar presentations.★ 423 GitHub starsSkillAgent Reach — 互联网能力路由器Ootto-AI/claude-content-skills · by Ootto-AIMUST USE when user wants to 调研/research/搜索/search/查/找/look up anything on the internet — e.g. 全网调研 X / 帮我调研一下 X / 查一下 X / 搜搜 X / 看看大家怎么评价 X / X 上有什么讨论 / research this topic。 Also MUST USE when user mentions any platform or shares any URL/链接: 小红书/xiaohongshu/xhs, Twitter/推特/X, B站/bilibili, Reddit, V2EX, LinkedIn/领英/招聘/求职/jobs, YouTube, GitHub code search, 小宇宙播客, 雪球/股票行情, RSS feeds, or any web URL. 13 platforms, multi-backend routing (OpenCLI / per-platform CLIs / APIs). Zero config for 6 channels. Run `agent-reach doctor --json` to see which backend serves each platform right now. NOT for: 写报告/数据分析/翻译等内容加工(本 skill 只负责从互联网获取内容); 发帖/评论/点赞等写操作;已有专门 skill 的平台(先用专门 skill)。 【路由方式】SKILL.md 包含路由表和常用命令,复杂场景需按需阅读对应分类的 references/*.md。 分类:search / social (小红书/推特/B站/V2EX/Reddit) / career(LinkedIn) / dev(github) / web(网页/文章/RSS) / video(YouTube/B站/播客)。★ 139 GitHub stars

More from sergebulaev

SkillBy density per paragraph, not per wordAI Tells — Complete Blacklist (V3, 2026-09)sergebulaev/linkedin-skills · by sergebulaevScored the way readers read: by density per paragraph, not per word. One marker in a paragraph is English. Three is a signature. The…★ 3.1k GitHub starsSkillFifteen rules from the linkedin-humanizer packageAI-Tell Rules: Tier-Classified Referencesergebulaev/linkedin-skills · by sergebulaevFifteen rules from the linkedin-humanizer package, sorted by what kind of evidence each one actually represents.★ 3.1k GitHub starsSkillPattern data from MagicPost LinkedIn analysisEmoji Patterns — AI vs. Humansergebulaev/linkedin-skills · by sergebulaevPattern data from MagicPost LinkedIn analysis (Feb 2026, viral post with 220 engagement).★ 3.1k GitHub starsSkillRead your Instagram niche and profile from real dataInstagram Audience Insightssergebulaev/instagram-skills · by sergebulaevRead your Instagram niche and profile from real data via Apify, no login. Scan a hashtag for the posts traveling now (likes, comments, owner) to see the format and hook that works. Pull profile stats for any handle, yours or a competitor's: followers, posts, bio, category. Instagram hides who liked or commented on other accounts, so this is discovery plus profiles, not engagers. Triggers on "what works in my niche", "scan the hashtag", "competitor stats". Not for writing captions (use ig-caption-writer).★ 138 GitHub starsSkillDraft an Instagram caption with the hook in the first 125Instagram Caption Writersergebulaev/instagram-skills · by sergebulaevDraft an Instagram caption with the hook in the first 125 characters, a skimmable body, and one clear CTA, using a 2026 hook formula chosen by goal (saves, shares, comments, follows). Runs the humanizer pass and, on approval, publishes with the image or video you supply via the Publora media flow. Use to caption a single image or a Reel. Not for slide-by-slide carousels (use ig-carousel-planner) or auditing a draft (use ig-humanizer --mode audit).★ 138 GitHub starsSkillPlan an Instagram carousel slide by slide, up to 10 slidesInstagram Carousel Plannersergebulaev/instagram-skills · by sergebulaevPlan an Instagram carousel slide by slide, up to 10 slides, with a hook slide that opens a loop, value slides that front-load the payoff, and a payoff slide that earns the save and follow. Picks a 2026 carousel formula (listicle, before/after, myth-buster, framework) by goal (saves, shares, follows), drafts each slide's text plus the caption, then publishes the images you supply via Publora. Use to structure a multi-slide carousel. Not for single-image captions (use ig-caption-writer).★ 138 GitHub stars