@cmo-so/skills 0.14.0 → 0.16.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.
Files changed (142) hide show
  1. package/catalog.json +17 -1
  2. package/package.json +1 -1
  3. package/skills/cmo-ab-testing/SKILL.md +1 -1
  4. package/skills/cmo-ad-creative/SKILL.md +4 -1
  5. package/skills/cmo-ad-video/SKILL.md +106 -0
  6. package/skills/cmo-ads-audit/SKILL.md +1 -1
  7. package/skills/cmo-ads-budget/SKILL.md +1 -1
  8. package/skills/cmo-ads-competitor-research/SKILL.md +1 -1
  9. package/skills/cmo-ads-launch/SKILL.md +1 -1
  10. package/skills/cmo-ads-monitoring/SKILL.md +1 -1
  11. package/skills/cmo-ads-strategy/SKILL.md +1 -1
  12. package/skills/cmo-aeo-content/SKILL.md +1 -1
  13. package/skills/cmo-agent-readiness/SKILL.md +1 -1
  14. package/skills/cmo-ai-brand-monitoring/SKILL.md +1 -1
  15. package/skills/cmo-ai-citation-gaps/SKILL.md +1 -1
  16. package/skills/cmo-ai-prompt-research/SKILL.md +1 -1
  17. package/skills/cmo-ai-visibility/SKILL.md +1 -1
  18. package/skills/cmo-ai-visibility-audit/SKILL.md +1 -1
  19. package/skills/cmo-app-store-optimization/SKILL.md +1 -1
  20. package/skills/cmo-attribution/SKILL.md +1 -1
  21. package/skills/cmo-autopilot/SKILL.md +1 -1
  22. package/skills/cmo-blog-planner/SKILL.md +1 -1
  23. package/skills/cmo-blog-writing/SKILL.md +1 -1
  24. package/skills/cmo-brand-naming/SKILL.md +1 -1
  25. package/skills/cmo-brand-profile/SKILL.md +1 -1
  26. package/skills/cmo-brand-protection/SKILL.md +1 -1
  27. package/skills/cmo-campaign-analytics/SKILL.md +1 -1
  28. package/skills/cmo-checkout-cro/SKILL.md +1 -1
  29. package/skills/cmo-china-social/SKILL.md +1 -1
  30. package/skills/cmo-churn-prevention/SKILL.md +1 -1
  31. package/skills/cmo-client-report/SKILL.md +1 -1
  32. package/skills/cmo-closed-loop-measurement/SKILL.md +1 -1
  33. package/skills/cmo-co-marketing/SKILL.md +1 -1
  34. package/skills/cmo-cold-email/SKILL.md +1 -1
  35. package/skills/cmo-community/SKILL.md +1 -1
  36. package/skills/cmo-competitor-pages/SKILL.md +1 -1
  37. package/skills/cmo-competitor-research/SKILL.md +1 -1
  38. package/skills/cmo-connect/SKILL.md +1 -1
  39. package/skills/cmo-content-brief/SKILL.md +1 -1
  40. package/skills/cmo-content-refresh/SKILL.md +1 -1
  41. package/skills/cmo-content-repurposing/SKILL.md +1 -1
  42. package/skills/cmo-content-strategy/SKILL.md +1 -1
  43. package/skills/cmo-copy-editing/SKILL.md +1 -1
  44. package/skills/cmo-copywriting/SKILL.md +1 -1
  45. package/skills/cmo-customer-research/SKILL.md +1 -1
  46. package/skills/cmo-daily/SKILL.md +1 -1
  47. package/skills/cmo-directory-submissions/SKILL.md +1 -1
  48. package/skills/cmo-draft-review/SKILL.md +1 -1
  49. package/skills/cmo-ecommerce-seo/SKILL.md +1 -1
  50. package/skills/cmo-email-deliverability/SKILL.md +1 -1
  51. package/skills/cmo-email-sequences/SKILL.md +1 -1
  52. package/skills/cmo-employee-advocacy/SKILL.md +1 -1
  53. package/skills/cmo-entity-audit/SKILL.md +1 -1
  54. package/skills/cmo-events-webinars/SKILL.md +1 -1
  55. package/skills/cmo-expert-panel/SKILL.md +1 -1
  56. package/skills/cmo-facebook/SKILL.md +8 -2
  57. package/skills/cmo-facebook-posts/SKILL.md +1 -1
  58. package/skills/cmo-form-cro/SKILL.md +1 -1
  59. package/skills/cmo-free-tools/SKILL.md +1 -1
  60. package/skills/cmo-google-ads/SKILL.md +1 -1
  61. package/skills/cmo-google-business/SKILL.md +1 -1
  62. package/skills/cmo-google-business-posts/SKILL.md +1 -1
  63. package/skills/cmo-humanize/SKILL.md +1 -1
  64. package/skills/cmo-image-generation/SKILL.md +1 -1
  65. package/skills/cmo-influencer/SKILL.md +1 -1
  66. package/skills/cmo-instagram/SKILL.md +8 -2
  67. package/skills/cmo-instagram-posts/SKILL.md +7 -1
  68. package/skills/cmo-international-seo/SKILL.md +1 -1
  69. package/skills/cmo-keyword-clustering/SKILL.md +1 -1
  70. package/skills/cmo-keyword-research/SKILL.md +1 -1
  71. package/skills/cmo-landing-page-audit/SKILL.md +1 -1
  72. package/skills/cmo-landing-page-builder/SKILL.md +1 -1
  73. package/skills/cmo-lead-magnets/SKILL.md +1 -1
  74. package/skills/cmo-link-building/SKILL.md +1 -1
  75. package/skills/cmo-linkedin/SKILL.md +8 -4
  76. package/skills/cmo-linkedin-ads/SKILL.md +1 -1
  77. package/skills/cmo-linkedin-engagement/SKILL.md +1 -1
  78. package/skills/cmo-linkedin-posts/SKILL.md +6 -2
  79. package/skills/cmo-linkedin-profile/SKILL.md +1 -1
  80. package/skills/cmo-linkedin-strategy/SKILL.md +1 -1
  81. package/skills/cmo-local-seo/SKILL.md +1 -1
  82. package/skills/cmo-market-sizing/SKILL.md +1 -1
  83. package/skills/cmo-marketing-audit/SKILL.md +1 -1
  84. package/skills/cmo-marketing-automation/SKILL.md +1 -1
  85. package/skills/cmo-marketing-ideas/SKILL.md +1 -1
  86. package/skills/cmo-marketing-plan/SKILL.md +1 -1
  87. package/skills/cmo-marketing-psychology/SKILL.md +1 -1
  88. package/skills/cmo-memory/SKILL.md +1 -1
  89. package/skills/cmo-meta-ads/SKILL.md +1 -1
  90. package/skills/cmo-newsletter/SKILL.md +1 -1
  91. package/skills/cmo-offer-design/SKILL.md +1 -1
  92. package/skills/cmo-onboarding-activation/SKILL.md +1 -1
  93. package/skills/cmo-open-social/SKILL.md +1 -1
  94. package/skills/cmo-ops-autopilot/SKILL.md +1 -1
  95. package/skills/cmo-organic-social/SKILL.md +1 -1
  96. package/skills/cmo-page-cro/SKILL.md +1 -1
  97. package/skills/cmo-page-seo/SKILL.md +1 -1
  98. package/skills/cmo-paywalls/SKILL.md +1 -1
  99. package/skills/cmo-pinterest/SKILL.md +1 -1
  100. package/skills/cmo-popups/SKILL.md +1 -1
  101. package/skills/cmo-positioning/SKILL.md +1 -1
  102. package/skills/cmo-pricing-strategy/SKILL.md +1 -1
  103. package/skills/cmo-product-launch/SKILL.md +1 -1
  104. package/skills/cmo-programmatic-seo/SKILL.md +1 -1
  105. package/skills/cmo-proposals/SKILL.md +1 -1
  106. package/skills/cmo-prospecting/SKILL.md +1 -1
  107. package/skills/cmo-public-relations/SKILL.md +1 -1
  108. package/skills/cmo-reddit/SKILL.md +1 -1
  109. package/skills/cmo-referral-program/SKILL.md +1 -1
  110. package/skills/cmo-revops/SKILL.md +1 -1
  111. package/skills/cmo-routines/SKILL.md +1 -1
  112. package/skills/cmo-sales-enablement/SKILL.md +1 -1
  113. package/skills/cmo-schema-markup/SKILL.md +1 -1
  114. package/skills/cmo-search-intent/SKILL.md +1 -1
  115. package/skills/cmo-seo-audit/SKILL.md +1 -1
  116. package/skills/cmo-seo-monitoring/SKILL.md +1 -1
  117. package/skills/cmo-seo-opportunities/SKILL.md +1 -1
  118. package/skills/cmo-seo-plan/SKILL.md +1 -1
  119. package/skills/cmo-short-form-video/SKILL.md +1 -1
  120. package/skills/cmo-signup-flow/SKILL.md +1 -1
  121. package/skills/cmo-site-architecture/SKILL.md +1 -1
  122. package/skills/cmo-sms-whatsapp/SKILL.md +1 -1
  123. package/skills/cmo-social-analytics/SKILL.md +1 -1
  124. package/skills/cmo-social-crisis/SKILL.md +1 -1
  125. package/skills/cmo-social-distribution/SKILL.md +1 -1
  126. package/skills/cmo-social-listening/SKILL.md +1 -1
  127. package/skills/cmo-social-strategy/SKILL.md +1 -1
  128. package/skills/cmo-team-access/SKILL.md +1 -1
  129. package/skills/cmo-technical-seo/SKILL.md +1 -1
  130. package/skills/cmo-thought-leadership/SKILL.md +1 -1
  131. package/skills/cmo-tiktok/SKILL.md +5 -1
  132. package/skills/cmo-tiktok-posts/SKILL.md +6 -1
  133. package/skills/cmo-tracking-setup/SKILL.md +1 -1
  134. package/skills/cmo-video-production/SKILL.md +4 -1
  135. package/skills/cmo-video-repurposing/SKILL.md +1 -1
  136. package/skills/cmo-wasted-spend/SKILL.md +1 -1
  137. package/skills/cmo-website-setup/SKILL.md +1 -1
  138. package/skills/cmo-weekly-report/SKILL.md +1 -1
  139. package/skills/cmo-x-growth/SKILL.md +1 -1
  140. package/skills/cmo-youtube/SKILL.md +1 -1
  141. package/skills/cmo-youtube-posts/SKILL.md +1 -1
  142. package/skills/cmo-youtube-strategy/SKILL.md +1 -1
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "retention"
9
9
  channels: "email"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-email-deliverability"
12
12
  ---
13
13
  # Email deliverability
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "connected"
8
8
  funnel_stage: "consideration"
9
9
  channels: "email"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-email-sequences"
12
12
  ---
13
13
  # Email sequences
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "connected"
8
8
  funnel_stage: "awareness"
9
9
  channels: "linkedin,x"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-employee-advocacy"
12
12
  ---
13
13
  # Employee and founder advocacy
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "connected"
8
8
  funnel_stage: "awareness"
9
9
  channels: "website,google-search,ai-search,google-business,linkedin"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-entity-audit"
12
12
  ---
13
13
  # Entity & knowledge graph audit
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "consideration"
9
9
  channels: "webinar,events"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-events-webinars"
12
12
  ---
13
13
  # Events & webinars
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "all"
9
9
  channels: ""
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-expert-panel"
12
12
  ---
13
13
  # Expert panel review
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "core"
8
8
  funnel_stage: "awareness"
9
9
  channels: "facebook"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-facebook"
12
12
  ---
13
13
  # Facebook Page queue
@@ -63,7 +63,7 @@ For each, show the first lines, its id and slot. Check:
63
63
 
64
64
  Approve with `social_approve` (ids the user chose); change text with `social_update_copy`; skip or bring back with `social_skip` / `social_restore`; reorder with `social_move`; `social_approve_all` with `channel: "facebook"` approves only Facebook's waiting posts.
65
65
 
66
- The user's own pictures: `social_pictures_attach` (`id`, `urls`: public https links, in order) puts them on the post, free; Facebook posts the first 10 together.
66
+ The user's own pictures: `social_pictures_attach` (`id`; `files` from this chat or `urls`: public https links, in order) puts them on the post, free (or `social_upload_link` for the user to upload them in the app); Facebook posts the first 10 together.
67
67
 
68
68
  ### 4. Pause and pace
69
69
  - `social_set_paused` with `channel: "facebook"` pauses or resumes the Page only; without `channel` it pauses every channel.
@@ -76,6 +76,12 @@ A Facebook post can be a video instead of text or a picture. A vertical (9:16) v
76
76
  - From a post that hasn't gone out: `social_video_attach` `{id, url}` makes it a video post (its picture is removed: a video post never has one); `social_video_detach` makes it a text post again.
77
77
  - A video post gets no picture: never offer `social_image_new` or a photo for it. It is approved like any other post; after it goes out, the platform takes a minute or more to process it before it shows.
78
78
 
79
+ ### Carousels from words or a PDF
80
+
81
+ - **A text carousel** (`social_image_new` with `count` 5-10): a cover with the hook, one point a slide and a last slide with the next step, words on the brand's colours (style `bold_type`, or `infographic` for lists and numbers). No AI picture and free; LinkedIn posts it as a PDF carousel, Instagram and Facebook as a carousel (the first 10), TikTok as a photo post (`social_tiktok_photo`). Good for tips, steps, myths vs facts and checklists; change the words on any slide with `social_picture_edit`.
82
+
83
+ - **A PDF from the user** (`social_carousel_pdf_attach`, `file` or `url`) works on Instagram, Facebook and TikTok posts too: its first pages become the post's pictures (Instagram and Facebook post the first 10); the same idea's LinkedIn post goes out as the PDF itself.
84
+
79
85
  ## Output
80
86
  ```
81
87
  Facebook — connected (Bea's Bakery) · posting on · approval: manual · 3 a week
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "connected"
8
8
  funnel_stage: "awareness"
9
9
  channels: "facebook"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-facebook-posts"
12
12
  ---
13
13
  # Facebook Page post writing
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "conversion"
9
9
  channels: "website"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-form-cro"
12
12
  ---
13
13
  # Form optimisation
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "awareness"
9
9
  channels: "website,google-search"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-free-tools"
12
12
  ---
13
13
  # Free tools as marketing
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "conversion"
9
9
  channels: "google-ads"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-google-ads"
12
12
  ---
13
13
  # Google Ads
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "core"
8
8
  funnel_stage: "awareness"
9
9
  channels: "google_business"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-google-business"
12
12
  ---
13
13
  # Google Business Profile queue
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "connected"
8
8
  funnel_stage: "awareness"
9
9
  channels: "google_business"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-google-business-posts"
12
12
  ---
13
13
  # Google Business post writing
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "all"
9
9
  channels: "blog,linkedin,email"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-humanize"
12
12
  ---
13
13
  # Humanise AI writing
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "awareness"
9
9
  channels: "blog,linkedin,meta-ads"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-image-generation"
12
12
  ---
13
13
  # Marketing images
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "awareness"
9
9
  channels: "instagram,tiktok,youtube,linkedin"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-influencer"
12
12
  ---
13
13
  # Influencer & creator partnerships
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "core"
8
8
  funnel_stage: "awareness"
9
9
  channels: "instagram"
10
- version: "0.14.0"
10
+ version: "0.16.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`, `urls`: public https links to the pictures, in order; `append` adds after the current ones) puts their pictures on the post, free. 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.
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:
@@ -92,6 +92,12 @@ A Instagram post can be a video instead of text or a picture. It goes out as a R
92
92
  - From a post that hasn't gone out: `social_video_attach` `{id, url}` makes it a video post (its picture is removed: a video post never has one); `social_video_detach` makes it a text post again.
93
93
  - A video post gets no picture: never offer `social_image_new` or a photo for it. It is approved like any other post; after it goes out, the platform takes a minute or more to process it before it shows.
94
94
 
95
+ ### Carousels from words or a PDF
96
+
97
+ - **A text carousel** (`social_image_new` with `count` 5-10): a cover with the hook, one point a slide and a last slide with the next step, words on the brand's colours (style `bold_type`, or `infographic` for lists and numbers). No AI picture and free; LinkedIn posts it as a PDF carousel, Instagram and Facebook as a carousel (the first 10), TikTok as a photo post (`social_tiktok_photo`). Good for tips, steps, myths vs facts and checklists; change the words on any slide with `social_picture_edit`.
98
+
99
+ - **A PDF from the user** (`social_carousel_pdf_attach`, `file` or `url`) works on Instagram, Facebook and TikTok posts too: its first pages become the post's pictures (Instagram and Facebook post the first 10); the same idea's LinkedIn post goes out as the PDF itself.
100
+
95
101
  ## Output
96
102
  ```
97
103
  Instagram — connected (@brightwell.books) · posting on · approval: manual · 3 a week
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "connected"
8
8
  funnel_stage: "awareness"
9
9
  channels: "instagram"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-instagram-posts"
12
12
  ---
13
13
  # Instagram post writing
@@ -58,6 +58,12 @@ Keep the facts identical; change everything else. LinkedIn: the insight and the
58
58
  ### 5. Check
59
59
  Run the quality bar below, then save it to CMO.so or hand it over.
60
60
 
61
+ ### Longer carousels
62
+
63
+ - **A text carousel** (`social_image_new` with `count` 5-10): a cover with the hook, one point a slide and a last slide with the next step, words on the brand's colours (style `bold_type`, or `infographic` for lists and numbers). No AI picture and free; LinkedIn posts it as a PDF carousel, Instagram and Facebook as a carousel (the first 10), TikTok as a photo post (`social_tiktok_photo`). Good for tips, steps, myths vs facts and checklists; change the words on any slide with `social_picture_edit`.
64
+
65
+ - **A PDF from the user** (`social_carousel_pdf_attach`, `file` or `url`) works on Instagram, Facebook and TikTok posts too: its first pages become the post's pictures (Instagram and Facebook post the first 10); the same idea's LinkedIn post goes out as the PDF itself.
66
+
61
67
  ## Output
62
68
  ```
63
69
  Format: set of 4 (steps)
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "awareness"
9
9
  channels: "google-search"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-international-seo"
12
12
  ---
13
13
  # International SEO & localisation
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "connected"
8
8
  funnel_stage: "awareness"
9
9
  channels: "google-search"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-keyword-clustering"
12
12
  ---
13
13
  # Keyword clustering & topic map
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "connected"
8
8
  funnel_stage: "awareness"
9
9
  channels: "google-search"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-keyword-research"
12
12
  ---
13
13
  # Keyword research
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "conversion"
9
9
  channels: "website,google-ads,meta-ads"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-landing-page-audit"
12
12
  ---
13
13
  # Landing page audit
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "connected"
8
8
  funnel_stage: "conversion"
9
9
  channels: "website"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-landing-page-builder"
12
12
  ---
13
13
  # Landing page builder
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "consideration"
9
9
  channels: "website,email"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-lead-magnets"
12
12
  ---
13
13
  # Lead magnets
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "awareness"
9
9
  channels: "google-search"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-link-building"
12
12
  ---
13
13
  # Link building
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "core"
8
8
  funnel_stage: "awareness"
9
9
  channels: "linkedin"
10
- version: "0.14.0"
10
+ version: "0.16.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`, `urls`: 1-20 public https links to JPEG/PNG/WebP files, 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`, `url`: public https link to the PDF, 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 by another assistant: put them where they have public https links (or export one PDF), then attach them to the post; never post the caption alone when the user expects the slides. In the app, the picture sheet has "Upload several photos" and, on the web, "Upload a PDF carousel".
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
@@ -104,6 +104,10 @@ A LinkedIn post can be a video instead of text or a picture. LinkedIn shows it i
104
104
  - From a post that hasn't gone out: `social_video_attach` `{id, url}` makes it a video post (its picture is removed: a video post never has one); `social_video_detach` makes it a text post again.
105
105
  - A video post gets no picture: never offer `social_image_new` or a photo for it. It is approved like any other post; after it goes out, the platform takes a minute or more to process it before it shows.
106
106
 
107
+ ### Text carousels
108
+
109
+ - **A text carousel** (`social_image_new` with `count` 5-10): a cover with the hook, one point a slide and a last slide with the next step, words on the brand's colours (style `bold_type`, or `infographic` for lists and numbers). No AI picture and free; LinkedIn posts it as a PDF carousel, Instagram and Facebook as a carousel (the first 10), TikTok as a photo post (`social_tiktok_photo`). Good for tips, steps, myths vs facts and checklists; change the words on any slide with `social_picture_edit`.
110
+
107
111
  ## Output
108
112
  ```
109
113
  LinkedIn — connected · posting on · approval: manual
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "consideration"
9
9
  channels: "linkedin-ads"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-linkedin-ads"
12
12
  ---
13
13
  # LinkedIn ads
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "awareness"
9
9
  channels: "linkedin"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-linkedin-engagement"
12
12
  ---
13
13
  # LinkedIn engagement & outreach
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "connected"
8
8
  funnel_stage: "awareness"
9
9
  channels: "linkedin"
10
- version: "0.14.0"
10
+ version: "0.16.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.
@@ -61,6 +61,10 @@ Writes LinkedIn posts that a busy reader stops for, and checks them before they
61
61
  - Fix voice: `social_voice_learn` with one post the user wrote (`post_text`); it becomes their default voice.
62
62
  - Fix style: `social_formats_set` with the format `keys` the user chose (from `social_formats_suggest` or the ones they already use, up to 10; the list replaces the current choice) and `include_emojis`, `include_hashtags`, `post_length_mode` (`short`, `medium`, `long`). Options left out stay as they are.
63
63
 
64
+ ### A text carousel from the post
65
+
66
+ - **A text carousel** (`social_image_new` with `count` 5-10): a cover with the hook, one point a slide and a last slide with the next step, words on the brand's colours (style `bold_type`, or `infographic` for lists and numbers). No AI picture and free; LinkedIn posts it as a PDF carousel, Instagram and Facebook as a carousel (the first 10), TikTok as a photo post (`social_tiktok_photo`). Good for tips, steps, myths vs facts and checklists; change the words on any slide with `social_picture_edit`.
67
+
64
68
  ## Output
65
69
  For each post:
66
70
  - **Format** and why.
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "awareness"
9
9
  channels: "linkedin"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-linkedin-profile"
12
12
  ---
13
13
  # LinkedIn profile optimisation
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "connected"
8
8
  funnel_stage: "awareness"
9
9
  channels: "linkedin"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-linkedin-strategy"
12
12
  ---
13
13
  # LinkedIn strategy & analytics
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "awareness"
9
9
  channels: "google-maps,google-search"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-local-seo"
12
12
  ---
13
13
  # Local SEO
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "all"
9
9
  channels: ""
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-market-sizing"
12
12
  ---
13
13
  # Market sizing
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "connected"
8
8
  funnel_stage: "all"
9
9
  channels: "website"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-marketing-audit"
12
12
  ---
13
13
  # Marketing audit
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "core"
8
8
  funnel_stage: "all"
9
9
  channels: "cmo.so"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-marketing-automation"
12
12
  ---
13
13
  # Recurring marketing loops
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "all"
9
9
  channels: ""
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-marketing-ideas"
12
12
  ---
13
13
  # Marketing ideas
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "connected"
8
8
  funnel_stage: "all"
9
9
  channels: ""
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-marketing-plan"
12
12
  ---
13
13
  # Marketing plan
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "conversion"
9
9
  channels: ""
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-marketing-psychology"
12
12
  ---
13
13
  # Marketing psychology
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "core"
8
8
  funnel_stage: "all"
9
9
  channels: "cmo.so,blog,linkedin,facebook,instagram,google-business"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-memory"
12
12
  ---
13
13
  # Maggie Memory
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "conversion"
9
9
  channels: "meta-ads"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-meta-ads"
12
12
  ---
13
13
  # Meta (Facebook & Instagram) ads
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "connected"
8
8
  funnel_stage: "retention"
9
9
  channels: "email"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-newsletter"
12
12
  ---
13
13
  # Email newsletter
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "conversion"
9
9
  channels: ""
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-offer-design"
12
12
  ---
13
13
  # Offer design
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "retention"
9
9
  channels: "app,email"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-onboarding-activation"
12
12
  ---
13
13
  # Onboarding & activation
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "connected"
8
8
  funnel_stage: "awareness"
9
9
  channels: "threads,bluesky,mastodon"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-open-social"
12
12
  ---
13
13
  # Threads, Bluesky & Mastodon
@@ -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.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-ops-autopilot"
12
12
  ---
13
13
  # Ops Autopilot and reports
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "awareness"
9
9
  channels: "instagram,tiktok,facebook"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-organic-social"
12
12
  ---
13
13
  # Instagram, TikTok & Facebook (organic)
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "connected"
8
8
  funnel_stage: "conversion"
9
9
  channels: "website"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-page-cro"
12
12
  ---
13
13
  # Page conversion optimisation
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "connected"
8
8
  funnel_stage: "awareness"
9
9
  channels: "google-search"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-page-seo"
12
12
  ---
13
13
  # On-page SEO
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "conversion"
9
9
  channels: "app"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-paywalls"
12
12
  ---
13
13
  # Paywalls & upgrade prompts
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "connected"
8
8
  funnel_stage: "awareness"
9
9
  channels: "pinterest"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-pinterest"
12
12
  ---
13
13
  # Pinterest for blog and product traffic
@@ -7,7 +7,7 @@ metadata:
7
7
  tier: "standalone"
8
8
  funnel_stage: "conversion"
9
9
  channels: "website"
10
- version: "0.14.0"
10
+ version: "0.16.0"
11
11
  docs: "https://cmo.so/skills/cmo-popups"
12
12
  ---
13
13
  # Popups & banners