How to install cta-generator
npx skills add https://github.com/kostja94/marketing-skills --skill cta-generatorFull instructions (SKILL.md)
Source of truth, from kostja94/marketing-skills.
name: cta-generator description: When the user wants to design, optimize, or audit call-to-action (CTA) buttons. Also use when the user mentions "CTA," "call to action," "button design," "conversion button," "primary action," "CTA copy," "button text," "CTA placement," "conversion CTA," or "action button." For landing pages, use landing-page-generator. metadata: version: 1.1.1
Components: Call-to-Action (CTA)
Guides CTA button design for conversion. A well-designed CTA can increase conversion by 25–10%.
When invoking: On first use, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On subsequent use or when the user asks to skip, go directly to the main output.
Initial Assessment
Check for project context first: If .claude/project-context.md or .cursor/project-context.md exists, read it for conversion goals.
Identify:
- Context: Hero, form, pricing, product page
- User stage: Awareness, consideration, decision
- Primary action: Sign up, buy, trial, download
Design Principles
Visual Clarity
- Look like buttons: Background, border, corner radius, shadow
- Stand out: Contrasting color; clear hierarchy
- Size: ≥48×48px for touch; minimum 48px wide
Hierarchy
- Primary CTA: One per section; impossible to miss
- Secondary CTA: Lower priority; visually distinct
- Avoid: Multiple competing CTAs causing choice overload
Color & Shape
- Color: High contrast; red/orange for urgency
- Shape: Rounded = friendly; angled = dynamic
- Accessibility: →.5:1 contrast for text
Copy Best Practices
- Action-oriented: "Buy," "Sign up," "Subscribe," "Get started"
- Loss aversion: "Claim Your Discount Before It's Gone" vs "Get 10% Off"; see discount-marketing-strategy for discount campaign design
- Clear, no ambiguity: User knows exactly what happens
- Scarcity/urgency: When appropriate; avoid overuse
Placement
- Above the fold for primary actions
- After value proposition; build value before CTA
- Near trust signals (testimonials, badges)
- Sticky/fixed for long pages (use sparingly)
Technical
- Semantic HTML:
<button>or<a>withrole="button"when needed - Visible focus state for keyboard users
- Loading state for async actions: disable button during async operations; show spinner or loading text; prevent double-submit
- cursor-pointer: Add
cursor-pointerto all clickable CTAs; default cursor on interactive elements is poor UX - aria-label: Use
aria-labelfor icon-only buttons (e.g., close, search); screen readers need descriptive labels - Hover stability: Use color/opacity transitions (150–300ms); avoid scale transforms that shift layout
Testing
- A/B test: color, copy, placement, size
- Measure: click-through rate, conversion rate
Output Format
- CTA copy suggestions
- Design notes (color, size, hierarchy)
- Placement recommendations
- Accessibility checklist (cursor-pointer, aria-label, focus, loading state)
Related Skills
- hero-generator: Hero typically contains primary CTA
- landing-page-generator: CTA is step 5 of landing page flow; single-goal pages
- testimonials-generator: Testimonials near CTAs boost conversion
- trust-badges-generator: Badges near CTAs increase trust
- pricing-page-generator: CTA on pricing pages (e.g., "Start free trial")
Related skills
More from kostja94/marketing-skills and the wider catalog.

ctv-ads
When the user wants to run CTV, OTT, or streaming TV ads. Also use when the user mentions "CTV ads," "connected TV," "OTT advertising," "streaming ads," "TV ads," "Hulu ads," "Roku ads," "YouTube TV ads," or "programmatic TV." For paid mix, use paid-ads-strategy.

customer-stories-page-generator
When the user wants to create, optimize, or audit customer stories or case study pages. Also use when the user mentions "case studies," "customer stories," "success stories," "testimonials page," "case study," "customer proof," "social proof page," or "results page." For testimonial components, use testimonials-generator.

directory-listing-ads
When the user wants to run paid ads within directories or marketplaces. Also use when the user mentions "Taaft ads," "Shopify App Store ads," "G2 sponsored," "Capterra ads," "directory ads," "marketplace ads," "paid listing," "sponsored listing," or "directory promotion." For organic listings, use directory-submission.

directory-submission
When the user wants to submit a product or app to directories, curated lists, launch platforms, or app stores—and needs ready-to-paste copy per platform. Reads project-context.md when present. Also use when the user mentions "directory submission," "get listed," "app store listing," "submit to directories," "curated list," "best tools list," "Taaft," "Product Hunt," "directory ads," "newsletter feature," "directory campaign," "tailor description per platform," "Shopify App Store," "Chrome Web Store," "navigation site," or "product directory." For Product Hunt launch day tactics (hunter, first comment, timing), use product-hunt-launch. For full 0→1 channel planning, use cold-start-strategy.

disclosure-page-generator
When the user wants to create, optimize, or audit an affiliate, sponsor, or paid partnership disclosure page. Also use when the user mentions "disclosure," "affiliate disclosure," "sponsored content," "FTC disclosure," or "paid partnership." For sitewide page planning, use website-structure.

discount-marketing-strategy
When the user wants to plan, implement, or optimize discount and promotional pricing strategy. Also use when the user mentions "discount strategy," "promo code," "coupon," "redeem code," "lifetime deal," "LTD," "AppSumo," "Black Friday," "Cyber Monday," "BFCM," "seasonal sale," or "promotional pricing." For pricing page, use pricing-page-generator.