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.
Apply shared rulebook and user-guidance rules from postplus-shared.
When a supported command completes but evidence is empty, sparse, noisy,
off-topic, or the wrong record type, apply the postplus-shared reference
research-quality-recovery.md; hard execution errors still fail fast.
Apply references/shared-contract.md first, then the one narrow reference that
matches the job.
Two Lanes
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.
Route
| User intent |
Read |
| Public page, profile, group, or post content pull |
references/public-content.md |
| Page health, competitor page, group quality, public presence audit |
references/page-and-group-audit.md |
| Organic hooks, formats, competitors, post examples, content patterns |
references/organic-benchmark.md |
| Reels, short-form video, video hooks, media-led benchmark |
references/reels-and-video.md |
| Comments, audience voice, objections, FAQ, group discussion |
references/community-voice.md |
| Ad-library creative, paid offers, CTAs, funnel review |
references/ads-and-funnel.md |
| Events, local activations, organizers, offline demand |
references/events-and-local.md |
| Marketplace listings, local commerce, price bands |
references/shops-and-marketplace.md |
| Partner/creator/organizer discovery, broad Facebook search, page verification |
references/partner-discovery.md |
| Private profiles, hidden groups, member lists, Page Insights, ad account metrics, targeting, spend, ROAS |
Stop 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.
| Missing |
Ask |
| Seed |
What Facebook source should anchor this: page, profile, group, post URL, keyword, or event? |
| Decision |
What decision should this support: audit, benchmark, voice, ads, events, marketplace, or discovery? |
| Private target |
Can you provide a public URL or exported dataset instead? |
| Too broad |
Which 1-5 sources matter most for the first pass? |
Do not ask the user for internal route identifiers, schemas, implementation
choices, retries, credentials, hidden filters, or internal routing.
Run Discipline
- Pick one reference and one lane.
- Run the smallest real collection that can answer the decision.
- Parallelize independent sources when they do not depend on each other.
- If execution succeeds but evidence is empty, sparse, noisy, or off-topic,
apply the shared bounded research-quality recovery rule before accepting or
exhausting the evidence.
- Produce JSON as the source of truth and a compact HTML evidence artifact when
item-level evidence was collected.
- Return a short chat answer: scope, counts, strongest finding, biggest gap,
artifact path, and next action.
Result record shapes for every research route are documented in the
postplus-shared reference dataset-item-schemas.md; consult it before
writing result-processing code, and probe a single record only to verify.
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.
- If an owned CLI command fails, report the exact error and stop. Do not bypass
the failure with metadata-only answers, readiness probing, local payload
rewrites, alternate services, or unpublished tools.
- 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.
- Keep the first pass bounded; expand only after inspecting the first result.
Stop on hard errors. Do not silently swap sources or invent missing data.
- If the CLI returns a quote-confirmation challenge, run
postplus quote confirm --json --challenge-file <challenge.json> and retry
with the returned token.
postplus research run facebook-group-posts \
--url "https://example.com/source" \
--wait \
--output ./result.json
postplus research run facebook-ads-library \
--query "example topic" \
--wait \
--output ./result.json
1---2name: facebook-research3description: Run bounded public Facebook research for pages, profiles, groups, posts, reels, comments, ads, events, marketplace listings, and search. Use when public Facebook evidence should support a marketing, creator, community, competitor, or funnel decision.4---56# Facebook Research78Use this skill when the user needs public Facebook evidence - page/profile posts,9direct posts, public group posts, reels, comments, ad-library creative, events,10marketplace listings, page profiles, or public search - for a growth, marketing,11creator, community, competitor, or funnel decision.1213Apply shared rulebook and user-guidance rules from `postplus-shared`.14When a supported command completes but evidence is empty, sparse, noisy,15off-topic, or the wrong record type, apply the `postplus-shared` reference16`research-quality-recovery.md`; hard execution errors still fail fast.17Apply `references/shared-contract.md` first, then the one narrow reference that18matches the job.1920## Two Lanes2122Facebook has URL-led routes for public page/profile/group/post content and23specialized routes for reels, comments, ads, events, marketplace, pages, and24search. Pick the route by user intent; PostPlus handles execution details.2526## Route2728| User intent | Read |29| --- | --- |30| Public page, profile, group, or post content pull | `references/public-content.md` |31| Page health, competitor page, group quality, public presence audit | `references/page-and-group-audit.md` |32| Organic hooks, formats, competitors, post examples, content patterns | `references/organic-benchmark.md` |33| Reels, short-form video, video hooks, media-led benchmark | `references/reels-and-video.md` |34| Comments, audience voice, objections, FAQ, group discussion | `references/community-voice.md` |35| Ad-library creative, paid offers, CTAs, funnel review | `references/ads-and-funnel.md` |36| Events, local activations, organizers, offline demand | `references/events-and-local.md` |37| Marketplace listings, local commerce, price bands | `references/shops-and-marketplace.md` |38| Partner/creator/organizer discovery, broad Facebook search, page verification | `references/partner-discovery.md` |39| Private profiles, hidden groups, member lists, Page Insights, ad account metrics, targeting, spend, ROAS | Stop and ask for a public source or export |4041## First Question4243Ask only when the answer changes the route, source, privacy boundary, sample44size, or output shape.4546| Missing | Ask |47| --- | --- |48| Seed | `What Facebook source should anchor this: page, profile, group, post URL, keyword, or event?` |49| Decision | `What decision should this support: audit, benchmark, voice, ads, events, marketplace, or discovery?` |50| Private target | `Can you provide a public URL or exported dataset instead?` |51| Too broad | `Which 1-5 sources matter most for the first pass?` |5253Do not ask the user for internal route identifiers, schemas, implementation54choices, retries, credentials, hidden filters, or internal routing.5556## Run Discipline57581. Pick one reference and one lane.592. Run the smallest real collection that can answer the decision.603. Parallelize independent sources when they do not depend on each other.614. If execution succeeds but evidence is empty, sparse, noisy, or off-topic,62 apply the shared bounded research-quality recovery rule before accepting or63 exhausting the evidence.645. Produce JSON as the source of truth and a compact HTML evidence artifact when65 item-level evidence was collected.666. Return a short chat answer: scope, counts, strongest finding, biggest gap,67 artifact path, and next action.6869Result record shapes for every research route are documented in the70`postplus-shared` reference `dataset-item-schemas.md`; consult it before71writing result-processing code, and probe a single record only to verify.7273Use only the public filters shown by the selected route.7475## Public Command Boundary7677- Choose the smallest matching research route and run it directly.78- Readiness diagnostics: `postplus doctor --skill facebook-research`.79- If an owned CLI command fails, report the exact error and stop. Do not bypass80 the failure with metadata-only answers, readiness probing, local payload81 rewrites, alternate services, or unpublished tools.82- Inspect one route with `postplus research run <route> --help` when its semantic83 flags are not already clear.84- Run `postplus research run <route> --<semantic flags> --wait --output85 <result.json>`.86- Pass only public URLs, search terms, locations, scope, and result limits.87- Keep the first pass bounded; expand only after inspecting the first result.88 Stop on hard errors. Do not silently swap sources or invent missing data.89- If the CLI returns a quote-confirmation challenge, run90 `postplus quote confirm --json --challenge-file <challenge.json>` and retry91 with the returned token.9293<!-- BEGIN GENERATED EXECUTION EXAMPLE -->94```bash95postplus research run facebook-group-posts \96 --url "https://example.com/source" \97 --wait \98 --output ./result.json99```100101```bash102postplus research run facebook-ads-library \103 --query "example topic" \104 --wait \105 --output ./result.json106```107<!-- END GENERATED EXECUTION EXAMPLE -->