
Outbound Engine
The outbound EMAIL brain (guidance-only) — mode-aware. Resolves the AUDIENCE first (does the recipient know you?): that picks the infrastructure, which dictates the format. cold-volume → smartlead (warmup + mailbox round-robin) · cold-agent → AgentBoard, one card = one lead, spidermail sends while smartlead only WARMS · broadcast → opt-in audiences via the house notification layer. Cold: pick 1 of 14 copywriting frameworks + tone + CTA + personalization, write the multi-touch ladder with per-email anti-repetition, 5 scripts gate it. Broadcast: author one issue against the house invariants behind a human [TEST]→approve gate. Provisions the boards (campaign · outreach · deals). No callable API — the agent's own LLM composes following SKILL.md, anchored on 47 registry items + 13 references + 12 recipes. It never sends: it delegates to @di-atomic/smartlead, @spideriq/spidermail and @spideriq/mcp-admin. GDPR/CAN-SPAM-aware.
Most outbound tooling makes you pick a tool first and find an audience second. That is backwards, and it is how people burn a sending domain. So in 3.0 outbound-engine asks one question before it writes a word: does the recipient know you? That answer decides whether your reputation is at risk, which decides the infrastructure, which decides the format. Cold and high volume goes to smartlead, where warmup and mailbox rotation exist. Cold and high value goes to a board where the agent writes each lead its own message and sends via spidermail — with smartlead demoted to warming the mailboxes. Opt-in subscribers go to your real domain as a broadcast, where the risk is not spam filters but complaints. Each mode gets its own rules and its own QA gate, because the rules that make a cold ladder good would reject a perfectly correct newsletter. It provisions the boards, drafts everything onto cards, and stops at an approval column you own. It never sends — it hands the verified payload to smartlead, spidermail, or your broadcast layer.
Features6
Resolves the audience first, then the infrastructure — never the other way round
Picks the copywriting framework for your ICP — 1 of 14, with the reasoning
Writes the whole follow-up ladder — a different angle every touch, no repeats
Six verifier scripts that refuse to grade work from the wrong mode
Provisions the boards with human approval gates you own before anything sends
Hands the send to smartlead, spidermail or your broadcast layer — it never sends
Videos1 video
DemoOutbound Engine · Demo video
Demo · SpiderMediaArticles about Outbound Engine1 article
Videos1 video
DemoOutbound Engine · Demo video
Demo · SpiderMediaArticles about Outbound Engine1 article
Showing all 1
SKILL.mdthe file your agent reads
SKILL.md loads when you open this tab.
What's new9 releases · newest first · from the package's CHANGELOG
v3.0.12026-11-03Latest
- Added the approved [captioned chalkboard explainer](https://videos.spideriq.ai/videos/embed/fe5dcd21-da4c-4137-9d50-091e12ca84a3?title=0&warningTitle=0&peertubeLink=0) to the marketplace listing. Made required public-visibility and vendor-author metadata explicit. No skill behavior, copy, hero or screenshot changes.
v3.0.02026-07-21
**Breaking (conceptual): this is no longer the cold-email brain — it is the outbound EMAIL brain, and every run now resolves a MODE first.** The audience decides the reputation risk, which decides the infrastructure, which dictates the format. Rules that were universal are now mode-scoped.
- **Added `mode`: `cold-volume` · `cold-agent` · `broadcast`** — resolved before any recipe loads. New `references/audience-and-infrastructure.md` is the decision procedure: which tool for which audience, and *why* (warmup + mailbox round-robin vs per-lead LLM drafting vs permanent-identity broadcast).
- **Breaking: hard rules 1–6 are now `[cold]`-scoped.** ≥1 follow-up, ≤5 touches, sequence-variety and never-blast-a-static-template describe a cold ladder and would reject a *correct* broadcast. Rule 5 (`auditDeliverability`) is replaced in broadcast by the opt-in question. Personalization is now documented as a gradient across modes, not a binary.
- **Added hard rule 7 (broadcast):** `[TEST]` to a **human-named** inbox → explicit OK → publish, and **never re-publish to fix** — the failure that sent four real customer copies in one day.
- **Added hard rule 8 (board):** completion is a **two-write** `in_progress` → `done`; `moveTask` into a Done column fires no chain and doesn't sync status, so a human dragging a card promotes nothing.
- **Corrected the smartlead contract.** It is the *sender* in `cold-volume` but **warmup infrastructure only** in `cold-agent`, where spidermail sends. A smartlead-targeted draft in agent mode ships literal `{{braces}}` to the recipient.
- **Added the third hand** — `@spideriq/mcp-admin` (`broadcast_publish` / `_schedule` / `_cancel`) with its full format contract in `references/sender-integration.md`.
- **Added `references/broadcast-invariants.md`** — the 7 knobs (`default_email` · `standalone_only` · `default_delivery` · `person_scoped` · `link_template` · `dnd_policy` · from-address), what each breaks, and how to verify delivery from the rows instead of trusting a 201.
- **Added `references/board-architecture-multi.md`** — the project + campaign/outreach/deals boards. Campaign→leads is `agentBatchCreateTasks` (chaining is 1:1 and cannot fan out); Outreach→Deals is the one `sequence` link. Documents the carry/drop matrix: `custom_fields` and the agent brief survive a hop, **comments do not**.
- **Added 2 recipes** — `announce-a-release-to-spideriq-users` (live) and `announce-a-release-to-opvs-users` (**§B blocked**: OPVS has the broadcast machinery but zero `broadcast.*` catalog entries or templates, so §A covers its real `factory.*` / `hire.*` / `review.requested` events instead).
- **Added `scripts/verify-broadcast-issue.mjs`** (6th verifier) — family · opt-in named · no duplicate headline · markdown-clean · no merge tags · hero ≤500 KB · `[TEST]` approved. **The cold and broadcast gates are mutually exclusive and now ABORT (exit 2) on each other's mode** rather than failing valid work.
- Known: `SKILL.md` is 238 lines, over the ≤150 router target (was already 182 at 2.3.1).v2.3.12026-07-20
Marketplace card asset kit (SPEC-3). No skill-content change — listing metadata only. - **Added the `media:` block** — a hero + 3 diagram screenshots, produced via explainer-illustrations (shot list) + media-generator (kie/nano-banana-2, dark-board chalk #131313 / white / gold #EEBF01), hosted on media.spideriq.ai. Hero = the campaign board with a gold Approval gate and a human go-button; screenshots = the 9-column board with its two human gates, the agent-blocked-card, and the advise/confirm/create handshake. - **Refreshed `marketing.long_description` + `marketing.features[]`** — first-person, board-first framing. - No `demo_video_url` (no real Hyperframes URL). Guidance-only nested COPY shape unchanged.
v2.3.02026-07-20
Board-first coordination. outbound-engine now **provisions and drives the campaign board** instead of assuming one exists — so the human plans, approves, and watches every campaign. First pilot of the workspace [Board Provisioning Standard](../../BOARD-PROVISIONING.md). - **New recipe — `recipes/set-up-the-outbound-board.md`.** The advise → create → confirm flow: check for the board, advise the human on the structure, `createBoard(tasks)` + 9 columns with per-column instructions + **human-owned Approval + Copy-Review gates** (`managed_by_user_id`) + SLA nudges, seed the campaign card with the plan in `custom_fields`, move to the human gate and STOP until sign-off. Runs BEFORE draftSequence. - **New reference — `references/board-provisioning.md`.** The concrete Outbound board blueprint: board_type, the 9 columns (name · slug · mapped_status · owner · shipped description), card model (one card = one campaign), and the `custom_fields.campaign` schema the human reads. - **SKILL.md decision tree + Coordination rewired.** Full-flow campaigns start by provisioning/using the board; added a "set up my outbound board" branch. `agentmemory` now **recalls the proven framework at the START of planStrategy** (closes the re-derive-every-run gap); `opvs-protocol` corrected — smartlead/spidermail/icp-discovery are COMPOSED peers (guidance.chains), the real handoff is the running campaign → a standing sender agent. - references 9 → **10**, recipes 9 → **10**. No registry/script changes. Guidance-only shape unchanged (nested, COPY).
v2.2.02026-07-19
Wave-3 enrichment — folded 3 findings from Henrik's deployed-agent harvest (VayaPin brand 4, `harvest-Henrik-outbound-smartlead-2026-07-14.md`). Additive, no scope change, no interface change, decision tree unchanged. - **New recipe — `recipes/sequence-shape-and-followup-ladder.md` (R2).** Codifies the shape: a sequence is the first email PLUS 2-3 timed follow-ups, a *different angle* each (never "just checking in"); the ladder is part of the sequence, not an afterthought. The mental model the other sequence recipes assume. Cites the existing first-follow-up / sequence-decay learnings. - **New recipe — `recipes/client-examples-as-seed.md` (R3).** Input-precedence rule: if the client gave example messages/templates, they are the SEED — match structure/tone/offers/CTAs, adapt FROM them, don't invent; register the voice via `@di-atomic/voice-builder`. If no examples → build from voice-builder + strategy-selection. Run this check before any other sequence recipe. - **Hard rule #10 (I2) — warmup ≠ reply.** Appended verbatim to `instructions/AGENTS.md` (+ note in `DEPLOYMENT.md`): machine-to-machine inbox-warmup traffic is never prospect activity — never treat as a reply, advance a card, or count in reply-rate; report warmup HEALTH separately. - Recipes: 7 → **9**. No registry / script / SKILL.md decision-tree changes. - **Deferred (D1):** landing-page-per-segment as a first-class sequence input — flagged for a v2.3 vendor decision (see card comment).
v2.1.12026-06-17
QA-hardening after the 3-skill integration test (`tests/14-integration-3skill.md`). No interface change. - **Verifiers — business-acronym allowlist.** `verify-subject-line.mjs` + `lint-spam-triggers.mjs` no longer hard-FAIL legitimate B2B acronyms (CFO / CAC / CRM / NRR / ROI / SDR / …) as ALL-CAPS spam. The integration test FAILed a CFO subject and a CAC/CRM body — real false positives on finance/SaaS vocabulary. Genuinely shouty words (AMAZING) and offer words (ACT NOW / FREE) are still caught (separate spam/offer path + non-listed caps). Regression-guarded. - **Framework attribution (gap a).** All registry frameworks now carry a source URL + adoption-signal proxy via the ScrapeCreators google+youtube sweep (`_cognito-source/_fw-attribution-research.mjs`). 9 `attributed` + 5 `attribution-loose`. Adoption is a teaching-reach proxy, NOT a per-framework conversion rate. - **Framework cleanup.** Dropped `frank-kern-star-chain-hook` (weakest cite — a FB photo post; Kern already covered by `frank-kern-4p`). Renamed `ben-settle-e5` → `educational-5e-email` (the "E5/5E" label is OUR naming, not a Ben Settle canonical term — now honest inspiration credit). Registry: 48 → **47 items** (33 exemplars + **14 frameworks**).
v2.1.02026-06-17
Guidance-only conversion per OPVS DEFINITIVE rule (2026-06-17 "Orchestration via skill_call does NOT make a skill Path 1"): - **Removed** `schema.yaml` + all 6 method declarations from the bundle (moved to `source/legacy/client-v2.0.0/` for provenance). outbound-engine's "methods" were always LLM reasoning (`planStrategy`, `draftSequence`, `handleReply`), local node scripts (`scoreSequence`, `auditDeliverability`), or delegation (`sendSequence` → `@di-atomic/smartlead`) — never callable HTTP APIs. v2.0.0 shipped them with a phantom `base_url` that would 404 at runtime. - **Added** `skills: []` + 9 `peer_dependencies` (4 upstream OPVS coordination skills + the 5 @di-atomic siblings it composes) — the canonical guidance-only shape. - **Added** `README.md` (marketplace listing) + this `CHANGELOG.md` at bundle root (security-review required-docs check). Fixed `docs.skill_guide` field shape. - **Access pattern:** agents reach outbound-engine via `skill_search` → `skill_read` (reads `SKILL.md` out of the .tgz). No HTTP call. - v2.2 Coordination cross-references in `SKILL.md` mirror the `peer_dependencies` list. The 6 enforcement scripts in `scripts/` are unchanged (agent-runnable, no backend). No content change to the 7 layers vs 2.0.0 — only the package shape (Path-1 phantom → guidance-only).
v2.0.02026-06-16
"Brain aware of its hands" + cognito absorption. **Published in error as a Path-1 tool** (schema.yaml + methods + phantom `base_url`); superseded by 2.1.0. - **Absorbed** cognitoAI's `campaign_planner` (→ `planStrategy` + the 15 named copywriting frameworks as `opvs:framework` registry items) + `email_sequence_generator` (→ per-touch anti-repetition + count-based delay schedules in `draftSequence`). - **Added** `verify-sequence-variety.mjs` (whole-sequence anti-repetition gate), 3 references (writing-frameworks / sequence-craft / strategy-selection), 3 recipes, 3 learnings. - `sendSequence` delegates bulk send to `@di-atomic/smartlead`; `handleReply` delegates the reply to `@spideriq/spidermail`. IDAP-aware personalization + target-native sender syntax.
v1.0.02026-06-15
Initial 7-layer v2.1 build: draft + score + deliverability-audit + reply surface; 33-exemplar registry; 4 verifier scripts; soft-CTA / breakup / deliverability discipline.






