mcpField
F
facebook-research

facebook-research

github.com/postplusaiMarketing & growth271.1k installsUpdated 1d ago
Repository

About facebook-research

A PostPlus skill for gathering public Facebook evidence for marketing, growth, creator, community, competitor, and funnel research. It routes requests to specialized collections for posts, comments, ads, events, marketplace listings, pages, and public search while distinguishing observed evidence from unavailable private data.

Key features

  1. 01Collect public posts and profiles
  2. 02Research reels and comments
  3. 03Inspect ad-library creative
  4. 04Explore events and marketplace listings
  5. 05Discover pages and public sources
  6. 06Route research by evidence need

Use cases

  1. 01Benchmark public competitor content
  2. 02Review public comments and audience concerns
  3. 03Compare ad creative and calls to action
  4. 04Find local events or marketplace listings

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/postplusai/postplus-skills --skill facebook-research

After installing, type/facebook-researchin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
ads-and-funnel.md
community-voice.md
events-and-local.md
organic-benchmark.md
page-and-group-audit.md
partner-discovery.md
public-content.md
reels-and-video.md
shared-contract.md
shops-and-marketplace.md

Details

From the project README

Facebook Research

Use this skill when the user needs public Facebook evidence - page/profile posts, direct posts, public group posts, reels, comments, ad-library creative, events, marketplace listings, page profiles, or public search - for a growth, marketing, creator, community, competitor, or funnel decision.

Read only the one narrow reference matching the job.

Collection Routes

Facebook has URL-led routes for public page/profile/group/post content and specialized routes for reels, comments, ads, events, marketplace, pages, and search. Pick the route by user intent; PostPlus handles execution details.

All post collections return output.items[]; fields differ between ordinary posts, group posts and Reels. Follow the selected reference. facebook-group-posts and facebook-groups sample the same public group posts; do not run both as independent corroboration. Both group routes return a chronological post sample with no server-side keyword filter. Missing group membership, founding dates or verification are unavailable, not zero or false.

Use web-search for external source discovery only; its snippets are not Facebook post or comment evidence. Follow references/public-content.md for search-page field reading.

Route

User intentRead
Public page, profile, group, or post content pullreferences/public-content.md
Page health, competitor page, group quality, public presence auditreferences/page-and-group-audit.md
Organic hooks, formats, competitors, post examples, content patternsreferences/organic-benchmark.md
Reels, short-form video, video hooks, media-led benchmarkreferences/reels-and-video.md
Comments, audience voice, objections, FAQ, group discussionreferences/community-voice.md
Ad-library creative, paid offers, CTAs, funnel reviewreferences/ads-and-funnel.md
Events, local activations, organizers, offline demandreferences/events-and-local.md
Marketplace listings, local commerce, price bandsreferences/shops-and-marketplace.md
Partner/creator/organizer discovery, broad Facebook search, page verificationreferences/partner-discovery.md
Private profiles, hidden groups, member lists, Page Insights, ad account metrics, targeting, spend, ROASStop and ask for a public source or export

First Question

Ask only when the answer changes the route, source, privacy boundary, sample size, or output shape.

MissingAsk
Non-ad seedWhat Facebook source should anchor this: page, profile, group, post URL, keyword, or event?
DecisionWhat decision should this support: audit, benchmark, voice, ads, events, marketplace, or discovery?
Private targetCan you provide a public URL or exported dataset instead?
Non-ad scope too broadWhich 1-5 sources matter most for the first pass?

For ads, a product URL, unfamiliar brand, category, or problem is a sufficient seed. Discover related products yourself; follow the ad-specific quantity and stopping rules in references/ads-and-funnel.md.

Do not ask the user for internal route identifiers, schemas, implementation choices, retries, credentials, hidden filters, or internal routing.

Run Discipline

  1. Pick one reference and one lane.
  2. For ads, collect fresh evidence as described in references/ads-and-funnel.md; do not automatically search the stored ad library. Explicit library browsing is a separate user goal. Otherwise run the smallest real collection that can answer the decision.
  3. Parallelize independent sources when they do not depend on each other.
  4. If execution succeeds but evidence is empty, sparse, noisy, or off-topic, apply the quality rules below before accepting or exhausting the evidence.
  5. Produce JSON as the source of truth and a compact HTML evidence artifact when item-level evidence was collected.
  6. Return a short chat answer: scope, counts, strongest finding, biggest gap, artifact path, and next action.

Use only the public filters shown by the selected route.

Public Command Boundary

  • Choose the smallest matching research route and run it directly.

  • Readiness diagnostics: postplus doctor --skill facebook-research.

  • Inspect one route with postplus research run <route> --help when its semantic flags are not already clear.

  • Run postplus research run <route> --<semantic flags> --wait --output <result.json>.

  • Pass only public URLs, search terms, locations, scope, and result limits.

  • For non-ad routes, keep the first pass bounded; expand only after inspecting the first result. For ads, collect toward the requested evidence outcome, using the ad reference. Stop on hard errors. Do not silently swap sources or invent missing data.

  • Requested tasks use existing PostPlus credits after the current price and balance are checked. Estimate-only requests do not execute. Stop on insufficient credits; do not recharge, buy a subscription, or repeat an uncertain paid operation.

Command Selection

Evidence needRouteSemantic inputFirst pass
Public page/profile postsfacebook-profile-posts--url, --limit1-5 URLs, 20 posts
Direct post evidencefacebook-post-by-url--url1-10 URLs
Public group postsfacebook-group-posts--url, --limit1-3 groups, 20 posts
Ad-library creativefacebook-ads-library--query, --country, --status, --limitSee ad reference: outcome-sized collection
Post/reel commentsfacebook-comments--url, --limit1-5 URLs, 20 comments
Public group discussionfacebook-groups--url, --limit20 posts
Events/local activityfacebook-events--query or --url, --limit10 events
Marketplace listingsfacebook-marketplace--url, --limit10 listings
Page identityfacebook-pages--url1-5 pages
Rich page/profile postsfacebook-posts--url, --limit20 posts
Reelsfacebook-reels--url, --limit20 reels
Broad public searchfacebook-search--category, --location, --limit20 results

Only if platform scope or evidence interpretation remains unclear, consult platform contract; it is not a preflight.

Evidence Quality

  1. Check that page/post/comment/ad records match the requested lane; public group posts are not automatically comment evidence.
  2. Change the public source URL or a supported query when evidence misses; keep ad creative separate from organic posts.
  3. For non-ad routes, allow at most two changed follow-up passes after successful but insufficient results, within approved scope and budget; do not repeat an identical request or hide a failed/pending operation.
  4. For ads, use the ad reference's evidence-based stopping conditions. Otherwise stop when sufficient, at the bound, or when another pass would not help. Report useful evidence and uncertainty; preserve raw results and source links.

Ad-library visibility is not spend or ROAS; preserve the source URL and observed dates, and distinguish comments from post text. Full machine fields belong to postplus research schema --route <route> --json; consult it only when required for processing, not before every request.

postplus research run facebook-ads-library \
  --query "example topic" \
  --wait \
  --output ./result.json

Follow the CLI's structured result and reported next action; do not infer recovery from free-text messages. Reuse explicit user approval that already covers the requested scope and maximum cost; otherwise obtain approval before confirming a quote. Never infer spending authorization from a task alone. Resume the same operation through its returned checkpoint or action; never resubmit uncertain work, repeat exhausted recovery, or switch providers to bypass failure.

Comments

Markdown supported