instantly-campaign-qc

Instantly Campaign Quality Control

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "instantly-campaign-qc" with this command: npx skills add grundwerk/skills/grundwerk-skills-instantly-campaign-qc

Instantly Campaign Quality Control

Systematically audit an Instantly email campaign by checking that every lead has all required personalization variables filled in, that no variables are broken or missing, and that the campaign copy references only variables that exist in the lead data.

When to Use

  • User shares an Instantly campaign URL

  • User asks to "check", "review", "audit", or "QC" a campaign

  • User wants to verify leads before launching a campaign

  • User asks about missing or empty variables in a campaign

QC Process

Step 1: Identify Account and Campaign

Extract the campaign ID from the URL (UUID after /campaign/ ) or use it directly if provided.

Auto-detect the account: The MCP tools are named mcp__instantly-grundwerk__get_campaign and mcp__instantly-birdsview__get_campaign . Try instantly-grundwerk first. If it returns an error or empty result, try instantly-birdsview . The account that returns campaign data is the correct one. If only one Instantly MCP server is configured (e.g. just instantly ), use that one. Don't ask the user which account — just detect it automatically.

Step 2: Load MCP Tools and Retrieve Campaign Data

First, load the Instantly MCP tools. They are deferred tools and must be discovered before use:

  • Use ToolSearch with query "+instantly get" to find and load the campaign tools

  • Use ToolSearch with query "+instantly list" to find and load the lead tools

  • Do NOT use ListMcpResourcesTool — that only lists resources, not tools

Then call get_campaign with the campaign_id. This returns the full campaign config including sequences, steps, and variants.

From the response, extract:

  • sequences[0].steps[] — each step in the email sequence

  • Each step has variants[] with subject and body fields

  • Campaign metadata: name , email_list (sender accounts), schedule, daily_limit

Step 3: Extract Variables from Copy

Parse all {{VARIABLE_NAME}} placeholders from every subject line and body across all steps and variants.

Ignore system variables — these are filled automatically:

  • accountSignature , sendingAccountName , accountSendingName

  • unsubscribe_link

  • RANDOM (and any {{RANDOM | option1 | option2 | ...}} syntax)

  • firstName , lastName , companyName , email , website , phone (these are core Instantly fields, not custom variables — but still check them)

Build a variable map table showing which custom variable appears in which step and variant:

Variable Step 1 V1 Step 1 V2 Step 2 V1 Step 3 V1 ...

FIRSTNAME_CLEAN x x x x

COMPANY_TYPE_PLURAL x

x

OTHER_PERSON

x

This table gives an instant overview of variable coverage across the sequence.

Step 4: Retrieve and Check Leads

Fetch leads using list_leads with the campaign ID, limit=100. One page of 100 leads is sufficient for a representative quality check — don't paginate further, as it takes too long and 100 leads gives a reliable sample.

For each lead, check the payload object for every copy-relevant variable:

  • Missing or empty: Variable key doesn't exist or value is empty string / null

  • Suspicious values: Values like n/a , N/A , null , undefined , test , xxx , – , - that suggest placeholder data. Note: short names like "Ed", "Jo", "CJ" or abbreviations like "5W" are legitimate — only flag values that are clearly placeholders.

  • Email format: Lead email should contain @ and at least one . after the @

Track duplicates: Count occurrences of each email address — duplicates within the same campaign are usually errors.

Show sample values: For each copy-relevant variable, show 3-5 example values from the data and count unique values. This helps the user verify data quality at a glance.

Step 5: Identify Unused Variables

Compare:

  • Variables defined in lead payloads (union of all keys across all leads)

  • Variables actually used in the email copy (from Step 3)

Variables that are defined in leads but never referenced in the copy aren't necessarily errors, but they're worth flagging — they might indicate:

  • Leftover data from previous campaign versions

  • Variables the user forgot to include in the copy

  • Variables intended for a different campaign

Step 6: Generate QC Report

Present the report in the user's language (match the language they used in their request).

Campaign QC Report: [Campaign Name]

Summary

  • Total leads checked: X (sample of 100)
  • Leads with issues: Z
  • Duplicate emails: N
  • Variables in copy: [list]
  • Unused variables: [list]

Variable Usage Map

[Table from Step 3]

Variable Data Quality

VariableFill RateUnique ValuesSample Values
FIRSTNAME_CLEAN100% (566/566)450Scott, Brian, Ryder, Ian, Amber
COMPANY_TYPE_PLURAL100% (566/566)12marketing agencies, design firms

Issues Found

Missing/Empty Variables

Lead EmailNameMissing Variables
john@example.comJohn DoeCOMPANY_CLEAN, OTHER_PERSON

Suspicious Values

Lead EmailVariableValue
jane@example.comSERVICES_SNIPPETn/a

Duplicate Emails

Email Format Issues

Lead EmailIssue
bad-emailMissing @ sign

Recommendations

[Actionable next steps based on findings]

If no issues are found in a section, state "Keine Probleme gefunden" / "No issues found" instead of showing empty tables.

Common Mistakes

  • Over-paginating: 100 leads is enough for a quality check. Don't fetch all pages — it takes too long and provides diminishing returns.

  • Checking all variables instead of copy-relevant ones: Only variables that appear in {{...}} in the email copy matter for QC. A lead missing JOBTITLE_CLEAN is only a problem if {{JOBTITLE_CLEAN}} is used in the copy.

  • Ignoring RANDOM syntax: {{RANDOM | option1 | option2}} is a system function, not a custom variable. Don't look for a variable called "RANDOM" in lead data.

  • Forgetting to check subject lines: Variables appear in both subject and body — check both.

  • Flagging legitimate short names: "Ed", "Jo", "CJ", "5W" are valid names/values. Only flag clearly placeholder-like values.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

trigger-deploy-guard

No summary provided by upstream source.

Repository SourceNeeds Review
General

OpenClaw Skill Growth

Make OpenClaw Skills observable, diagnosable, and safely improvable over time. Use this when the user wants to maintain many SKILL.md files, inspect repeated...

Registry SourceRecently Updated
171Profile unavailable
General

Find Skills for ClawHub

Search for and discover OpenClaw skills from ClawHub (the official skill registry). Activate when user asks about finding skills, installing skills, or wants...

Registry SourceRecently Updated
2871Profile unavailable
General

Skill Listing Polisher

Improve a skill's public listing before publish. Use when tightening title, description, tags, changelog, and scan-friendly packaging so the listing looks cl...

Registry SourceRecently Updated
1130Profile unavailable