Interviews you about objective, audience and context, then designs an end-of-article call to action with copy, placement, A/B test plan and accessibility check.
Install the "copywriting-cta" agent skill from https://github.com/samber/cc-skills/tree/main/skills/copywriting-cta into .claude/skills/copywriting-cta/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "copywriting-cta", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add samber/cc-skills --skill copywriting-cta -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "copywriting-cta" agent skill from https://github.com/samber/cc-skills/tree/main/skills/copywriting-cta into .agents/skills/copywriting-cta/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "copywriting-cta", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add samber/cc-skills --skill copywriting-cta -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "copywriting-cta" agent skill from https://github.com/samber/cc-skills/tree/main/skills/copywriting-cta into .cursor/skills/copywriting-cta/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "copywriting-cta", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add samber/cc-skills --skill copywriting-cta -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "copywriting-cta" agent skill from https://github.com/samber/cc-skills/tree/main/skills/copywriting-cta into .gemini/skills/copywriting-cta/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "copywriting-cta", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add samber/cc-skills --skill copywriting-cta -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "copywriting-cta" agent skill from https://github.com/samber/cc-skills/tree/main/skills/copywriting-cta into .github/skills/copywriting-cta/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "copywriting-cta", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add samber/cc-skills --skill copywriting-cta -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "copywriting-cta" agent skill from https://github.com/samber/cc-skills/tree/main/skills/copywriting-cta into .opencode/skills/copywriting-cta/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "copywriting-cta", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
copywriting-cta
GitHub stars
227
Token cost
~3.1k tokens
SKILL.md length
1,143 words
Files
6 (incl. references)
Skills in repo
15
Repo updated
First seen
Licence
MIT
At a glance
Interviews you about objective, audience and context, then designs an end-of-article call to action with copy, placement, A/B test plan and accessibility check.
Works in 4 steps: Interview → Diagnose → Compose the recommendation → …
Writing or reviewing the call to action at the bottom of a blog post or essay
SKILL.md covers Workflow, Style inheritance, Reference files and Operating principles
Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
What it does
The skill treats a closing call to action as the result of three inputs: the one action you want, who is reading and how they relate to the author, and where the piece lives, whether an independent blog, a newsletter such as Substack, beehiiv or Ghost, or a brand content blog. The agent asks short multiple-choice questions one at a time through the environment's question tool, and pushes back if you name several objectives at once, since that is called the most common reason CTAs fail.
From the answers it prescribes the CTA copy, its form and position on the page, whether a mechanism such as urgency, scarcity, curiosity, reciprocity or social proof fits, an A/B test plan and an accessibility review. Five reference files cover A/B testing, accessibility, anti-patterns, mechanisms and a taxonomy of CTA types. It is not meant for opening hooks, post titles, landing pages, ads or email copy.
When your agent uses it
Writing or reviewing the call to action at the bottom of a blog post or essay
Choosing between subscribe, lead magnet, product signup and reader-support CTAs
Planning an A/B test for a newsletter signup box
Example prompts
“What should I put at the bottom of this post about remote hiring to get newsletter signups?”
“Review the subscribe block at the end of our company blog articles.”
“Design a paid-subscription CTA for my Substack essays and plan a test for it.”
Requirements
Compatibility (from SKILL.md): Designed for Claude or similar AI agents.
Read from SKILL.md and the folder at commit 123cb15. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves these tools, so the agent can use them without asking each time:
Read
Edit
Write
Glob
Grep
Agent
AskUserQuestion
From allowed-tools in the SKILL.md frontmatter.
Runs code
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
Network
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Compatibility
Designed for Claude or similar AI agents.
From compatibility in the SKILL.md frontmatter.
Context cost
End-of-Article CTA Designer loads about 3.1k tokens when it runs, and up to ~15k if it reads all its reference files. Until then it costs about 175 tokens; SKILL.md has 1,143 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~175
When it runs· the whole SKILL.md, loaded when a task matches
~3.1k
With references· SKILL.md plus every file in references/, read only if the agent opens them
~15k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check passed
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
Download SKILL.mdSave it as .claude/skills/copywriting-cta/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
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.
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.
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 = community → Archetype D
└── objective = direct purchase → Archetype K (rare on newsletters; use BOFU only)
context = BRAND / CONTENT MARKETING
├── stage = TOFU → Archetype I: Transitional asset (lead magnet)
├── stage = MOFU → Archetype J: Direct + Transitional pair
├── stage = BOFU → Archetype K: Direct CTA + risk reversal
├── objective = community → Archetype D
└── objective = engagement → Archetype E (rarely the right call here)
Read references/taxonomy.md for the full archetype catalog with copy templates, form specs, when each works, and verbatim examples from named publications.
Step 3 — Compose the recommendation
Output the recommendation in this exact structure. Do not deviate. Do not add filler.
markdown
## Recommended CTA
**Archetype:** [letter + name from decision tree] **Why this fits:** [1-2 sentences naming the input combination]
### Content (copy)
**Headline / value line:**
> [exact text]
**Body / proof line (1-2 lines):**
> [exact text]
**Button copy:**
> [exact text]
**Risk reversal / subtext (if applicable):**
> [exact text, or "Omit: would feel forced for this audience"]
### Form (structure)
- **Placement:** [end-only / end + sticky / end + mid-article repeat]
- **Visual weight:** [low / medium / high, with justification]
- **Layout:** [single button / button + text link / native widget cluster / one-line signature]
- **Proof to co-locate:** [subscriber count / star count / testimonial / named recommenders / logo wall / none]
### Mechanism
[Named mechanism + 1 sentence on why it is appropriate, OR "None: value statement carries it. Mechanisms would erode trust for this audience."]
### A/B test plan
- **First test:** [single variable, e.g., button copy A vs. B]
- **Why this one first:** [1 sentence]
- **Sample size needed:** [rough estimate based on baseline traffic, or "skip A/B for now — traffic too low" with the alternative recommendation]
- **Next 2 tests to queue:** [in priority order]
### Accessibility check
- **Color contrast:** [target ratio + concrete pairing if colors known]
- **Touch target:** [size requirement]
- **Semantic markup:** [<button> vs. <a> vs. form]
- **ARIA:** [only if non-obvious]
- **Keyboard / focus:** [requirement]
- **Color-independence:** [non-color affordance]
After printing the recommendation, list 2-3 anti-patterns the user is at risk of falling into given their inputs, directly, as a contrarian check. Pull these from references/anti-patterns.md.
If the user is writing in a non-English language, translate the content section into that language but keep the structure (headings, labels) in English. Honor formality cues (e.g., tu vs. vous in French, du vs. Sie in German) based on prior conversation context, and flag the choice explicitly.
Step 4 — Offer next moves
Suggest 2-3 follow-up directions:
Steelman the opposite. Offer to design the CTA you would recommend against — e.g., the hard-sell version on a TOFU post — so the user can see why it fails.
Variant for a different audience or platform. If the article will be cross-posted (own site + Medium + LinkedIn + a syndication network), offer to rewrite per platform.
End-to-end review. Offer to audit the rest of the article for CTA-supporting signals: author bio, related-post links, in-line proof.
Show full SKILL.md (425 more words)Show less
Style inheritance
The copy templates in references/taxonomy.md are starting points, not finished copy. Always adapt them to:
The user's stated brand voice or any <userPreferences> in scope (formality, language, em-dash avoidance, length limits).
The language of the article. Output copy in the article's language; never default to English.
The publication's existing voice. If the user has prior posts visible, mirror their cadence and vocabulary.
The reader's expected level of expertise. A CTA for a beginner-finance blog uses different vocabulary than one for a quant-trading newsletter.
Never output a template verbatim if it conflicts with the user's stated style preferences.
Reference files
Read these as needed during diagnosis and composition. Read the relevant file in full before composing the recommendation; do not paraphrase from memory.
references/taxonomy.md: All 11 archetypes (A through K) with copy templates, form specs, verbatim examples from named publications, and conversion expectations.
references/mechanisms.md: When to use urgency, scarcity, FOMO, discount, curiosity, reciprocity, social proof, authority, unity. When NOT to use them.
references/ab-testing.md: Priority order of variables to test, sample-size rules of thumb, common pitfalls, when to skip A/B testing entirely.
references/anti-patterns.md: 12 failure modes to call out by name when they apply to the user's inputs.
Operating principles
One primary CTA per post. Multiple competing CTAs is the dominant failure mode (single-CTA pages convert ~30%+ better than multi-CTA pages in repeated case studies).
Match the voice of the publication. A personal-essay footer that reads like a SaaS landing page collapses credibility. A SaaS footer that reads like a casual signature converts at noise.
Specificity beats cleverness. "Get one essay a week on indie filmmaking" beats "Subscribe to our awesome newsletter." Joanna Wiebe's "I want to ___" completion test is the cleanest filter for button copy.
Proof co-located with the ask. Subscriber count, testimonial, customer logos, star count, named recommenders — whichever signal is honest for the context, place it inside or adjacent to the CTA block.
Mechanisms are tools, not garnish. Most well-written value statements need no mechanism. Add urgency, scarcity, FOMO, or discount only when the context genuinely supports them; theatrical mechanisms erode trust faster than they lift conversion.
Push back on bad asks. If the user wants "Book a Demo" at the bottom of a beginner tutorial for first-time visitors, say so. Do not produce a polished version of a CTA that will fail. Propose the alternative, explain why, then if the user still wants the original, deliver it with the failure mode flagged.
End-of-Article CTA Designer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
End-of-Article CTA Designer compared with similar skills
Skill
Stars
Used in
Tokens
Auto-check
Licence
Repo updated
End-of-Article CTA Designer this skillsamber/cc-skills
A skill your agent uses when a PERSONAL brand needs long-form WRITTEN content that builds authority rather than sells — LinkedIn posts, X threads, Substack and Medium essays, using PAS-Insight for…
Produce publish-ready Chinese and English writing packages across WeChat articles, Medium/Substack essays, research notes, founder memos, op-eds, speeches, data storytelling, statistical graphics…
Builds a PROSE.md writing guide that captures how a person or brand writes, such as vocabulary, sentence rhythm and signature moves, separate from emotional tone.
Drafts press releases that fit the release type, target media and region, after collecting the facts and checking that the story has a real news angle.
Produces a training or workshop report as a Word file, with participant feedback and recommendations, drafted in Markdown first and converted once at the end.
Interviews you about objective, audience and context, then designs an end-of-article call to action with copy, placement, A/B test plan and accessibility check. The skill treats a closing call to action as the result of three inputs: the one action you want, who is reading and how they relate to the author, and where the piece lives, whether an independent blog, a newsletter such as Substack, beehiiv or Ghost, or a brand content blog. The agent asks short multiple-choice questions one at a time through the environment's question tool, and pushes back if you name several objectives at once, since that is called the most common reason CTAs fail.
When should I use End-of-Article CTA Designer?
End-of-Article CTA Designer fits situations like: writing or reviewing the call to action at the bottom of a blog post or essay; choosing between subscribe, lead magnet, product signup and reader-support CTAs; planning an A/B test for a newsletter signup box.
How do I install End-of-Article CTA Designer in Claude Code?
Run `npx skills add samber/cc-skills --skill copywriting-cta -a claude-code`. Or copy the skill folder (skills/copywriting-cta in samber/cc-skills) into .claude/skills/copywriting-cta in your project. Claude Code loads it when a task matches its description.
How do I install End-of-Article CTA Designer in Codex?
Run `npx skills add samber/cc-skills --skill copywriting-cta -a codex`. Or copy the skill folder (skills/copywriting-cta in samber/cc-skills) into .agents/skills/copywriting-cta in your project. Codex loads it when a task matches its description.
Can I use End-of-Article CTA Designer in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add samber/cc-skills --skill copywriting-cta -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/copywriting-cta, .gemini/skills/copywriting-cta, .github/skills/copywriting-cta and .opencode/skills/copywriting-cta in your project.
What does End-of-Article CTA Designer need to run?
SKILL.md names no scripts, command-line tools or credentials: End-of-Article CTA Designer is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Edit, Write, Glob, Grep, Agent, AskUserQuestion. Compatibility (from SKILL.md): Designed for Claude or similar AI agents..
Does End-of-Article CTA Designer access the network?
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Is End-of-Article CTA Designer safe to install?
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
What licence does End-of-Article CTA Designer use?
End-of-Article CTA Designer is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does End-of-Article CTA Designer use?
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 12k tokens, read only when the agent opens those files.
What are the alternatives to End-of-Article CTA Designer?
Skills that share tags, products or a category with End-of-Article CTA Designer: 26 Thought Leadership Content Global (minhnv0807/ai-business-skills, 609 stars), Social Media Pro Max (criptogus/agent-evolve-network, 288 stars), Email Subject Line Optimizer (OneWave-AI/claude-skills, 336 stars) and Dropspace (LeoYeAI/openclaw-master-skills, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains End-of-Article CTA Designer?
samber (a GitHub user) maintains it in samber/cc-skills, which has 227 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 1, 2026.
Source: samber/cc-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.