@cmo-so/skills 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/catalog.json +18 -1
- package/package.json +1 -1
- package/skills/cmo-ab-testing/SKILL.md +1 -1
- package/skills/cmo-ad-creative/SKILL.md +1 -1
- package/skills/cmo-ads-audit/SKILL.md +1 -1
- package/skills/cmo-ads-budget/SKILL.md +1 -1
- package/skills/cmo-ads-competitor-research/SKILL.md +1 -1
- package/skills/cmo-ads-launch/SKILL.md +1 -1
- package/skills/cmo-ads-monitoring/SKILL.md +1 -1
- package/skills/cmo-ads-strategy/SKILL.md +1 -1
- package/skills/cmo-aeo-content/SKILL.md +1 -1
- package/skills/cmo-agent-readiness/SKILL.md +1 -1
- package/skills/cmo-ai-brand-monitoring/SKILL.md +1 -1
- package/skills/cmo-ai-citation-gaps/SKILL.md +1 -1
- package/skills/cmo-ai-prompt-research/SKILL.md +1 -1
- package/skills/cmo-ai-visibility/SKILL.md +1 -1
- package/skills/cmo-ai-visibility-audit/SKILL.md +1 -1
- package/skills/cmo-app-store-optimization/SKILL.md +1 -1
- package/skills/cmo-attribution/SKILL.md +1 -1
- package/skills/cmo-autopilot/SKILL.md +4 -1
- package/skills/cmo-blog-planner/SKILL.md +1 -1
- package/skills/cmo-blog-writing/SKILL.md +1 -1
- package/skills/cmo-brand-naming/SKILL.md +1 -1
- package/skills/cmo-brand-profile/SKILL.md +1 -1
- package/skills/cmo-brand-protection/SKILL.md +1 -1
- package/skills/cmo-campaign-analytics/SKILL.md +1 -1
- package/skills/cmo-checkout-cro/SKILL.md +1 -1
- package/skills/cmo-china-social/SKILL.md +1 -1
- package/skills/cmo-churn-prevention/SKILL.md +1 -1
- package/skills/cmo-client-report/SKILL.md +1 -1
- package/skills/cmo-closed-loop-measurement/SKILL.md +1 -1
- package/skills/cmo-co-marketing/SKILL.md +1 -1
- package/skills/cmo-cold-email/SKILL.md +1 -1
- package/skills/cmo-community/SKILL.md +1 -1
- package/skills/cmo-competitor-pages/SKILL.md +1 -1
- package/skills/cmo-competitor-research/SKILL.md +1 -1
- package/skills/cmo-connect/SKILL.md +1 -1
- package/skills/cmo-content-brief/SKILL.md +1 -1
- package/skills/cmo-content-refresh/SKILL.md +1 -1
- package/skills/cmo-content-repurposing/SKILL.md +1 -1
- package/skills/cmo-content-strategy/SKILL.md +1 -1
- package/skills/cmo-copy-editing/SKILL.md +1 -1
- package/skills/cmo-copywriting/SKILL.md +1 -1
- package/skills/cmo-customer-research/SKILL.md +1 -1
- package/skills/cmo-daily/SKILL.md +7 -1
- package/skills/cmo-directory-submissions/SKILL.md +1 -1
- package/skills/cmo-draft-review/SKILL.md +4 -1
- package/skills/cmo-ecommerce-seo/SKILL.md +1 -1
- package/skills/cmo-email-deliverability/SKILL.md +1 -1
- package/skills/cmo-email-sequences/SKILL.md +1 -1
- package/skills/cmo-employee-advocacy/SKILL.md +1 -1
- package/skills/cmo-events-webinars/SKILL.md +1 -1
- package/skills/cmo-expert-panel/SKILL.md +1 -1
- package/skills/cmo-facebook/SKILL.md +1 -1
- package/skills/cmo-facebook-posts/SKILL.md +1 -1
- package/skills/cmo-form-cro/SKILL.md +1 -1
- package/skills/cmo-free-tools/SKILL.md +1 -1
- package/skills/cmo-google-ads/SKILL.md +1 -1
- package/skills/cmo-google-business/SKILL.md +1 -1
- package/skills/cmo-google-business-posts/SKILL.md +1 -1
- package/skills/cmo-humanize/SKILL.md +1 -1
- package/skills/cmo-image-generation/SKILL.md +1 -1
- package/skills/cmo-influencer/SKILL.md +1 -1
- package/skills/cmo-instagram/SKILL.md +3 -1
- package/skills/cmo-instagram-posts/SKILL.md +1 -1
- package/skills/cmo-international-seo/SKILL.md +1 -1
- package/skills/cmo-keyword-clustering/SKILL.md +1 -1
- package/skills/cmo-keyword-research/SKILL.md +1 -1
- package/skills/cmo-landing-page-audit/SKILL.md +1 -1
- package/skills/cmo-landing-page-builder/SKILL.md +1 -1
- package/skills/cmo-lead-magnets/SKILL.md +1 -1
- package/skills/cmo-link-building/SKILL.md +1 -1
- package/skills/cmo-linkedin/SKILL.md +10 -1
- package/skills/cmo-linkedin-ads/SKILL.md +1 -1
- package/skills/cmo-linkedin-engagement/SKILL.md +1 -1
- package/skills/cmo-linkedin-posts/SKILL.md +1 -1
- package/skills/cmo-linkedin-profile/SKILL.md +1 -1
- package/skills/cmo-linkedin-strategy/SKILL.md +1 -1
- package/skills/cmo-local-seo/SKILL.md +1 -1
- package/skills/cmo-market-sizing/SKILL.md +1 -1
- package/skills/cmo-marketing-audit/SKILL.md +1 -1
- package/skills/cmo-marketing-automation/SKILL.md +1 -1
- package/skills/cmo-marketing-ideas/SKILL.md +1 -1
- package/skills/cmo-marketing-plan/SKILL.md +1 -1
- package/skills/cmo-marketing-psychology/SKILL.md +1 -1
- package/skills/cmo-memory/SKILL.md +74 -0
- package/skills/cmo-meta-ads/SKILL.md +1 -1
- package/skills/cmo-newsletter/SKILL.md +1 -1
- package/skills/cmo-offer-design/SKILL.md +1 -1
- package/skills/cmo-onboarding-activation/SKILL.md +1 -1
- package/skills/cmo-open-social/SKILL.md +1 -1
- package/skills/cmo-organic-social/SKILL.md +1 -1
- package/skills/cmo-page-cro/SKILL.md +1 -1
- package/skills/cmo-page-seo/SKILL.md +1 -1
- package/skills/cmo-paywalls/SKILL.md +1 -1
- package/skills/cmo-pinterest/SKILL.md +1 -1
- package/skills/cmo-popups/SKILL.md +1 -1
- package/skills/cmo-positioning/SKILL.md +1 -1
- package/skills/cmo-pricing-strategy/SKILL.md +1 -1
- package/skills/cmo-product-launch/SKILL.md +1 -1
- package/skills/cmo-programmatic-seo/SKILL.md +1 -1
- package/skills/cmo-proposals/SKILL.md +1 -1
- package/skills/cmo-prospecting/SKILL.md +1 -1
- package/skills/cmo-public-relations/SKILL.md +1 -1
- package/skills/cmo-reddit/SKILL.md +1 -1
- package/skills/cmo-referral-program/SKILL.md +1 -1
- package/skills/cmo-revops/SKILL.md +1 -1
- package/skills/cmo-sales-enablement/SKILL.md +1 -1
- package/skills/cmo-schema-markup/SKILL.md +1 -1
- package/skills/cmo-search-intent/SKILL.md +1 -1
- package/skills/cmo-seo-audit/SKILL.md +1 -1
- package/skills/cmo-seo-monitoring/SKILL.md +1 -1
- package/skills/cmo-seo-opportunities/SKILL.md +1 -1
- package/skills/cmo-seo-plan/SKILL.md +1 -1
- package/skills/cmo-short-form-video/SKILL.md +1 -1
- package/skills/cmo-signup-flow/SKILL.md +1 -1
- package/skills/cmo-site-architecture/SKILL.md +1 -1
- package/skills/cmo-sms-whatsapp/SKILL.md +1 -1
- package/skills/cmo-social-analytics/SKILL.md +1 -1
- package/skills/cmo-social-crisis/SKILL.md +1 -1
- package/skills/cmo-social-listening/SKILL.md +1 -1
- package/skills/cmo-social-strategy/SKILL.md +1 -1
- package/skills/cmo-team-access/SKILL.md +4 -1
- package/skills/cmo-technical-seo/SKILL.md +1 -1
- package/skills/cmo-thought-leadership/SKILL.md +1 -1
- package/skills/cmo-tiktok/SKILL.md +1 -1
- package/skills/cmo-tiktok-posts/SKILL.md +1 -1
- package/skills/cmo-tracking-setup/SKILL.md +1 -1
- package/skills/cmo-video-production/SKILL.md +1 -1
- package/skills/cmo-video-repurposing/SKILL.md +1 -1
- package/skills/cmo-wasted-spend/SKILL.md +1 -1
- package/skills/cmo-website-setup/SKILL.md +12 -8
- package/skills/cmo-weekly-report/SKILL.md +1 -1
- package/skills/cmo-x-growth/SKILL.md +1 -1
- package/skills/cmo-youtube/SKILL.md +1 -1
- package/skills/cmo-youtube-posts/SKILL.md +1 -1
- package/skills/cmo-youtube-strategy/SKILL.md +1 -1
|
@@ -7,7 +7,7 @@ metadata:
|
|
|
7
7
|
tier: "connected"
|
|
8
8
|
funnel_stage: "awareness"
|
|
9
9
|
channels: "reddit,x,linkedin,bluesky,mastodon,youtube,tiktok,forums"
|
|
10
|
-
version: "0.
|
|
10
|
+
version: "0.11.0"
|
|
11
11
|
docs: "https://cmo.so/skills/cmo-social-listening"
|
|
12
12
|
---
|
|
13
13
|
# Social listening and topic pulse
|
|
@@ -7,7 +7,7 @@ metadata:
|
|
|
7
7
|
tier: "core"
|
|
8
8
|
funnel_stage: "all"
|
|
9
9
|
channels: "cmo.so"
|
|
10
|
-
version: "0.
|
|
10
|
+
version: "0.11.0"
|
|
11
11
|
docs: "https://cmo.so/skills/cmo-team-access"
|
|
12
12
|
---
|
|
13
13
|
# Team & account access
|
|
@@ -82,6 +82,9 @@ Removal is done in the CMO.so app: give `dashboard_link` with `page: "team"`. If
|
|
|
82
82
|
- Suggest revoking apps not used for a long time or not recognised. `connected_app_revoke` (`grant_id`, `app`) disconnects one at once; it must be connected again to work. Never revoke the app in use now; the tool refuses it anyway.
|
|
83
83
|
- `api_keys_list`: name, first characters, read or read-write, last used. The full key is never shown. Creating and revoking keys is in the app: `dashboard_link` with `page: "api_access"`. Suggest revoking unused keys and read-write keys where read is enough.
|
|
84
84
|
|
|
85
|
+
### 6b. Invoices
|
|
86
|
+
`invoices_list` (read-only) lists the user's latest invoices across the subscriptions they pay for: date, amount, status and a link to view or download each. Share the link the tool gives; never suggest a plan change.
|
|
87
|
+
|
|
85
88
|
### 7. Audit what was changed
|
|
86
89
|
Before a security tidy-up, or when the user asks "who changed this?" or "what has Maggie done?", call `maggie_actions_list` (optional `limit`, 1-50, default 20). It lists, newest first, the changes Maggie made for this user on this website and the result of each (for example a team member added, an app revoked, a plan reordered). Use it to:
|
|
87
90
|
- confirm that an earlier grant or revoke actually went through before repeating it;
|
|
@@ -7,12 +7,12 @@ metadata:
|
|
|
7
7
|
tier: "core"
|
|
8
8
|
funnel_stage: "all"
|
|
9
9
|
channels: "cmo.so,wordpress,shopify,wix,api"
|
|
10
|
-
version: "0.
|
|
10
|
+
version: "0.11.0"
|
|
11
11
|
docs: "https://cmo.so/skills/cmo-website-setup"
|
|
12
12
|
---
|
|
13
13
|
# Website setup & verification
|
|
14
14
|
|
|
15
|
-
Before Maggie can publish, a website goes through three stages in CMO.so: added (Maggie reads it and builds its business profile), verified (the user proves they own it), and connected (CMO.so can deliver posts to the site's platform). This skill walks through them in order, picks the easiest verification route, identifies the platform, and
|
|
15
|
+
Before Maggie can publish, a website goes through three stages in CMO.so: added (Maggie reads it and builds its business profile), verified (the user proves they own it), and connected (CMO.so can deliver posts to the site's platform). This skill walks through them in order, picks the easiest verification route, identifies the platform, and opens the CMO.so app's connect form for the step that needs keys. It never asks for passwords or keys in chat.
|
|
16
16
|
|
|
17
17
|
## When to use
|
|
18
18
|
- New user, new website, or a site stuck at "not verified" or "not connected".
|
|
@@ -84,10 +84,14 @@ For WordPress, `wordpress_plugin_get` shows the latest connector version and dow
|
|
|
84
84
|
|
|
85
85
|
Send the matching row to whoever manages the site with `handoff_to_desktop` (`platform: "wordpress"`). Never ask for admin logins, hosting passwords or SSH access to fix it yourself.
|
|
86
86
|
|
|
87
|
-
`connect_guides_get` covers WordPress, Shopify, Wix and the API route; there is no dedicated guide for other builders. If `platform_detect` reports one of them, say so plainly and offer the API route (`
|
|
87
|
+
`connect_guides_get` covers WordPress, Shopify, Wix and the API route; there is no dedicated guide for other builders. If `platform_detect` reports one of them, say so plainly and offer the API route (`connect_form_open` with `platform: "api"`, or `vibe` when the user builds the site with an AI coding tool); do not improvise any other connection method.
|
|
88
88
|
|
|
89
|
-
### 5.
|
|
90
|
-
|
|
89
|
+
### 5. Connect in the app's form
|
|
90
|
+
The keys themselves (a WordPress application password, a Shopify app's client ID and secret, a Wix API key) go into the CMO.so app's connect form, which checks them with the platform and saves them; they never pass through the chat. `connect_form_open` gives the form for one `platform` (`wordpress`, `shopify`, `wix`, `api`, `vibe`): a button in the CMO.so app's chat, a link (`app.cmo.so/posts?connect=…`) anywhere else. Say what to prepare first (from `connect_guides_get`), then give the form. The WordPress plugin route needs no typing at all and also verifies the website.
|
|
91
|
+
|
|
92
|
+
If you are working in the user's own codebase (vibe coding), `npx @cmo-so/cli connect api-pull` creates the website key and writes it to `.env` without printing it; build the blog pages on `GET https://api.cmo.so/posts`, then `npx @cmo-so/cli connect api-pull --enable` once the user has seen them work.
|
|
93
|
+
|
|
94
|
+
`handoff_to_desktop` still emails a link to finish later on a computer, optionally for one `platform`; offer it only when the user asks to do it later or elsewhere.
|
|
91
95
|
|
|
92
96
|
### 6. Confirm the state
|
|
93
97
|
`setup_status_get` again. Report each stage: added / reading progress, verified, connected. When all are done, suggest `cmo-autopilot` to choose how often Maggie publishes and `cmo-brand-profile` to check what she learned.
|
|
@@ -98,7 +102,7 @@ Setup — example.com
|
|
|
98
102
|
Added: yes (profile reading 80%)
|
|
99
103
|
Verified: yes, by email
|
|
100
104
|
Platform: WordPress
|
|
101
|
-
Connected: not yet —
|
|
105
|
+
Connected: not yet — connect form opened in the CMO.so app (WordPress plugin)
|
|
102
106
|
Next: cmo-autopilot once connected
|
|
103
107
|
```
|
|
104
108
|
|
|
@@ -110,11 +114,11 @@ User: "I just signed up. Add harbourcatering.co.uk and get it publishing."
|
|
|
110
114
|
3. Preview `verify_email_start` `{email: "orders@harbourcatering.co.uk"}` → confirm. User reads back the code; preview `verify_email_confirm` `{code: "…"}` → confirm → verified.
|
|
111
115
|
4. User does not know the platform: `platform_detect` → WordPress.
|
|
112
116
|
5. `wordpress_plugin_get` → not installed. `connect_guides_get` → summarise the WordPress plugin route only.
|
|
113
|
-
6.
|
|
117
|
+
6. `connect_form_open` `{platform: "wordpress"}` → the user follows the plugin steps in the app.
|
|
114
118
|
7. `setup_status_get` → profile reading in progress, verified, not connected.
|
|
115
119
|
|
|
116
120
|
Result:
|
|
117
|
-
> Added and verified by email. Platform: WordPress. Connected: not yet; the
|
|
121
|
+
> Added and verified by email. Platform: WordPress. Connected: not yet; the connect form is open in the CMO.so app. Next: `cmo-autopilot` once connected.
|
|
118
122
|
|
|
119
123
|
## Quality bar
|
|
120
124
|
- [ ] Started from `setup_status_get`; skipped stages already done.
|