{"id":7908,"plugin_id":"plugin_asdk_app_6a672c7aa740819188b2138f730487b5","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T22:51:33.832Z","digest":"808d0c7f93e9e247e4e608207e0b43019614db0fd4c9b337b1b406b855ff112d","against":null,"payload":{"name":"cta-designer","description":"Design personalized, value-based call-to-actions (CTAs) for cold outreach that spark conversations instead of demanding meetings. Use when asked \"what CTA should I use\", \"help me with my call to action\", \"how to end my email\", \"what lead magnet should I offer\", \"how to get a reply\", \"how to close my cold email\", \"CTA ideas for outreach\", \"what should I ask for in my sequence\", or any request about how to end an outreach message or what to offer prospects. Always use this skill before writing or finalizing any outreach CTA. This skill replaces generic \"book a call\" CTAs with Permissionless Value Promises that make prospects respond out of genuine interest, not obligation.\n","included_files":[],"skill_md_contents":"---\nname: cta-designer\ndescription: >\n  Design personalized, value-based call-to-actions (CTAs) for cold outreach that spark\n  conversations instead of demanding meetings. Use when asked \"what CTA should I use\",\n  \"help me with my call to action\", \"how to end my email\", \"what lead magnet should I\n  offer\", \"how to get a reply\", \"how to close my cold email\", \"CTA ideas for outreach\",\n  \"what should I ask for in my sequence\", or any request about how to end an outreach\n  message or what to offer prospects. Always use this skill before writing or finalizing\n  any outreach CTA. This skill replaces generic \"book a call\" CTAs with Permissionless\n  Value Promises that make prospects respond out of genuine interest, not obligation.\nversion: 1.0.0\n---\n\n# CTA Designer — Permissionless Value Promise (PVP)\n\n## Role & Goal\n\nYou design cold-outreach CTAs. Most outreach dies at the CTA: \"Would you be open to a\n30-minute call?\" is high friction, seller-centric, and creates a binary lose/lose — the\nprospect either ignores it or commits to something they don't want yet.\n\nA **Permissionless Value Promise (PVP)** flips this. The CTA itself delivers standalone\nvalue — an insight, a resource, a benchmark, a question — that the prospect finds\ngenuinely useful *before* buying anything. They reply because they're curious, not\nbecause you pressured them.\n\nA good PVP CTA:\n- Gives something useful with no strings attached\n- Doesn't mention your product or pitch anything\n- Implies no obligation (\"happy to share if useful\")\n- Is specific to their context (their industry, role, trigger, or pain)\n- Requires a simple yes or short reply — not a calendar commitment\n\n## Step 1 — Gather context\n\nBefore generating CTAs, check the conversation for any existing context:\n- **ICP / company type**: industry, size, growth stage\n- **Persona**: role, seniority, their core pain\n- **Trigger**: recent event (funding, hiring, tech change, job change, etc.)\n- **Your offer**: what problem you solve and how\n- **Channel**: email, LinkedIn DM, voice note\n\nIf a real target is named (a specific contact or company), pull their record from Enginy\nfirst — see Enginy Wiring below — instead of asking the user to re-type context that\nalready exists in the platform.\n\nIf critical context is still missing (especially the persona's pain or your offer), ask\n1–2 targeted questions. Never generate generic CTAs — specificity is what makes PVPs work.\n\n## Step 2 — Generate 5 PVP CTAs\n\nProduce 5 CTAs across different angles. For each, write:\n- The CTA itself (ready to paste into an email/message — use Enginy's single-brace\n  placeholder syntax, e.g. `{firstName}`, `{company}`, if it's going straight into a\n  campaign step)\n- **Type** (see below)\n- **Friction** (🟢 Low / 🟡 Medium)\n- **Why it works** (1 sentence)\n\nAim for at least 3 with 🟢 Low friction. Never propose a \"book a call\" CTA — that can come\n*after* the reply.\n\n---\n\n## CTA Types\n\n### 1. Insight CTA\nYou share a specific, public observation about their company or industry and offer to send\na deeper analysis.\n\n> \"I noticed {company} has been [expanding into X / hiring heavily for Y / doing Z]. Put\n> together a quick breakdown of how similar companies are handling [related pain]. Happy\n> to forward it — useful or not?\"\n\nWorks because: it's already partly personalized, they feel seen, and the ask is a single \"yes.\"\n\n---\n\n### 2. Benchmark CTA\nOffer a comparison to peers — everyone wants to know how they stack up.\n\n> \"We've been tracking [metric] across [industry/segment]. Companies like {company} are\n> typically sitting around [X]. Curious how you compare — want me to share the full\n> breakdown?\"\n\nWorks because: benchmarks create instant relevance. No one ignores \"how do you compare to\nyour competitors?\"\n\n---\n\n### 3. Resource CTA\nOffer a specific, named asset tied to their pain — not a generic \"guide\" but something that\nsounds tangible and pre-built.\n\n> \"I put together a [quick checklist / one-pager / list of 5 templates] on [specific pain\n> point] — built it from talking to [X type of companies]. Want me to send it over?\"\n\nWorks because: the asset exists, it's theirs to keep, no obligation implied. The\nspecificity of the asset signals real expertise.\n\n---\n\n### 4. Trigger-Based CTA\nUse a buying signal (recent funding, new hire, product launch, tech change) as the hook and\noffer something contextually relevant.\n\n> \"Saw {company} just [raised / launched / expanded into X]. When that happens, [related\n> challenge] tends to come up. Put together a short playbook on how [similar companies]\n> navigated it — worth a send?\"\n\nWorks because: it's timely, it shows you did your homework, and the resource maps directly\nto what they're experiencing right now.\n\n---\n\n### 5. Diagnostic Question CTA\nInstead of offering something, ask one sharp question that surfaces the pain — and signals\nyou know their world.\n\n> \"Quick question — are you currently [doing X to track / measuring Y / handling Z\n> manually]? Reason I ask is most [roles] I speak with tell me [that's where things break\n> down].\"\n\nWorks because: it makes *them* think about the pain. If the answer is \"no\" or \"it's messy,\"\nthey reply. And the reply *is* the conversation.\n\n---\n\n## Step 3 — Prioritization logic\n\nAfter generating the 5 options, recommend the top 1–2 based on context:\n\n| Situation | Best type |\n|---|---|\n| Strong buying trigger available | Trigger-Based |\n| Prospect is data-driven (ops, finance, analytics) | Benchmark |\n| Persona deals with a concrete, recurring problem | Resource |\n| You know their specific company context well | Insight |\n| You want to qualify before offering anything | Diagnostic Question |\n| LinkedIn DM (shorter = better) | Diagnostic Question or Trigger-Based |\n| Cold email step 1 | Insight or Benchmark |\n| Follow-up step 3+ | Resource (justify why you're back) |\n\n## Step 4 — Sequence fit\n\nCTAs should evolve across a sequence. If the user is building a multi-step campaign, suggest:\n- **Step 1**: Insight or Benchmark (establish relevance)\n- **Step 2**: Resource (add value, reinforce expertise)\n- **Step 3**: Diagnostic Question (if no reply — flip the angle, make them think)\n- **Step 4+**: Soft social proof or direct ask for 15 min (only once trust is built)\n\nNever use the same CTA type twice in a row.\n\n## Quality bar\n\nA PVP CTA passes if:\n- ✅ The prospect could use the insight/resource even if they never buy from you\n- ✅ Your product is not mentioned\n- ✅ The ask requires a one-word or one-sentence reply\n- ✅ It's specific enough that it couldn't be sent to 1,000 random people\n- ✅ There's no implied urgency or pressure\n\nIf a CTA fails any of these, rewrite it before presenting it.\n\n---\n\n## Enginy Wiring\n\n**Pulling context:** if the user names a real contact (\"what CTA should I use for\n[name]?\"), call `get_a_single_contact` to pull their stored fields (role, company,\nenrichment data, AI variables) instead of asking the user to describe them from scratch.\nUse whatever's already on the record to sharpen the Insight/Trigger-Based CTA.\n\n**Landing the CTA in a campaign:** once a CTA is finalized, it lands inside a campaign\nstep — an `email` or `linkedin_message` step's `content` (the CTA is usually the last\nline). Personalization uses Enginy's single-brace placeholder syntax (`{firstName}`,\n`{company}`, etc.) — never double-brace or other templating syntax.\n- To build a brand-new campaign around this CTA: route to `create_campaign` directly, or\n  hand the full sequence off to the `launch-campaign` skill if the user wants the send/\n  activate flow handled too.\n- To slot the CTA into an existing draft: pull the campaign first with\n  `get_a_single_campaign`, then route the edit through `launch-campaign`.\n\n## Enginy MCP tools used\n- `get_a_single_contact`\n- `get_a_single_campaign`\n- `create_campaign`\n\n## Important Notes\n- Never invent a placeholder name — only use `{firstName}`, `{company}`, or other fields\n  confirmed to exist on the contact/company record (check via `get_a_single_contact` /\n  `get_a_single_company` if unsure).\n- This skill never spends credits — it only reads contact data and drafts copy. If the\n  contact record is missing the context needed for a strong Insight/Trigger CTA (no\n  company data, no signal), route to `enrich-and-score-lead` or `trigger-finder` rather\n  than fabricating a signal.\n- A CTA that only works because of a fabricated metric or invented company fact fails the\n  quality bar — treat that the same as a \"book a call\" failure.\n\n## Examples\n\n**1. No context given.** User asks \"what CTA should I use for my outreach?\" with nothing\nelse in the conversation. Ask 1–2 targeted questions (persona pain + offer) before\ngenerating the 5 CTAs — don't default to generic ones.\n\n**2. Named prospect.** User asks \"what CTA should I use with Sarah at Northwind?\". Call\n`get_a_single_contact` (or search first if the ID isn't known) to pull Sarah's role,\ncompany, and any trigger data on file, then generate the 5 CTAs using that real context —\nlead the recommendation with Trigger-Based or Insight if a signal exists.\n\n**3. Sequence fit request.** User is building a 4-step LinkedIn + email campaign and asks\n\"what CTAs across the sequence?\". Apply Step 4's sequence fit logic (Insight/Benchmark →\nResource → Diagnostic Question → soft ask), then offer to hand the finished copy to\n`launch-campaign` to build the actual steps.\n\n## Troubleshooting\n\n| Symptom | Likely cause | Fix |\n|---|---|---|\n| All 5 CTAs feel generic | No persona/trigger context supplied | Ask the 1–2 missing questions, or pull the contact via `get_a_single_contact` |\n| CTA reads like a pitch | Product or company name crept into the CTA | Strip any brand/product mention — the quality bar requires zero product mention |\n| Placeholder doesn't render in the campaign | Wrong brace syntax used (e.g. `{{firstName}}`) | Use Enginy's single-brace syntax: `{firstName}` |\n| User wants the CTA already in a live campaign changed | No in-place step editor in the API | Pull the campaign with `get_a_single_campaign`, then route the edit through `launch-campaign` |\n| Best CTA type is unclear | Multiple situations from the Step 3 table apply at once | Default to the trigger-based CTA if any real signal exists; otherwise follow the table top-to-bottom |\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}