facebook-organic
Skill1 starsChanged 51 days agoMITView on GitHub
Analyze Facebook Page (organic) performance through Windsor.ai. Use when the user asks about their Facebook Page's organic insights — reach, impressions, engagement, reactions, follows/fans, or the performance of individual posts, videos, and Reels, by date/week/month or by country. It can also publish a photo post or a text and link post to a Page, always after the user approves the full draft. Do not use for Facebook Ads (those live in the Meta/Facebook Ads connector), boosting posts, Instagram, or other platforms.
In this repository33 other files it gives its agents.
- business-dataSkill
- crm-insightsSkill
- crm-manageSkill
- ecommerce-insightsSkill
- ecommerce-manageSkill
- facebook-adsSkill
- finance-insightsSkill
- gohighlevelSkill
- google-adsSkill
- google-analytics-4Skill
- google-business-profileSkill
- google-merchant-centerSkill
- google-search-consoleSkill
- hubspotSkill
- instagram-publicSkill
- instagramSkill
- klaviyoSkill
- linkedin-adsSkill
- linkedin-pagesSkill
- microsoft-adsSkill
- social-media-createSkill
- social-media-insightsSkill
- tiktok-adsSkill
- tiktok-organicSkill
- web-analytics-insightsSkill
- windsor-connectSkill
- windsor-createSkill
- windsor-exportSkill
- windsor-get-startedSkill
- windsor-insightsSkill
- windsor-manageSkill
- windsor-optimizeSkill
- youtubeSkill
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 1 is distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 29
Call get_connectors to see which Facebook Pages are connected (each has an id and usually a name).
- Very specific: line 38
Call get_fields for facebook_organic to get valid field ids.
- Very specific: line 42
Call get_data with fields, the target Page/account(s), and a date range (date_from/date_to or a date_preset like last_7d, last_30d, …
- Very specific: line 58
If a metric the user wants isn't in get_fields, say so rather than substituting a different one.
- Very specific: line 63
Call get_connectors to pick the Page.
- Very specific: line 64
Call list_actions for facebook_organic and read the schema of create_post or create_photo_post.
- Very specific: line 69
Call execute_action once and report the result from the tool, including any post id or URL it returns.
- Distinctive: line 71
If the action is refused because write actions are not enabled for the account, send the user to …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Facebook Organic (Pages) via Windsor.ai
Windsor.ai pulls Facebook Page organic insights from the Facebook Graph API.
The connector id is facebook_organic. Pass facebook_organic as the connector on every tool call; the Windsor.ai server
serves all connectors, so it is never implied.
Reads are the main job. The connector also exposes write actions, currently
create_post and create_photo_post (the live set is whatever list_actions
returns). It has no ad or cost data (Facebook Ads live in the Meta/Facebook
Ads connector, so route ad-spend and boost requests there), it does not cover
Instagram, and it does not change Page settings; say those are out of scope
here.
Golden rules:
- Never guess field, page, or option names — get them from
get_fields,get_connectors, andget_options. Call those first. - Publishing is public and immediate. Show the full post text (and the
photo URL) and call
execute_actiononly after an explicit yes. - Report what the user asked for, concisely.
1. Ground yourself first
Call get_connectors to see which Facebook Pages are connected (each has an id
and usually a name). If none is connected, help the user connect:
get_connector_authorization_url (or get_connector_connect_info for the auth
type and steps) and give them the setup link — don't describe manual dashboard
navigation. If several Pages are connected and the request is ambiguous, ask
which one.
2. Reading Page insights
- Call
get_fieldsforfacebook_organicto get valid field ids. These span Page-level metrics (reach, impressions, engaged users, follows/fans, video and Reels plays) and post-level fields (reactions, comments, shares, clicks, post reach/impressions). Use the exact ids returned, not these examples. - Call
get_datawithfields, the target Page/account(s), and a date range (date_from/date_toor adate_presetlikelast_7d,last_30d,this_month; appendTto include today). Addfiltersas needed.
Facebook Organic specifics to respect:
- One broken-down (segmented) metric per request. The connector can't return multiple broken-down metrics in one call — request them separately and combine in your answer rather than asking for several at once.
- Weekly/monthly aggregation. Requesting a week field (
week_iso/year_week_iso, orweek/year_week) returns one row per week; a month field (month/year_month) one row per month. Facebook deduplicates unique metrics (reach, unique impressions) over the period, so use the week/month field for weekly/monthly totals — do not sum daily rows, which over-counts uniques.
If a metric the user wants isn't in get_fields, say so rather than
substituting a different one. There is no cost/spend data here.
3. Publishing a post
- Call
get_connectorsto pick the Page; ask if several are connected. - Call
list_actionsforfacebook_organicand read the schema ofcreate_postorcreate_photo_post; a photo post needs a publicly reachable image URL. - Draft the post as text first and show it in full, exactly as it will appear, then wait for an explicit yes. Never publish placeholder text.
- Call
execute_actiononce and report the result from the tool, including any post id or URL it returns. - If the action is refused because write actions are not enabled for the account, send the user to https://onboard.windsor.ai/app/settings/account and retry after they confirm.
4. Reference real data, don't fabricate
On an error (unknown field/connector/page), call the relevant discovery tool and retry with correct ids, or report the specific error. Never invent reach, engagement, follower counts, post ids, or post text.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

