{
  "schemaVersion": "1.0",
  "item": {
    "slug": "windsor-ai",
    "name": "Windsor.ai Analytics",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/carlosarturoleon/windsor-ai",
    "canonicalUrl": "https://clawhub.ai/carlosarturoleon/windsor-ai",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/windsor-ai",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=windsor-ai",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/windsor-ai"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/windsor-ai",
    "agentPageUrl": "https://openagent3.xyz/skills/windsor-ai/agent",
    "manifestUrl": "https://openagent3.xyz/skills/windsor-ai/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/windsor-ai/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Windsor.ai Analytics",
        "body": "Use this skill to query, explore, and analyze your Windsor.ai connected and business data using natural language. Windsor.ai aggregates data from 325+ platforms: Facebook Ads, Google Analytics 4, HubSpot, Shopify, TikTok Ads, Salesforce, and hundreds more and exposes it through a single MCP interface."
      },
      {
        "title": "When to Use This Skill",
        "body": "Invoke this skill automatically when the user asks questions about:\n\nCampaign performance, ROAS, CPM, CPC, CTR\nAd spend breakdowns or budget analysis across channels\nSales pipeline, CRM data, or customer acquisition metrics\nE-commerce performance (revenue, conversion rates, AOV)\nCross channel attribution or multi touch analytics\nTrend analysis over specific date ranges\nData from any connected advertising, analytics, or CRM platform\n\nThe user can also invoke this skill directly with /windsor-ai."
      },
      {
        "title": "Setup",
        "body": "Before querying data, the Windsor.ai MCP connection must be configured. Follow these steps once:"
      },
      {
        "title": "Step 1: Get Your Windsor.ai API Key",
        "body": "Log in to your Windsor.ai account at https://windsor.ai\nNavigate to your account dashboard or settings\nLocate the API Key section and copy your key"
      },
      {
        "title": "Step 2: Store the API Key",
        "body": "Add your API key to the clawdbot environment file:\n\necho 'WINDSOR_API_KEY=your_api_key_here' >> ~/.clawdbot/.env\n\nReplace your_api_key_here with the key you copied.\n\nThen export it for your current session so mcporter can resolve it:\n\nexport WINDSOR_API_KEY=your_api_key_here\n\nNote: mcporter requires WINDSOR_API_KEY to be exported as a shell environment variable. Simply storing it in ~/.clawdbot/.env is not enough — it must be available in your active shell session.\nSecurity note: Avoid appending the key to ~/.zshrc or other shell rc files, as this stores your secret in plaintext and loads it into every shell session. Prefer your system keychain, a secrets manager, or a .env file with restricted permissions (chmod 600 ~/.clawdbot/.env). If you do add it to your shell rc file, remove it once no longer needed."
      },
      {
        "title": "Step 3: Configure mcporter",
        "body": "Add Windsor.ai to your mcporter configuration. Open or create config/mcporter.json in your project and add the following inside the mcpServers object:\n\n{\n  \"mcpServers\": {\n    \"windsor-ai\": {\n      \"description\": \"Windsor.ai MCP — natural language access to 325+  data sources.\",\n      \"baseUrl\": \"https://mcp.windsor.ai/sse\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${WINDSOR_API_KEY}\"\n      }\n    }\n  }\n}\n\nIf mcpServers already has other entries, add the windsor-ai block alongside them."
      },
      {
        "title": "Step 4: Verify Connection",
        "body": "npx mcporter list\n\nYou should see windsor-ai listed with its available tools. If you see an authentication error, confirm that WINDSOR_API_KEY is correctly set in ~/.clawdbot/.env."
      },
      {
        "title": "Data Source Discovery",
        "body": "Before querying, explore which data sources are active in your Windsor.ai account:\n\nList connected sources: \"What data sources do I have connected in Windsor.ai?\"\nInspect available fields: \"What fields and metrics are available from my Facebook Ads data in Windsor?\"\nCheck date coverage: \"What is the earliest date I have data for in Google Analytics 4?\"\nDiscover account structure: \"Show me all ad accounts connected to Windsor.ai and their IDs.\"\n\nWindsor MCP introspects your account's active connectors and returns only what is available. Only sources you have connected in your Windsor.ai dashboard will be queryable."
      },
      {
        "title": "Usage",
        "body": "Query your  data using plain English. Windsor MCP translates your questions into structured data queries against your connected sources."
      },
      {
        "title": "How to Frame Queries",
        "body": "For best results, always include:\n\nThe data source — or ask Windsor to query across all connected sources\nThe metric(s) — spend, ROAS, clicks, conversions, revenue, CPC, CTR, etc.\nThe time period — \"last 7 days\", \"last month\", \"Q1 2025\", \"year to date\"\nAny segmentation — by campaign, channel, country, device, ad set, etc."
      },
      {
        "title": "Query Patterns",
        "body": "Single source, single metric:\n\"What was my total Facebook Ads spend last week?\"\n\nCross-channel comparison:\n\"Compare spend and ROAS across Facebook Ads, Google Ads, and TikTok Ads for the last 30 days.\"\n\nSegmented breakdown:\n\"Break down my Google Ads performance by campaign for March 2025, showing impressions, clicks, conversions, and cost per conversion.\"\n\nTrend over time:\n\"Show me the trend in CPC and CTR for my Facebook Ads campaigns over the past 90 days.\"\n\nTop/bottom performers:\n\"What were my top 5 best performing campaigns by ROAS last month? And the bottom 5?\"\n\nAnomaly detection:\n\"Which of my campaigns had an unusual spike or drop in performance last week?\""
      },
      {
        "title": "Report Generation",
        "body": "Windsor MCP provides the underlying data; Claude assembles it into structured reports. Use these templates:"
      },
      {
        "title": "Weekly Performance Report",
        "body": "Ask: \"Generate a weekly  performance report for [date range] covering all connected channels.\"\n\nClaude will structure the report as:\n\nExecutive Summary — total spend, total conversions, blended ROAS, week-over-week change\nChannel Breakdown — spend and key metrics per connected ad platform\nTop Campaigns — top 3 by spend and top 3 by ROAS\nAnomalies & Alerts — campaigns that exceeded or undershot typical performance by more than 20%\nRecommendations — budget reallocation suggestions based on channel ROAS"
      },
      {
        "title": "Monthly Performance Report",
        "body": "Ask: \"Generate a monthly  performance report for [month/year] across all connected sources.\"\n\nClaude will structure the report as:\n\nMonth-over-Month Summary — key KPIs vs. prior month with percentage changes\nChannel Performance Table — impressions, clicks, spend, conversions, CPA, ROAS per channel\nCampaign Highlights — top 5 campaigns by revenue contribution\nAudience & Creative Insights — top performing audiences or creatives (if social ad data is connected)\nBudget Pacing — actual spend vs. planned budget per channel\n30-Day Outlook — projected performance if spend holds constant based on trailing trends"
      },
      {
        "title": "Client Ready Report",
        "body": "Ask: \"Generate a client ready performance report for [account/brand] for [date range]. Include an executive summary, channel breakdown, top campaigns, and key recommendations. Format it as a professional document.\""
      },
      {
        "title": "Example Queries",
        "body": "Campaign performance:\n\n\"What campaigns had the best ROAS last month across all channels?\"\n\"Which ad campaigns are wasting budget high spend, low conversions?\"\n\"How did my Black Friday campaign perform compared to last year?\"\n\nSpend analysis:\n\n\"Give me a breakdown of total ad spend by channel over the past 90 days.\"\n\"How much have I spent on Facebook Ads vs. Google Ads year to date?\"\n\"What is my average daily spend across all connected ad platforms this month?\"\n\nAudience and creative:\n\n\"Which audience segments are converting best on Facebook Ads?\"\n\"What ad creative formats (image vs. video) are driving more conversions on TikTok?\"\n\nE-commerce (requires Shopify or similar connector):\n\n\"What is my revenue from paid traffic vs. organic traffic this month?\"\n\"Which product categories have the highest conversion rate from Google Ads?\"\n\"Show me my customer acquisition cost broken down by traffic source.\"\n\nCRM and pipeline (requires HubSpot, Salesforce, or similar):\n\n\"How many leads did my  campaigns generate last quarter?\"\n\"What is the average deal size for leads that came through paid social?\"\n\nTrend and forecasting:\n\n\"Show me the trend in my blended ROAS over the last 6 months.\"\n\"Based on current spend trends, what will my monthly ad spend be at end of quarter?\"\n\nCross channel attribution:\n\n\"Which channels are contributing most to first touch conversions vs. last touch?\"\n\"How does my Facebook Ads attributed revenue compare to GA4 attributed revenue?\""
      },
      {
        "title": "Troubleshooting",
        "body": "Authentication failed / 401 error:\n\nVerify WINDSOR_API_KEY is set in ~/.clawdbot/.env\nConfirm the key is correct in your Windsor.ai dashboard\nRestart mcporter after updating the env file\n\nFailed to resolve header 'Authorization' / WINDSOR_API_KEY must be set:\n\nmcporter requires the variable to be exported in your shell, not just stored in .env\nRun: export WINDSOR_API_KEY=your_api_key_here && npx mcporter list\nTo load from your .env file: export $(grep -v '^#' ~/.clawdbot/.env | xargs) && npx mcporter list\n\nNo data sources found:\n\nYou must connect at least one data source in your Windsor.ai dashboard before querying\nVisit https://windsor.ai to connect your ad platforms or analytics tools\n\nData is not up to date:\n\nWindsor.ai syncs on a schedule; freshness depends on your plan and connector\nCheck the last sync time per connector in your Windsor.ai dashboard\n\nTool list is empty after npx mcporter list:\n\nEnsure config/mcporter.json contains the windsor-ai entry exactly as shown in Setup Step 3\nConfirm WINDSOR_API_KEY is a non-empty string in your environment"
      }
    ],
    "body": "Windsor.ai Analytics\n\nUse this skill to query, explore, and analyze your Windsor.ai connected and business data using natural language. Windsor.ai aggregates data from 325+ platforms: Facebook Ads, Google Analytics 4, HubSpot, Shopify, TikTok Ads, Salesforce, and hundreds more and exposes it through a single MCP interface.\n\nWhen to Use This Skill\n\nInvoke this skill automatically when the user asks questions about:\n\nCampaign performance, ROAS, CPM, CPC, CTR\nAd spend breakdowns or budget analysis across channels\nSales pipeline, CRM data, or customer acquisition metrics\nE-commerce performance (revenue, conversion rates, AOV)\nCross channel attribution or multi touch analytics\nTrend analysis over specific date ranges\nData from any connected advertising, analytics, or CRM platform\n\nThe user can also invoke this skill directly with /windsor-ai.\n\nSetup\n\nBefore querying data, the Windsor.ai MCP connection must be configured. Follow these steps once:\n\nStep 1: Get Your Windsor.ai API Key\nLog in to your Windsor.ai account at https://windsor.ai\nNavigate to your account dashboard or settings\nLocate the API Key section and copy your key\nStep 2: Store the API Key\n\nAdd your API key to the clawdbot environment file:\n\necho 'WINDSOR_API_KEY=your_api_key_here' >> ~/.clawdbot/.env\n\n\nReplace your_api_key_here with the key you copied.\n\nThen export it for your current session so mcporter can resolve it:\n\nexport WINDSOR_API_KEY=your_api_key_here\n\n\nNote: mcporter requires WINDSOR_API_KEY to be exported as a shell environment variable. Simply storing it in ~/.clawdbot/.env is not enough — it must be available in your active shell session.\n\nSecurity note: Avoid appending the key to ~/.zshrc or other shell rc files, as this stores your secret in plaintext and loads it into every shell session. Prefer your system keychain, a secrets manager, or a .env file with restricted permissions (chmod 600 ~/.clawdbot/.env). If you do add it to your shell rc file, remove it once no longer needed.\n\nStep 3: Configure mcporter\n\nAdd Windsor.ai to your mcporter configuration. Open or create config/mcporter.json in your project and add the following inside the mcpServers object:\n\n{\n  \"mcpServers\": {\n    \"windsor-ai\": {\n      \"description\": \"Windsor.ai MCP — natural language access to 325+  data sources.\",\n      \"baseUrl\": \"https://mcp.windsor.ai/sse\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${WINDSOR_API_KEY}\"\n      }\n    }\n  }\n}\n\n\nIf mcpServers already has other entries, add the windsor-ai block alongside them.\n\nStep 4: Verify Connection\nnpx mcporter list\n\n\nYou should see windsor-ai listed with its available tools. If you see an authentication error, confirm that WINDSOR_API_KEY is correctly set in ~/.clawdbot/.env.\n\nData Source Discovery\n\nBefore querying, explore which data sources are active in your Windsor.ai account:\n\nList connected sources: \"What data sources do I have connected in Windsor.ai?\"\nInspect available fields: \"What fields and metrics are available from my Facebook Ads data in Windsor?\"\nCheck date coverage: \"What is the earliest date I have data for in Google Analytics 4?\"\nDiscover account structure: \"Show me all ad accounts connected to Windsor.ai and their IDs.\"\n\nWindsor MCP introspects your account's active connectors and returns only what is available. Only sources you have connected in your Windsor.ai dashboard will be queryable.\n\nUsage\n\nQuery your data using plain English. Windsor MCP translates your questions into structured data queries against your connected sources.\n\nHow to Frame Queries\n\nFor best results, always include:\n\nThe data source — or ask Windsor to query across all connected sources\nThe metric(s) — spend, ROAS, clicks, conversions, revenue, CPC, CTR, etc.\nThe time period — \"last 7 days\", \"last month\", \"Q1 2025\", \"year to date\"\nAny segmentation — by campaign, channel, country, device, ad set, etc.\nQuery Patterns\n\nSingle source, single metric: \"What was my total Facebook Ads spend last week?\"\n\nCross-channel comparison: \"Compare spend and ROAS across Facebook Ads, Google Ads, and TikTok Ads for the last 30 days.\"\n\nSegmented breakdown: \"Break down my Google Ads performance by campaign for March 2025, showing impressions, clicks, conversions, and cost per conversion.\"\n\nTrend over time: \"Show me the trend in CPC and CTR for my Facebook Ads campaigns over the past 90 days.\"\n\nTop/bottom performers: \"What were my top 5 best performing campaigns by ROAS last month? And the bottom 5?\"\n\nAnomaly detection: \"Which of my campaigns had an unusual spike or drop in performance last week?\"\n\nReport Generation\n\nWindsor MCP provides the underlying data; Claude assembles it into structured reports. Use these templates:\n\nWeekly Performance Report\n\nAsk: \"Generate a weekly performance report for [date range] covering all connected channels.\"\n\nClaude will structure the report as:\n\nExecutive Summary — total spend, total conversions, blended ROAS, week-over-week change\nChannel Breakdown — spend and key metrics per connected ad platform\nTop Campaigns — top 3 by spend and top 3 by ROAS\nAnomalies & Alerts — campaigns that exceeded or undershot typical performance by more than 20%\nRecommendations — budget reallocation suggestions based on channel ROAS\nMonthly Performance Report\n\nAsk: \"Generate a monthly performance report for [month/year] across all connected sources.\"\n\nClaude will structure the report as:\n\nMonth-over-Month Summary — key KPIs vs. prior month with percentage changes\nChannel Performance Table — impressions, clicks, spend, conversions, CPA, ROAS per channel\nCampaign Highlights — top 5 campaigns by revenue contribution\nAudience & Creative Insights — top performing audiences or creatives (if social ad data is connected)\nBudget Pacing — actual spend vs. planned budget per channel\n30-Day Outlook — projected performance if spend holds constant based on trailing trends\nClient Ready Report\n\nAsk: \"Generate a client ready performance report for [account/brand] for [date range]. Include an executive summary, channel breakdown, top campaigns, and key recommendations. Format it as a professional document.\"\n\nExample Queries\n\nCampaign performance:\n\n\"What campaigns had the best ROAS last month across all channels?\"\n\"Which ad campaigns are wasting budget high spend, low conversions?\"\n\"How did my Black Friday campaign perform compared to last year?\"\n\nSpend analysis:\n\n\"Give me a breakdown of total ad spend by channel over the past 90 days.\"\n\"How much have I spent on Facebook Ads vs. Google Ads year to date?\"\n\"What is my average daily spend across all connected ad platforms this month?\"\n\nAudience and creative:\n\n\"Which audience segments are converting best on Facebook Ads?\"\n\"What ad creative formats (image vs. video) are driving more conversions on TikTok?\"\n\nE-commerce (requires Shopify or similar connector):\n\n\"What is my revenue from paid traffic vs. organic traffic this month?\"\n\"Which product categories have the highest conversion rate from Google Ads?\"\n\"Show me my customer acquisition cost broken down by traffic source.\"\n\nCRM and pipeline (requires HubSpot, Salesforce, or similar):\n\n\"How many leads did my campaigns generate last quarter?\"\n\"What is the average deal size for leads that came through paid social?\"\n\nTrend and forecasting:\n\n\"Show me the trend in my blended ROAS over the last 6 months.\"\n\"Based on current spend trends, what will my monthly ad spend be at end of quarter?\"\n\nCross channel attribution:\n\n\"Which channels are contributing most to first touch conversions vs. last touch?\"\n\"How does my Facebook Ads attributed revenue compare to GA4 attributed revenue?\"\nTroubleshooting\n\nAuthentication failed / 401 error:\n\nVerify WINDSOR_API_KEY is set in ~/.clawdbot/.env\nConfirm the key is correct in your Windsor.ai dashboard\nRestart mcporter after updating the env file\n\nFailed to resolve header 'Authorization' / WINDSOR_API_KEY must be set:\n\nmcporter requires the variable to be exported in your shell, not just stored in .env\nRun: export WINDSOR_API_KEY=your_api_key_here && npx mcporter list\nTo load from your .env file: export $(grep -v '^#' ~/.clawdbot/.env | xargs) && npx mcporter list\n\nNo data sources found:\n\nYou must connect at least one data source in your Windsor.ai dashboard before querying\nVisit https://windsor.ai to connect your ad platforms or analytics tools\n\nData is not up to date:\n\nWindsor.ai syncs on a schedule; freshness depends on your plan and connector\nCheck the last sync time per connector in your Windsor.ai dashboard\n\nTool list is empty after npx mcporter list:\n\nEnsure config/mcporter.json contains the windsor-ai entry exactly as shown in Setup Step 3\nConfirm WINDSOR_API_KEY is a non-empty string in your environment"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/carlosarturoleon/windsor-ai",
    "publisherUrl": "https://clawhub.ai/carlosarturoleon/windsor-ai",
    "owner": "carlosarturoleon",
    "version": "1.0.3",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/windsor-ai",
    "downloadUrl": "https://openagent3.xyz/downloads/windsor-ai",
    "agentUrl": "https://openagent3.xyz/skills/windsor-ai/agent",
    "manifestUrl": "https://openagent3.xyz/skills/windsor-ai/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/windsor-ai/agent.md"
  }
}