@cmo-so/skills 0.14.0 → 0.15.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 +1 -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 +1 -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 +1 -1
- package/skills/cmo-directory-submissions/SKILL.md +1 -1
- package/skills/cmo-draft-review/SKILL.md +1 -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-entity-audit/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 +2 -2
- 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 +2 -2
- 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 +4 -4
- 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 +2 -2
- 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 +1 -1
- 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-ops-autopilot/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-routines/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-distribution/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 +1 -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 +1 -1
- 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: "core"
|
|
8
8
|
funnel_stage: "awareness"
|
|
9
9
|
channels: "instagram"
|
|
10
|
-
version: "0.
|
|
10
|
+
version: "0.15.0"
|
|
11
11
|
docs: "https://cmo.so/skills/cmo-instagram"
|
|
12
12
|
---
|
|
13
13
|
# Instagram queue
|
|
@@ -66,7 +66,7 @@ Writing runs in the background (`social_write_status` when the user asks; don't
|
|
|
66
66
|
|
|
67
67
|
Instagram posts need a picture before they can go out. For every waiting post without one, `social_images_fill` (optional `ids`) makes them in the background, 1 AI generation each; preview the count first. `social_image_stop` stops the picture being made (`all: true` also empties the line).
|
|
68
68
|
|
|
69
|
-
The user's own carousel: `social_pictures_attach` (`id
|
|
69
|
+
The user's own carousel: `social_pictures_attach` (`id`; `files`: pictures from this chat, or `urls`: public https links, in order; `append` adds after the current ones) puts their pictures on the post, free; when the chat can't pass files, `social_upload_link` lets the user upload them in the app. Instagram posts the first 10 as a carousel; a post from an idea shares them with its other channels. Then `social_photo_words` can set a title and a line on them in the brand's look.
|
|
70
70
|
|
|
71
71
|
### 4. Review Instagram drafts
|
|
72
72
|
For each, show the first line, its id, its picture (or set) and slot. Check:
|
|
@@ -7,7 +7,7 @@ metadata:
|
|
|
7
7
|
tier: "core"
|
|
8
8
|
funnel_stage: "awareness"
|
|
9
9
|
channels: "linkedin"
|
|
10
|
-
version: "0.
|
|
10
|
+
version: "0.15.0"
|
|
11
11
|
docs: "https://cmo.so/skills/cmo-linkedin"
|
|
12
12
|
---
|
|
13
13
|
# LinkedIn queue
|
|
@@ -87,9 +87,9 @@ A good brief names: the audience, the one thing they should do or remember, the
|
|
|
87
87
|
|
|
88
88
|
### 4c. Carousels and the user's own pictures
|
|
89
89
|
- A LinkedIn post with a set of pictures goes out as a **swipeable PDF carousel** (a document post, made from the pictures in order when it goes out). `social_carousel_set` (`id`, `format`: `pdf` or `images`, optional `title` shown on the carousel) switches it to several pictures or back. `social_post_get` shows `carousel` (format, title, pages, whether it is the user's own PDF).
|
|
90
|
-
- The user's own slides as pictures: `social_pictures_attach` (`id
|
|
91
|
-
- A ready PDF (slides from another tool): `social_carousel_pdf_attach` (`id
|
|
92
|
-
- Slides made
|
|
90
|
+
- The user's own slides as pictures: `social_pictures_attach` (`id`; `files`: pictures from this chat, which ChatGPT passes straight to the tool, whether the user added them or they were made in the chat; or `urls`: public https links to JPEG/PNG/WebP files; 1-20 in order; `append` adds after the current ones). Free, no AI. They replace Maggie's picture; a post from an idea shares them with its other channels (Instagram and Facebook post the first 10, Google Business the first).
|
|
91
|
+
- A ready PDF (slides from another tool): `social_carousel_pdf_attach` (`id`; `file`: the PDF from this chat, or `url`: a public https link to it; up to 300 pages and 20 MB, no password; optional `title`). It goes out as it is; its first 20 pages become the post's pictures. If the user later changes the pictures, the carousel is made from the pictures instead.
|
|
92
|
+
- Slides made in the chat (ChatGPT): pass them as `files` / `file`. When the chat can't pass files (Claude, or the files are on the user's device), give `social_upload_link` (`id`): it opens that post's picture in the app, where the user uploads the photos ("Upload several photos") or, on a computer, the PDF ("Upload a PDF carousel"). Never post the caption alone when the user expects the slides: in auto approval mode write the post with `position: "end"` so the slides are on it before it goes out.
|
|
93
93
|
- A carousel works best when each slide says one thing: a title slide that promises the payoff, one step, comparison or number per slide, and a last slide with the takeaway. Keep text large enough to read on a phone (`cmo-linkedin-posts`).
|
|
94
94
|
|
|
95
95
|
### 5. Pause, resume, approval mode
|
|
@@ -7,7 +7,7 @@ metadata:
|
|
|
7
7
|
tier: "connected"
|
|
8
8
|
funnel_stage: "awareness"
|
|
9
9
|
channels: "linkedin"
|
|
10
|
-
version: "0.
|
|
10
|
+
version: "0.15.0"
|
|
11
11
|
docs: "https://cmo.so/skills/cmo-linkedin-posts"
|
|
12
12
|
---
|
|
13
13
|
# LinkedIn post writing
|
|
@@ -37,7 +37,7 @@ Writes LinkedIn posts that a busy reader stops for, and checks them before they
|
|
|
37
37
|
| Poll | A real decision you will report back on | ~10 min | The follow-up post |
|
|
38
38
|
| Repost with take | Joining someone else's conversation | ~15 min | A take longer than "this" |
|
|
39
39
|
Carousel test: if slide one plus the caption delivers the value, it is a text post.
|
|
40
|
-
Queueing a carousel in CMO.so: put the slides on the post with `social_pictures_attach` (public https links, in order, up to 20; LinkedIn sends them as a swipeable PDF carousel) or a ready PDF with `social_carousel_pdf_attach`; `social_carousel_set` titles it or switches to several pictures (`cmo-linkedin` §4c). The caption still has to stand alone: say what the slides give the reader.
|
|
40
|
+
Queueing a carousel in CMO.so: put the slides on the post with `social_pictures_attach` (pictures from this chat or public https links, in order, up to 20; LinkedIn sends them as a swipeable PDF carousel) or a ready PDF with `social_carousel_pdf_attach`; when the chat can't pass files, `social_upload_link` lets the user upload them in the app; `social_carousel_set` titles it or switches to several pictures (`cmo-linkedin` §4c). The caption still has to stand alone: say what the slides give the reader.
|
|
41
41
|
For the posts Maggie writes, the format is a saved setting rather than a per-post choice. When the user is unsure which formats suit them, `social_formats_suggest` has Maggie propose formats that fit their learned voice (it uses an AI generation, saves nothing). Show any candidate with `social_format_preview` and its `key` (a read, nothing to confirm): it returns example posts in that format at short, medium and long length, so the user picks by reading, not by name.
|
|
42
42
|
2. **Write the hook to the fold.** As a rule of thumb, mobile shows roughly the first 140 characters (desktop more) before "...see more"; the exact cut varies. A full sentence must end inside that space and must: create a specific gap, signal who it is for, and carry a concrete detail. Shapes that work: number + reversal ("Onboarding took 6 weeks. We got it to 4 days without hiring."), the costly mistake, the measurement, the quoted sentence, the decision with a consequence. Delete on sight: "I'm excited/thrilled/humbled to announce", "In today's fast-paced world", any opener that fits any post. When asked for hooks, give 4-6 from different angles (a number, a belief flipped, before and after, a known name or source, an admitted mistake, a prediction), not variants of one. First person ("How I…") only for an experience the user supplied. Count characters with a tool on the final text; do not estimate.
|
|
43
43
|
3. **Write the body.** One idea. Short paragraphs of 2-4 lines; line breaks where a person would pause, not after every sentence. Specifics over adjectives. The stronger posts tend to sit between a few hundred and about 2,000 characters; the hard cap is 3,000. Length should follow what there is to say.
|
|
@@ -7,7 +7,7 @@ metadata:
|
|
|
7
7
|
tier: "core"
|
|
8
8
|
funnel_stage: "all"
|
|
9
9
|
channels: "cmo.so,linkedin,facebook,instagram,google-business,google-search,ai-search"
|
|
10
|
-
version: "0.
|
|
10
|
+
version: "0.15.0"
|
|
11
11
|
docs: "https://cmo.so/skills/cmo-ops-autopilot"
|
|
12
12
|
---
|
|
13
13
|
# Ops Autopilot and reports
|