{"id":"2f6bd51f-4284-43b3-91ba-b5c3f609aa7f","entityType":"agent","slug":"clawhub-alexbloch-ia-facebook-account-operations","name":"Facebook Account Operations","canonicalUrl":"https://www.xpersona.co/agent/clawhub-alexbloch-ia-facebook-account-operations","canonicalPath":"/agent/clawhub-alexbloch-ia-facebook-account-operations","generatedAt":"2026-10-13T10:36:32.106Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T22:14:46.641Z","emptyReason":null},"description":"Operating doctrine for Facebook Page automation — careful brand-page pattern via Meta Business Suite, role separation, page-vs-profile-vs-group surface aware... Skill: Facebook Account Operations Owner: alexbloch-ia Summary: Operating doctrine for Facebook Page automation — careful brand-page pattern via Meta Business Suite, role separation, page-vs-profile-vs-group surface aware... Tags: agent:1.0.0, anti-spam:1.0.0, automation:1.0.0, browser-automation:1.0.0, comments:1.0.0, cron:1.0.0, doctrine:1.0.0, facebook:1.0.0, faq:1.0.0, growth:1.0.0, latest:1.0.0, mbs:1.0.0, messe","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 986 downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s179c74ca8kjff2gapygs9y13d86yr3z:facebook-account-operations","sourceUrl":"https://clawhub.ai/alexbloch-ia/facebook-account-operations","homepage":"https://clawhub.ai/alexbloch-ia/skills/facebook-account-operations","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/alexbloch-ia/facebook-account-operations","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/alexbloch-ia/skills/facebook-account-operations","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Operating doctrine for Facebook Page automation — careful brand-page pattern via Meta Business Suite, role separation, page-vs-profile-vs-group surface aware..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T22:14:46.641Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T22:14:46.641Z","emptyReason":null},"stars":null,"forks":null,"downloads":986,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"1.0.0","tractionLabel":"986 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T22:14:46.628Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T22:14:46.641Z","lastCrawledAt":"2026-10-11T22:14:46.628Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T22:14:46.628Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.0","createdAt":"2026-05-18T21:34:45.557Z","changelog":"v1.0.0 — First publication. Initial release. Ports the operating doctrine for Facebook Page automation from a regulated-field operation to a domain-agnostic skill. Includes: - Pages-only doctrine (explicit rules against personal-profile + third-party-group automation — the fast-track to permanent ban) - 3-role mental model (fb-post / fb-engage / fb-stealth) - MBS-first — never automate facebook.com directly - Page Quality-aware phase gating (Phase A/B) with manual override path - Zero-outgoing-link policy in comments; max 1 URL in DMs - Page moderation discipline (Hide vs Delete vs Ban; prefer Hide) - The MBS comment-Reply navigation-bug workaround (shared with IG) - 24h Messenger window awareness; out-of-window outbound needs message-tag templates (out of scope here) - Strict reply qualification (skip testimonials-without-link, recognize existing clients, 7-day per-user cap) - Hard quotas calibrated to avoid Page Quality drops - \"Posting as: Page\" toggle drift check - Recovery playbook for Page Quality drops, Page restrictions, admin-account \"in review\", comment automod removals - 9-file memory inventory (including fb-banned-users.md) + first-run checklist + FAQ Companion to instagram-account-operations (same MBS backbone, IG-specific doctrine) and to the reddit / twitter / tiktok / whatsapp family.","fileCount":4,"zipByteSize":13304}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s179c74ca8kjff2gapygs9y13d86yr3z:facebook-account-operations","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-alexbloch-ia-facebook-account-operations/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-alexbloch-ia-facebook-account-operations/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-alexbloch-ia-facebook-account-operations/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-alexbloch-ia-facebook-account-operations/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-alexbloch-ia-facebook-account-operations/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-alexbloch-ia-facebook-account-operations/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-13T10:36:32.106Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-alexbloch-ia-facebook-account-operations/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-alexbloch-ia-facebook-account-operations/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-alexbloch-ia-facebook-account-operations/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-alexbloch-ia-facebook-account-operations/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T22:14:46.641Z","emptyReason":null},"readme":"Skill: Facebook Account Operations\n\nOwner: alexbloch-ia\n\nSummary: Operating doctrine for Facebook Page automation — careful brand-page pattern via Meta Business Suite, role separation, page-vs-profile-vs-group surface aware...\n\nTags: agent:1.0.0, anti-spam:1.0.0, automation:1.0.0, browser-automation:1.0.0, comments:1.0.0, cron:1.0.0, doctrine:1.0.0, facebook:1.0.0, faq:1.0.0, growth:1.0.0, latest:1.0.0, mbs:1.0.0, messenger:1.0.0, meta-business-suite:1.0.0, moderation:1.0.0, openclaw:1.0.0, operations:1.0.0, page-quality:1.0.0, page-safety:1.0.0, pages:1.0.0, playbook:1.0.0, social-media:1.0.0, yaml-config:1.0.0\n\nVersion history:\n\nv1.0.0 | 2026-05-18T21:34:45.557Z | user\n\nv1.0.0 — First publication.\n\nInitial release. Ports the operating doctrine for Facebook Page automation\nfrom a regulated-field operation to a domain-agnostic skill.\n\nIncludes:\n- Pages-only doctrine (explicit rules against personal-profile + third-party-group\n  automation — the fast-track to permanent ban)\n- 3-role mental model (fb-post / fb-engage / fb-stealth)\n- MBS-first — never automate facebook.com directly\n- Page Quality-aware phase gating (Phase A/B) with manual override path\n- Zero-outgoing-link policy in comments; max 1 URL in DMs\n- Page moderation discipline (Hide vs Delete vs Ban; prefer Hide)\n- The MBS comment-Reply navigation-bug workaround (shared with IG)\n- 24h Messenger window awareness; out-of-window outbound needs message-tag\n  templates (out of scope here)\n- Strict reply qualification (skip testimonials-without-link, recognize existing\n  clients, 7-day per-user cap)\n- Hard quotas calibrated to avoid Page Quality drops\n- \"Posting as: Page\" toggle drift check\n- Recovery playbook for Page Quality drops, Page restrictions, admin-account\n  \"in review\", comment automod removals\n- 9-file memory inventory (including fb-banned-users.md) + first-run checklist + FAQ\n\nCompanion to instagram-account-operations (same MBS backbone, IG-specific\ndoctrine) and to the reddit / twitter / tiktok / whatsapp family.\n\nArchive index:\n\nArchive v1.0.0: 4 files, 13304 bytes\n\nFiles: README.md (5068b), skill-card.md (2494b), SKILL.md (21927b), _meta.json (146b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: facebook-account-operations\ndescription: Operating doctrine for Facebook Page automation — careful brand-page pattern via Meta Business Suite, role separation, page-vs-profile-vs-group surface awareness, comment + Messenger ops (Playwright click + type + Enter), moderation discipline (hide vs delete vs ban), and recovery patterns. Use this for any scheduled FB activity (cron, agent, recurring task) where account / page safety and reach matter more than raw output.\n---\n\n# Facebook Account Operations\n\nThis skill is the operating doctrine for every Facebook automation run on a brand **Page** (recommended), professional or personal account.\n\n**The goal is not to comment fast. The goal is to operate Facebook like a careful, helpful human community manager: stable browser, correct context (Meta Business Suite), useful action, no page restrictions, no reputational risk.**\n\nDrop-in for any niche (legal, medical, software, finance, creator, ecommerce). Replace the placeholders in section 0 with your own values.\n\n---\n\n## 0. Configure for your brand\n\nBefore running anything, fill these placeholders in your local copy or your agent's memory:\n\n| Placeholder | Example | Your value |\n|---|---|---|\n| `<BRAND_NAME>` | \"Acme Studio\" | — |\n| `<BRAND_DOMAIN>` | \"acme.studio\" | — |\n| `<FB_PAGE_NAME>` | \"Acme Studio\" (the public Page name) | — |\n| `<FB_PAGE_ID>` | numeric ID of the Page | — |\n| `<META_BUSINESS_ID>` | numeric ID from business.facebook.com → Settings | — |\n| `<META_ASSET_ID>` | numeric ID of the FB Page asset in MBS | — |\n| `<BROWSER_PROFILE>` | \"facebook-live\" | — |\n| `<BROWSER_PORT>` | \"18803\" | — |\n| `<NICHE_KEYWORDS>` | \"lost license OR speeding ticket\" | — |\n| `<PRIMARY_CTA>` | \"WhatsApp / form / app — pick ONE\" | — |\n| `<WORKSPACE_DIR>` | \"~/.openclaw/workspace/facebook-<brand>\" | — |\n\nAll shell snippets below assume an [OpenClaw](https://openclaw.ai) browser CLI bound by CDP, but the doctrine works with any browser-automation stack (Playwright, Puppeteer, Chrome MCP). Swap the CLI calls for your own.\n\n### Quick config (copy-paste YAML)\n\n```yaml\nbrand:\n  name: <BRAND_NAME>\n  domain: <BRAND_DOMAIN>\n\nfacebook:\n  page_name: <FB_PAGE_NAME>\n  page_id: <FB_PAGE_ID>\n  browser_profile: <BROWSER_PROFILE>\n  browser_port: <BROWSER_PORT>\n\nmeta_business_suite:\n  business_id: <META_BUSINESS_ID>\n  asset_id: <META_ASSET_ID>\n  base_url: https://business.facebook.com/latest/inbox\n\ndiscovery:\n  niche_keywords: <NICHE_KEYWORDS>\n\ncta:\n  primary: <PRIMARY_CTA>\n\nworkspace:\n  dir: <WORKSPACE_DIR>\n\nalerts:\n  channel: telegram | slack | discord\n  webhook: <YOUR_WEBHOOK_URL>\n\nschedule:\n  timezone: Europe/Paris\n  windows:\n    dm_check:      \"6,21,36,51 9-22 * * *\"\n    comment_check: \"9,24,39,54 9-22 * * *\"\n    browser_health: \"0 * * * *\"\n    daily_recap:   \"21:00\"\n```\n\n### Compatibility\n\n| Stack | Skill install path |\n|---|---|\n| [Claude Code](https://claude.ai/code) | `~/.claude/skills/facebook-account-operations/` |\n| [OpenClaw](https://openclaw.ai) | `~/.openclaw/skills/facebook-account-operations/` |\n| ClawHub-published | one-click install via [clawhub.ai](https://clawhub.ai) |\n| Cursor / Copilot CLI | drop `SKILL.md` into your project's `.cursorrules` or `AGENTS.md` |\n| Any LLM agent reading markdown rules | concatenate `SKILL.md` into your system prompt |\n\n---\n\n## 1. Pages vs personal profile vs groups\n\nDoctrine for brand automation:\n\n- **Page** = the only sanctioned surface for brand activity. Page admins post as the Page, reply as the Page, and the Page has its own analytics + ad surface.\n- **Personal profile** = never automate. Personal profiles are governed by Facebook's \"authentic identity\" policy; automating one is a fast path to a permanent ban.\n- **Groups** = automation is allowed only if the brand **owns** the group (Page is the admin). Replying as the Page on third-party groups requires the group to allow Page comments — most do not. Default: do not automate group activity.\n\nThis skill covers the **Page surface** exclusively.\n\n### The Meta Business Suite is the canonical surface (same as Instagram)\n\nEverything goes through `business.facebook.com`. Never automate against `facebook.com` directly — the personal-profile DOM is unstable, IP-throttled, and any anti-automation trigger there can poison the Page-admin's personal account.\n\n### Physical profile\n\nA single browser profile per Page-admin account:\n\n- `<BROWSER_PROFILE>` (CDP direct, attached to `http://127.0.0.1:<BROWSER_PORT>`)\n\n```bash\nopenclaw browser --browser-profile <BROWSER_PROFILE> status\nopenclaw browser --browser-profile <BROWSER_PROFILE> navigate https://business.facebook.com/latest/inbox/all/?business_id=<META_BUSINESS_ID>&asset_id=<META_ASSET_ID>\nopenclaw browser --browser-profile <BROWSER_PROFILE> snapshot --limit 200\n```\n\n### Canonical URLs (per tab)\n\n| Tab | URL fragment |\n|---|---|\n| All messages (Messenger + IG DMs if cross-linked) | `/latest/inbox/all?asset_id=<META_ASSET_ID>&business_id=<META_BUSINESS_ID>` |\n| Messenger only (Page DMs) | `/latest/inbox/messenger?asset_id=<META_ASSET_ID>&business_id=<META_BUSINESS_ID>` |\n| Facebook Page comments | `/latest/inbox/facebook?asset_id=<META_ASSET_ID>&business_id=<META_BUSINESS_ID>` |\n| Page Insights | `https://business.facebook.com/latest/insights/all_tools?asset_id=<META_ASSET_ID>&business_id=<META_BUSINESS_ID>` |\n| Page Posts | `https://business.facebook.com/latest/posts?asset_id=<META_ASSET_ID>&business_id=<META_BUSINESS_ID>` |\n\n### Roles (mental separation, single physical profile)\n\n#### Role: `fb-post`\n\nPage cockpit (acting AS THE PAGE, not as the admin's personal account). Use for:\n- Messenger DM replies in MBS.\n- Page comment replies in MBS.\n- Page posts (text, photo, link) via MBS Publishing Tools.\n- Page Insights snapshots.\n\nDefault page: MBS `inbox/all`.\n\n#### Role: `fb-engage`\n\nDiscovery. Use for:\n- Reading comments under your own Page posts (in MBS).\n- Inspecting a candidate user's profile before replying (open `facebook.com/<user>` in a separate tab — DO NOT act from there).\n\nDefault page: MBS `inbox/facebook` (comments).\n\n#### Role: `fb-stealth`\n\nQuiet maintenance. Use for:\n- Checking Page Quality (MBS → Page → Page Quality).\n- Reading audience demographics.\n- Page-level settings (admin roles, page restrictions).\n\nDefault page: MBS dashboard.\n\n### Operational law\n\n- `fb-post` = act AS THE PAGE via MBS.\n- `fb-engage` = discover, never act outside MBS.\n- `fb-stealth` = maintain quietly.\n- Stability matters more than speed.\n- After every run, return to MBS `inbox/all`.\n\n---\n\n## 2. Session check (run first on every cron)\n\nSame as Instagram — see `instagram-account-operations` §2. The MBS session covers both IG and FB assets when both are linked to the same `<META_BUSINESS_ID>`.\n\nIf you only manage a FB Page (no IG asset), the same login + navigation pattern applies; replace `inbox/all` with `inbox/messenger` for the smoke test.\n\n---\n\n## 3. Phase gating (Page restrictions awareness)\n\nFacebook Pages do not have karma; they have:\n- **Page Quality** score (MBS → Page → Page Quality): green / yellow / red.\n- **Restrictions** — applied at Page level. A restricted Page cannot run ads, cannot use Messenger templates, sometimes cannot post.\n- **Standard account-level holds** (very young Page-admin account, recent guidelines violations).\n\nPhases:\n\n- **Phase A** (Page < 30 d, OR last 30 d had a Page-level warning / Restriction, OR < 100 followers): inbound DM/comment replies inside MBS only. No outbound DMs. No comment-on-other-Pages. No new ads.\n- **Phase B** (Page ≥ 30 d, Page Quality = green, ≥ 100 followers, admin account in good standing): all crons authorized.\n\nAlways read `<WORKSPACE_DIR>/memory/fb-state.md` at start.\n\n### Manual override (advanced)\n\nSame as IG — append `YYYY-MM-DD - phase=B (manual override)` to `fb-state.md` for grandfathered, verified Pages. Document the rationale in `fb-learnings.md`.\n\n---\n\n## 4. Qualification of an inbound DM or comment\n\nA DM or comment is repliable only if **all** of:\n\n- The thread has at least one user-authored message.\n- The user is not banned from your Page (`fb-banned-users.md`).\n- The comment is on a Page post (not on a shared link to your Page).\n- Phase B authorized for brand-mentioning replies.\n- The message is a real question or intent in your domain.\n- Same user not already replied-to in the last 7 days (`fb-reply-log.md`).\n\nIf any check fails: skip.\n\n### Special: existing client recognized\n\nIf the user is in `fb-clients-known.md`, redirect to your client support channel (NOT `<PRIMARY_CTA>` for prospects).\n\n### Special: a public testimonial / positive comment\n\nDo **NOT** redirect to `<PRIMARY_CTA>`. Reply with a public thank-you. No CTA, no link.\n\n---\n\n## 5. Reply templates\n\n### Phase A\n\nPlain, helpful, no brand mention, no link.\n\n### Phase B\n\nDM reply structure:\n```\n[Acknowledge the situation in 1 sentence, neutral tone.]\n\n[General framework in 2-3 short paragraphs.]\n\n[Concrete next step — point to <PRIMARY_CTA>. ONE channel only.]\n```\n\nPage-comment reply structure (Page comments are public — keep them short and bold-typo-free):\n```\n@<UserName> [contextual acknowledgement]. [Indirect signal — \"DM us\" or \"form on Page\"].\n```\n\n### Brand link policy\n\n- Comment body: NO URL. \"DM us\" or \"form on Page\" only.\n- DM body: max ONE URL, ONE channel (`<PRIMARY_CTA>`).\n- Never shorteners — FB marks them as spam and Page Quality drops.\n\n---\n\n## 6. Original posting cadence\n\nOut of scope for the live reactive crons. Recommended rhythm for a Phase B Page:\n\n- **3-5 posts/week**. Mix: 1 text-only (high reach if good), 2 image/carousel, 1 video.\n- **No \"post & ghost\"** — every Page post gets replies within 2 hours of going live.\n- **Avoid burst posting** (> 3 posts within 24 h). Reach gets distributed across same-day posts.\n- **Pin your evergreen content** to the top of the Page (one Pin slot).\n\n### Boost vs ads\n\n- **Boost** = the simple, in-feed promotion button. Use for an isolated organic post that is over-performing.\n- **Ads (Ads Manager)** = full targeting + creative + funnel. Use for systematic acquisition. Out of scope here.\n\nNever boost a comment-reply. Boost only top-level Page posts.\n\n---\n\n## 7. Quotas (hard limits)\n\n| Action | Phase A limit | Phase B limit |\n|--------|---------------|---------------|\n| DMs handled / 24 h | 20 | 80 |\n| DMs handled / cron run | 4 | 10 |\n| Comment replies handled / 24 h | 30 | 120 |\n| Comment replies handled / cron run | 5 | 12 |\n| Outbound DMs / day (proactive) | 0 | 0 — Page Messenger outbound is heavily restricted; rely on templates with opt-in only |\n| Page posts / day | 1 | 3 |\n| Comments on other Pages | 0 | 5 (sober, on-topic, no link) |\n| Actions in same conversation | min 60 s apart | min 30 s apart |\n| Actions globally | min 30 s apart | min 15 s apart |\n\nQuota tracking: read `fb-reply-log.md` at start of every run.\n\n---\n\n## 8. Anti-spam triggers\n\n### Content\n\n| Avoid | Use instead |\n|-------|-------------|\n| `<BRAND_NAME>` more than once per reply | (max one mention) |\n| URLs in comment bodies | (never) |\n| Multiple URLs in a single DM | (max 1) |\n| \"Click here\", \"DM me\", \"WhatsApp me\" all together | (one CTA, one channel) |\n| Emojis in regulated niches | (drop them) |\n| All caps for emphasis | (use sparingly) |\n| Shorteners (bit.ly / tinyurl) | (use the canonical URL) |\n| Tagging unrelated Pages | (never — it spams the tagged Page) |\n\n### Behavioral\n\n- Replying within 15 s of a comment landing → bot-like; wait ≥ 1 min.\n- Same opening phrase across multiple replies → flagged. Vary openings.\n- > 12 actions in 10 min → rate limit.\n- Identical DM body to > 3 users in 24 h → near-instant Page restriction.\n- Page admin acting from the personal profile (instead of \"as Page\") under a Page post → \"this comment looks like spam\" toast.\n\n---\n\n## 9. Operational flow inside Meta Business Suite\n\nSame backbone as Instagram §9. FB-specific notes below.\n\n### DM (Messenger) check / reply (validated)\n\nURL: `https://business.facebook.com/latest/inbox/messenger?asset_id=<META_ASSET_ID>&business_id=<META_BUSINESS_ID>`\n\nThe flow is identical to the IG-DM flow in `instagram-account-operations` §9 (Playwright `click + type + press Enter`). Differences:\n\n- Messenger threads include the user's **Facebook profile** in the right sidebar — useful for the qualification step (see §4).\n- The \"Mark as Done\" button under the Messenger thread is a useful workflow signal — click it after a reply to keep the inbox clean and improve next-cron-run targeting.\n- **24h customer-service window**: Page Messenger has a 24h reply window — after 24 h of user silence, only message-tag templates can be sent (`HUMAN_AGENT`, `CONFIRMED_EVENT_UPDATE`, etc.). Out of scope for this skill — if you need post-24h outbound, use the Conversations API with an approved tag.\n\n### Page comment reply (validated — with workaround)\n\nURL: `https://business.facebook.com/latest/inbox/facebook?asset_id=<META_ASSET_ID>&business_id=<META_BUSINESS_ID>`\n\nSame SPA bug as IG comments: clicking the per-comment \"Reply\" link sometimes navigates the right pane to a different post. Same workaround:\n\n1. Find the page-level comment textarea **at the bottom** of the right pane.\n2. Type `@<UserName> your reply`.\n3. Click the send-arrow button (not Enter).\n\nThis posts a top-level comment under the same post but tagged at the parent — which is sufficient for visibility and notification.\n\n### Page moderation: hide vs delete vs ban\n\nWhen a comment is offensive, spammy, or off-topic:\n\n| Action | Effect | When |\n|---|---|---|\n| **Hide** | Comment stays visible to the author + their friends, invisible to everyone else | Default for most low-quality comments — author doesn't notice, no escalation |\n| **Delete** | Comment removed | Only for clearly offensive content or doxxing |\n| **Ban user from Page** | User can no longer comment or DM the Page | Only for repeated harassment after a Hide |\n\nDoctrine: **prefer Hide over Delete**. Hidden comments don't trigger the author to recomment angrily.\n\nMaintain `<WORKSPACE_DIR>/memory/fb-banned-users.md` with one row per ban, the date, and the trigger comment URL.\n\n### Selectors quick-reference (FB-specific)\n\n| Element | Selector |\n|---|---|\n| Messenger DM textbox | `[contenteditable='true']` |\n| Messenger DM send | `press Enter` |\n| Messenger \"Mark as Done\" | `[aria-label*='Mark as done'], [aria-label*='Marquer comme termin']` |\n| Page-comment textarea | `textarea[placeholder*='comment'], textarea[placeholder*='commentaire']` |\n| Page-comment send | the SVG arrow button to the right of the textarea |\n| Comment \"Hide\" | `[aria-label*='Hide'], [aria-label*='Masquer']` (in the comment overflow menu) |\n| Comment \"Delete\" | `[aria-label*='Delete'], [aria-label*='Supprimer']` |\n| Ban user from Page | per-user overflow → \"Ban\" / \"Bloquer\" |\n\n### Exit codes (recommended convention)\n\nSame as `instagram-account-operations` §9.\n\n### Gotchas\n\n- **Page Quality drop after a single misstep**: FB is more aggressive on Pages than on IG accounts. A handful of hidden-by-FB-automod comments can drop Page Quality from green to yellow within 24 h. Audit weekly.\n- **Localized labels**: `Reply` / `Répondre`, `Hide` / `Masquer`, `Delete` / `Supprimer` — maintain a label map.\n- **MBS \"as Page\" indicator**: a tiny chip at the top-right shows you're replying as the Page (not as your personal admin account). Verify on every cron — sometimes MBS reverts to the personal account after a session refresh.\n- **Cron timeout**: ≥ 1200 s — MBS pages on FB-comments tab can take 5-8 s to render fully.\n\n---\n\n## 10. Page state management\n\nFile: `<WORKSPACE_DIR>/memory/fb-state.md`\n\nFor each day:\n- Phase (A / B).\n- Followers count.\n- Page Quality score (green/yellow/red).\n- Last Page-level warning / Restriction.\n- Posts published today.\n\nFile: `<WORKSPACE_DIR>/memory/fb-banned-users.md`\nFile: `<WORKSPACE_DIR>/memory/fb-clients-known.md`\n\nUpdate at the end of every run that touched a moderation action.\n\n---\n\n## 11. Recovery & blockers\n\n| Issue | Action |\n|-------|--------|\n| `status: stopped` | Report, stop. |\n| Login form on MBS | Session expired, alert, stop. |\n| Page Quality drops to yellow | Flip to Phase A. Alert. Audit hidden / deleted comments. |\n| Page Quality drops to red | Stop all crons. Manual review. Likely a posting policy violation. |\n| \"Page restricted\" banner | Stop all outbound activity. Inbound DM reply only if MBS allows. Alert. |\n| MBS \"Something went wrong\" | Refresh once. Persist → stop and alert. |\n| Comment \"Reply\" causes page navigation | Use `@username` workaround. |\n| Personal admin account in \"review\" status | Stop. Pages are admin-owned — if the admin is restricted, the Page is at risk. |\n\n---\n\n## 12. Mandatory recap (alert channel + memory)\n\nSame format as `instagram-account-operations` §12, with `Page Quality: green/yellow/red` added to the recap line.\n\n---\n\n## 13. Memory files inventory\n\n| File | Purpose | Update cadence |\n|------|---------|----------------|\n| `fb-recaps.md` | Per-run logs | Every cron run |\n| `fb-post-log.md` | Page posts (URL, type, date, reach) | Each posting run |\n| `fb-reply-log.md` | DM + comment replies sent | Each reply pass |\n| `fb-state.md` | Daily phase + Page Quality + warnings | Daily Metrics Recap |\n| `fb-banned-users.md` | Users banned from the Page | Each ban |\n| `fb-clients-known.md` | Existing clients to NEVER pitch | Ad hoc |\n| `fb-ideas.md` | Content backlog | Weekly Planning |\n| `fb-learnings.md` | Patterns (what reached, what got hidden) | Weekly + ad hoc |\n| `fb-alerts-sent.md` | Anti-doublon hot-lead alerts | Each alert |\n\n---\n\n## 14. Account identity guardrails\n\n- The Page persona is the brand — speak as the brand, sign as the brand.\n- Page admins: never reply from the personal profile under a Page post. Always switch the \"Posting as\" dropdown to the Page.\n- Bio (Page About): one paragraph + the single `<PRIMARY_CTA>` link. No emoji walls.\n- Never reply to a DM that asks for expert-grade advice on a specific case — redirect to `<PRIMARY_CTA>`.\n- Never share private client details on a public comment.\n- Never reuse strict CRM templates as Page content.\n- Never promise an outcome.\n- Never charge or solicit payment via Page Messenger (compliance + Page restrictions).\n- If asked \"are you a bot?\": sober ambiguous line + redirect.\n\n---\n\n## 15. Phase A → Phase B transition\n\nWhen the Daily Metrics Recap detects (page_age_days ≥ 30) AND (followers ≥ 100) AND (page_quality = green) AND (no warning in 30 d):\n\n1. Append to `fb-state.md`: `YYYY-MM-DD - phase=A - PHASE_B_THRESHOLD_REACHED`.\n2. Send a distinct alert: `🎉 FB Page ready for Phase B — flip outbound crons manually after review`.\n3. Manual user flip.\n4. First week of Phase B: cap reply pass at **4 replies/run**.\n5. Daily check on Page Quality. Any drop reverts to Phase A.\n\n---\n\n## 16. Stability discipline\n\n- Read the UI before clicking.\n- Verify \"Posting as: <Page>\" on every cron run.\n- One click → verify with a snapshot.\n- Close stale tabs at the end of every run.\n- Never fake a successful reply.\n\n**Better silence than spam. Better a blockage report than a fake success.**\n\n---\n\n## 17. First-run checklist\n\n- [ ] Section 0 placeholders filled.\n- [ ] FB Page created, classified correctly (Business, Local Business, Professional Service, etc.).\n- [ ] Page linked to a Meta Business asset (MBS → Business Settings → Pages → Add).\n- [ ] `<META_BUSINESS_ID>`, `<META_ASSET_ID>`, `<FB_PAGE_ID>` extracted.\n- [ ] Page About + intro: one paragraph + single `<PRIMARY_CTA>` link.\n- [ ] Browser profile launched, logged into facebook.com.\n- [ ] Navigating to MBS `inbox/messenger` renders the conversation list.\n- [ ] Page Quality score = green.\n- [ ] `<WORKSPACE_DIR>/memory/` exists with the 9 memory files.\n- [ ] Alert channel webhook tested.\n- [ ] Phase A confirmed: only inbound DM cron enabled.\n- [ ] At least 14 days of manual posting + replies before turning on the cron.\n\nInit memory:\n\n```bash\nmkdir -p \"<WORKSPACE_DIR>/memory\" && cd \"$_\" && touch fb-recaps.md fb-post-log.md fb-reply-log.md fb-state.md fb-banned-users.md fb-clients-known.md fb-ideas.md fb-learnings.md fb-alerts-sent.md\n```\n\n---\n\n## 18. FAQ\n\n**Q: Do I need OpenClaw to use this skill?**\nA: No. OpenClaw browser CLI is the example stack — the doctrine works with Playwright, Puppeteer, Chrome MCP, or any CDP-capable tool.\n\n**Q: Can I use the Facebook Pages API instead?**\nA: Partially. The Pages API + Conversations API covers Messenger sending (within and outside the 24h window via message tags), comment moderation, and Page posting. The doctrine in this skill is the **fallback for accounts without API access, or for cases where MBS UI features are essential** (Page Quality dashboard, link previews, audience insights).\n\n**Q: My Page got restricted during testing. What now?**\nA: Stop everything. Manual review of the last 50 actions in `fb-reply-log.md`. Wait for the restriction to expire (or appeal manually). Once cleared, restart at Phase A with stricter quotas.\n\n**Q: Does this cover Facebook Groups?**\nA: Only if you own the group (the Page is the admin). Replying as the Page in a third-party group requires the group setting \"Allow Pages to post\" — most groups do not allow this. Default: skip groups.\n\n**Q: What about Marketplace / Events / Shop?**\nA: Out of scope. Marketplace and Shop have separate UIs and separate sanction patterns; Events run through the standard Page + Ads stack but with a manual posting cadence.\n\n**Q: Boost vs Ads Manager — which does this skill cover?**\nA: Neither. Both are out of scope. This skill is organic + reactive ops only.\n\n**Q: What if my admin account is suspended (not just the Page)?**\nA: Stop everything. A suspended admin account puts the Page at risk. Manual review only. Document the last 20 admin-account actions, not just Page actions, in `fb-learnings.md`.\n\nFile v1.0.0:README.md\n\n# Facebook Account Operations\n\n> Operating doctrine for Facebook Page automation — careful brand-page pattern via Meta Business Suite, role separation, page-vs-profile-vs-group surface awareness, comment + Messenger ops, moderation discipline (hide vs delete vs ban), and recovery patterns.\n\n[![License: MIT-0](https://img.shields.io/badge/License-MIT--0-blue.svg)](https://opensource.org/licenses/MIT-0)\n[![Version](https://img.shields.io/badge/version-1.0.0-green)](#changelog)\n\nA Claude Code / OpenClaw skill for running Facebook brand **Pages** safely. Battle-tested in a regulated-field operation, ported to be domain-agnostic.\n\n**Why most Facebook automation gets the Page restricted**: it scripts personal-profile-style actions against the Page surface, ignoring the \"Posting as: Page\" toggle and the Page Quality dashboard. This doctrine doesn't.\n\n---\n\n## What's in the box\n\n- **Pages-only doctrine**: explicit rules against automating personal profiles (fast-track to permanent ban) and third-party groups\n- **3-role mental model** for any FB Page (`fb-post` / `fb-engage` / `fb-stealth`)\n- **MBS-first**: every reactive op (Messenger, Page comments) goes through `business.facebook.com`\n- **Page-Quality-phased posting**: Phase A (Page < 30d, yellow/red quality, or < 100 followers) → Phase B (full doctrine) — with **manual override path** for grandfathered Pages\n- **Zero-outgoing-link policy** in comments; max 1 URL in DMs\n- **Page moderation discipline**: Hide vs Delete vs Ban — with the \"prefer Hide over Delete\" rule and `fb-banned-users.md` tracking\n- **The MBS comment-Reply navigation bug + workaround** (`@username` prefix + page-level textarea + send-arrow click)\n- **24h Messenger window awareness** (out-of-window outbound needs message-tag templates)\n- **Strict reply qualification**: skip testimonials-without-link-back, recognize existing clients, 7-day per-user cap\n- **Hard quotas** for Pages, calibrated to avoid Page Quality drops\n- **Anti-spam triggers**: same-opening-phrase ban, shorteners ban, \"as Page\" admin-toggle drift check\n- **Full recovery playbook**: Page Quality drops, Page restrictions, MBS soft logouts, admin-account \"in review\", comment automod removals\n- **Memory file inventory** for stateful agents (including the `fb-banned-users.md` register)\n- **Mandatory recap pattern** with Page Quality in the recap line\n\n---\n\n## Install\n\n### Via ClawHub\n\nThe skill is designed to be published on ClawHub — install in one click from your agent once published.\n\n### Manual copy\n\n```bash\nmkdir -p ~/.claude/skills/facebook-account-operations\ncp SKILL.md ~/.claude/skills/facebook-account-operations/\n```\n\nOr for OpenClaw:\n\n```bash\nmkdir -p ~/.openclaw/skills/facebook-account-operations\ncp SKILL.md ~/.openclaw/skills/facebook-account-operations/\n```\n\n---\n\n## Quick start\n\n1. Open `SKILL.md` and fill the placeholders in **Section 0** (brand, Page name + ID, `<META_BUSINESS_ID>`, `<META_ASSET_ID>`, browser profile, port, niche keywords, primary CTA, workspace dir).\n2. Verify Page Quality (MBS → Page → Page Quality) is **green** before turning on any cron.\n3. Verify the \"Posting as: <Page>\" chip is set in MBS — it sometimes reverts to the personal admin account after a session refresh.\n4. Wire your crons (e.g. DM check `6,21,36,51`, comment check `9,24,39,54`, hourly browser-health).\n5. **Start in Phase A** until page_age ≥ 30 days AND followers ≥ 100 AND no warning in 30 days. Don't shortcut.\n\nShell snippets in the skill use the [OpenClaw](https://openclaw.ai) browser CLI as an example automation stack. Swap them for Playwright, Puppeteer, Chrome MCP, or any CDP-capable tool — the doctrine is stack-agnostic.\n\n---\n\n## Who is this for\n\nAny niche where the brand needs a stable, on-policy Page presence with a real DM + comment moderation loop:\n\n- **Legal services** (origin of the doctrine — works under strict bar association rules)\n- **Medical / health** practitioners with public-content strategies\n- **Financial advisors** subject to compliance constraints\n- **Local businesses** with active comment-section community management\n- **Agencies** managing client Pages\n\nAnywhere Page Quality = business reach.\n\n---\n\n## Repository structure\n\n```\nfacebook-account-operations/\n├── SKILL.md         # the skill (full doctrine)\n├── README.md        # this file\n├── LICENSE          # MIT-0\n└── CHANGELOG.md     # version history (TBD)\n```\n\n---\n\n## Companion skills\n\n- **instagram-account-operations** — same MBS backbone, IG-specific doctrine.\n- **tiktok-account-operations** — for TikTok ops.\n- **whatsapp-account-operations** — for BSP-API-driven WhatsApp Business ops (the downstream conversion channel).\n- **[reddit-account-operations](https://github.com/AlexBloch-IA/reddit-account-operations)** + **[twitter-account-operations](https://github.com/AlexBloch-IA/twitter-account-operations)** — same doctrine family on other platforms.\n\n---\n\n## License\n\nReleased under **MIT-0** (MIT No Attribution). Use, fork, adapt, redistribute. No attribution required.\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7f6shzecv3qv3wrr074s49f986ybe1\",\n  \"slug\": \"facebook-account-operations\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1779140085557\n}\n\nFile v1.0.0:skill-card.md\n\n## Description:\n\nGuides agents through Facebook Page operations via Meta Business Suite, including role separation, scheduled DM and comment handling, moderation discipline, Page Quality-aware gating, and recovery playbooks.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[alexbloch-ia](https://clawhub.ai/user/alexbloch-ia)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, operators, and agencies managing Facebook brand Pages use this skill to configure cautious Meta Business Suite based automation for scheduled Page DMs, comment replies, moderation, state tracking, and recovery while preserving Page Quality.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Facebook Page or account restrictions may result from unauthorized or over-broad automation.\n\nMitigation: Use the skill only for Facebook Pages you own or are authorized to manage, review cron jobs before enabling them, and require manual review before expanding beyond Phase A.\n\nRisk: Workspace memory files and webhook alerts may contain sensitive operational details.\n\nMitigation: Keep workspace memory files and webhook alert channels private, and use a dedicated browser profile for Facebook Page operations.\n\nRisk: Moderation actions such as deleting comments, banning users, or increasing automation scope can create account-management and reputation risk.\n\nMitigation: Require manual review before deleting comments, banning users, or expanding automation, and follow the artifact's Page Quality checks and recovery playbooks.\n\n## Reference(s):\n\n- [ClawHub Skill Listing](https://clawhub.ai/alexbloch-ia/skills/facebook-account-operations)\n- [OpenClaw](https://openclaw.ai)\n- [Claude Code](https://claude.ai/code)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Markdown, Shell commands, Configuration]\n\n**Output Format:** [Markdown with YAML configuration and inline bash code blocks]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces operating procedures, quotas, checklists, memory-file conventions, and recovery guidance; does not execute Facebook actions by itself.]\n\n## Skill Version(s):\n\n1.0.0 (source: server release metadata and README badge)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.","readmeExcerpt":"Skill: Facebook Account Operations Owner: alexbloch-ia Summary: Operating doctrine for Facebook Page automation — careful brand-page pattern via Meta Business Suite, role separation, page-vs-profile-vs-group surface aware... Tags: agent:1.0.0, anti-spam:1.0.0, automation:1.0.0, browser-automation:1.0.0, comments:1.0.0, cron:1.0.0, doctrine:1.0.0, facebook:1.0.0, faq:1.0.0, growth:1.0.0, latest:1.0.0, mbs:1.0.0, messe","codeSnippets":[],"executableExamples":[{"language":"yaml","snippet":"brand:\n  name: <BRAND_NAME>\n  domain: <BRAND_DOMAIN>\n\nfacebook:\n  page_name: <FB_PAGE_NAME>\n  page_id: <FB_PAGE_ID>\n  browser_profile: <BROWSER_PROFILE>\n  browser_port: <BROWSER_PORT>\n\nmeta_business_suite:\n  business_id: <META_BUSINESS_ID>\n  asset_id: <META_ASSET_ID>\n  base_url: https://business.facebook.com/latest/inbox\n\ndiscovery:\n  niche_keywords: <NICHE_KEYWORDS>\n\ncta:\n  primary: <PRIMARY_CTA>\n\nworkspace:\n  dir: <WORKSPACE_DIR>\n\nalerts:\n  channel: telegram | slack | discord\n  webhook: <YOUR_WEBHOOK_URL>\n\nschedule:\n  timezone: Europe/Paris\n  windows:\n    dm_check:      \"6,21,36,51 9-22 * * *\"\n    comment_check: \"9,24,39,54 9-22 * * *\"\n    browser_health: \"0 * * * *\"\n    daily_recap:   \"21:00\""},{"language":"bash","snippet":"openclaw browser --browser-profile <BROWSER_PROFILE> status\nopenclaw browser --browser-profile <BROWSER_PROFILE> navigate https://business.facebook.com/latest/inbox/all/?business_id=<META_BUSINESS_ID>&asset_id=<META_ASSET_ID>\nopenclaw browser --browser-profile <BROWSER_PROFILE> snapshot --limit 200"},{"language":"text","snippet":"[Acknowledge the situation in 1 sentence, neutral tone.]\n\n[General framework in 2-3 short paragraphs.]\n\n[Concrete next step — point to <PRIMARY_CTA>. ONE channel only.]"},{"language":"text","snippet":"@<UserName> [contextual acknowledgement]. [Indirect signal — \"DM us\" or \"form on Page\"]."},{"language":"bash","snippet":"mkdir -p \"<WORKSPACE_DIR>/memory\" && cd \"$_\" && touch fb-recaps.md fb-post-log.md fb-reply-log.md fb-state.md fb-banned-users.md fb-clients-known.md fb-ideas.md fb-learnings.md fb-alerts-sent.md"},{"language":"bash","snippet":"mkdir -p ~/.claude/skills/facebook-account-operations\ncp SKILL.md ~/.claude/skills/facebook-account-operations/"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: facebook-account-operations\ndescription: Operating doctrine for Facebook Page automation — careful brand-page pattern via Meta Business Suite, role separation, page-vs-profile-vs-group surface awareness, comment + Messenger ops (Playwright click + type + Enter), moderation discipline (hide vs delete vs ban), and recovery patterns. Use this for any scheduled FB activity (cron, agent, recurring task) where account / page safety and reach matter more than raw output.\n---\n\n# Facebook Account Operations\n\nThis skill is the operating doctrine for every Facebook automation run on a brand **Page** (recommended), professional or personal account.\n\n**The goal is not to comment fast. The goal is to operate Facebook like a careful, helpful human community manager: stable browser, correct context (Meta Business Suite), useful action, no page restrictions, no reputational risk.**\n\nDrop-in for any niche (legal, medical, software, finance, creator, ecommerce). Replace the placeholders in section 0 with your own values.\n\n---\n\n## 0. Configure for your brand\n\nBefore running anything, fill these placeholders in your local copy or your agent's memory:\n\n| Placeholder | Example | Your value |\n|---|---|---|\n| `<BRAND_NAME>` | \"Acme Studio\" | — |\n| `<BRAND_DOMAIN>` | \"acme.studio\" | — |\n| `<FB_PAGE_NAME>` | \"Acme Studio\" (the public Page name) | — |\n| `<FB_PAGE_ID>` | numeric ID of the Page | — |\n| `<META_BUSINESS_ID>` | numeric ID from business.facebook.com → Settings | — |\n| `<META_ASSET_ID>` | numeric ID of the FB Page asset in MBS | — |\n| `<BROWSER_PROFILE>` | \"facebook-live\" | — |\n| `<BROWSER_PORT>` | \"18803\" | — |\n| `<NICHE_KEYWORDS>` | \"lost license OR speeding ticket\" | — |\n| `<PRIMARY_CTA>` | \"WhatsApp / form / app — pick ONE\" | — |\n| `<WORKSPACE_DIR>` | \"~/.openclaw/workspace/facebook-<brand>\" | — |\n\nAll shell snippets below assume an [OpenClaw](https://openclaw.ai) browser CLI bound by CDP, but the doctrine works with any browser-automation stack (Playwright, Puppeteer, Chrome MCP). Swap the CLI calls for your own.\n\n### Quick config (copy-paste YAML)\n\n```yaml\nbrand:\n  name: <BRAND_NAME>\n  domain: <BRAND_DOMAIN>\n\nfacebook:\n  page_name: <FB_PAGE_NAME>\n  page_id: <FB_PAGE_ID>\n  browser_profile: <BROWSER_PROFILE>\n  browser_port: <BROWSER_PORT>\n\nmeta_business_suite:\n  business_id: <META_BUSINESS_ID>\n  asset_id: <META_ASSET_ID>\n  base_url: https://business.facebook.com/latest/inbox\n\ndiscovery:\n  niche_keywords: <NICHE_KEYWORDS>\n\ncta:\n  primary: <PRIMARY_CTA>\n\nworkspace:\n  dir: <WORKSPACE_DIR>\n\nalerts:\n  channel: telegram | slack | discord\n  webhook: <YOUR_WEBHOOK_URL>\n\nschedule:\n  timezone: Europe/Paris\n  windows:\n    dm_check:      \"6,21,36,51 9-22 * * *\"\n    comment_check: \"9,24,39,54 9-22 * * *\"\n    browser_health: \"0 * * * *\"\n    daily_recap:   \"21:00\"\n```\n\n### Compatibility\n\n| Stack | Skill install path |\n|---|---|\n| [Claude Code](https://claude.ai/code) | `~/.claude/skills/facebook-account-operations/` |\n| [OpenClaw](https://openclaw.ai) | `~/.opencla"},{"path":"README.md","content":"# Facebook Account Operations\n\n> Operating doctrine for Facebook Page automation — careful brand-page pattern via Meta Business Suite, role separation, page-vs-profile-vs-group surface awareness, comment + Messenger ops, moderation discipline (hide vs delete vs ban), and recovery patterns.\n\n[![License: MIT-0](https://img.shields.io/badge/License-MIT--0-blue.svg)](https://opensource.org/licenses/MIT-0)\n[![Version](https://img.shields.io/badge/version-1.0.0-green)](#changelog)\n\nA Claude Code / OpenClaw skill for running Facebook brand **Pages** safely. Battle-tested in a regulated-field operation, ported to be domain-agnostic.\n\n**Why most Facebook automation gets the Page restricted**: it scripts personal-profile-style actions against the Page surface, ignoring the \"Posting as: Page\" toggle and the Page Quality dashboard. This doctrine doesn't.\n\n---\n\n## What's in the box\n\n- **Pages-only doctrine**: explicit rules against automating personal profiles (fast-track to permanent ban) and third-party groups\n- **3-role mental model** for any FB Page (`fb-post` / `fb-engage` / `fb-stealth`)\n- **MBS-first**: every reactive op (Messenger, Page comments) goes through `business.facebook.com`\n- **Page-Quality-phased posting**: Phase A (Page < 30d, yellow/red quality, or < 100 followers) → Phase B (full doctrine) — with **manual override path** for grandfathered Pages\n- **Zero-outgoing-link policy** in comments; max 1 URL in DMs\n- **Page moderation discipline**: Hide vs Delete vs Ban — with the \"prefer Hide over Delete\" rule and `fb-banned-users.md` tracking\n- **The MBS comment-Reply navigation bug + workaround** (`@username` prefix + page-level textarea + send-arrow click)\n- **24h Messenger window awareness** (out-of-window outbound needs message-tag templates)\n- **Strict reply qualification**: skip testimonials-without-link-back, recognize existing clients, 7-day per-user cap\n- **Hard quotas** for Pages, calibrated to avoid Page Quality drops\n- **Anti-spam triggers**: same-opening-phrase ban, shorteners ban, \"as Page\" admin-toggle drift check\n- **Full recovery playbook**: Page Quality drops, Page restrictions, MBS soft logouts, admin-account \"in review\", comment automod removals\n- **Memory file inventory** for stateful agents (including the `fb-banned-users.md` register)\n- **Mandatory recap pattern** with Page Quality in the recap line\n\n---\n\n## Install\n\n### Via ClawHub\n\nThe skill is designed to be published on ClawHub — install in one click from your agent once published.\n\n### Manual copy\n\n```bash\nmkdir -p ~/.claude/skills/facebook-account-operations\ncp SKILL.md ~/.claude/skills/facebook-account-operations/\n```\n\nOr for OpenClaw:\n\n```bash\nmkdir -p ~/.openclaw/skills/facebook-account-operations\ncp SKILL.md ~/.openclaw/skills/facebook-account-operations/\n```\n\n---\n\n## Quick start\n\n1. Open `SKILL.md` and fill the placeholders in **Section 0** (brand, Page name + ID, `<META_BUSINESS_ID>`, `<META_ASSET_ID>`, browser profile, port, niche keywords, primary CTA, workspa"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7f6shzecv3qv3wrr074s49f986ybe1\",\n  \"slug\": \"facebook-account-operations\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1779140085557\n}"},{"path":"skill-card.md","content":"## Description:\n\nGuides agents through Facebook Page operations via Meta Business Suite, including role separation, scheduled DM and comment handling, moderation discipline, Page Quality-aware gating, and recovery playbooks.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[alexbloch-ia](https://clawhub.ai/user/alexbloch-ia)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, operators, and agencies managing Facebook brand Pages use this skill to configure cautious Meta Business Suite based automation for scheduled Page DMs, comment replies, moderation, state tracking, and recovery while preserving Page Quality.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Facebook Page or account restrictions may result from unauthorized or over-broad automation.\n\nMitigation: Use the skill only for Facebook Pages you own or are authorized to manage, review cron jobs before enabling them, and require manual review before expanding beyond Phase A.\n\nRisk: Workspace memory files and webhook alerts may contain sensitive operational details.\n\nMitigation: Keep workspace memory files and webhook alert channels private, and use a dedicated browser profile for Facebook Page operations.\n\nRisk: Moderation actions such as deleting comments, banning users, or increasing automation scope can create account-management and reputation risk.\n\nMitigation: Require manual review before deleting comments, banning users, or expanding automation, and follow the artifact's Page Quality checks and recovery playbooks.\n\n## Reference(s):\n\n- [ClawHub Skill Listing](https://clawhub.ai/alexbloch-ia/skills/facebook-account-operations)\n- [OpenClaw](https://openclaw.ai)\n- [Claude Code](https://claude.ai/code)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Markdown, Shell commands, Configuration]\n\n**Output Format:** [Markdown with YAML configuration and inline bash code blocks]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces operating procedures, quotas, checklists, memory-file conventions, and recovery guidance; does not execute Facebook actions by itself.]\n\n## Skill Version(s):\n\n1.0.0 (source: server release metadata and README badge)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Operating doctrine for Facebook Page automation — careful brand-page pattern via Meta Business Suite, role separation, page-vs-profile-vs-group surface aware... Skill: Facebook Account Operations Owner: alexbloch-ia Summary: Operating doctrine for Facebook Page automation — careful brand-page pattern via Meta Business Suite, role separation, page-vs-profile-vs-group surface aware... Tags: agent:1.0.0, anti-spam:1.0.0, automation:1.0.0, browser-automation:1.0.0, comments:1.0.0, cron:1.0.0, doctrine:1.0.0, facebook:1.0.0, faq:1.0.0, growth:1.0.0, latest:1.0.0, mbs:1.0.0, messe","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1529,"uniquenessScore":46,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T22:14:46.641Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T22:14:46.641Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-13T10:36:32.106Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}