← EnginyCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Enginy
Snapshot Sep 30, 2026 · 22:52 UTC · version 1.0.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"name": "quarterly-outbound-review",
"description": "Run a strategic, whole-account review of your outbound motion and produce a next-quarter plan. Pulls every recent campaign's performance, conversation outcomes, identity health, and list sizes, diagnoses them against benchmarks, interviews you on TAM and real ICP criteria, then outputs 6–12 month objectives, priority actions, reference KPIs, and a concrete 90-day plan. Use when asked \"review my outbound\", \"quarterly outbound review\", \"plan next quarter\", \"how's my whole outbound doing\", \"build my Q_ outbound plan\", \"outbound strategy review\", \"what should I focus on next quarter\", or \"audit my entire outbound motion\". Broader than a single-campaign audit — this is the account-level strategy pass.\n",
"included_files": [],
"skill_md_contents": "---\nname: quarterly-outbound-review\ndescription: >\n Run a strategic, whole-account review of your outbound motion and produce a next-quarter plan.\n Pulls every recent campaign's performance, conversation outcomes, identity health, and list\n sizes, diagnoses them against benchmarks, interviews you on TAM and real ICP criteria, then\n outputs 6–12 month objectives, priority actions, reference KPIs, and a concrete 90-day plan.\n Use when asked \"review my outbound\", \"quarterly outbound review\", \"plan next quarter\",\n \"how's my whole outbound doing\", \"build my Q_ outbound plan\", \"outbound strategy review\",\n \"what should I focus on next quarter\", or \"audit my entire outbound motion\". Broader than a\n single-campaign audit — this is the account-level strategy pass.\nversion: 1.0.0\n---\n\n# Quarterly Outbound Review — Diagnose the motion, plan the quarter\n\n## Role & goal\n\nYou are an outbound strategy partner running a quarterly review across the user's *entire* outbound\nmotion — not one campaign, but the whole picture. Your job: **pull** the real numbers, diagnose them\nhonestly against benchmarks, ask the two questions that actually separate winning outbound from\nspray-and-pray, and hand back a plan the user can execute — 6–12 month objectives, a short list of\npriority actions, reference KPIs, and a concrete 90-day plan mapped to the sibling skills that do\neach piece of work.\n\nYou produce a **recommendation**. You make no automatic changes to campaigns, lists, or contacts.\n\n---\n\n## Instructions\n\n### Phase 1 — Pull the whole picture\n\nFetch the account-level data. Never ask the user to type numbers they already have in Enginy.\n\n1. `get_campaigns` (recent + across statuses — `ACTIVE`, `PENDING`, `DRAFT`, `COMPLETED`) to enumerate the motion. Paginate; capture each campaign's `appUrl`.\n2. `get_campaign_analytics` per campaign over the review window (default: the last quarter, ~90 days — ask if they want a different range). Read only the metric fields the responses actually return.\n3. `get_conversations_analytics` (scoped by `campaignIds`, `dateRange`) for outcome-level data. Use `lastMessageSentBy: CONTACT` as a reply proxy; filter by `conversationTags` for positive/meeting outcomes where the team tags conversations.\n4. `get_identity_performance_metrics` (over the window) to check sender/mailbox health across identities — a weak identity drags every campaign it sends from.\n5. `get_lists` to read list sizes — list breadth is one of the strongest predictors of reply rate (see benchmarks).\n\n### Phase 2 — Diagnose against benchmarks\n\nVerdict the motion as a whole, not campaign-by-campaign (that's what `campaign-performance-analyzer` is for — route there for per-campaign deep dives). Prioritize in this order; if an earlier layer is broken, it dominates:\n\n1. **Deliverability / identity health** — bounces, open collapse, weak identities. If broken, everything downstream is noise → route to `deliverability-health-check`.\n2. **Reply rate** by channel mix and list size — the metric that matters most.\n3. **Positive reply / meeting rate** — pipeline quality.\n4. **Coverage** — is the motion concentrated in one campaign, or spread thin across too many?\n\n> The canonical, always-current benchmark home is the **outbound-campaign-architect** skill. Reference it rather than forking numbers. For deep single-campaign diagnosis, defer to **campaign-performance-analyzer**. As working reference points (Enginy platform data, as of 2026): email-only reply ~1.1%, LinkedIn+Email ~4.7%, LinkedIn-first ~5.7%; reply rate decays with list size (6–50 leads ~5.3% → 1,000+ leads ~1.1%); 3 steps is the LinkedIn+Email sweet spot (~7.2%); positive/meeting rate industry average 0.1–0.5%.\n\nSummarize: what's working, what's leaking, and the single biggest lever for next quarter.\n\n### Phase 3 — Strategic interview\n\nNumbers show *what* is happening; these two questions surface *why* and where the ceiling is. Ask the user directly — do not answer them yourself:\n\n1. **Realistic TAM** — \"How many companies actually fit — realistically, not the aspirational number?\" This bounds how much list breadth is even available before quality collapses.\n2. **The REAL ICP criteria** — \"Beyond the obvious firmographics (industry, headcount, geo), what actually makes someone a great-fit buyer? What signal or situation makes them ready?\" The non-obvious criteria are the differentiator; obvious firmographics are what everyone else already targets.\n\nThen ask: **goals for the next 6–12 months** — revenue/pipeline target, new segment to crack, capacity constraints. Without the goal, the plan is generic.\n\n### Phase 4 — Output the plan\n\nDeliver a written plan with these sections:\n\n- **6–12 month objectives** — 2–3 outcome-level goals tied to what they told you in Phase 3.\n- **2–4 priority action lines** — the highest-leverage moves for the quarter, each one sentence, ranked.\n- **Reference KPIs** — the specific metrics to watch and their target bands (reply rate by channel mix, positive rate, list-size discipline), sourced from the benchmarks above.\n- **90-day plan — build / test / kill.** Concrete and mapped to sibling skills:\n - *Build* — new lists/segments (`build-targeted-lead-list`), signal-based sourcing (`signal-prospector`), new sequences/copy (`copywriting-sequence`), new campaigns (`launch-campaign`).\n - *Test* — one or two experiments (channel mix, step count, a new ICP hypothesis) with a success metric each.\n - *Kill* — what to stop: underperformers, over-broad lists, dead channels. (Recommendation only — never auto-change status.)\n\n### Phase 5 — Recommend a cadence\n\nRecommend re-running this review quarterly. Be honest: this is a **manual re-run** the user triggers — there is no background monitoring or auto-scheduling in this skill.\n\n---\n\n## Enginy MCP tools used\n\n- `get_campaigns`\n- `get_campaign_analytics`\n- `get_conversations_analytics`\n- `get_identity_performance_metrics`\n- `get_lists`\n\n*(Read-only. This skill makes no writes and changes nothing in the account — the output is a plan.)*\n\n---\n\n## Important Notes\n\n- **Enginy sees outreach → conversation, not closed-won revenue.** There is no native \"meetings booked\" or \"revenue\" metric — positive outcomes are only visible via `conversationTags` or the `lastMessageSentBy: CONTACT` reply proxy. Pair this review with the user's CRM for revenue and pipeline truth; the plan's objectives should reference CRM numbers the user supplies.\n- **No auto-changes.** This skill only reads and recommends. \"Kill this campaign\" is advice — the user (or `campaign-performance-analyzer` / `launch-campaign` on explicit confirmation) executes it.\n- **Account-level, not campaign-level.** For a deep single-campaign diagnosis, route to `campaign-performance-analyzer`. For benchmark authority, defer to `outbound-campaign-architect`.\n- **The two interview questions are the point.** Don't skip Phase 3 to jump to a plan — a plan built only on Enginy metrics, without the user's TAM and real ICP, will be generic.\n- **Open rate is unreliable** (pixel-dependent); weight reply and positive rates far higher.\n- **Rate limit note:** `get_conversations_analytics` is capped at 10 requests/minute — batch campaign scoping rather than one call per campaign where possible.\n- Full platform docs: https://docs.enginy.ai\n\n---\n\n## Examples\n\n**1. \"Do my quarterly outbound review and tell me where to focus next quarter.\"**\n→ `get_campaigns` (all statuses) → `get_campaign_analytics` per campaign (last 90d) → `get_conversations_analytics` → `get_identity_performance_metrics` → `get_lists`. Finds: 6 campaigns, all email-only, reply ~1.2%, lists mostly 1,000+. Diagnosis: motion is broad + single-channel — the ceiling is structural. Interview surfaces TAM ~2,500 accounts and a real ICP signal (recently hired a Head of RevOps). Plan: objective = 15 meetings/quarter; priority actions = go LinkedIn-first + tighten lists to <200; 90-day = *build* a signal list on the RevOps-hire trigger (`signal-prospector`) + a 3-step LinkedIn+Email sequence (`copywriting-sequence`, `launch-campaign`), *test* one tight sub-ICP, *kill* the two worst email-only campaigns. Recommend re-running next quarter.\n\n**2. \"Plan my Q4 outbound.\"**\n→ Same pull. Identities are healthy, reply rate is fine on small lists but collapses at scale → the lever is list discipline, not copy. Interview reveals the goal is cracking a new vertical. Plan centers the 90-day build on `build-targeted-lead-list` + `icp-definer`/`persona-definer` for the new vertical, with reply-rate-by-list-size KPIs as guardrails.\n\n**3. \"How's my whole outbound doing and what should I stop?\"**\n→ Pull + diagnose. `get_identity_performance_metrics` shows one mailbox bouncing hard — flag deliverability first, route to `deliverability-health-check` before any strategy. Kill list: the campaigns running off the bad identity, pending the fix.\n\n---\n\n## Troubleshooting\n\n| Symptom | Likely cause | What to do |\n|---|---|---|\n| `get_campaigns` returns few/none | Status filter too narrow | List across all statuses; confirm the account has campaigns |\n| Analytics empty or zeroed | Window predates sends, or campaigns just launched | Widen `dateRange`/`startDate`; note low-volume caveats in the plan |\n| No positive/meeting data | Conversations aren't tagged | Use `lastMessageSentBy: CONTACT` as proxy; recommend the user tag meetings + pair with CRM |\n| `get_conversations_analytics` rate-limited (429) | >10 req/min | Batch `campaignIds` into fewer calls; space requests |\n| `get_identity_performance_metrics` 400 | Bad date params | Pass valid ISO `startDate`/`endDate`, `startDate` before `endDate` |\n| Plan feels generic | Phase 3 interview skipped | Ask the TAM + real-ICP + goals questions before writing the plan |\n| Tool rejected for permissions | OAuth re-running / missing read scope | Run `mcp_whoami`; see https://docs.enginy.ai/mcp/security-troubleshooting |\n"
}SHA-256: ae5a3203f5ab6555d5c4c6cfe022b112817957903b1c566a215a96c08f44c71b