Systems Lab

Agent skill

fivos-campaign-analysis

Use this skill to pull analytics from email + LinkedIn sequencers, surface what's working, and flag campaigns that need intervention.

dormantNeeds a keyInstructions only798 words

Filed under Outbound email.

From fivosaresti/workflows-outbound-skills · 10 skills · 1 · pushed 2026-04-21

What it does when it runs

Use this skill to pull analytics from email + LinkedIn sequencers, surface what's working, and flag campaigns that need intervention. Trigger when the user says 'how is <client> doing', 'pull campaign analytics', 'weekly report', 'check inbox health', 'campaign reporting', or at any scheduled reporting cadence.

Read from the skill and the 0 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.

Keys and connectors you must supply
  • instantly
Hosts it reaches
No third-party host appears in the skill or its bundled files.
Tool permissions it declares
No allowed-tools in the frontmatter. It only issues instructions, so there is nothing to bound.
Actions present in the files
None. Instructions only.

Ask about fivos-campaign-analysis

Opens your assistant with this page's verified links already in the prompt.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
git clone --depth 1 --filter=blob:none --sparse https://github.com/fivosaresti/workflows-outbound-skills.git /tmp/workflows-outbound-skills
git -C /tmp/workflows-outbound-skills sparse-checkout set "campaign-analysis"
mkdir -p ~/.claude/skills/fivos-campaign-analysis
cp -R "/tmp/workflows-outbound-skills/campaign-analysis/." ~/.claude/skills/fivos-campaign-analysis/

Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗

The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.

Before you install: this skill will not complete its job on a bare agent. It needs instantly, which you have to obtain separately.

Reproduced in full from fivosaresti/workflows-outbound-skills/blob/9076ebf601c5fd71b9898101205cdb4efa6e01e9/campaign-analysis/SKILL.md, which is licensed MIT (repository). 798 words, 24 headings.

Fivos Campaign Analysis

Closes the loop. Pulls analytics from Instantly, Smartlead, HeyReach (and others as needed), compares against benchmarks, flags anomalies, produces weekly and monthly rollups.

Hard rules

  • Never auto-pause a campaign. Flag for engineer review - pausing is a human decision.
  • Always report by tier. Aggregate tier-blind numbers hide the story (Tier A carrying the average, Tier C dragging).
  • Inbox health is a first-class metric. A campaign with stellar reply rate on a dying domain is a crisis, not a win.
  • Positive-reply rate is the north-star metric, not reply rate. Reply rate includes OOO, negatives, unsubs.

Inputs

  • Client / campaign name or campaign ID(s) (required).
  • Reporting window (default: last 7 days for weekly, last 30 for monthly, full-campaign for retros).
  • Tier CSV (optional) - if provided, per-tier breakdown. Otherwise aggregate.

Outputs

  1. Weekly report (the standard deliverable):
    • Volume: sent / delivered / bounce rate.
    • Engagement: reply rate, positive-reply rate, meeting book rate.
    • Inbox health: warmup status, bounce spikes, spam complaints.
    • Tier breakdown.
    • Anomalies + recommendations.
  2. Monthly rollup: same metrics, windowed at 30 days, with trend comparison.
  3. Retrospective (on request): campaign-end teardown - what worked, what didn't, copy breakdowns.

Metrics + benchmarks

Per tier (cold outbound, first 30 days):

MetricTier A targetTier B targetTier C targetAnomaly threshold
Reply rate>=8%>=4%>=2%<50% of target
Positive-reply rate (of all replies)>=30%>=25%>=20%<15%
Meeting-book rate (of positive replies)>=50%>=40%>=30%<20%
Bounce rate<3%<3%<3%>5% (pause; investigate)
Spam complaint rate0%0%0%>0.1% (immediate pause)

Domain-health warnings:

  • Any inbox with >5% bounce in a 24-hour window = pause and investigate.
  • Any inbox with a spam complaint = pause for 48 hours, investigate before resuming.
  • Warmup score dropping >=15 points week-over-week = regress to lower daily send volume.

Workflow

Step 1 - Resolve campaign IDs

If user gave client name, list active campaigns:

mcp__instantly__list_campaigns({})
# filter by name contains <client>

Confirm the set with the user before pulling data.

Step 2 - Pull analytics in parallel

Per sequencer:

Instantly:

mcp__instantly__get_campaign_analytics({ campaign_id: <id> })
mcp__instantly__get_daily_campaign_analytics({ campaign_id: <id> })
mcp__instantly__get_warmup_analytics({ campaign_id: <id> })

Smartlead, Lemlist, HeyReach: equivalent per provider playbook. Run all in parallel.

Step 3 - Merge with internal data

Join analytics to the internal DB campaign log (from fivos-campaign-launcher) to attach tier, segment, client metadata.

Step 4 - Compute + compare

Per campaign:

  • Compute each metric.
  • Compare to benchmarks.
  • Flag anomalies.

Step 5 - Produce the weekly report

# Campaign Weekly Report - <Client>
Window: <start> to <end>

## Headline
- Meetings booked this week: M (target: T)
- Positive replies: P (target: T)
- New anomalies: A

## By campaign

### <campaign_name> (Tier A)
- Sent: N / Delivered: M / Bounce: X% (bench <3%) [green/red]
- Reply rate: X% (bench >=8%) [green/red]
- Positive-reply rate: X% (bench >=30%) [green/red]
- Meeting book rate: X% (bench >=50%) [green/red]
- Inbox health: all warmups stable [green] / 2 inboxes regressing [red]

### <campaign_name> (Tier B)
...

## Anomalies
- <Campaign X>: bounce rate 6.2% - investigate SPF/DKIM on sender-domain-Y.
- <Campaign Z>: positive-reply rate 12% (below 20% floor) - messaging likely off-ICP for this segment.

## Recommendations
- <Campaign X>: pause sender-domain-Y, move leads to backup cluster.
- <Campaign Y>: tighten Tier C filter - too many DQ-adjacent rows leaking through.
- <Campaign Z>: rewrite emails 2 and 3 in the Tier B sequence - engagement drops sharply after email 1.

Step 6 - Publish

Output as Markdown. If the user has requested a Google Doc output (via CLAUDE.md convention), render it as a Doc in the Personal - Fivos / Reports / <Client> folder using the gws CLI.

Step 7 - Archive

Write a copy of the report to the internal DB (campaign_reports table) tagged by client + window, so trend analysis works across weeks.

Monthly rollup differences

Same structure, but add:

  • Week-over-week trend lines per metric.
  • Best and worst performing subjects / first-email opens (top 5 / bottom 5).
  • Inbox retirement recommendations (any inbox trending to unrecoverable bounce rate).

Retrospective differences

Campaign-end teardown only. Add:

  • Meeting-to-opportunity-to-won funnel (if CRM data available).
  • Copy variants that outperformed.
  • Segments that over-performed - feed back to fivos-icp-segmentation for the next build.

References

  • ~/.agents/skills/gtm-meta-skill/provider-playbooks/instantly.md
  • ~/.agents/skills/gtm-meta-skill/provider-playbooks/smartlead.md
  • ~/.agents/skills/gtm-meta-skill/provider-playbooks/heyreach.md
  • Instantly MCP tools: mcp__instantly__get_campaign_analytics, get_daily_campaign_analytics, get_warmup_analytics, list_campaigns, pause_campaign.

Other skills for the same job

Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.

Need help setting it up?

This page tells you what fivos-campaign-analysis does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.

Book a call →

The directory stays free. There is nothing gated behind this.