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.
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-toolsin the frontmatter. It only issues instructions, so there is nothing to bound. - Actions present in the files
- None. Instructions only.
Install it
View source on GitHub ↗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.
The skill
Source on GitHub ↗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
- 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.
- Monthly rollup: same metrics, windowed at 30 days, with trend comparison.
- Retrospective (on request): campaign-end teardown - what worked, what didn't, copy breakdowns.
Metrics + benchmarks
Per tier (cold outbound, first 30 days):
| Metric | Tier A target | Tier B target | Tier C target | Anomaly 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 rate | 0% | 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-segmentationfor 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.
- yt-competitive-analysis by ericosiu · 3,449
- competitor-analysis by OpenClaudia · 664
- content-gap-analysis by OpenClaudia · 664
- geo-analysis by OpenClaudia · 664
- video-ad-analysis by OpenClaudia · 664
- campaign-postmortem by zapier · 329
- mega-campaign-generator by zapier · 329
- churn-analysis by shawnpang · 308
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.