windsor-insights
Skill1 starsChanged 51 days agoMITView on GitHub
Report, rank, compare, and trend data from any of the 350+ sources connected to Windsor.ai - paid ads (Google Ads, Meta Ads, TikTok Ads, LinkedIn Ads, Microsoft Ads, Amazon Ads, Pinterest Ads, Snapchat Ads), organic social (Instagram, Facebook Pages, LinkedIn Pages, TikTok, YouTube, Threads, Google Business Profile), web analytics and SEO (GA4, Google Search Console, Adobe Analytics, Mixpanel, Amplitude), CRM (HubSpot, Salesforce, Pipedrive, GoHighLevel, Zoho CRM), e-commerce and email (Shopify, Amazon Seller Central, WooCommerce, Google Merchant Center, Klaviyo), finance and payments (Stripe, QuickBooks, Xero, PayPal), and data warehouses. Use for spend, ROAS, CPA, clicks, conversions, reach, engagement, followers, sessions, search rankings, pipeline, deals, orders, revenue, invoices, or any other metric, for cross-channel comparisons and weekly reviews, and when the user asks what Windsor.ai can do. Do not use to change anything, to connect an account, or to schedule exports.
In this repository33 other files it gives its agents.
- business-dataSkill
- crm-insightsSkill
- crm-manageSkill
- ecommerce-insightsSkill
- ecommerce-manageSkill
- facebook-adsSkill
- facebook-organicSkill
- 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-manageSkill
- windsor-optimizeSkill
- youtubeSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 7 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
Read field ids from get_fields for the chosen connector, and get_options for date-filter columns and connector options.
- Distinctive: line 13
Use the date range the user gave.
- Distinctive: line 20
Keep field sets small, request only the accounts you need, and check for truncated or paginated results before claiming complete coverage.
- Distinctive: line 26
If a field the user wants is not in get_fields, say so rather than substituting a different metric.
- Distinctive: line 32
Search Console: data lags about two to three days.
- Distinctive: line 47
All clients, many accounts at once, or more than five accounts on a platform -> portfolio-analyst agent
- Distinctive: line 49
After a report that surfaces an underperformer, offer once to open /windsor-manage for it.
≈ “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
Windsor.ai insights
Read live data from any connected source through Windsor.ai and turn it into a clear report, ranking, comparison, or trend. The Windsor.ai server is not scoped to one platform: every tool takes a connector slug (for example google_ads, facebook for Meta Ads, googleanalytics4, shopify, stripe), so discover the slug and the accounts before reading.
Resolve scope and time
- Call get_connectors first. It lists connected accounts per connector with their options and supported actions. If the source is not connected, hand off to /windsor-connect instead of guessing. If several accounts match, ask which one, unless the user asked about all accounts, all clients, every brand or location, or a named group of more than five accounts. In that case delegate to the portfolio-analyst agent.
- Read field ids from get_fields for the chosen connector, and get_options for date-filter columns and connector options. Never guess connector slugs, account ids, field ids, or option ids.
- Use the date range the user gave. If none, use a sensible preset (last_30d, this_month, last_7d) and state which one you used. Append T to a preset to include today.
Choose the smallest useful read
- Channel or source comparison -> one get_data call per connector with a small shared field set (date plus the metric asked for), then compare in the answer and say the numbers are platform-reported.
- Best or worst item -> the entity field (campaign, post, page, product, customer) plus the ranking metric; name the metric used. If "best" or "worst" has no metric, ask which one.
- Trend -> date plus the metric over the preset; report direction and magnitude.
- Efficiency -> compute from the raw fields (cost per conversion = spend / conversions; ROAS = conversion value / spend; engagement rate = engagements / reach) and say when a denominator is zero.
- Keep field sets small, request only the accounts you need, and check for truncated or paginated results before claiming complete coverage.
Accuracy guardrails
- Money fields are in the account currency; state it. Google Ads amounts arrive in micros (1,000,000 micros = 1.00); convert before showing.
- Conversions can be fractional. Do not round them into integers silently.
- Attribution windows and metric definitions differ per platform; do not present cross-platform numbers as like for like.
- If a field the user wants is not in get_fields, say so rather than substituting a different metric.
Platform notes
- Google Ads: money fields arrive in micros (1,000,000 = 1.00); search terms cannot be requested together with keyword fields, so read them in separate calls.
- Meta Ads, Facebook Pages, Instagram: reach and other unique metrics are deduplicated over the period; use the week or month field for weekly or monthly totals instead of summing daily rows. Facebook Pages returns one broken-down metric per request.
- GA4: conversions are key events; there is no cost data, so join ad spend from the ad connectors for ROAS.
- Search Console: data lags about two to three days; position is an average (lower is better) and CTR is clicks / impressions.
- CRM (HubSpot, Salesforce, Pipedrive, GoHighLevel): deal value is in the account currency; stage and close-date fields differ per CRM, so read them from get_fields.
- E-commerce and finance: a store (Shopify, Amazon) and an accounting system (QuickBooks, Xero) count the same sales twice; report them separately and keep currencies apart.
Answering "what can you do"
Call get_connectors with include_not_yet_connected=True and answer from it: which sources are connected, which are available to connect, and per connector which options and write actions exist. Do not list capabilities the tool result does not show. Reads are available on the free plan.
Answer with evidence
Lead with the requested result, then state the source and account, the time window, and the numbers behind the conclusion. Keep internal ids and raw JSON out of the answer unless the user asks for them.
Hand-offs
- Confirmed changes (pause, enable, budgets, bids, audiences, flows, listing updates) -> /windsor-manage
- Creating or publishing something new (confirmed) -> /windsor-create
- Connecting, reconnecting, adding an account, or asking what is connected -> /windsor-connect
- Recurring exports and syncs -> /windsor-export
- All clients, many accounts at once, or more than five accounts on a platform -> portfolio-analyst agent
- Joining CRM, store, or accounting records to ad spend -> attribution-analyst agent After a report that surfaces an underperformer, offer once to open /windsor-manage for it. Never offer plans, upgrades, or pricing.
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.

