/copywriting-cta
Designs end-of-article CTAs — copy, layout, placement, A/B test plan, accessibility — for blog posts, newsletters, and essays. Use whenever the user asks to write, review, or improve a CTA at the bottom of an article; mentions "end-of-post CTA", "call-to-action", "signup box",
$ npx -y skills add samber/cc-skills --skill copywriting-cta --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/copywriting-cta
Context preview
The summary Claude sees to decide when to auto-load this skill.
Designs end-of-article CTAs — copy, layout, placement, A/B test plan, accessibility — for blog posts, newsletters, and essays. Use whenever the user asks to write, review, or improve a CTA at the bottom of an article; mentions "end-of-post CTA", "call-to-action", "signup box",
SKILL.md
copywriting-cta.SKILL.mdname: copywriting-cta
description: Designs end-of-article CTAs — copy, layout, placement, A/B test plan, accessibility — for blog posts, newsletters, and essays. Use whenever the user asks to write, review, or improve a CTA at the bottom of an article; mentions "end-of-post CTA", "call-to-action", "signup box", "newsletter CTA", "subscribe block", or "what should I put at the bottom"; or asks how to turn readers into subscribers, leads, customers, or paying supporters. Covers personal blogs, paid newsletters (Substack, beehiiv, Ghost), and brand content-marketing blogs. Do NOT use for opening hooks, ledes, or post titles — use samber/cc-skills@copywriting-hooks instead. Not for landing-page, ad, or email copy.
user-invocable: true
license: MIT
compatibility: Designed for Claude or similar AI agents.
metadata:
author: samber
version: "1.1.2"
openclaw:
emoji: "🎯"
homepage: https://github.com/samber/cc-skills
allowed-tools: Read Edit Write Glob Grep Agent AskUserQuestion**Questions:** Ask the user through the environment's question tool — never as plain-text prose. One question at a time, 2–4 tappable options, wait for the answer. If the environment has no question tool, ask in prose with the same options, one at a time.
End-of-Article CTA Designer
Designing an end-of-article CTA is a function of three inputs: the **objective** (what action), the **audience** (who reads it, in what relationship to the author), and the **context** (independent writing, newsletter, brand publication). Get those three right and the copy + form follow almost mechanically. Skip them and you get the universal failure mode: a generic "Subscribe for more" or "Learn More" that converts at the noise floor.
This skill runs a tight interview to capture those three inputs, then prescribes a CTA: copy (what it says), form (how it looks and sits on the page), mechanism (whether to use urgency, scarcity, curiosity, reciprocity, social proof, or none), an A/B test plan, and an accessibility check.
---
Workflow
Run the four steps below in order. Do not skip the interview. The user may have given partial context already; pull what's available from the conversation, then ask only for the missing pieces.
Step 1 — Interview
Ask one question at a time. Do not stack questions in prose. Each question must have 2-4 tappable options. Fall back to free text only if the answer genuinely cannot be enumerated.
Ask these in order, skipping any already answered:
**Q1. Article context.** Options: `Personal / independent blog or essay` · `Newsletter / paid publication (Substack, beehiiv, Ghost, etc.)` · `Brand / company / content-marketing blog` · `Other (free text)`
**Q2. Primary objective.** (Pick the one outcome you most want from a reader who finishes the article. If they say "all of them," push back: multiple objectives is the #1 cause of CTA failure.)
Options:
- `Newsletter / email subscription`
- `Social follow / personal branding`
- `Lead generation (download / gated asset)`
- `Product or service signup / free trial`
- `Demo or sales call booking`
- `Direct purchase`
- `Community join (Discord / Slack / forum)`
- `Engagement (reply / comment / share / restack)`
- `Reader support (paid subscription / tip / sponsorship)`
- `Try-it / direct action (use the code, run the tool, fork the template, open the calculator)`
- `Other (free text)`
If the user lists more than one, ask which is primary. You can offer 1-2 secondaries later, but the primary must be singular.
**Q3. Audience and relationship.** Options: `First-time visitor (organic search / social)` · `Returning reader, not subscribed` · `Existing subscriber / customer` · `Mixed / unknown`
**Q4. Funnel stage.** (Where is the reader mentally?) Options: `TOFU: discovery, learning, no buying intent yet` · `MOFU: evaluating options, comparing` · `BOFU: ready to act, just needs a nudge` · `Not applicable (no buying funnel — e.g., personal blog, journalism, hobby content)`
**Q5. Mechanism preference.** (Only ask if a mechanism could legitimately help. See `references/mechanisms.md`. For sophisticated, skeptical, or repeat-reader audiences, default to "None / value-only" without asking.) Options: `None: value statement only` · `Curiosity gap ("Want to know more?")` · `Reciprocity (free asset first)` · `Discount / offer` · `Urgency (real deadline)` · `Scarcity / FOMO (limited spots)` · `Social proof (count / testimonial)`
Capture any free-text constraints the user volunteers (length limit, brand voice, no popups, multi-language, etc.). Note them.
Step 2 — Diagnose
Map the inputs to a CTA archetype. The decision logic:
context = INDEPENDENT / PERSONAL
├── objective = newsletter / email → Archetype A: Author-signature subscribe
├── objective = try-it / direct action → Archetype B: Inline action + source link
├── objective = reader support / tip → Archetype C: Reader-supported funding link
├── objective = community → Archetype D: Proof-counted community invite
├── objective = social follow → Archetype A (variant: lead with social links)
├── objective = engagement → Archetype E: Specific reply prompt
└── objective = product / demo → ⚠️ FLAG. Only valid on personal/professional
blog where the author IS the product
(consultants, coaches, solo founders, indie devs).
Frame as "if you hit this, here's how I help"
— never "Book a Demo" verbatim.
context = NEWSLETTER PUBLICATION
├── objective = growth / subs → Archetype F: Share/restack + native widget
├── objective = engagement → Archetype E: Specific reply prompt
├── objective = paid conversion → Archetype G: Value-gap tease
├── objective = monetization / sponsor → Archetype H: Inline sponsor block (not bottom)
├── objective = communityRead more
name: copywriting-cta
description: Designs end-of-article CTAs — copy, layout, placement, A/B test plan, accessibility — for blog posts, newsletters, and essays. Use whenever the user asks to write, review, or improve a CTA at the bottom of an article; mentions "end-of-post CTA", "call-to-action", "signup box", "newsletter CTA", "subscribe block", or "what should I put at the bottom"; or asks how to turn readers into subscribers, leads, customers, or paying supporters. Covers personal blogs, paid newsletters (Substack, beehiiv, Ghost), and brand content-marketing blogs. Do NOT use for opening hooks, ledes, or post titles — use samber/cc-skills@copywriting-hooks instead. Not for landing-page, ad, or email copy.
user-invocable: true
license: MIT
compatibility: Designed for Claude or similar AI agents.
metadata:
author: samber
version: "1.1.2"
openclaw:
emoji: "🎯"
homepage: https://github.com/samber/cc-skills
allowed-tools: Read Edit Write Glob Grep Agent AskUserQuestion**Questions:** Ask the user through the environment's question tool — never as plain-text prose. One question at a time, 2–4 tappable options, wait for the answer. If the environment has no question tool, ask in prose with the same options, one at a time.
End-of-Article CTA Designer
Designing an end-of-article CTA is a function of three inputs: the **objective** (what action), the **audience** (who reads it, in what relationship to the author), and the **context** (independent writing, newsletter, brand publication). Get those three right and the copy + form follow almost mechanically. Skip them and you get the universal failure mode: a generic "Subscribe for more" or "Learn More" that converts at the noise floor.
This skill runs a tight interview to capture those three inputs, then prescribes a CTA: copy (what it says), form (how it looks and sits on the page), mechanism (whether to use urgency, scarcity, curiosity, reciprocity, social proof, or none), an A/B test plan, and an accessibility check.
---
Workflow
Run the four steps below in order. Do not skip the interview. The user may have given partial context already; pull what's available from the conversation, then ask only for the missing pieces.
Step 1 — Interview
Ask one question at a time. Do not stack questions in prose. Each question must have 2-4 tappable options. Fall back to free text only if the answer genuinely cannot be enumerated.
Ask these in order, skipping any already answered:
**Q1. Article context.** Options: `Personal / independent blog or essay` · `Newsletter / paid publication (Substack, beehiiv, Ghost, etc.)` · `Brand / company / content-marketing blog` · `Other (free text)`
**Q2. Primary objective.** (Pick the one outcome you most want from a reader who finishes the article. If they say "all of them," push back: multiple objectives is the #1 cause of CTA failure.)
Options:
- `Newsletter / email subscription`
- `Social follow / personal branding`
- `Lead generation (download / gated asset)`
- `Product or service signup / free trial`
- `Demo or sales call booking`
- `Direct purchase`
- `Community join (Discord / Slack / forum)`
- `Engagement (reply / comment / share / restack)`
- `Reader support (paid subscription / tip / sponsorship)`
- `Try-it / direct action (use the code, run the tool, fork the template, open the calculator)`
- `Other (free text)`
If the user lists more than one, ask which is primary. You can offer 1-2 secondaries later, but the primary must be singular.
**Q3. Audience and relationship.** Options: `First-time visitor (organic search / social)` · `Returning reader, not subscribed` · `Existing subscriber / customer` · `Mixed / unknown`
**Q4. Funnel stage.** (Where is the reader mentally?) Options: `TOFU: discovery, learning, no buying intent yet` · `MOFU: evaluating options, comparing` · `BOFU: ready to act, just needs a nudge` · `Not applicable (no buying funnel — e.g., personal blog, journalism, hobby content)`
**Q5. Mechanism preference.** (Only ask if a mechanism could legitimately help. See `references/mechanisms.md`. For sophisticated, skeptical, or repeat-reader audiences, default to "None / value-only" without asking.) Options: `None: value statement only` · `Curiosity gap ("Want to know more?")` · `Reciprocity (free asset first)` · `Discount / offer` · `Urgency (real deadline)` · `Scarcity / FOMO (limited spots)` · `Social proof (count / testimonial)`
Capture any free-text constraints the user volunteers (length limit, brand voice, no popups, multi-language, etc.). Note them.
Step 2 — Diagnose
Map the inputs to a CTA archetype. The decision logic:
context = INDEPENDENT / PERSONAL
├── objective = newsletter / email → Archetype A: Author-signature subscribe
├── objective = try-it / direct action → Archetype B: Inline action + source link
├── objective = reader support / tip → Archetype C: Reader-supported funding link
├── objective = community → Archetype D: Proof-counted community invite
├── objective = social follow → Archetype A (variant: lead with social links)
├── objective = engagement → Archetype E: Specific reply prompt
└── objective = product / demo → ⚠️ FLAG. Only valid on personal/professional
blog where the author IS the product
(consultants, coaches, solo founders, indie devs).
Frame as "if you hit this, here's how I help"
— never "Book a Demo" verbatim.
context = NEWSLETTER PUBLICATION
├── objective = growth / subs → Archetype F: Share/restack + native widget
├── objective = engagement → Archetype E: Specific reply prompt
├── objective = paid conversion → Archetype G: Value-gap tease
├── objective = monetization / sponsor → Archetype H: Inline sponsor block (not bottom)
├── objective = communityAI agent skills are reusable instruction sets that extend your assistant with domain-specific expertise, loaded on demand so they don't bloat your context. This repository covers marketing and engineering skills authored by @samber.

