agentleFS
windsor-aiwindsor-ai/claude-windsor-ai-plugin/skills/crm-insights/SKILL.md

crm-insights

Skill1 starsChanged 51 days agoMITView on GitHub

Report, rank, compare, and trend crm performance across HubSpot, Salesforce, Pipedrive, GoHighLevel, Zoho CRM, and ActiveCampaign through Windsor.ai. Use when the user asks about contacts, companies, deals and opportunities, pipeline stage, deal value, win rate, owners, activities, and campaign or email performance. Do not use to change anything, to connect an account, or to schedule exports - route those to the sibling skills.

The file

Show its rules and text

We split this skill into the rules it gives an agent

13 rules. About 0 are common, 13 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈13

    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
  • could be automatic: a setting could enforce it
  1. Distinctive:

    Read live crm data from HubSpot, Salesforce, Pipedrive, GoHighLevel, Zoho CRM, and ActiveCampaign through Windsor.ai and turn it into a …

    line 8
  2. Distinctive:

    Use this skill for metrics, rankings, comparisons, trends, and breakdowns of contacts, companies, deals and opportunities, pipeline stage, …

    line 12
  3. Distinctive:

    If the user asks to pause, enable, change a budget or bid, or update a record, use /crm-manage instead.

    line 13
  4. Distinctive:

    If the user asks to connect, reconnect, or add an account, use /windsor-connect instead.

    line 14
  5. Distinctive:

    If the user asks for a recurring, scheduled, or automated export, use /windsor-export instead.

    line 15
  6. Distinctive:

    Call get_connectors first to see which of the six sources have connected accounts.

    line 18
  7. Distinctive:

    Read field ids from get_fields for the chosen connector, and get_options for date-filter columns and connector options.

    line 19
  8. Distinctive:

    Use the date range the user gave.

    line 20
  9. Distinctive:

    Keep field sets small and request only the accounts you need.

    line 27
  10. Distinctive:

    Do not merge records across CRMs by name.

    line 31
  11. Distinctive:

    If a field the user wants is not in get_fields, say so rather than substituting a different metric.

    line 32
  12. Distinctive:

    If "best", "top", or "worst" lacks a metric, ask which metric should define the ranking.

    line 33
  13. Distinctive:

    After a report that surfaces an underperformer, offer once to open /crm-manage for it.

    line 39

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

CRM insights

Read live crm data from HubSpot, Salesforce, Pipedrive, GoHighLevel, Zoho CRM, and ActiveCampaign through Windsor.ai and turn it into a clear report, ranking, comparison, or trend. The main connector ids for this area are hubspot, salesforce, pipedrive, gohighlevel, zoho, activecampaign. Other sources in the same category work the same way; find their ids with get_connectors.

Stay in scope

  • Use this skill for metrics, rankings, comparisons, trends, and breakdowns of contacts, companies, deals and opportunities, pipeline stage, deal value, win rate, owners, activities, and campaign or email performance across pipeline, deal or opportunity, contact, company, and campaign.
  • If the user asks to pause, enable, change a budget or bid, or update a record, use /crm-manage instead.
  • If the user asks to connect, reconnect, or add an account, use /windsor-connect instead.
  • If the user asks for a recurring, scheduled, or automated export, use /windsor-export instead.

Resolve scope and time

  • Call get_connectors first to see which of the six sources have connected accounts. If several accounts match the request, ask which one.
  • Read field ids from get_fields for the chosen connector, and get_options for date-filter columns and connector options. Never guess ids or field names.
  • 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

  • Pipeline by stage -> fields [pipeline, stage, deal count, amount] filtered to open deals; state the currency.
  • Win rate -> closed-won / (closed-won + closed-lost) over the date range; say which date field defines the period.
  • Email performance -> fields [campaign, sent, opens, clicks, date] over the preset.
  • New contacts -> fields [created date, owner, source] filtered to the period.
  • Keep field sets small and request only the accounts you need. Check for truncated or paginated results before claiming complete coverage.

Accuracy guardrails

  • Deal amounts are in the CRM's currency; state it. Stage names differ per CRM; use the ones returned, not generic labels.
  • Do not merge records across CRMs by name; report per source unless the user asks for a cross-CRM view and accepts the caveat.
  • If a field the user wants is not in get_fields, say so rather than substituting a different metric.
  • If "best", "top", or "worst" lacks a metric, ask which metric should define the ranking.

Answer with evidence

Lead with the requested result, then state the account or source, 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

After a report that surfaces an underperformer, offer once to open /crm-manage for it. Never offer plans, upgrades, or pricing. Never repeat an offer the user declined.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.