---
name: marketing-loops
description: Design and schedule recurring marketing workflows an agent runs on a cadence, with triggers, self-checks, and stop conditions. Use when the user says "marketing loop", "automate my marketing", "weekly marketing review", "churn watch", "ad fatigue check", or "run this every week". Not for one-off tactics: use a marketing-plan or channel skill. Not for experiment design: use ab-testing.
license: MIT
metadata:
  author: TechTide AI (Alex Cinovoj)
  provenance: rewritten from patterns in an open SaaS marketing skills pack (MIT)
  category: Marketing & Growth
---

# Marketing Loops

A marketing loop is a repeatable workflow run on a cadence: a trigger, bounded steps, a self-check, and an explicit stop condition. A loop missing any of those is a liability, not automation.

## Workflow

1. **Load context.** If `.agents/product-marketing.md` or `.claude/product-marketing.md` exists, read it first. Only ask for what is missing.
2. **Name the job.** What outcome does this loop protect or grow: rankings, ad efficiency, activation, retention, revenue, referrals. One outcome per loop.
3. **Fill all nine anatomy parts** (table below). If you cannot answer self-check, state, and stop concretely, the loop is not ready to run.
4. **Set the human checkpoint.** Auto-drafting is fine. Auto-publishing, auto-sending, or auto-spending needs explicit user authorization plus caps and a kill switch.
5. **Schedule it.** Cron-style schedule for review loops, dynamic pacing for monitor-until-threshold loops, or a manual "run this every Monday" for high-judgment loops. The repeatable body is the value, not the automation.
6. **Start with one loop.** Prove it earns its keep before adding the next.

## Loop anatomy (all nine, every time)

| Part | Defines |
|---|---|
| Check cadence | How often the loop looks (weekly, daily, on trigger) |
| Acts when | What must be true to act vs. check and skip |
| Purpose | The one outcome it moves |
| Skills used | Which skills the body orchestrates |
| Loop body | Ordered steps per iteration |
| Self-check | Verification before acting, so it does not act on noise or a tracking bug |
| State / idempotency | Last-run marker, dedupe key, cooldown window. Without it, loops double-act and re-nag |
| Stop / bail-out | When it skips, halts, escalates, or disables itself, plus behavior on error |
| Output | Where results go: file, PR, staged draft, notification |

The check/act split matters. A churn loop checks daily but acts only when an account crosses a threshold and is outside the cooldown window. Conflate them and you either miss the window or spam.

## Cadence rule

Match cadence to how fast the signal changes, not how often you want an update.

| Signal | Cadence |
|---|---|
| Rankings, backlinks | Weekly |
| Ad creative fatigue, CPA drift | Every 2-3 days |
| Activation funnel | Weekly (needs volume) |
| Churn signals | Daily or on trigger |
| Content decay | Monthly |
| Competitor changes | Weekly |
| Social mentions | Daily |

Over-frequent loops are the top failure mode: busywork, burned budget, ignored output.

## When not to loop

- Strategy or creative direction is the real work. Loops maintain, they do not set positioning.
- The signal is too sparse. A weekly conversion loop on 40 visitors/week measures noise.
- Nobody acts on the output. A report nobody reads is worse than no loop. Delete it.
- The action sends, spends, or publishes without review and the user has not authorized that with caps.

## Verification

Dry-run the loop body once by hand. Expect: it completes, the self-check catches a deliberately injected false signal (e.g. fake a metric dip), and the state write prevents a second immediate run from re-acting. If any of these fail, fix the anatomy part before scheduling.

## Good vs Bad

**Bad:** "Every day, check rankings and update meta descriptions for any page that dropped." Daily ranking checks are noise, there is no self-check, no cooldown, and it auto-publishes.

**Good:** "Weekly: pull ranking deltas. Act only if a page dropped 5+ positions for 2 consecutive weeks and was not touched in the last 30 days. Stage a refresh draft as a PR. Halt and notify if more than 5 pages qualify (likely a tracking or algorithm event, not page decay)."

## Completion checklist

- [ ] All nine anatomy parts filled, none marked "n/a"
- [ ] Cadence justified by signal speed
- [ ] Human checkpoint set for any send/spend/publish action
- [ ] State and cooldown defined
- [ ] Stop condition and error behavior defined
- [ ] Dry run passed

Any box unchecked: not done. Fix or say so.

## Footguns

- **No stop condition.** Runaway spend or infinite re-alerting. Fix: every loop gets a bail-out, even heartbeat loops (theirs is "manual disable + halt on error").
- **No state between runs.** The loop emails the same prospect twice or re-flags the same drop. Fix: persist a last-run marker and a handled set, check them first in the body.
- **Building ten loops at once.** None get tuned, all get ignored. Fix: one loop, two weeks of runs, then the next.
- **Hype framing.** "Set it and forget it" and "marketing on autopilot" set false expectations. Describe loops as disciplined systems with checkpoints.
