google-business-profile
Skill1 starsChanged 52 days agoMITView on GitHub
Analyze Google Business Profile (local listing) performance and manage it through Windsor.ai. Use when the user asks about a business location's insights — views, clicks, and impressions — reviews and ratings, or local post performance. It can also publish or update a local post, reply to a review, upload a photo, update location details (address, categories, service area), or update hours and open status, always after the user confirms the exact change. Do not use for paid Google Ads, organic Google Search Console, GA4, or other platforms.
3 other projects use a version of this.
Adopted by
Most recently taken up by
- winsley-jeune/harborrank-skillstheir own version, first seen Nov 1, 2026
- ahmettasdemirusa/local-seo-skillstheir own version, first seen Sep 29, 2026
- gmmh1/claude-paid-media-skillstheir own version, first seen Jul 19, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- winsley-jeune/harborrank-skills★ 2same name
- ahmettasdemirusa/local-seo-skills★ 0same name
- gmmh1/claude-paid-media-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
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-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. 0 are common, 1 is distinctive, and 7 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
1
Distinctive
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 33
Call get_connectors to see which locations/accounts are connected (each has an id and usually a name).
- Very specific: line 42
Call get_fields for google_my_business to get valid field ids.
- Very specific: line 47
Call get_data with fields, the target location/account(s), and a date range (date_from/date_to or a date_preset like last_7d, last_30d, …
- Very specific: line 53
If a metric the user wants isn't in get_fields, say so rather than substituting a different one.
- Very specific: line 58
Call get_connectors to pick the location.
- Very specific: line 59
Call list_actions for google_my_business and read the schema of the action the user wants (a local post, a review reply, an attribute, …
- Very specific: line 69
Call execute_action once and report the result from the tool, including anything it returns (e.g.
- Distinctive: line 71
If the action is refused because write actions are not enabled for the account, send the user to …
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Google Business Profile via Windsor.ai
Windsor.ai pulls Google Business Profile insights, reviews, and local posts, and
can manage the listing, through the Google Business Profile APIs. The connector
id is google_my_business. Pass google_my_business 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_local_post, update_local_post, reply_to_review, upload_media,
update_location, update_address, update_categories, update_service_area,
update_attributes, update_service_items, set_regular_hours,
set_special_hours, and set_open_status (the live set is whatever
list_actions returns). It has no ad or cost data (that lives in the Google
Ads connector) and no organic search data (that's Google Search Console);
route those questions there.
Golden rules:
- Never guess field, location, or option names — get them from
get_fields,get_connectors, andget_options. Call those first. - Changes are public and immediate. A local post, a review reply, or a
listing edit is visible to anyone looking up the business. Show the exact
change 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 locations/accounts 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 locations are connected and the request is ambiguous,
ask which one.
2. Reading performance, reviews, and posts
- Call
get_fieldsforgoogle_my_businessto get valid field ids. These span location insights (views, clicks, impressions, by date), location and account metadata (address, categories, hours, labels, website), reviews (count, average rating, review text and update time), and local posts and media. Use the exact ids returned, not these examples. - Call
get_datawithfields, the target location/account(s), and a date range (date_from/date_toor adate_presetlikelast_7d,last_30d,this_month; appendTto include today) for time-series fields; location, review, and post metadata are typically current-state and don't need a date range.
If a metric the user wants isn't in get_fields, say so rather than
substituting a different one.
3. Managing the listing (write actions)
- Call
get_connectorsto pick the location; ask if several are connected. - Call
list_actionsforgoogle_my_businessand read the schema of the action the user wants (a local post, a review reply, an attribute, address, category, hours, or open-status change, or a photo upload — a photo needs a publicly reachable image URL). - For a review reply, read the review first with
get_dataso the reply addresses what the reviewer actually wrote. For any edit to existing content (a post, the address, hours), show the current value and the proposed value together. - Draft the exact text or value and show it in full, then wait for an explicit yes. Never publish or save placeholder content.
- Call
execute_actiononce and report the result from the tool, including anything it returns (e.g. a post id or URL). - 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/location), call the relevant discovery tool and retry with correct ids, or report the specific error. Never invent view counts, ratings, review text, or location details.
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.

