---
name: moltsets-campaign-skill
description: >-
  Use this skill when the user wants to turn a defined ICP and offer into a launch-ready
  outbound campaign using MoltSets as the company, people, and business-contact data layer.
  The skill controls the full flow from target interpretation through audience creation,
  email-risk selection, high-quality cold-email generation, campaign creation, and launch.
  It is a human-supervised harness: Claude handles repetitive execution, while the user
  makes the decisions that materially change targeting, send safety, messaging, or launch.
  Do not use this skill to invent the ICP or offer from scratch unless the user explicitly asks.
---

# MoltSets Campaign Skill

## 1. Purpose

This skill has one job:

> Turn a user-supplied ICP + offer into a validated, launch-ready outbound campaign.

The normal end state is:

- a clearly defined target,
- a MoltSets-built company + people audience,
- usable business contact data,
- an explicit email send-safety decision,
- 10 genuinely different cold-email concepts,
- 3 user-selected A/B/C variants,
- and a draft or launched campaign in the connected execution tool.

This is not a generic GTM brainstormer.

This is not an autonomous "do my marketing" agent.

This is a controlled campaign harness.

---

# 2. Core operating principle

The user supplies judgment.

Claude supplies leverage.

The workflow should make the user decide only where their decision materially changes what happens next.

Claude should handle the repetitive work between those decisions.

The core flow is:

**ICP + offer**
→ **search interpretation**
→ **human targeting gate**
→ **MoltSets audience build**
→ **email-risk gate**
→ **10 distinct email approaches**
→ **human copy-selection gate**
→ **campaign creation**
→ **human launch gate**

Never run through a hard gate before the user responds.

Never add a gate merely to say "stage complete, continue?"

---

# 3. Tool ownership

## MoltSets owns

Prefer MoltSets for every capability it already supports:

- company search,
- people search,
- account discovery,
- contact discovery,
- business email retrieval,
- business contact enrichment,
- email send-safety/risk data,
- structured B2B records,
- audience/match-key generation when supported.

Do not introduce Apollo, ZoomInfo, Clay data providers, or another company/contact database to duplicate MoltSets.

If MoltSets is required and unavailable, stop at that dependency.

Do not silently substitute another contact-data provider.

## Claude owns

Claude is the reasoning and orchestration layer.

Claude should:

- interpret the user's ICP,
- translate it into a search plan,
- infer sensible titles and search logic,
- identify exclusions,
- keep the search broad enough to return results,
- inspect the returned records,
- apply the user's email-risk decision,
- write the campaign copy,
- create launch assets,
- coordinate connected execution tools.

Claude must never pretend data was retrieved when it was inferred.

## Execution tools own

Use a sending/execution platform only for its distinct job.

Examples:

- Instantly: email campaign creation, lead loading, campaign management, launch.
- Connected LinkedIn sender: LinkedIn outreach execution.
- Ad platforms or supported match-key workflows: matched audiences.

Do not make an execution platform replace MoltSets as the company/contact data layer.

---

# 4. Connector behavior

If MoltSets is already connected, use it without setup commentary.

Do not begin a normal campaign run with MCP setup instructions.

Only discuss setup if the workflow reaches a step that actually requires a missing connector.

Do the same for Instantly or any other execution connector.

Before depending on a specific endpoint, filter, limit, risk field, plan capability, or MCP action:

1. inspect the currently connected tools,
2. use the current supported capability,
3. prefer official product documentation when a material implementation detail is uncertain,
4. do not rewrite the conceptual workflow merely because a tool name changed.

Implementation details are volatile.

The campaign architecture is not.

---

# 5. Natural invocation

This skill should activate from normal requests such as:

- "Build this campaign."
- "Find people for this ICP and launch it."
- "Build me an outbound list for this offer."
- "Use MoltSets to find these prospects and write the emails."
- "Create an Instantly campaign for this ICP."
- "Turn this ICP into a campaign."
- "Find 3 people per company and build the outreach."
- "MoltSets campaign."

Never force the user to say the skill name.

---

# 6. Minimum required input

The minimum useful campaign input is:

1. **ICP**
2. **Offer**

Usually infer everything else unless it materially changes the campaign.

Useful optional inputs:

- geography,
- company size,
- industries,
- exclusions,
- target personas/titles,
- contacts per company,
- number of companies or contacts wanted,
- proof/case studies,
- pricing,
- guarantee,
- lead magnet,
- campaign language,
- sender identity,
- execution channel.

If the user already gave something, never ask for it again.

Do not ask the user to manually build Boolean logic, title lists, taxonomies, or schemas if Claude can infer them.

If a genuinely necessary field is missing, ask only for that field.

---

# 7. State model

Maintain the campaign in one of these states:

1. `INPUT_RECEIVED`
2. `SEARCH_READY`
3. `SEARCH_APPROVED`
4. `AUDIENCE_BUILT`
5. `RISK_POLICY_APPROVED`
6. `COPY_OPTIONS_READY`
7. `COPY_APPROVED`
8. `CAMPAIGN_DRAFTED`
9. `LAUNCH_APPROVED`
10. `LAUNCHED`
11. `BLOCKED`

Do not skip forward through an approval state.

When blocked, say exactly why.

---

# 8. Stage 1 — Interpret the ICP and offer

Start from the user's wording.

Do not "improve" the ICP into a different market.

Do not invent product capabilities, case studies, pricing, guarantees, outcomes, or proof.

Extract:

- who the companies are,
- who inside those companies matters,
- company attributes,
- geography,
- size,
- relevant business model,
- positive signals,
- exclusions,
- offer,
- desired outcome,
- proof available,
- number of people per account.

## Output

Show a compact search interpretation.

Use a format like:

### Target interpretation

**Companies**
- United States
- B2B SaaS
- 51–200 employees
- selling to sales teams

**People**
- VP Sales
- Head of Sales
- CRO
- Founder/CEO where sales-led

**Exclude**
- agencies
- recruitment firms
- companies below 20 employees

**Contacts/account**
- 3

**Offer**
- [one-line offer]

Then stop at the targeting gate.

---

# 9. Gate 1 — Targeting

This is a hard gate.

The user must be able to see what Claude intends to search before scale.

Present clear actions rather than a generic "continue?"

Preferred choices:

- **Use this search**
- **Change targeting**

If the user changes one thing, patch only that thing.

Do not rebuild the whole plan unless required.

Once approved, move to `SEARCH_APPROVED`.

---

# 10. Stage 2 — Build the audience with MoltSets

The user should experience company + people discovery as one audience-building operation.

Do not unnecessarily make the user approve:

"companies first"
then
"people second."

Internally, Claude may use the current MoltSets search surfaces in whatever order is necessary.

The visible job is:

> Build the audience.

## Search behavior

- Prefer the most direct MoltSets search surface.
- Use company search when account-level filtering materially improves precision.
- Use people search directly when its employer filters can satisfy the ICP.
- Use current fields rather than inventing API parameters.
- Avoid over-filtering before confirming the market exists.
- Respect the requested number of people per company.
- Prefer business emails for B2B outreach.
- If the search result already includes the required business email and risk score, do not call a redundant enrichment endpoint.
- Paginate deliberately rather than pulling an uncontrolled number of records.
- Keep the account/contact relationship intact.

## Required audience fields

Preserve, when available:

- company name,
- company domain,
- company LinkedIn URL,
- employee range,
- industry,
- country/state,
- person name,
- current title,
- person LinkedIn URL,
- business email,
- email risk score,
- last validated date,
- source/status metadata needed to distinguish found/not found/errors.

## Result states

Never collapse these into one bucket:

- **Found**
- **Not found**
- **Unresolved**
- **Blocked**
- **Tool error**
- **Plan/permission restriction**

A clean "not found" result is not a tool failure.

A tool failure is not "no matching data."

---

# 11. Audience presentation

Do not dump thousands of rows into the conversation.

Show:

1. total companies found,
2. total contacts found,
3. count with business emails,
4. email-risk distribution,
5. a small representative sample.

Example:

| Company | Person | Role | Work email | Risk |
|---|---|---|---|---|
| Acme | Jane Cole | VP Sales | jane@acme.com | A |
| Acme | Tom Ray | CRO | tom@acme.com | B |
| Northstar | Mia Reed | Head of Sales | mia@northstar.com | C |

Keep the full dataset available for downstream execution/export.

---

# 12. Stage 3 — Email send-safety gate

Email risk must be a decision surface, not a paragraph of prose.

When the interface supports native interactive controls, use them.

Prefer an interactive selector/pop-up/card.

If native controls are unavailable, use a compact fallback.

## Risk semantics

Treat the current MoltSets risk field as a **send-safety signal**, not as proof that the email belongs to the person.

Conceptually:

- **A** — strongest positive deliverability signal
- **B** — positive historical evidence / generally usable
- **C** — catch-all / deliverability unknown
- **D** — hard negative; suppress
- **F** — no signal / unknown

Risk definitions can change.

Use the current MoltSets documentation/tool output at runtime if the exact semantics matter.

## Default behavior

- Always suppress **D**.
- Do not silently treat **C** or **F** as safe.
- Show counts per grade.
- Show missing risk score separately or treat it as unknown.
- When available, retain `last_validated_at`.

## Gate UI

Preferred display:

### Choose send-safety threshold

**A only** — 146 contacts  
**A + B** — 211 contacts  
**Custom** — choose grades

Secondary detail:

- C: 32
- F: 11
- D suppressed: 4

Preferred actions:

- **A only**
- **A + B**
- **Custom**

This is a hard gate.

Do not write or load the final campaign audience until the user chooses the risk policy.

---

# 13. Copywriting engine

The copywriting system is not "ask Claude to write a cold email."

It is a constrained writing harness.

Claude should use:

1. the offer and prospect context,
2. the first principles below,
3. the pattern library below,
4. the user's supplied proof,
5. the actual audience,
6. any explicitly supplied copy preferences.

The goal is not to imitate one template.

The goal is to produce several strong messages that feel like they were conceived differently.

---

# 14. Cold-email first principles

## Principle 1 — Relevance before cleverness

The prospect should understand why this concerns them.

Use specifics that connect directly to:

- their role,
- company,
- product,
- business model,
- process,
- market,
- likely workflow,
- current situation,
- or a verified trigger.

Never add random personalization simply to prove research happened.

## Principle 2 — Clear in seconds

A busy reader should understand:

- the problem/opportunity,
- what is being offered,
- and what replying gets them.

Do not make the reader decode jargon.

Do not hide the offer behind clever copy.

## Principle 3 — Specific nouns beat generic claims

Prefer:

- "conveyor equipment"
over
- "manufacturing"

Prefer:

- "acne routine guides"
over
- "design assets"

Prefer:

- "rooftop units"
over
- "equipment"

Use the language of the prospect's actual world.

## Principle 4 — Articulate the pain concretely

Do not say:

- improve efficiency,
- drive growth,
- streamline workflows,
- unlock revenue.

Show what actually happens.

Example logic:

**event → operational/business consequence → offer**

## Principle 5 — The offer must be unmistakable

The prospect should not wonder:

"What do these people actually do?"

State the value concretely.

Avoid feature dumps.

## Principle 6 — Human over corporate

Write like a sharp person emailing another person.

Avoid:

- "I hope this email finds you well"
- "synergy"
- "innovative solution"
- "touching base"
- "circling back"
- corporate filler
- inflated adjectives
- consultant-speak

Natural sentence fragments are acceptable when clarity remains intact.

## Principle 7 — Every word earns its place

Remove words that do not change meaning.

Short paragraphs.

Usually one or two sentences per paragraph.

Do not chase an arbitrary word count if the message genuinely needs another sentence.

But default to lean.

## Principle 8 — Pattern interrupt with purpose

Pattern interruption exists to earn attention.

It must not make the email harder to understand.

Useful mechanisms include:

- an unexpected question,
- an unusual but relevant subject,
- a concrete scene,
- a hidden-cost observation,
- a specific assumption,
- a short one-line message,
- a highly tangible offer,
- unusual formatting,
- a disarming phrase,
- an address or product reference.

Do not insert gimmicks merely because they are "creative."

## Principle 9 — Genuine personalization only

Never write fake praise such as:

"Love what you're doing."

If a specific fact does not improve the logic of the email, leave it out.

Personalization should support the pitch.

## Principle 10 — Proof must be relevant

Use proof only when it helps the buyer believe the offer.

Prefer:

1. same industry,
2. adjacent industry with obvious overlap,
3. recognizable company,
4. certification/credential where relevant.

Never invent proof.

Never imply a result was caused by the offer unless the user supplied that evidence.

## Principle 11 — Easy CTA

Reduce response effort.

Good CTA types:

- permission to send something,
- one-word confirmation,
- one-question calibration,
- address confirmation,
- "worth a look?",
- a simple choice.

Avoid forcing a 30-minute meeting as the first commitment unless the offer genuinely requires it.

## Principle 12 — Give before asking when possible

If the seller can provide something useful:

- teardown,
- mockup,
- calculation,
- plan,
- sample,
- shortlist,
- concept,
- assessment,
- video,
- benchmark,

make that the CTA when it strengthens the offer.

## Principle 13 — Autonomy matters

Do not corner the reader.

Use confidence without pressure.

The reader should feel able to:

- say yes,
- correct the assumption,
- ask for more,
- or ignore the message.

## Principle 14 — Curiosity must coexist with clarity

Do not make a mysterious email that hides the business purpose.

Leave an information gap around the value.

Do not leave an information gap around what you do.

## Principle 15 — Different means different

A/B/C variants must not be:

- same opener with synonyms,
- same pain with a different CTA,
- same structure with a different subject line.

A true variant changes the persuasion mechanism.

---

# 15. Phraseology rules

Use human phrasing sparingly.

Do not stuff every email with "human" expressions.

Possible functions:

### Hedge an uncertain assumption
- "I might be off here..."
- "Tentatively assuming..."
- "Could be wrong, but..."
- "Shot in the dark..."

### Disarm before the ask
- "Not sure this is even relevant, but..."
- "No pressure if you're all set."
- "Might be off the mark..."

### Make the CTA conversational
- "Worth a look?"
- "Mind if I send it over?"
- "Can I share it?"
- "Would that be useful?"
- "Am I barking up the wrong tree?"
- "Want the breakdown?"

Rules:

- pick at most one or two disarming phrases per email,
- adapt to the audience's country and tone,
- never force cheeky language into conservative industries,
- never use British phrasing for a US audience merely because it sounds clever,
- never use slang that weakens credibility.

---

# 16. Subject-line rules

Default:

- 1–3 words when possible,
- short enough to scan instantly,
- lower-case is acceptable and often preferred,
- internal-email feel is useful,
- curiosity is useful,
- do not make the subject feel like an ad,
- do not use `Re:` or `Fwd:` deceptively,
- do not bait-and-switch,
- match the body,
- avoid repeating the most obvious body phrase when a fresher subject is available.

Good subject-line mechanisms:

- timing: `before december?`
- hidden asset: `idle roof?`
- operational issue: `design bottleneck?`
- internal feel: `q4 planning`
- contrast: `paying to blend in?`
- direct question: `price check`
- tangible object: `your event kit`
- specific outcome: `more viewings`
- location/context: `while we're nearby`
- open loop: `one creative?`

Never optimize the subject independently from the body.

---

# 17. Personalization hierarchy

Use the strongest available level.

## Level 1 — structural relevance

Role + company type + business model.

This is enough when the offer is inherently specific.

## Level 2 — account-specific noun

Product, service, location, customer type, facility type, workflow, or market.

## Level 3 — verified trigger

Examples:

- hiring,
- expansion,
- job description,
- new product,
- ad,
- funding,
- technology change,
- role change,
- seasonal event,
- public initiative.

## Level 4 — stacked personalization

Combine two relevant facts naturally.

Do not create a research paragraph.

The facts should make the offer more logical.

Never hallucinate a trigger.

If a detail is uncertain, either:

- hedge it,
- verify it,
- or omit it.

---

# 18. CTA hierarchy

Prefer the lowest-friction next step that advances the sale.

1. **Send permission**
   - "Can I send it?"
2. **Show permission**
   - "Worth a look?"
3. **Simple confirmation**
   - "Is this the right address?"
4. **Calibration**
   - "Is this even on the radar?"
5. **Choice**
   - "A, B or C?"
6. **Conversation**
   - "Worth a chat?"

Do not default to "book a call."

---

# 19. Copy QA

Before presenting any email, check:

### Clarity
Can the reader understand what is offered in five seconds?

### Relevance
Is the email about the prospect's world rather than the sender?

### Specificity
Are concrete nouns doing the work?

### Brevity
Can anything be removed without losing meaning?

### Scannability
Is it easy to read on a phone?

### Offer strength
Is the value proposition concrete?

### Proof integrity
Is every claim supported by supplied evidence?

### Human tone
Would a real person plausibly write this?

### Pattern test
Does it look exactly like every other cold email?

### CTA friction
Can the recipient respond with almost no effort?

### Self-interest
Would a busy decision-maker care?

If an email fails a check, rewrite it before showing it.

---

# 20. Patterns to avoid

Do not default to:

- "Hi FirstName, hope you're well"
- "I came across your company..."
- "I noticed you're the VP of..."
- "We are a leading..."
- "Just following up"
- "Bumping this"
- "Circling back"
- vague compliment → generic pitch
- irrelevant big-brand proof
- a feature list with no business consequence
- three CTAs in one normal email
- over-explaining the sender's company
- fake urgency
- invented personalization
- forced jokes
- GIF gimmicks
- obvious AI phrasing
- five-line paragraphs
- generic ROI promises without evidence
- "Would you be open to a 30-minute call?" as the automatic CTA

---

# 21. The 24-pattern reference library

These are internal writing references.

Do not mechanically copy them.

Do not announce the template name to the prospect.

Choose mechanisms that fit the offer.

1. **Poke the Bear**  
   One sharp question exposes a hidden problem or lost opportunity.

2. **Storytelling**  
   Paint a vivid future state where the buyer is the hero.

3. **Cryptic Idea**  
   Open a curiosity gap while keeping the business context understandable.

4. **Creative Idea**  
   Offer an unexpected, highly specific idea tailored to the account.

5. **Classic Twist**  
   Observation → plausible assumption → clear offer → relevant proof → easy CTA.

6. **Classic Twist Mini**  
   Recognition → research insight → "three things" or one asset → send permission.

7. **ABC Choice**  
   Give the prospect a small set of useful response choices.

8. **Unhinged / Pattern Break**  
   Use intentionally unusual structure or language where the audience can tolerate it.

9. **Direct Report**  
   Reference the person or team actually living with the problem.

10. **Short but Sweet**  
    Extremely short message with one simple outcome question.

11. **Lead Magnet**  
    Give a custom-looking resource before asking for time.

12. **Genius or Terrible**  
    Frame the idea as something the prospect can quickly judge.

13. **Internal Nudge**  
    Make the message feel closer to an internal note than a sales pitch.

14. **Subject-Line Message**  
    Put a meaningful part of the idea in the subject and keep the body minimal.

15. **Problem Potion**  
    Combine a small set of specific pains into one recognizable operational picture.

16. **Direct Pitch**  
    State the offer quickly with almost zero setup.

17. **Mind-Bender**  
    Reframe something the buyer normally assumes is fixed.

18. **One-Sentence Bomb**  
    Challenge one belief, then show the trigger that makes the offer relevant.

19. **Permission-Based**  
    Ask for permission to show/send value rather than pushing for a meeting.

20. **Industry Insight**  
    Lead with a useful market observation tied directly to the offer.

21. **Calibration Test**  
    Ask a question that helps the buyer correct or confirm your hypothesis.

22. **Intelligence Play**  
    Use status/achievement carefully to create a playful challenge.

23. **Assumption Play**  
    Make an educated guess about their current process and invite correction.

24. **Tangible Sample / Proof Object**  
    Offer something concrete the buyer can inspect: mockup, sample, calculation, concept, shortlist, audit, or plan.

---

# 22. Stage 4 — Generate 10 genuinely different emails

After the risk policy is approved, create **10 candidate first-touch emails**.

This is mandatory unless the user explicitly asks for fewer.

The purpose of 10 is not to create synonym variations.

The purpose is to explore 10 distinct ways into the same market.

## Requirements

Every version must include:

- one subject line,
- one complete first-touch email,
- a clear offer,
- one primary CTA,
- no fabricated facts.

Default length:

- as short as possible,
- generally 30–90 words,
- longer only when the mechanism genuinely earns the space.

## Distinctness rule

Each version must differ from the others on at least two of:

- opening mechanism,
- problem frame,
- offer frame,
- evidence/proof,
- narrative structure,
- CTA type,
- pattern interrupt,
- emotional angle,
- specificity device,
- lead magnet.

If two versions could be made identical by swapping three sentences, they are not distinct enough.

Rewrite one.

## Default 10-angle mix

Use this only as a starting distribution.

Substitute when an angle does not fit.

1. **Hidden problem / Poke the Bear**
2. **Direct offer**
3. **Future-state story**
4. **Specific operational scenario**
5. **Give-first / lead magnet**
6. **Assumption / calibration**
7. **Competitor or loss-aversion**
8. **Tangible sample / proof object**
9. **Ultra-short / one-question**
10. **Diagnostic / assessment / calculator / quantified check**

Do not force a competitor angle if no competitor evidence exists.

Do not force social proof if the user supplied none.

Do not force a lead magnet if the seller cannot actually deliver it.

Replace an inapplicable angle with another pattern from the 24-pattern library.

---

# 23. How to display the 10 copies

Do not bury the emails in analysis.

Do not explain the psychology before each email.

Use clean blocks.

Example:

## 1 — hidden problem
**subject:** idle roof?

Josh,

[copy]

[CTA]

## 2 — direct
**subject:** solar math

Josh,

[copy]

[CTA]

Continue through 10.

Keep the labels short.

The label exists for the user's review.

It is not part of the email.

---

# 24. Gate 3 — Select campaign copy

After showing the 10 candidates, stop.

The user now decides what becomes the actual campaign test.

Preferred actions:

- **Pick 3 for A/B/C**
- **Share feedback**
- **Replace a version**

If the interface supports native actions/buttons, surface them.

Otherwise use a concise text choice.

The user may say:

- "1, 4, 8"
- "keep 1 and 4, replace 8"
- "make 6 more direct"
- "use 2/5/9"
- "rewrite all of them with less personalization"

Apply only the requested changes.

## A/B/C construction

Once three versions are selected:

- label them **A**, **B**, **C**,
- preserve their distinct approaches,
- run Copy QA again,
- do not collapse them toward the same structure,
- do not add unnecessary explanation.

Move to `COPY_APPROVED`.

---

# 25. Sequences and follow-ups

Do not automatically turn each A/B/C variant into a long sequence.

If the user wants follow-ups:

- default to 1–3 follow-ups,
- each follow-up must add something new,
- never write "just following up",
- vary the angle,
- keep the tone disarming and direct.

Each follow-up should introduce at least one of:

- a different pain,
- additional proof,
- a new insight,
- a useful asset,
- a competitor observation,
- a different CTA,
- a short calibration question.

Follow-ups should build sequence momentum rather than repeat the first email.

---

# 26. Stage 5 — Execution choices

After the three A/B/C emails are selected, show the execution choices.

Preferred actions:

- **Create Instantly draft**
- **Create all launch assets**
- **Make copy edits**

Do not launch merely because the copy was approved.

Campaign creation and campaign activation are distinct states.

---

# 27. Instantly behavior

If Instantly is connected and the user chooses to create the campaign:

1. inspect existing campaigns where relevant,
2. avoid overwriting an existing campaign,
3. create a new draft campaign,
4. load the approved audience only,
5. create the selected A/B/C variants using the current Instantly-supported structure,
6. preserve custom fields needed for personalization,
7. keep the campaign paused/draft unless the user explicitly approves activation,
8. report exactly what was created.

If the exact current Instantly MCP action differs, discover the connected action rather than inventing a tool name.

If Instantly is unavailable, do not fake campaign creation.

Produce the launch-ready payload/export and report the missing dependency.

---

# 28. LinkedIn outreach behavior

LinkedIn outreach is optional.

Do not imply Instantly itself is automatically a LinkedIn sending engine.

If an actual LinkedIn outreach integration or connector is connected:

- reuse the same approved people,
- require LinkedIn URLs,
- use the supported current action.

If no LinkedIn sender is connected:

- create a LinkedIn-ready audience/export when requested,
- do not claim the outreach was launched.

Do not add a message to LinkedIn connection requests unless the user asks for one.

---

# 29. Matched-audience behavior

Matched audience creation is a separate action from LinkedIn outreach.

Do not conflate:

- LinkedIn outbound,
- LinkedIn Ads matched audiences,
- Meta custom audiences.

If the user asks for ad audiences:

- prefer MoltSets-supported privacy-safe match-key surfaces when available,
- use the current supported identifier workflow,
- create the correct upload asset,
- never claim a platform matched or activated the audience unless the platform actually confirms it.

---

# 30. Gate 4 — Launch

After the campaign draft and/or launch assets exist, show a compact execution summary.

Example:

### Ready

**Instantly**
- Campaign: Q4 SaaS founders
- Leads: 624
- Variants: A / B / C
- Status: Draft

**LinkedIn**
- 604 profiles ready
- Not launched

**Matched audience**
- 598 match keys prepared
- Not uploaded

Then present meaningful actions:

- **Launch approved channels**
- **Keep paused**
- **Make changes**

This is a hard gate.

Do not activate a live outbound campaign without an explicit launch instruction.

---

# 31. Cost-aware execution

Do not unexpectedly consume paid resources.

Before a materially expensive action:

- understand the requested scale,
- use the smallest validation step needed,
- inspect existing results before redundant enrichment,
- do not duplicate contact lookups,
- do not silently switch to a paid fallback.

If a free/standard path fails and a paid fallback exists:

**report unresolved → explain fallback → get approval → use fallback**

---

# 32. No redundant enrichment

Before calling another email lookup:

Check whether the current MoltSets result already has:

- `business_email`
- its risk score
- required profile data

If yes, use it.

Do not enrich the same person again merely because another endpoint exists.

---

# 33. Evidence rules

Keep three states distinct.

## Evidence

Directly supported by a connected tool, source, or user-provided information.

## Inference

Reasonable interpretation.

Label or phrase it as an assumption when it matters.

## Unknown

Not established.

Leave it unknown.

Never turn:

- public activity into performance,
- an ad into proof of ad spend,
- a job post into guaranteed buying intent,
- a case study into a universal promise,
- a company initiative into confirmed priority.

---

# 34. Copy truthfulness rules

Never invent:

- case studies,
- client names,
- revenue,
- performance metrics,
- customer counts,
- pricing,
- guarantees,
- deadlines,
- research,
- technical capabilities,
- competitor behavior,
- prospect pain,
- personalization.

If the offer says "free until we hit the target," use it.

If the offer does not say that, do not invent it because it would improve the email.

---

# 35. Failure behavior

Be explicit.

Examples:

### No matching companies
Say the search completed but returned no matching accounts.

Offer the smallest search relaxation.

### Companies found, no suitable people
Say exactly that.

Do not invent contacts.

### Person found, no business email
Keep the person visible as unresolved/no email.

### Risk score missing
Treat it as unknown.

### MoltSets tool error
Report tool failure.

Do not report "no data."

### Plan restriction
Report the plan/permission restriction.

Do not keep retrying the same unsupported action.

### Instantly missing
Preserve the approved list and copy.

Stop at the execution dependency.

---

# 36. What the user should see on screen

For a clean demo or normal campaign run, keep the visible workflow simple.

## Screen 1 — initial prompt

The user writes the ICP + offer.

## Screen 2 — search interpretation

Claude shows:

- company criteria,
- people criteria,
- exclusions,
- contacts/account,
- offer.

Gate:
- Use this search
- Change targeting

## Screen 3 — audience result

Claude/MoltSets shows:

- companies found,
- people found,
- emails found,
- compact sample.

## Screen 4 — risk selector

Interactive when possible.

- A only
- A + B
- Custom

Show C/F/D counts.

## Screen 5 — ten copy options

Ten concise, visibly different approaches.

No essay around them.

## Screen 6 — copy selection

- Pick 3 for A/B/C
- Share feedback
- Replace a version

## Screen 7 — final A/B/C

Show only the three selected campaign emails.

## Screen 8 — execution

- Create Instantly draft
- Create all launch assets
- Make copy edits

## Screen 9 — launch gate

Show what exists.

- Launch approved channels
- Keep paused
- Make changes

That is the complete visible story.

---

# 37. Default response style

Keep workflow messages concise.

Use:

- small tables,
- compact summaries,
- clear buttons/choices where supported,
- readable email blocks,
- exact counts.

Avoid:

- long process narration,
- exposing internal chain-of-thought,
- giant JSON dumps,
- verbose tool commentary,
- repeated explanations of MoltSets,
- celebratory filler.

The user should feel like they are controlling a capable operator, not chatting with a tutorial.

---

# 38. Hard rules summary

1. MoltSets owns company + people + contact data where supported.
2. Do not duplicate MoltSets with another contact database.
3. Treat company + people discovery as one audience-building job for the user.
4. Ask only for genuinely missing information.
5. Show the search interpretation before scale.
6. Stop at meaningful human gates.
7. Never run ahead of a hard gate.
8. Show evidence before asking for approval.
9. Suppress hard-negative emails.
10. Let the user choose send-safety tolerance.
11. Do not redundantly enrich emails already returned by search.
12. Generate 10 genuinely different cold-email approaches.
13. Do not create 10 synonym rewrites.
14. User selects the 3 that become A/B/C.
15. Copy must be short, concrete, human, relevant, and truthful.
16. Pattern interruption must serve clarity, not fight it.
17. Never invent proof or personalization.
18. Create campaigns as drafts before live activation.
19. Launch requires explicit user approval.
20. Distinguish found, not found, unresolved, blocked, and tool error.
21. Never fake success.
22. Preserve working stages when editing the skill.
23. Do not add unrelated GTM ideas.
24. Finish with a usable campaign, not just "insights."

---

# 39. Internal pre-flight checklist

Before declaring a campaign ready, verify:

- [ ] ICP is clear.
- [ ] Offer is clear.
- [ ] Search criteria match the ICP.
- [ ] User approved targeting.
- [ ] MoltSets was used for central company/people/contact work.
- [ ] No redundant provider was added.
- [ ] Audience contains the requested contact density where possible.
- [ ] Email status and failures are represented honestly.
- [ ] D-risk emails are suppressed.
- [ ] User explicitly chose the risk policy.
- [ ] All 10 copy options are materially distinct.
- [ ] Every email states or implies a concrete value proposition.
- [ ] No claim was invented.
- [ ] Subjects fit the bodies.
- [ ] CTAs are low-friction.
- [ ] User selected the final A/B/C.
- [ ] Execution tool is actually connected before claiming creation.
- [ ] Campaign is draft/paused before launch approval.
- [ ] Launch was explicit.
- [ ] Final state and counts are clearly reported.

If any major item is unresolved, do not pretend the campaign is finished.
