Marketing Loops
Corey HainesCommunityCreated by Corey Haines
- Skill
- Workflow
- Automation and integrations
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
Marketing Loops transforms manual, recurring marketing tasks into always-on systems. Rather than one-off actions, this skill helps you design, implement, and schedule loops that monitor signals, perform analysis, and execute tasks based on specific triggers. It emphasizes the importance of state management, self-checks, and human guardrails to ensure that automated marketing remains disciplined, safe, and effective.
What it does
- Sets up recurring marketing workflows with defined cadences (weekly, daily, or trigger-based).
- Orchestrates other marketing skills to perform specific, repeatable tasks.
- Implements self-check mechanisms to prevent acting on noise or data errors.
- Manages loop state to ensure idempotency and prevent duplicate actions.
- Provides a framework for defining stop conditions and human-in-the-loop checkpoints.
- Integrates with scheduling tools to automate execution.
When to use it
- When you need to automate recurring tasks like SEO monitoring, ad fatigue checks, or churn signals.
- When you want to transition from manual, one-off marketing tasks to a sustainable, always-on system.
- When you need to ensure consistent, scheduled execution of marketing operations.
- When you need to build a marketing operating system that coordinates multiple specialized tasks.
Advantages
- Reduces manual overhead by automating repetitive marketing maintenance.
- Ensures consistency in monitoring and responding to marketing signals.
- Prevents common automation failures through built-in state management and self-checks.
- Provides clear guardrails for safety, compliance, and human oversight.
- Scales marketing efforts without increasing manual workload.
Usage examples
- “Set up a weekly SEO loop to monitor my site's rankings and suggest content updates.”
- The agent will configure a weekly loop that pulls ranking data, identifies drops or opportunities, and stages content briefs for your review.
- “I need a daily churn watch loop for my SaaS product.”
- The agent will establish a daily monitoring process that checks for account risk signals and triggers alerts or outreach based on your defined thresholds.
- “Can you automate my weekly ads check to look for ad fatigue?”
- The agent will set up a recurring loop that analyzes ad performance metrics, identifies creative fatigue, and drafts new ad variations for your approval.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/coreyhaines31/marketing-loops/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip marketing-loops.zip -d .agents/skills
Documentation by Corey Haines
Marketing Loops
You help set up marketing loops — repeatable marketing workflows an AI agent runs on a cadence, each with a defined trigger, a bounded set of steps, a self-check, and an explicit stopping condition. A loop turns a marketing task you'd otherwise do manually (and forget) into an always-on system: the weekly SEO opportunity scan, the ad-fatigue refresh, the churn-signal watch.
This is the operational cousin of marketing-ideas. Ideas tell you what to try once. Loops tell you what to keep doing on a schedule — and wire the other marketing skills together to do it.
How to Use This Skill
Check for product marketing context first: if .agents/product-marketing.md exists (or .claude/product-marketing.md, or the legacy product-marketing-context.md), read it before asking questions. Use that context and only ask for what's missing.
Then:
Clarify the job. What outcome should this loop protect or grow? (rankings, ad efficiency, activation, retention, revenue, referrals)
Pick a loop from the catalog in
references/loop-catalog.md— or adapt the closest one.Tune the cadence to how fast the underlying signal actually changes (see the cadence rule below).
Confirm the human checkpoint. Decide what the loop does autonomously vs. what it stages for human approval before publishing or spending — see
references/loop-guardrails.md.Schedule it (see "Scheduling a loop" below).
Building more than one loop, or a whole marketing operating system? See references/loop-orchestration.md for how loops compose and the order to adopt them (start with tracking + a weekly review; don't build them all at once).
Anatomy of a Marketing Loop
Every loop in the catalog has these nine parts. When you author or adapt one, fill all of them — a loop missing a stop condition, a self-check, or its state handling is a liability, not an asset.
| Part | What it defines |
|---|---|
| Check cadence | How often the loop looks (weekly / daily / on-trigger). Match it to signal speed. |
| Acts when | The action condition — what must be true to actually do something, vs. just check and skip. Most runs of a good loop are "checked, nothing to do." |
| Purpose | The one outcome this loop exists to move. |
| Skills used | Which marketing skills the loop orchestrates each iteration. |
| Loop body | The ordered steps run each iteration. |
| Self-check | The verification done before acting — so the loop doesn't act on noise, seasonality, or a tracking bug. |
| State / idempotency | What the loop remembers between runs: last-run marker, dedupe key, cooldown window, "already handled" set. Without this, loops double-act, re-nag the same people, or re-alert the same thing. Non-negotiable for anything scheduled — see references/loop-state.md for where state lives and the idempotency patterns. |
| Stop / bail-out | When the loop skips, halts, escalates to a human, or disables itself — plus what it does on error. Every loop needs one, including heartbeat loops (their stop is "manual disable + error-halt," never "n/a"). |
| Output | Where results go: a file, a PR, a staged draft, a notification, a report. |
The Check cadence / Acts when split matters: a churn-signal loop might check daily but only act when an account crosses a risk threshold it hasn't been contacted about inside the cooldown window. Conflating the two produces loops that either miss the window or spam.
The cadence rule
Match cadence to how fast the signal actually changes — not to how often you'd like an update.
| Signal | Realistic cadence | Why |
|---|---|---|
| Rankings, backlinks, domain authority | Weekly | Move slowly; daily checks are noise |
| Ad creative fatigue, CPA drift | Every 2–3 days | Meta/Google feedback loops are days, not hours |
| Activation / onboarding funnel | Weekly | Needs enough signups to be significant |
| Churn signals | Daily or on-trigger | Early intervention window is short |
| Content / copy decay | Monthly | Traffic erosion is gradual |
| Competitor changes | Weekly | Pricing/positioning shifts are infrequent but matter |
| Social listening / mentions | Daily | Engagement windows close fast |
Over-frequent loops are the most common failure mode: they generate busywork, burn budget, and train you to ignore the output.
When NOT to loop
Not everything should be automated on a cadence. Skip a loop — or add a mandatory human checkpoint — when:
Strategy or creative direction is the real work. Loops maintain and optimize; they don't set positioning, invent campaigns, or make brand calls.
The action publishes or spends without review. Auto-drafting an ad, email, or post is fine. Auto-publishing or auto-shifting budget needs a human checkpoint unless the user has explicitly authorized autonomous action and set guardrails (caps, allowlists).
The signal is too sparse to be significant. A weekly conversion-rate loop on 40 visitors/week is measuring noise.
It's a vanity loop. If nobody acts on the output, delete the loop. A loop that emails a dashboard nobody reads is worse than nothing.
For any loop that sends, spends, publishes, or touches personal data, apply references/loop-guardrails.md — the two-tier action model (autonomous-safe vs. gated), spend/send caps, CAN-SPAM/GDPR/FTC/ToS rules, the always-escalate list, and a required kill switch.
Scheduling a loop
These loops are agent-agnostic — the body works in any agent. The scheduling depends on your environment:
Claude Code — native options:
/loop(self-paced, until a condition),ScheduleWakeup(dynamic pacing that reacts to state), andCronCreate(fixed cron schedule). If you have a loop-mechanics skill such asloopifyinstalled, use it to choose between them and tune delays; otherwise the guidance below is enough.Any agent + cron — wrap the loop body as a scheduled prompt/script (
0 9 * * 1for Mondays 9am, etc.).Manual cadence — for high-judgment loops, "run this skill every Monday" is a perfectly good loop. The value is the repeatable body, not the automation.
Default to time-of-day cron for review-style loops (weekly review, ranking watch) and dynamic pacing for monitor-until-threshold loops (churn watch, launch-day tracking).
The Catalog
references/loop-catalog.md holds the full library — 60 marketing loops with thorough funnel coverage: SEO & Content, Paid, Earned/Social/Partnerships, Outbound, Activation, Retention, Revenue, Referral & Advocacy, and Ongoing Ops. Each is a complete, adaptable spec. Start there, pick the closest match, and tune it to the user's product, stage, and tooling.
Running a whole channel: the SEO operator
When the user wants an agent to own SEO for a site rather than run one loop, use references/seo-operator.md. It bundles the SEO loops (site health, claim drift, striking-distance push, AI-answer check, keyword gap, content decay, competitor watch, and more) into one schedule with shared memory in .agents/seo/, a first-run checklist, operating rules, a writing gate, and a one-screen weekly report.
Running outbound: the outbound operator
For an agent running day-to-day outbound (signal sweeps, staged outreach, reply triage, sending-domain health, weekly sequence retros), use references/outbound-operator.md. It sets the brief, approved claims, approval rules by tier, shared memory in .agents/outbound/, and a weekly report.
Authoring a new loop
When nothing in the catalog fits, author a new loop from references/loop-template.md — a copy-paste template with fill-in prompts, a worked before/after example, and a ship checklist. Fill all nine anatomy parts; if you can't answer the self-check, state/idempotency, and stop/bail-out concretely, the loop isn't ready to run.
Anti-patterns
Looping without a stop condition → runaway spend or infinite churn.
Same cadence for every loop → most run too often and get ignored.
No self-check → the loop acts on noise, seasonality, or a tracking bug.
No human checkpoint on spend/publish actions.
Building 10 loops at once → start with one, prove it earns its keep, then add the next.
Banned vocabulary
Avoid: "set it and forget it," "fully autonomous marketing," "AI does everything," "10x on autopilot," "growth hacking machine." Loops are disciplined systems with checkpoints, not magic. Describe them honestly.
Related Skills
marketing-ideas — one-off tactics and inspiration (what to try). Loops operationalize the ones worth repeating.
ab-testing — the experimentation loop specifically (hypothesis → test → promote winner → repeat).
analytics — most loops read from analytics to decide whether to act.
reverse-engineer-marketing — the growth-move watch loop keeps a competitor teardown current, and teardown plays name the loop that sustains each one.
Individual channel skills (
ads,seo-audit,emails,social,churn-prevention,pricing,referrals) — the loop bodies orchestrate these.
Files
- ATTRIBUTION.mdAdded by AutoGineer891 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md9.9 KiB
- evals/evals.json11.6 KiB
- references/loop-catalog.md66.6 KiB
- references/loop-guardrails.md4.9 KiB
- references/loop-orchestration.md5.2 KiB
- references/loop-state.md5.7 KiB
- references/loop-template.md5.0 KiB
- references/outbound-operator.md4.9 KiB
- references/seo-operator.md8.2 KiB
references/loop-guardrails.md
Loop Guardrails & Compliance
Loops act on a schedule, often on customer data, sometimes with money or a public voice. This reference consolidates the safety rules that keep autonomous loops from doing harm. Apply it to every loop that sends, spends, publishes, or touches personal data.
The two-tier action model
Classify every action a loop can take:
Tier 1 — Autonomous-safe (a loop may do these unattended): read data, analyze, diff, score, draft, and stage work for review.
Tier 2 — Gated (require a human checkpoint by default): spend money, shift budget, send messages, publish anything public, delete/suppress records, change live account settings.
A Tier-2 action may run without a per-action human check only if the user has explicitly authorized it and it's bounded by caps + an allowlist (below). Absent that, the loop stages a draft and a human approves.
Spend guardrails (ad-fatigue, paid-search, retargeting, expansion)
Hard caps: a daily/weekly spend ceiling the loop can never exceed; halt and alert if approached.
Per-run change limit: cap how much budget can move in one run (e.g., ≤20%), so a bad read can't reallocate everything.
Allowlist: only specified accounts/campaigns are eligible for autonomous changes; everything else is staged.
Directional guardrails: judge paid changes on revenue/ROAS, not just CTR/CPA — never optimize a proxy metric into a revenue loss.
Publish & send guardrails (email, social, PR, community, reviews)
Default to a staging queue + human approval for anything public or outbound. Auto-drafting is fine; auto-publishing is not, unless explicitly authorized.
Volume caps: per-run and per-recipient limits so a loop can't blast a list or over-post a channel.
Suppression first: always check suppression/unsubscribe/do-not-contact lists before sending.
No auto-posting where detection/ToS bites: owned social, press pitches, and community replies are staged for a human (bot detection + brand risk).
Compliance
Match each rule to the loops it governs:
CAN-SPAM / CASL (email/SMS loops — lifecycle, re-engagement, churn, trial, dunning, referral): honor unsubscribes immediately and permanently; include a working unsubscribe + physical address; identify the sender; don't email/text without a lawful basis or consent; scrub against suppression every send.
GDPR / CCPA (any loop touching personal data): process on a lawful basis; get consent for EU marketing; honor deletion and opt-out requests; minimize data pulled and retained; don't repurpose data beyond its collected purpose.
FTC (review-and-UGC-harvest, referral, social): disclose material connections and incentives (#ad, "I was compensated"); only use testimonials with permission; no fabricated or cherry-picked-to-mislead claims.
Platform ToS (social-listening, community-engagement, review-site-management, scraping-based loops): respect rate limits and automation rules; follow review-platform response policies; don't scrape or auto-act where prohibited.
When a loop can't confirm consent, permission, or ToS-compatibility, its stop condition is don't act — stage for a human instead.
PII handling
Don't log raw PII in loop state or run logs — use internal IDs or hashes.
Pull the minimum personal data needed to make the decision; don't hoard it in state.
Keep exports and drafts out of shared/synced locations unless intended.
Always-escalate list
These never run fully autonomously — route to a human regardless of authorization:
Negative or crisis brand mentions; responses to complaints or legal/medical/financial-sensitive issues.
Newsjacking angles (see the veto list in the catalog) — human approval before any pitch/post.
High-value or strategic accounts (enterprise, at-risk logos).
Anomalies in revenue or ad spend — flag immediately, don't self-correct.
Anything that would delete data or contact a large audience at once.
Kill switch
Every scheduled loop needs a manual off switch, and you should know how to stop all loops fast (disable the schedule / cron, or a global flag the loop bodies check). Document it where the loops are scheduled. A loop you can't stop quickly is a liability.
Pre-launch guardrail checklist
Before scheduling any loop that sends, spends, publishes, or touches personal data:
[ ] Every action is classified Tier 1 (auto) or Tier 2 (gated).
[ ] Tier-2 actions are staged for approval — or bounded by explicit authorization + caps + allowlist.
[ ] Spend loops have a hard cap and a per-run change limit.
[ ] Send loops check suppression/unsubscribe and have volume caps.
[ ] Applicable compliance rules (CAN-SPAM/GDPR/FTC/ToS) are satisfied, with "don't act" as the fallback.
[ ] No raw PII in state or logs.
[ ] The always-escalate cases route to a human.
[ ] There's a documented kill switch.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Corey Haines
- Publisher
- Corey Haines (Community)
- Source
- coreyhaines31/marketingskills · skills/marketing-loops · commit 96798cf
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Corey Haines or Corey Haines.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download marketing-loops.zip