WholeReach · Automated marketing · Operator's manual

The Auto Marketing
Engine, operated.

The complete manual for the automated marketing department — how to administer it, operate every one of its departments day to day, and upgrade it safely. Written from the running system, with verified numbers and the proof it works.

Auditreads the page Draftroles produce work Approvethe human gate Shipgoes live · reversible Measurere-score
Figure 0 — the loop the whole system runs. Nothing ships without the approval gate.
Product: automarketingengine.com Aggregator: wholereach.com Audience: operators, administrators, partners Status: live in production
In a hurry?The five-minute version of this whole manual is the Quickstart — one URL in, live scores and a shareable report out, using the same production engine every chapter here documents.
FRONT MATTER

How to use this manual

This is a working manual for a system that is already running, not a brochure for one that might. Everything in it was read from the live engine and its case files; where a number appears, it is a real number with a real source.

Read it three ways, depending on why you are here:

  • To understand it — read Parts I and VII. Part I is the plain-English picture of what the engine does; Part VII is the proof it works, with measured before-and-after results.
  • To operate it — read Parts III and IV. Part III describes every department in detail — what each one actually reads off your site and what it produces. Part IV is the day-to-day workflow, the four phases from onboarding a business to the quarterly review.
  • To administer or upgrade it — read Parts II and VIII. Part II is the architecture: the service, the scoring model, the datastore. Part VIII is the runbook: restarting the service, the daily cron, refreshing the library, and safely adding a department, a niche, or a check.

Part V documents the marketing-skills system the engine is built on, and Part VI covers each special-purpose engine in the WholeReach family. Two conventions recur throughout:

Verified readout
A dark panel like this one holds a fact read directly from the running system — a function name, an endpoint, a real score, a logged event. If it is in a readout, it was checked against the source, not remembered.
Straight talkA green note like this one is where the manual tells you what is not true, or not yet — a marketing concept that isn't a literal code structure, a role that is presented but not yet wired, a number that moves. The engine's whole discipline is refusing to invent findings; this manual holds itself to the same rule.

↓ Table of contents

FRONT MATTER

Table of contents

Forty-eight chapters in eight parts, plus three appendices and a full index. Every chapter is linked; the spine on the left tracks where you are.

Part I — Orientation
  1. 1What the Auto Marketing Engine is
  2. 2The loop: audit, draft, approve, ship, measure
  3. 3Where the engine sits in WholeReach
Part II — The architecture (to administer)
  1. 4The backend service
  2. 5The audit pipeline, end to end
  3. 6The scoring model
  4. 7The niche detector
  5. 8The workspace datastore
  6. 9Ship & rollback
  7. 10The honesty guards
Part III — The departments (to operate)
  1. 11The department model — three honest layers
  2. 12The Auditor
  3. 13The SEO Manager
  4. 14The Answer-Engine Analyst (AEO)
  5. 15The Content Desk
  6. 16The Social Scheduler
  7. 17The Email Writer
  8. 18Conversion Rate Optimization
  9. 19Paid Media
  10. 20Data & Analytics
  11. 21Market Research
  12. 22Outbound / Demand Gen
  13. 23The Manager Agent
  14. 24The Board of Advisors
  15. 25The Approval Queue
Part IV — The lifecycle
  1. 26Tim's four phases: onboard, set up, operate, review
Part V — The marketing-skills system
  1. 27What Agent Skills are
  2. 28The dependency architecture
  3. 29The seven categories and 47 skills
  4. 30The prompt library
  5. 31Full skills coverage: the engine enabled in all 47
  6. 32License and attribution
Part VI — The special-purpose engines
  1. 33Auto Marketing Engine — the flagship
  2. 34The three editions
  3. 35The dashboard build
  4. 36The command edition
  5. 37The magnetics case engine
  6. 38The homebuilding case engine
  7. 39The Polymagnet rebuild
  8. 40Day in the Life
Part VII — Proof it works
  1. 41Case study: six homebuilding sites
  2. 42Case study: two magnetics guides
  3. 43Ship-and-rollback, proven end to end
  4. 44Network readiness at scale
Part VIII — Verify it works
  1. 45Test it yourself: a protocol for humans and agents
Part IX — Administration & upgrades
  1. 46Running and restarting the service
  2. 47The daily cron
  3. 48Refreshing the skills library
  4. 49Upgrading the engine safely
Back matter
  1. AEndpoint reference
  2. BThe 47 skills, indexed
  3. CGlossary
  4. Index
Part I

Orientation

What the engine is, the single loop it runs, and where it lives among the WholeReach family. Start here if you have never seen it work.

Chapter 1

What the Auto Marketing Engine is

The Auto Marketing Engine is a marketing department that runs as software. You give it a web address; it reads the site the way a marketing team would on their first day, scores what it finds, drafts the fixes, and holds every one of them for a human's approval before anything goes live.

It is not a chatbot, and it is not a single tool that does one thing. It is structured like the department a growing business would otherwise have to hire — a set of roles, each with one job, all feeding one approval queue. The difference is that the repetitive work is carried by software running on a schedule, and the judgment stays with a person.

Three commitments define it, and they run through every chapter of this manual:

  • It reads the real page. Every finding comes from an actual fetch of your live site. When it cannot reach the page, it says so and produces nothing, rather than inventing a plausible-looking result.
  • Nothing ships without a yes. The engine drafts; a human approves, edits, or rejects. There is no auto-publishing, and outbound email is never sent automatically.
  • Every change is reversible. When an approved fix goes live, the engine snapshots the file first. One click restores it.

The product lives at automarketingengine.com. It has been running on the operator's own network of live sites before ever being pointed at a client's — which is why this manual can show measured results, not projections.

What it is, in one line
service
a real-analysis backend that audits a URL, drafts role-by-role deliverables, and gates everything behind human approval — with one-click rollback on anything it ships.
Chapter 2

The loop: audit, draft, approve, ship, measure

Everything the engine does is one loop, run over and over. A good marketing department runs the same loop; the engine's contribution is carrying the repetition while keeping a person in the one seat that matters.

The five stations, shown on the cover and repeated here because they are the spine of the whole system:

  1. Audit. You enter a URL. The engine fetches the page and scores it 0–100 across five disciplines — SEO, Content, AI Search, Social, and Technical — plus a sixth, Reach, that is measured from real traffic rather than read off the page (Chapter 6).
  2. Draft. Each role produces its work from the same page read: the SEO fixes, the content briefs and calendar, the social drafts, the schema, the conversion and analytics recommendations. All of it is specific to your site's actual signals.
  3. Approve. Everything lands in a queue. You approve, edit, or reject. This is the seat you keep, and the reason the engine is safe to point at a real business.
  4. Ship. Approved work goes live. On the operator's own test beds this writes directly to the site's files, after taking a snapshot; for a client store it goes through the platform's own API on the same approve-first, reversible terms.
  5. Measure. Scores re-run on a schedule. The workspace keeps a history, so a fix that moved a number shows up as a real before-and-after (Part VII).
Why the gate is the whole pointSingle-purpose AI tools hand you one more thing to manage and publish on your behalf. The loop above is safe precisely because station three cannot be skipped. Remove the approval gate and you have an unsupervised bot; keep it and you have a department.
Chapter 3

Where the engine sits in WholeReach

WholeReach is the house for automated marketing — the aggregator the whole engine family lives under. The Auto Marketing Engine is the working product; the other properties are editions, workspace builds, and live case files that all run on the same backend.

The family, and how to read it: one engine, several front doors. Each site stands on its own — its own address, its own sitemap, its own audit — and they share the engine and the skills library, not a login. Part VI gives each its own chapter; in brief:

PropertyRole in the family
automarketingengine.comThe flagship — the working engine: audit, department, approval queue, and the Skills & Prompts libraries.
deptmatic.comThe department edition — the product line.
deptless.com"Run marketing without the department," plus the honest feature chart.
automarketingdept.comThe marketing-department-as-a-service edition.
a.deptmatic.comThe dashboard workspace build.
b.deptmatic.comThe command / leaderboard edition.
c.deptmatic.comThe magnetics case file — the engine run on real magnet guides.
d.deptmatic.comThe homebuilding case file — six real builder sites, before and after.
1.deptmatic.comThe Polymagnet rebuild — a finished output.
automarketing.wholetech.com"Day in the Life" — the department as a live 24-hour timeline.

The full, linked directory of the family lives on the aggregator at wholereach.com/#directory. This manual documents the engine that all of them share.

Part II

The architecture

For whoever administers the engine: the service and how it runs, the audit pipeline step by step, the exact scoring model, the datastore, the ship-and-rollback mechanism, and the guards that keep it honest. Every fact here was read from the running source.

Chapter 4

The backend service

The engine's brain is a single Python service. It is deliberately small and dependency-free — the standard library only — which is why it is easy to run, restart, and reason about.

It listens on the loopback address, so it is never exposed to the internet directly; a reverse proxy sits in front of it. It runs under systemd, so it starts on boot and restarts itself on failure. The facts, read from the source:

Service · verified
source/opt/autoengine/server.py · 3,148 lines
frameworkPython stdlib http.server (ThreadingHTTPServer) — no Flask/FastAPI
bind127.0.0.1:8932 (loopback only, reverse-proxied)
unitautoengine.service — active running · Restart=on-failure
datastore/opt/autoengine/workspaces/<domain>.json (one file per site)
siblingautom-api.service — the launch/intake + domain-check API

The request handler strips a leading /api/ from every path, so each route works both bare and under /api/. Full route tables are in Appendix A; the routes that matter most are POST /analyze (run an audit), POST /ship and POST /rollback (publish and undo), POST /assist (the "ask your marketing team" chat), and GET /report/<domain> (a shareable branded report).

Chapter 5

The audit pipeline, end to end

When a URL arrives at POST /analyze, it runs through a fixed pipeline. Understanding these steps is the key to understanding every department, because every department reads from the same single page-fetch.

POST /analyzeurl + intake fetch()http→https fallback analyze_html()→ signals (sig) probe surfacesllms.txt·AGENTS·sitemap score_site()5 disciplines + Reach detect_niche()16 niches role buildersseo·aiso·cro·paidanalytics·research save_ws()workspace JSON
Figure 5.1 — one fetch feeds everything. Every department downstream reads the same sig.

Step by step, from run_engine(url, intake):

  1. Normalize & fetch. The URL is normalized and fetched, with an automatic http → https retry. The result sets reached = bool(page["ok"]) — the single flag that gates the honesty guards in Chapter 10.
  2. Parse to signals. analyze_html() turns the raw HTML into a sig dictionary: title and its length, meta description, H1/H2 counts and text, word count, canonical, internal/external link counts, JSON-LD blocks and their schema types, CTA hits and buttons, forms and field counts, trust signals, images and alt-text, socials, and more.
  3. Probe machine surfaces. The engine best-effort fetches /sitemap.xml, /robots.txt, /llms.txt, /AGENTS.md, /.well-known/ai-plugin.json, /index.md, an OpenAPI doc and an MCP card — the surfaces AI readers look for — plus real traffic via the site's AWStats.
  4. Score. score_site(sig, extra) returns the checks, the per-discipline sub-scores, and the overall (Chapter 6).
  5. Detect niche & brand, then build priorities, the 30/60/90 roadmap, the content calendar, the social posts, and the six recommendation channels via seo_aiso(...).
  6. Merge & store. Back in analyze_and_store, the result is merged into the site's workspace — checklist, approvals, connections, deliverables, and a rolling 40-entry score history — and written to disk.
Chapter 6

The scoring model

The 0–100 score is not a vibe. It is a weighted roll-up of concrete, pass/warn/fail checks read off the live page, with two deliberate rules that keep it honest: a first-audit ceiling, and a reality cap tied to measured traffic.

Scoring lives in score_site(sig, extra). Each check is registered with an area, a human label, a pass/warn/fail state, the reason, the fix, and a weight. The checks roll up per discipline, and the disciplines roll up to the overall.

The six disciplines

Five are read from the page; the sixth, Reach, is measured from real traffic and is never fabricated.

DisciplineWeightWhat it checks (examples)
SEO1.15Title length 40–60, meta 130–160, exactly one H1 + ≥3 H2, canonical, sitemap depth ≥50, robots.txt, Search-Console verification, title/H1 alignment, BreadcrumbList.
Content1.0Homepage ≥800 words, alt-text coverage, internal/external links, freshness, media presence.
AI Search1.15/llms.txt + /AGENTS.md present, JSON-LD blocks, FAQ markup, a 40–60 word lead answer.
Social0.8Linked, verifiable social profiles (a missing profile is never faked — see Chapter 10).
Technical1.1HTTPS, viewport, lang, compression, caching.
Reach1.15Measured from AWStats monthly uniques — not read off the page. Left unmeasured when there is no data.

The two rules that keep the number honest

Scoring · verified constants
per-check valuepass = 1.0 · warn = 0.5 · fail = 0.0 (weighted)
sub-scoreclamp( 100 × earned / possible )
headroom capevery category capped at 90 on a first audit — "never a 100 on a first audit"
Reach scoreclamp( min(90, 30·log10(uniques+1) − 38) )
overallΣ(sub × weight) / Σ(weight)
reality capwhen Reach is measured: overall ≤ clamp( 50 + Reach/2 )

The headroom cap is a design choice, not a bug: a site the engine has just met should never read 100/100, because there is always something to improve and a perfect score on day one would be a lie of exactly the kind the engine exists to avoid. The reality cap ties the headline number to whether anyone actually visits — a technically flawless page that no one reaches cannot post a top overall score.

Chapter 7

The niche detector

Before it drafts anything, the engine works out what kind of business it is looking at, because a coffee shop and a magnetics manufacturer need different advice. It does this from the page's own words, not from a guess.

detect_niche(sig, dom) scores each of sixteen niches by counting whole-word keyword matches across the page's title, H1s, H2s and meta description. Highest score wins; ties go to the earlier (higher-priority) niche.

The sixteen niches · in priority order
coffee shop · magnetics / magnets · homebuilding / construction · boating / marine · villa / vacation rental · coworking · marketing / advertising · robotics / AI tech · restaurant / food · real estate / property · events / entertainment · travel / tourism · fitness / wellness · ecommerce / retail · professional services · news / media

Two refinements matter. First, an own-domain shortcut: the family's own sites (deptmatic.com and its subdomains, automarketingengine.com, and the rest) return automated marketing directly. Second, a fallback: if nothing matches and the page is a genuine 200-class response, the engine names the niche from the first salient noun in the title rather than pretending to certainty.

Straight talk — the magnetics labelBecause magnetics / magnets sits at priority 2 with ten magnet-specific keywords, ahead of marketing / advertising at priority 7, a magnet company now classifies correctly. Two dated backup files in the source confirm this was a deliberate fix. The manual notes it because an earlier version mislabeled a magnetics site as "marketing" — the kind of bug that ordering, not cleverness, resolves.
Chapter 8

The workspace datastore

There is no database server. Each site the engine has audited is a single JSON file, which makes the whole datastore inspectable, backup-friendly, and portable.

A workspace at /opt/autoengine/workspaces/<domain>.json holds everything the engine knows about that site: the latest scores, the full checks, the role recommendations, the priorities and roadmap, the content calendar and social drafts, the deliverables with their approval status, the account connections, and a rolling score_history of up to forty entries. That history is what turns a claim into proof — because a fix that shipped shows up as a dated jump in the numbers (Chapter 43).

Each deliverable carries its own lifecycle fields — for a shipped one, a shipped_at timestamp, the ship_target file it wrote, and the ship_backup snapshot it can be restored from. That structure is what makes the next chapter possible.

Chapter 9

Ship & rollback

Shipping is the moment an approved draft becomes a live change. The engine treats it as reversible by construction: it never writes to a live file without first taking a snapshot it can put back.

The mechanism is two functions, ship_deliverable() and rollback_deliverable(), exposed at POST /ship and POST /rollback. Ship copies the current live file into a timestamped backup, then writes the approved change. Rollback copies the snapshot back. It is whitelisted to the operator's own test beds; a client store goes through the platform's own API on the same approve-first, reversible terms.

Ship path · verified
snapshotshutil.copy2 → /opt/autoengine/ship-backups/<domain>/index.html.<ts>.bak
whitelistmultipolemagnets.com · multipolemag.com · realhotsprings.com · polymagnets.com
on disk today56 domain folders · 83 snapshots, real and timestamped

This is not a described capability — it has run. Chapter 43 walks the logged evidence: a real ship followed by a rollback on a live site, two seconds apart.

Chapter 10

The honesty guards

The engine's most important feature is the work it refuses to do. Three guards in the code stop it from inventing findings — the failure mode that makes most "AI marketing" untrustworthy.

Guard 1 — no page, no findings

The four page-specific roles (CRO, Analytics, Paid Media, Market Research) only run when the fetch succeeded. When reached is false, each returns the same honest note instead of a fabricated result:

Fabrication guard · verbatim from seo_aiso()
"We couldn't read the live page this run, so there are no real findings yet — re-run once the site responds and this role produces page-specific results. We never invent findings."

Guard 2 — unmeasured Reach stays unmeasured

If there is no traffic data for a site, Reach is recorded as a "warn" with no score. The engine does not fill the gap with a zero or an average — an unmeasured number is shown as unmeasured.

Guard 3 — no fake social proof

When a site has no social profiles, the Social discipline scores low and stays low. The engine will not inject a fabricated sameAs to inflate the number. Every case-study site in Part VII carries a real, low Social score for exactly this reason — and the case files say so out loud.

Why this is in the architecture, not the marketingThese guards are the reason the engine can be pointed at a real business. A tool that invents a plausible audit is worse than no tool, because it costs trust the first time someone checks. Everything downstream in this manual depends on the numbers being real — so the guards come first.
Part III

The departments

The operator's core. Each department is described in full: what it reads off your page, what it produces, and where it lives in the code. Read Chapter 11 first — it maps the three honest layers of "the department" so the rest makes sense.

Chapter 11

The department model — three honest layers

People ask "how many roles does the engine have?" The honest answer is that "the department" exists at three layers, and they don't all carry the same number. Confusing them is the single most common way to overstate what the engine does, so this manual keeps them separate.

LayerCountWhat it is
The named roster (public sites)6The six roles the marketing sites name: the Auditor, SEO Manager, Content Desk, Social Scheduler, Email Writer, and the Approval Queue. This is the pitch a business recognizes.
The app roster (in the product)15 (12 active)The full department the app presents — eleven functional roles plus four strategic ones, three of them marked "future."
The analysis backend (the code)6 channelsThe six recommendation builders that compute real, page-specific findings: seo, aiso, cro, analytics, paid, research — plus the content, social and roadmap generators.
Straight talk — there is no literal "12-role" objectThe number 12 is a product concept (the active roles in the app roster), not a single table in the code. The backend computes six page-specific recommendation channels; the app presents fifteen roles and marks which are live; the marketing sites name six. All three are true at once. The chapters that follow tell you, for each role, which layer it lives in and exactly what it does — so nothing here is inflated.

The color-coding in the app makes the layers visible: blue role cards are live today, red are the critical roles coming online, black are future. In the current data the four roles Tim's deck flagged as critical — CRO, Analytics, Paid Media, Market Research — have all been promoted from red to live, and their pages carry the line "one of the critical roles from Tim's deck — now live."

Chapter 12 · Named roster

The Auditor

The Auditor runs first and re-runs on a schedule. It is the role that reads your site like an AI reader would and turns it into the 0–100 scorecard everything else works from.

Reads: the full page-fetch and machine-surface probe from Chapter 5 — title, meta, headings, links, schema, CTAs, forms, trust signals, and the AI-reader surfaces (llms.txt, AGENTS.md, sitemap, robots).

Produces: the five discipline sub-scores plus measured Reach, the overall, and a ranked list of the highest-impact fixes with the concrete change for each. In the app this is the Audit & Report view — every real signal in a sortable table — and the shareable branded report at /report/<domain>.

Discipline: the Auditor is where the honesty guards bite first. If it could not read the page, it says so and the downstream roles produce nothing. Its report carries the line, verbatim: "Every number on this page comes from a real fetch — nothing is invented."

Chapter 13 · Named roster · Backend channel seo

The SEO Manager

The unglamorous work that decides whether you are found: structure, schema, internal links, sitemaps. The SEO Manager is a real backend channel, built inside seo_aiso().

Reads: the SEO signals from sig and the SEO sub-score.

Produces: four to five ranked SEO recommendations — the first gated on the SEO sub-score being under 80, so a site already strong on SEO isn't handed busywork. Typical items: title and meta rewrites to the right lengths, a single clean H1 with matching keywords, sitemap depth and Search-Console verification, breadcrumb schema, and internal-link structure.

In the app: the SEO & AI Search view. Because SEO and answer-engine optimization share a page-read, they are drafted together and presented side by side.

Chapter 14 · Backend channel aiso

The Answer-Engine Analyst (AEO)

The role that decides whether ChatGPT, Claude and the other AI readers can find, quote and cite you. This is the engine's sharpest edge — the "Agents First" discipline that most marketing tools don't pair with a full department.

Reads: the machine-surface probe results — whether /llms.txt and /AGENTS.md exist, the JSON-LD blocks and their schema types, FAQ markup, and whether the page opens with a crisp lead answer.

Produces: four recommendations — publish /llms.txt and /AGENTS.md, add JSON-LD (Organization, FAQPage, and the types that fit the niche), add FAQ markup, and write a 40–60 word lead answer an AI reader can lift verbatim. This is precisely the fix shipped across the homebuilding case study in Chapter 41.

Why AEO is weighted 1.15AI Search carries one of the two highest discipline weights, alongside SEO. The bet the whole network runs on is that being readable by agents is now as important as being readable by search crawlers — so the engine scores it that way.
Chapter 15 · Named roster

The Content Desk

Drafts the pages and posts your customers actually search for — from your real facts, never invented ones. The Content Desk is where niche detection pays off, because the calendar it builds is tuned to what your kind of business should publish.

Reads: the detected niche, the page's word count and heading structure, and the positioning themes in the H2s.

Produces: a publishing calendar tuned to the niche, content briefs for the pages worth writing, and the raw drafts. In the app this is the Content view: calendar plus briefs plus social drafts in one place.

Discipline: the Content Desk drafts from your real facts. It will flag a thin page (under 800 words on the homepage) as a Content weakness rather than paper over it, and it never fabricates claims about your business — the "correct the brief" step lets you point it right in one line and have it redo the work.

Chapter 16 · Named roster

The Social Scheduler

Turns what you publish into a steady, honest presence — drafted ahead, approved by you. The Social Scheduler is also where the third honesty guard lives.

Reads: the page's linked social profiles and the content the Content Desk produced.

Produces: social drafts derived from your real content, scheduled ahead for approval. Nothing posts without a yes.

Straight talk — the honest low scoreEvery case-study site in Part VII carries a Social score of 17 or 33, because none of them have social profiles yet. The engine could raise that number instantly by injecting a fake sameAs link — and it refuses. A low Social score you can trust is worth more than a high one you can't.
Chapter 17 · Named roster

The Email Writer

Builds the list and drafts the sends. Every email is drafted for approval — and, uniquely, outbound email is the one thing the engine will never send on its own, even after approval settings are configured elsewhere.

Produces: list-building recommendations and drafted sends, all held in the approval queue.

The hard line on outboundAcross the whole system, everything can be set to post automatically except outbound email, which always waits for a human. This is a deliberate, load-bearing rule: an automated department that could email your list unsupervised is a liability, not an asset.
Chapter 18 · Backend channel cro · Tim's critical role, now live

Conversion Rate Optimization

The role that reads your live page for the things that turn a visitor into a customer — or fail to. cro_recos(d, niche) is a real analyzer, up to eight recommendations, all computed from the page.

Reads: CTA hits and buttons, forms and their field counts, trust signals, the H1 and headline, whether a phone number or mailto is present, and the viewport.

Produces: up to eight conversion recommendations — diagnostics on how many CTAs exist and whether they're clear, whether forms are too long, whether trust signals are present, and whether the headline states the value in the first five seconds.

In the app: the Conversion view, which runs realRole against the fetched page and falls back to a generic playbook only when there's no workspace loaded.

Chapter 19 · Backend channel paid · Tim's critical role, now live

Paid Media

The role that drafts what you'd run and gates whether you should. paid_recos(d, niche) builds keyword themes and a real ad draft from your own page — but won't tell you to spend until you can measure it.

Reads: the H1s and title (for keyword themes and ad copy), the niche, the CTA presence, forms, and whether analytics is installed.

Produces: up to seven items — keyword themes and a responsive-search-ad draft written from the page's own H1 and title, plus a gate: paid spend is only recommended once there's a clear CTA and tracking in place. The engine will not send you into an ad auction blind.

Chapter 20 · Backend channel analytics · Tim's critical role, now live

Data & Analytics

The role that checks whether you can even see what's working. analytics_recos(d, niche) produces up to eight measurement recommendations from what the page reveals about its own tracking.

Reads: whether analytics is installed, Search-Console verification, the forms and CTAs (to know what a conversion even is), and the word count.

Produces: install GA4, verify Search Console, define conversion events for the real actions on the page, add UTM discipline, and stand up a dashboard. This is the role the Manager Agent reads at each interval to know whether the other roles' work is landing.

Chapter 21 · Backend channel research · Tim's critical role, now live

Market Research

The positioning read: who you're up against and who you're for. research_recos(d, niche) produces up to six recommendations from your page's own positioning language.

Reads: the H2s (as positioning themes) and the linked socials.

Produces: a competitor map, an audience definition, and a customer-interview plan — the homework a marketing department does before it spends a dollar. Anything material feeds the Board's quarterly review (Chapter 24).

Chapter 22 · App roster

Outbound / Demand Gen

The pipeline half of the department — the outbound motion that complements the inbound work of SEO, content and AEO. It appears in the app as the Outbound view.

Produces: the demand-generation pipeline — prospecting lists, cold-email sequences (drafted, never auto-sent, per Chapter 17), and the outbound cadence. It draws on the skills library's prospecting and cold-email playbooks (Part V).

Chapter 23 · Strategic · App roster

The Manager Agent

The CMO seat — the executive overview that reads across every role and tells you what got done, what's waiting, and what to do next. Its real mechanic is the daily run.

What it shows (the Manager view, Phase 3 · Operations): four stat cards — active roles, deliverables shipped, items awaiting approval, and critical roles coming online — a Daily → Weekly → Monthly → Quarterly → YOY interval strip, a "what got done" list, and "recommendations for your approval" that are analysis-driven when a workspace is loaded.

Its real mechanic: there is no single manager() function; the Manager's engine-side action is the /run-daily endpoint, which runs the department's daily production for one site or the whole network. The Manager view is the human-readable face of that run.

Chapter 24 · Strategic · App roster

The Board of Advisors

The quarterly review, run by software. The Board reads the scorecard, names your weakest discipline, and points the next quarter's goals at closing that gap.

How it works (the Board view, Phase 4 · Review): it reads analysis.scores, finds the strongest and weakest of the five disciplines, and prints, for example: "Overall readiness N/100. Strongest: X (n). Weakest: Y (n) — the board points this quarter at closing that gap." The weakest discipline maps to a strategy — SEO/AI-Search/Content point to "own your search," Social to "drive demand," Technical to "fix conversion" — and that option is flagged ★ Board's pick. Adopting it sets your next-period goals.

Four standing advisor voices frame the review: a Growth Strategist, Brand & Content, an Answer-Engine (AEO) advisor, and Performance & Finance.

Straight talkLike the Manager, the Board is a real UI mechanic reading real scores — not a separate reasoning agent. Its value is that the "what to fix next" decision is made from the numbers, transparently, rather than by opinion.
Chapter 25 · Named roster · The seat you keep

The Approval Queue

The most important role has no AI in it at all. The Approval Queue is the human gate — approve, edit, reject — and it is the reason every other chapter is safe.

What it is: every deliverable the department drafts lands here with a status. You approve it, edit it, or reject it. Approved work becomes eligible to ship (Chapter 9); nothing moves without your action. In the app it is the Approvals & Setup view, which also holds the account connections and the managed-engagement terms.

Why it's a role, not a step: the whole product thesis is that software should carry the repetition and a person should keep the judgment. The Approval Queue is that principle made concrete — the one seat that is deliberately never automated.

The department, mapped · verified
named roster (public)Auditor · SEO Manager · Content Desk · Social Scheduler · Email Writer · Approval Queue
live backend channelsseo · aiso · cro · analytics · paid · research (+ content, social, roadmap generators)
strategic (UI)Manager Agent · Board of Advisors
never automatedthe Approval Queue · outbound email
Part IV

The lifecycle

How the department is run day to day — the four phases from meeting a business to reviewing its quarter. This is the workflow implemented directly from Tim Costello's AI Marketing System deck.

Chapter 26

Tim's four phases: onboard, set up, operate, review

The engine's operating rhythm is a four-phase lifecycle, built into the app as a clickable strip that runs across the top of every phase view. It came from a client's own marketing-system deck and was implemented verbatim.

PHASE 1Onboardingwho you are → work plan PHASE 2Set Uppick roles · auto/supervised PHASE 3OperationsManager & approvals PHASE 4ReviewBoard → next-period goals
Figure 26.1 — the four phases loop: each quarter's review feeds the next period's setup.

Phase 1 — Onboarding

You tell the engine who you are. The onboarding form collects goals and channels (as chip toggles), your audience, and budget, and takes a URL. This is wired to the real backend: submitting posts { url, intake:{ goals, channels, audience, budget } } to /analyze, runs a live audit, and lands you on an accurate report with real deliverables already generated. The intake is remembered and carried forward on re-audit, so the 30/60/90 roadmap is personalized to what you said you wanted.

Phase 2 — Set Up

You pick the department. The roster is presented with each role's auto-versus-supervised setting and report frequency; you choose which roles run and how much rope each gets — remembering that outbound email can never be set to fully automatic.

Phase 3 — Operations

The department runs. The Manager Agent (Chapter 23) gives the executive overview, deliverables flow into the approval queue, and the /run-daily mechanic produces fresh work on the interval you set.

Phase 4 — Review

The Board (Chapter 24) reads the quarter's scores, names the weakest discipline, and sets the next period's goals — which flow back into Phase 2. The loop closes.

Part V

The marketing-skills system

The engine is built on an open, documented body of marketing knowledge: the Marketing Skills library by Corey Haines. This part incorporates that system in full — what it is, how it's structured, all 47 skills, the prompt library, and a coverage matrix proving the engine is enabled in every one.

Chapter 27

What Agent Skills are

"Skills are markdown files that give AI agents specialized knowledge and workflows for specific tasks. When you add these to your project, your agent can recognize when you're working on a marketing task and apply the right frameworks and best practices." That is the definition from the source repository, and it is exactly how the engine uses them.

The library is coreyhaines31/marketingskills — "a collection of AI agent skills focused on marketing tasks, built for technical marketers and founders who want AI coding agents to help with conversion optimization, copywriting, SEO, analytics, and growth engineering." It follows the open Agent Skills specification, so the same skills work across Claude Code, OpenAI Codex, Cursor, Windsurf, and any conforming agent.

Each skill is a single SKILL.md file with YAML frontmatter — a name (lowercase, hyphenated, matching its folder), a description of when to use it, and a version — followed by a markdown body of frameworks and best practices. A skill is invoked in three ways:

  • Natural language: "Help me optimize this landing page for conversions" → the agent recognizes the task and applies the cro skill.
  • Direct invocation: /cro, /emails, /seo-audit.
  • Installed: npx skills add coreyhaines31/marketingskills, or the Claude Code plugin /plugin install marketing-skills.
The library · verified from source
repocoreyhaines31/marketingskills
specAgent Skills (agentskills.io) · installs to .agents/skills/
skills47 SKILL.md files across 7 categories
creatorCorey Haines · MIT licensed
deployedcloned to /opt/marketingskills on the engine host
Chapter 28

The dependency architecture

The skills are not a flat list — they form an interconnected system. One skill sits at the root, and every other reads it first. This is the single most important structural fact about the library, and the engine honors it.

In the repository's own words: "Skills reference each other and build on shared context. The product-marketing skill is the foundation — every other skill checks it first to understand your product, audience, and positioning before doing anything." That is exactly what the engine's niche detection and intake do before any department drafts a word — establish who the business is, so the rest is grounded.

product-marketing read by all other skills first SEO & Contentseo-auditai-seosite-archprogrammaticschema · asocontent-strat CROcrosignuponboardingpopupspaywalls Contentcopywritingcopy-editingemails · smssocialvideo · imagecold-email Paid & Meas.adsad-creativeab-testinganalytics Retentionreferralsfree-toolschurn-prevcommunitylead-magnetsco-marketing Sales & GTMrevopssales-enablelaunchpricingcompetitorsprospecting Strategymktg-ideasmktg-psychmktg-plancustomer-resoffers
Figure 28.1 — the dependency graph from the repository README. product-marketing is the root; skills cross-reference (copywriting ↔ cro ↔ ab-testing; seo-audit ↔ schema ↔ ai-seo).
Chapter 29

The seven categories and 47 skills

The library ships 47 skills. The engine groups them into seven categories in its own generator, matching the repository's structure. Here is the full set — the complete list appears again, alphabetized with descriptions, in Appendix B.

Category (engine grouping)Skills
Strategy & Planningmarketing-plan · product-marketing · marketing-ideas · marketing-council · marketing-psychology · marketing-loops · launch
Research & Positioningcustomer-research · competitor-profiling · competitors · pricing · offers
SEO & Siteai-seo · seo-audit · programmatic-seo · schema · site-architecture · aso
Content & Creativecontent-strategy · copywriting · copy-editing · social · image · video · ad-creative
Ads & Outboundads · cold-email · emails · sms · prospecting · directory-submissions
Conversion & Lifecyclecro · ab-testing · signup · onboarding · popups · paywalls · lead-magnets · free-tools · churn-prevention
Growth, PR & Opsreferrals · co-marketing · community-marketing · public-relations · analytics · revops · sales-enablement

In the product, this is the Marketing Skills tab (view #17): the seven groups, each skill a card that opens to its full playbook and reference docs, folded directly into the engine so the department can reach the right framework for any task.

Chapter 30

The prompt library

On top of the 47 skills, the engine ships a library of ready-to-paste prompts — the operational layer that turns a skill's framework into a task you can run today. The count is exact and verified from the source files.

Prompt library · verified counts
total427 ready-to-paste prompts
skill prompts235 across the 47 skills (ame-prompts.json — 47 keys)
vertical prompts192 across 24 industry packs (ame-verticals.json)
in the appthe Prompts tab (view #18), grouped by category + industry

The 24 industry packs are what make the library concrete for a real business rather than generic: travel, cruise ships, villas, non-MLS real estate, robotics, radio, TV and streaming, coworking, coffee shops, car dealers (new and used), and more. Each pack is a set of prompts written for that vertical's actual customers and searches — the "real, genuine verticals to test on" that keep the engine honest, because a prompt that works on a live coffee shop or a live magnetics guide is provably useful in a way a generic one is not.

Chapter 31 · The coverage matrix

Full skills coverage: the engine enabled in all 47

This is the chapter that answers the operator's real question — is the engine actually enabled in every one of the 47 skills? Yes. Each skill is covered in one of three modes, and this matrix names the mode and the department for all 47, with nothing left out.

The three enablement modes:

  • Live analyzer — the engine computes page-specific findings for this skill from your real site, through one of the six backend channels.
  • Playbook + prompts — the engine delivers this skill through its full SKILL.md playbook plus ready-to-paste prompts, driven by the responsible department.
  • Generator — the engine produces this directly (the content calendar, social drafts, the 30/60/90 roadmap).
SkillDepartmentMode
seo-auditSEO ManagerLive analyzer (seo)
ai-seoAnswer-EngineLive analyzer (aiso)
schemaAnswer-EngineLive analyzer (aiso)
site-architectureSEO ManagerLive analyzer (seo)
programmatic-seoSEO ManagerPlaybook + prompts
asoSEO ManagerPlaybook + prompts
croConversion (CRO)Live analyzer (cro)
signupConversion (CRO)Live analyzer (cro)
onboardingConversion (CRO)Live analyzer (cro)
popupsConversion (CRO)Live analyzer (cro)
paywallsConversion (CRO)Playbook + prompts
ab-testingData & AnalyticsLive analyzer (analytics)
analyticsData & AnalyticsLive analyzer (analytics)
adsPaid MediaLive analyzer (paid)
ad-creativePaid MediaLive analyzer (paid)
competitorsMarket ResearchLive analyzer (research)
competitor-profilingMarket ResearchLive analyzer (research)
customer-researchMarket ResearchLive analyzer (research)
copywritingContent DeskPlaybook + prompts
copy-editingContent DeskPlaybook + prompts
content-strategyContent DeskGenerator (calendar + briefs)
socialSocial SchedulerGenerator (social drafts)
imageContent DeskPlaybook + prompts
videoContent DeskPlaybook + prompts
emailsEmail WriterPlaybook + prompts
cold-emailOutboundPlaybook + prompts
smsEmail WriterPlaybook + prompts
prospectingOutboundPlaybook + prompts
directory-submissionsOutboundPlaybook + prompts
lead-magnetsContent DeskPlaybook + prompts
free-toolsContent DeskPlaybook + prompts
churn-preventionEmail WriterPlaybook + prompts
referralsOutboundPlaybook + prompts
co-marketingOutboundPlaybook + prompts
community-marketingSocial SchedulerPlaybook + prompts
public-relationsOutboundPlaybook + prompts
revopsData & AnalyticsPlaybook + prompts
sales-enablementOutboundPlaybook + prompts
pricingMarket ResearchPlaybook + prompts
offersMarket ResearchPlaybook + prompts
product-marketingManager AgentPlaybook (foundation)
marketing-planManager AgentGenerator (roadmap)
marketing-ideasManager AgentPlaybook + prompts
marketing-councilBoard of AdvisorsPlaybook + prompts
marketing-psychologyContent DeskPlaybook + prompts
marketing-loopsManager AgentPlaybook + prompts
launchManager AgentPlaybook + prompts
Straight talk — what "enabled" honestly meansAll 47 skills are covered, and the matrix says exactly how. Roughly a third are live analyzers that read your real page today; the rest are delivered as full playbooks plus ready-to-paste prompts through the responsible department. The roadmap ahead (Chapter 48) is to promote more skills from playbook to live analyzer, one at a time — the same path CRO, Analytics, Paid Media and Market Research already walked from "critical, coming" to live.
Chapter 32

License and attribution

The skills library is open-source, and the engine uses it on those terms — openly, with attribution, as the library's author intends.

The Marketing Skills library is MIT licensed — "Copyright (c) 2025 Corey Haines" — which the repository summarizes as "use these however you want." The engine adapts the skills into its own generator (gen-ame-skills.py → the in-app library) and carries the attribution verbatim on the Skills and Prompts pages: "Skills adapted from coreyhaines31/marketingskills (MIT)."

Attribution · verified
workMarketing Skills for AI Agents
creatorCorey Haines (corey.co)
licenseMIT — Copyright (c) 2025 Corey Haines
sourcegithub.com/coreyhaines31/marketingskills
carried in-app as"Skills adapted from coreyhaines31/marketingskills (MIT)"

The repository also names its wider world — Conversion Factory (Corey's agency), Swipe Files (his newsletter), and Magister (an autonomous AI CMO built on these skills). The engine is a distinct, independently built system that stands on the same open foundation.

Part VI

The special-purpose engines

One engine, many front doors. Each property in the WholeReach family runs on the same backend but exists for a distinct purpose — an edition, a workspace build, or a live case file. A chapter each.

Chapter 33

Auto Marketing Engine — the flagship

automarketingengine.com is the only property with the full working app: the ignition form, the live audit, the department roster, the approval queue, and the Skills and Prompts libraries. Everything else in this part is a variation on it.

It is the site that runs the real backend described in Part II, presents the department of Part III, and follows the lifecycle of Part IV. When this manual says "the engine," it means the machine that lives here. Its front door offers a free audit — one URL, no signup, nothing asked in return — which is the honest top of the funnel: a real result, given away, that proves the machine before any conversation about price.

Chapter 34

The three editions

Deptmatic, Deptless, and Auto Marketing Dept are the same engine told three ways. Under the hood they share the backend; on the surface each tells the story to a different audience.

  • deptmatic.com — the department edition, the product line. "An AI marketing team that audits your website, drafts the SEO, content and social fixes, and ships them — you just approve."
  • deptless.com — "run marketing without the department," paired with the honest feature chart that compares every edition, gaps included. This is where a skeptic goes to check the claims.
  • automarketingdept.com — the marketing-department-as-a-service framing: every role a filled position, the payroll you never run.

The editions are kept at parity so any could stand in for the flagship — a deliberate resilience choice. Each is self-canonical and independently indexed.

Chapter 35

The dashboard build — a.deptmatic.com

The four-step setup workspace. a.deptmatic is the build that answers "what does onboarding feel like?" — set it up in four steps, then watch it read your site, produce real work, and hold every deliverable for approval.

It is the clearest expression of Phase 1 → Phase 3 of the lifecycle: a guided path from a cold URL to a working department with deliverables waiting in the queue.

Chapter 36

The command edition — b.deptmatic.com

The department at scale. b.deptmatic is the build for running many businesses on one engine: a network-wide leaderboard across every site, a command palette, bulk approvals, and a planning simulator.

Where the flagship manages one business well, the command edition manages a portfolio — the same approval discipline, but with the tools to triage and act across dozens of sites at once. It is the operator's cockpit.

Chapter 37 · Case engine

The magnetics case engine — c.deptmatic.com

The engine pointed at a real, hard, technical niche: programmable magnets. c.deptmatic runs the engine end to end on two live magnetics guides and builds three department concepts for the company behind the technology, Polymagnet.

Its own headline stat strip, verbatim: "2 live guides audited & run on the engine · 3 department concepts, all built for Polymagnet · engine avg 63/100." The full numbers are the subject of the case study in Chapter 42. What makes it a proof rather than a demo is its own disclaimer: "Nothing below is a mockup. Every number and every link is live."

The three conceptsEach department concept is a real, live take on a Polymagnet marketing department — a "departure board," an "engineer's brief," and a "wonder-first" wonder-led site — at real subdomains, not slides.
GuideOverallSEOContentAI SearchSocialTechnical
multipolemagnets.com — the coded-magnet review665790753390
multipolemag.com — the definitive guide604375801790

Those are the live scores as read from the case file on 2026-07-16 — and each card publishes its real punch list. Queued next for the review: Search Console verification, H1/title keyword alignment, and a complete share-image stack. Queued for the guide: Search Console verification, breadcrumb schema, linked social profiles, and outbound authority citations. The case file calls these "the engine's real, current punch list" — the same queue an operator sees.

Next on the boardThe case file's own roadmap, verbatim: "the same treatment on the live Polymagnet store itself — a real before-and-after on the actual catalog, in time for PCBC."
Chapter 38 · Case engine

The homebuilding case engine — d.deptmatic.com

The most complete proof the engine has: one engine run end to end on six real homebuilding sites, each with a shipped, re-audit-verified fix. This is the case file for Tim and Melissa's own industry.

Its stat strip, verbatim: "6 live sites audited & run on the engine · 3 service lines mapped for homebuilding media · engine avg 64/100 after the shipped fixes." What shipped to each site was FAQ-schema (FAQPage JSON-LD) markup — "verified by re-audit, live on the site now, and one-click reversible." The per-site before-and-after is the centerpiece of Chapter 41.

SiteNicheOverallShipped delta (re-audit verified)
smallhomevillage.comTiny-home village, Austin6865→68 · AI Search 73→89
offgridder.comOff-grid living & solar6461→64 · AI Search 64→80
cargosolar.comSolar container homes6461→64 · AI Search 64→80
earthscrapers.comUnderground architecture6358→63 · AI Search 64→80, Content 70→80
greenhomevideo.comGreen building & eco homes6258→62 · AI Search 55→70, Content 70→80
bastropbuilder.comBuilders & permits, Bastrop TX6055→60 · AI Search 55→70, Content 55→65

Scores as read live on 2026-07-16. The shipped fix on every site was the same: FAQPage JSON-LD markup, drafted by the engine, approved by a human, verified by re-audit, and one-click reversible. The AI Search column moves the most because that is exactly what FAQ schema feeds.

Honesty guard, in the wildThe case file flags its own weak column rather than hiding it: "Notice Social sits low on every card? That's real — none of these sites have social profiles yet, and the engine won't inject a fake sameAs to inflate the number. Every score here is exactly what's on the page."
Chapter 39 · Output

The Polymagnet rebuild — 1.deptmatic.com

Not a case file about the engine — a finished thing the engine's thinking produced. 1.deptmatic is a full marketing rebuild for the programmable-magnets maker, live and readable as the output end of the pipeline.

Where c.deptmatic shows the audit and the concepts, 1.deptmatic shows what "shipped" looks like when the department's work is carried all the way through — the before-and-after made whole.

What "carried all the way through" means, as published on the live rebuild: a full product story for the programmable magnet — the five programmed behaviors (Attach, Align, Latch, Spring, Torque), each explained as engineering rather than magic; an applications library spanning consumer electronics, positioning devices, and industrial design; and the company's own proof points restated cleanly — 100+ issued U.S. patents, energy focused up to 5x stronger than a conventional magnet of the same size, days from prototype to hand.

The site is a complete department-grade build: Applications, Catalog, Design Software, Magnetizers, Custom Solutions, FAQ, Resources, About, and Contact — with "Request a sample" as the conversion spine. Set it next to the audit cards in Chapter 37 and you are looking at both ends of the pipeline at once: the punch list, and the finished thing.

Chapter 40

Day in the Life — automarketing.wholetech.com

The department as a live 24-hour timeline. This build answers "what does the department actually do all day?" with a running clock and a "now" line showing what each role is doing this minute.

Technically it is a data-driven dashboard — it reads a per-site data file of role activity rather than the live /analyze output — so it is the family's showpiece for the rhythm of the department: seven desks (content, SEO, social, email, revenue, analytics, creative) plus an Ops desk, each ticking through its day. It is the long-form feature: "the department that runs on a schedule, not a payroll."

Part VII

Proof it works

Not claims — measured results, every number sourced from a live case file or the engine's own logs. This is the part to read alongside anyone deciding whether the engine is real.

Chapter 41 · Case study

Six homebuilding sites, before and after

The clearest evidence the loop closes. The engine audited six real homebuilding sites, drafted the same fix for each — FAQ-schema markup, the Answer-Engine role's signature move — shipped it after approval, and re-audited to confirm the lift. Every number below is from the live case file at d.deptmatic.com.

Homebuilding case · shipped FAQ-schema · engine avg after64/100
Spring VillageAI-Search 73→89 · 65→68
OffGridderAI-Search 64→80 · 61→64
CargoSolarAI-Search 64→80 · 61→64
EarthscrapersAI-Search 64→80 · 58→63
Green Home VideoAI-Search 55→70 · 58→62
Bastrop BuilderAI-Search 55→70 · 55→60

Read the pattern, not just the numbers: the same fix, applied by the same role, moved the AI-Search score on every site — because FAQ-schema is exactly what an answer engine needs to quote a page. Content rose where the FAQ added substance (Green Home Video 70→80, Earthscrapers 70→80). Overall climbed everywhere. And it was verified by re-audit — the engine re-scored after shipping, so this is measured lift, not a projection.

Straight talk — the honest ceilingsEvery one of these sites still carries a Social score of 17, because none has social profiles and the engine won't fake a sameAs (Chapter 10). And no overall crosses into the 90s, because the headroom cap and reality cap hold. The proof is the movement — real deltas from a real fix, all reversible.
Chapter 42 · Case study

Two magnetics guides, audited live

The engine run on a genuinely hard technical niche, to show the audit holds up outside easy verticals. Both scores are current, audited values from c.deptmatic.com.

Multipole · multipolemagnets.com66/100
SEO57
Content90
AI Search75
Social33
Technical90
Multipole Mag · multipolemag.com60/100
SEO43
Content75
AI Search80
Social17
Technical90

The report for multipolemag.com cites the exact page facts it read: "Title length 79 chars, homepage words 1023, H1/H2 1/4, sitemap URLs 35, JSON-LD blocks 2, internal links 38, social profiles none." The score history in the workspace shows this site's audited overall climb — 54 → 55 → 60 — as fixes shipped over two days. The report's disclaimer, verbatim: "Every number on this page comes from a real fetch of multipolemag.com — nothing is invented."

Chapter 43 · The load-bearing proof

Ship-and-rollback, proven end to end

The single most important proof in this manual: the engine has demonstrably shipped a real change to a live site and rolled it back — logged, timestamped, with the snapshot files still on disk. This is what makes "reversible by construction" a fact, not a promise.

Logged evidence · multipolemag.com workspace
2026-07-09 11:16:43Shipped 'Title tag rewrite' to live multipolemag.com (one-click rollback available)
2026-07-09 11:16:45Rolled back 'Title tag rewrite' — live site restored
deliverable s9"AISO refresh — FAQ schema" · status shipped · 2026-07-13 15:00:13
ship_backup/opt/autoengine/ship-backups/multipolemag.com/index.html.20260713150013.bak
on disk network-wide56 domain folders · 83 snapshots, real and timestamped

A ship and its rollback, two seconds apart, on a live site — that pair is the whole safety model working under real conditions.

The number moving, with timestamps

The strongest proof isn't a claim of improvement — it's the improvement happening in the log. The multipolemag.com workspace keeps a score_history, and it records the overall score climbing as fixes shipped over three days. This is not a projection or a mock-up; it is the datastore's own timestamped record.

multipolemag.com · score_history · verbatim overall values
2026-07-09 11:31overall 54
2026-07-09 11:39overall 55
2026-07-10 19:32overall 60  ← FAQ-schema ships
2026-07-10 19:47overall 62
2026-07-12 09:33overall 64

At scale — this is not a demo

The evidence is not one lucky site. The engine's own datastore shows the breadth of real work:

The engine's datastore · counted, not claimed
sites audited273 real workspaces on disk
deliverables produced2,719 across those sites
shipped to live sites24 — incl. austinmayor.com, texascoworking.com, fableguide.com, ofsthai.com (2026-07-13)
reversible snapshots56 folders · 83 backup files on disk

Two hundred seventy-three sites audited, twenty-four fixes shipped to live production, every one of them reversible — with the snapshots to prove it. That is the difference between a working system and a slide deck.

Chapter 44

Network readiness at scale

Beyond individual case studies, the engine's discipline shows up across the whole network it runs on. The Agents-First readiness audit — the same AI-reader criteria the engine scores — puts nearly every network site at the top of the scale.

Agents-First readiness · af-scores.json
sites scored142 domains
at 100/100138 of 142
flagship sample (af-audit.json)wholetech.com 100 · ai.wholetech.com 100 · texascoworking.com 100 · tvreviewer.com 100 · austinmayor.com 100 · smallhomevillage.com 100
the audit is a real APIPOST automarketingengine.com/api/analyze → live 0–100 scores (wholetech.com scored 75 overall)

The /api/analyze endpoint is the same one the onboarding form calls — so the audit a prospect runs on their own site is the identical machinery that scores the network. When it read wholetech.com it returned real signals: 3,969 words, three JSON-LD blocks, schema types including FAQPage and Organization, 396 sitemap pages, an llms.txt and an AGENTS.md both present. Nothing simulated.

Part VIII

Verify it works

Don't take the last part on faith. This is a test protocol anyone can run — a human in a browser, or an agent from a shell — to confirm the engine does what this manual says. Every step has a clear pass condition.

Chapter 45 · The test protocol

Test it yourself: a protocol for humans and agents

Proof you can reproduce beats proof you have to believe. This chapter gives two runnable test tracks against the live system — one for a person, one for an agent — plus the pass criteria that together demonstrate the engine reads real pages, refuses to invent, gates on approval, and reverses cleanly.

Run either track, or both. Nothing here mutates a site you don't own: the audit is read-only, and the only write path (ship) is whitelisted to the operator's own test beds. Everything below hits public endpoints.

Track A — the human test (browser, ~10 minutes)

No tools beyond a web browser. Each step states what to do and what a pass looks like.

#Do thisPass condition
A1Open automarketingengine.com and run the free audit on a website you know well (ideally your own).A 0–100 overall plus five discipline scores appear, with a ranked fix list — within a few seconds, no signup.
A2Read the findings against reality. Pick three and check them by hand — e.g. view the page's title length, count its H1s, look for a sitemap.The findings match what's actually on the page. It describes your site, not a generic template.
A3Re-run the exact same URL a second time.The scores are the same (or move only with real page changes). It's deterministic, not random.
A4Audit a URL that cannot be read — a made-up subdomain that returns nothing.The engine says it couldn't read the page and produces no invented findings. This is the honesty guard (Chapter 10).
A5Open a shareable report directly: deptmatic.com/api/report/multipolemag.comA branded report renders with the exact page facts it read ("title length…, homepage words…") and the disclaimer "nothing is invented."
A6Open the homebuilding case file at d.deptmatic.com and pick any site's before/after.The shipped fix and the score delta shown match Chapter 41 of this manual (e.g. Spring Village AI-Search 73→89).
A7Confirm the human gate: look for where deliverables are approved, and confirm nothing claims to auto-publish or auto-send email.Every deliverable has an approve/edit/reject state; outbound email is drafted, never sent.

Pass all seven and you have confirmed, by hand, the four core claims: it reads the real page (A2), it's deterministic (A3), it refuses to fabricate (A4, A5), and it keeps a human in control (A7).

Track B — the agent test (shell, scriptable)

For an AI agent or an engineer with curl and jq. These are assertions, each with an expected result. An agent can run them in sequence and report pass/fail.

B1 · the audit is a real, live API
curl -s -X POST https://automarketingengine.com/api/analyze \
  -H 'Content-Type: application/json' -d '{"url":"https://wholetech.com"}' | jq .scores
# PASS: returns {overall, SEO, Content, "AI Search", Social, Technical} — all integers 0..100
B2 · findings come from a real fetch (not canned)
curl -s .../api/analyze -d '{"url":"https://wholetech.com"}' | jq '.signals.word_count, .signals.jsonld_count, .signals.sitemap_pages'
# PASS: real page facts (e.g. ~3969 words, 3 jsonld blocks, ~396 sitemap pages). Change the URL — the numbers change with the page.
B3 · the honesty guard fires on an unreachable page
curl -s .../api/analyze -d '{"url":"https://no-such-host.invalid"}' | jq '.reached, .recommendations.cro'
# PASS: reached=false, and cro/analytics/paid/research each return the honest note — never invented findings.
B4 · determinism — same input, same score
a=$(curl -s .../api/analyze -d '{"url":"https://wholetech.com"}' | jq .scores.overall)
b=$(curl -s .../api/analyze -d '{"url":"https://wholetech.com"}' | jq .scores.overall)
# PASS: a == b (barring a real change to the page between calls).
B5 · the caps hold — no fabricated perfection
curl -s .../api/analyze -d '{"url":"<any-site>"}' | jq '.scores | to_entries | map(.value)'
# PASS: no first-audit category exceeds 90 (headroom cap); overall respects the reach reality cap.
B6 · niche detection is real
curl -s .../api/analyze -d '{"url":"https://multipolemag.com"}' | jq .niche
# PASS: classifies as magnetics/magnets — from the page's own words, not the domain.
B7 · reversibility is physical (host access)
ls /opt/autoengine/ship-backups/*/ | wc -l
# PASS: real timestamped .bak snapshots exist (56 folders / 83 files at time of writing) — every ship is reversible.

Track C — measuring success over time (AWStats)

Tracks A and B prove the engine works. Track C proves it helps — the outcome that actually matters. The engine's sixth discipline, Reach, is measured from real AWStats traffic (Chapter 6), so the honest success metric is simple: after the engine ships fixes, do the numbers move in the weeks that follow?

MetricSourceSuccess signal
Reach (monthly uniques)AWStats, per domainRises over the weeks after fixes ship. This is the real-world outcome, not a self-scored one.
Overall readinessengine score_historyClimbs as deliverables ship — see the timestamped climb in Chapter 43.
AI-Search scoreengine, per auditRises when schema / llms.txt / FAQ ships — the leading indicator of agent-era visibility.
Deliverables shippedworkspaceNon-zero and growing — the department is producing and you are approving.
Pages indexed / crawlAWStats + Search ConsoleMore pages found and hit after site-architecture and sitemap fixes.

The method is a clean before-and-after: record the baseline (audit scores + the last full AWStats month) before any fix ships; ship the approved fixes; then compare the next full month. The lift is real because Reach is measured, and the engine refuses to fabricate it (Chapter 10) — an unmeasured month reads as unmeasured, never as a flattering guess.

The live scoreboard — wholereach.com/alldomainsYou don't have to track this by hand. Every domain the engine runs on is listed on the WholeReach installed-base worksheet — a sortable table with the engine's success columns for each site: overall readiness, the five discipline scores, measured Reach from AWStats, and deliverables shipped. Sort by any column to see who's strongest, who's moving, and where the next fix should go. That worksheet is Track C, run continuously across the whole portfolio.
Figure 45.1 — the live installed-base worksheet, embedded. Every domain the engine runs on, with its success metrics. Open the full worksheet →

The scorecard

Together, the three tracks test every load-bearing claim in this manual — that it works (A, B) and that it helps (C). Map them to what they prove:

Claim (from Chapter 1)Proven by
It reads the real pageA2, B1, B2, B6
It never invents findingsA4, A5, B3
The numbers are honest (caps, determinism)A3, B4, B5
A human approves everythingA7
Every change is reversibleA6, B7, and the logged ship/rollback in Chapter 43
For an agent running this unattendedTreat B1–B7 as assertions: parse the JSON, check each PASS condition, and emit a single pass/fail table. B7 requires host access; skip it if you only have HTTP and rely on Chapter 43's logged evidence instead. Report any deviation with the actual value received — the same discipline the engine holds itself to.
What a fair test will and won't showThese tests prove the engine does what it claims: real reads, honest refusals, human gating, clean reversal. They do not prove marketing outcomes like revenue — that takes a live engagement over time, and the case files in Part VII are the closest honest evidence of lift (measured score movement from shipped fixes). If a step fails, that is a real finding: note it and file it, don't wave it away.
Part IX

Administration & upgrades

The runbook. How to keep the service running, what the cron does each day, how to refresh the skills library, and how to add a department, a niche or a check without breaking anything.

Chapter 46

Running and restarting the service

The engine is a systemd service. Administering it is ordinary systemd — start, stop, restart, check status, read logs.

Service control
systemctl status autoengine # is it running?
systemctl restart autoengine # after a code change
journalctl -u autoengine -n 100 # recent logs
curl -s 127.0.0.1:8932/health # liveness: {"ok":true,...}

Because it binds loopback only, you test it locally on the host and let the reverse proxy serve it publicly. It restarts on failure automatically (Restart=on-failure), so a crash self-heals; a code change needs a manual restart to take effect. The sibling autom-api.service handles the launch/intake and domain-check API and is controlled the same way.

Chapter 47

The daily cron

The department produces fresh work every day without anyone pressing a button. That is daily-run.sh, on a midnight cron.

The job at /opt/autoengine/daily-run.sh runs at 00:00 CT and drives the engine's daily production — the mechanic behind the Manager Agent's "what got done" list. It is the automated half of the loop; the approval gate is still the human half, so "produced" is not "published."

What runs on its own, and what never doesSeven roles produce automatically on the schedule. Publishing of most work can be set to automatic per role. Two things never are: the approval of a deliverable, and the sending of outbound email. Those wait for a person, by design.
Chapter 48

Refreshing the skills library

The 47 skills and 427 prompts are regenerated on a weekly cron and synced to every property in the family. The one thing to know as an administrator: the order is not arbitrary.

The refresh is /root/ame-refresh.sh, run Monday mornings. It regenerates the prompts, then the skills, then copies the built /prompts/ and /skills-preview/ directories out to every mirror.

ame-refresh.sh · order is load-bearing
python3 /root/gen-ame-prompts.py # FIRST — writes ame-prompts.json
python3 /root/gen-ame-skills.py # SECOND — reads ame-prompts.json
cp -r prompts/ skills-preview/ → 14 family mirrors
Do not swap the orderThe skills generator reads the JSON the prompts generator writes. Run skills first and a mirror will show a stale prompt count. This exact bug bit once and was fixed by enforcing prompts-before-skills — keep it that way when editing the refresh script.
Chapter 49

Upgrading the engine safely

The engine is meant to grow — more live analyzers, more niches, more checks. Here is how to add each without breaking what runs, following the patterns already in the source.

To promote a skill to a live analyzer

The path CRO, Analytics, Paid Media and Market Research already walked: write a <role>_recos(d, niche) builder that reads real fields from sig, wire it into seo_aiso()'s return behind the reached guard (so it honors the fabrication rule), and add its view to the app. Never let it produce output when the page wasn't reached — inherit the honest note.

To add a niche

Add a (label, keywords) tuple to the NICHES list in priority order. Position matters: earlier niches win ties, so place a specific niche (like magnetics) ahead of a general one (like marketing). Give it enough distinctive keywords to score reliably.

To add a check

Inside score_site(), register it with add(area, label, ok, why, fix, weight). It automatically joins its discipline's roll-up. Respect the headroom cap — a new check should never let a first audit reach 100.

The deployment discipline

Edit the generator, not the output. The reliable pattern across the whole network is: write the change as a script, copy it to the host, run it, and verify live — never hand-edit a generated file that a cron will overwrite. Restart autoengine after any server.py change. And for the family sites, keep the editions at parity: an essential, safe upgrade to the flagship propagates to the mirrors.

The upgrade philosophyEvery upgrade should preserve the three commitments from Chapter 1: read the real page, gate on human approval, keep it reversible. A change that weakens any of the three isn't an upgrade — it's a regression, however much it adds.
Appendix A

Endpoint reference

Every HTTP route on the backend service. A leading /api/ is stripped, so each works both bare and under /api/. Bind: 127.0.0.1:8932.

Verified readout — a real call, 2026-07-16
POST https://automarketingengine.com/api/analyze with body {"url":"https://wholemagnetics.com"} returned HTTP 200 in a few seconds. The body key must be url — a bare "domain" key is rejected with a validation message. Public base: automarketingengine.com (nginx proxy to 127.0.0.1:8932); the same routes work bare and under /api/.

What comes back from /analyze is the full workspace. Top-level keys, as observed: domain, brand, niche, intake, analysis, score_history, checklist, approvals, connections, created, updated. Inside analysis: scores (keys SEO, AI Search, Content, Social, Technical, overall — first audit capped at 90), reach (measured separately), plus signals, recommendations, roadmap, priorities, calendar, checks, and social.

Then open https://automarketingengine.com/report/<domain> for the branded, shareable report of the same audit. New here? The five-minute walk-through is at the Quickstart.

GET

RouteReturns
/, /healthLiveness: {"ok":true,"service":"autoengine",...}
/report, /report/<domain>Branded, shareable HTML audit report
/workspacesList of all workspaces
/workspace?domain=One site's full workspace JSON
/roster{domains, count, seed}
/portfolio, /networkPortfolio rows + aggregate readiness
/network/status, /network/progressNetwork job status

POST

RouteDoes
/analyzeRun an audit: {url, intake} → score, roles, workspace
/ship, /rollbackPublish / undo a deliverable (snapshot-backed)
/assistThe "ask your marketing team" chat
/run-dailyRun the department's daily production
/network/runStart a network-wide run
/check, /approve, /connect, /deleteWorkspace mutations
/activate, /deliverable, /deliverable/editExecution layer
Appendix B

The 47 skills, indexed

All 47 skills from coreyhaines31/marketingskills, alphabetized, with a one-line description and the engine department that carries each (see the coverage matrix, Chapter 31).

SkillWhat it doesDept
ab-testingPlan, design and run A/B tests and experiment programsAnalytics
ad-creativeGenerate and iterate ad creative — headlines, primary text, full adsPaid Media
adsPlan and structure paid-ads campaigns and account setupPaid Media
ai-seoOptimize for AI answer engines — llms.txt, AGENTS.md, citable contentAnswer-Engine
analyticsSet up measurement — GA4, events, conversion tracking, dashboardsAnalytics
asoApp-store optimization — listing, keywords, conversionSEO Manager
churn-preventionReduce churn — retention triggers, win-back, cancellation flowsEmail Writer
co-marketingPartner and co-marketing campaignsOutbound
cold-emailCold-email sequences and deliverabilityOutbound
community-marketingBuild and grow a community around the productSocial
competitor-profilingDeep profiles of individual competitorsResearch
competitorsMap the competitive landscape and positioning gapsResearch
content-strategyPlan the content calendar and topic strategyContent Desk
copy-editingEdit and tighten existing copyContent Desk
copywritingWrite conversion-focused copy — pages, headlines, CTAsContent Desk
croDiagnose and improve how visitors convertCRO
customer-researchUnderstand the audience — interviews, surveys, JTBDResearch
directory-submissionsGet listed in relevant directoriesOutbound
emailsLifecycle and broadcast email — drafted, never auto-sentEmail Writer
free-toolsBuild free tools as a growth channelContent Desk
imageGenerate and direct marketing imageryContent Desk
launchPlan and run a product or feature launchManager
lead-magnetsDesign lead magnets that convertContent Desk
marketing-councilConvene a multi-perspective marketing reviewBoard
marketing-ideasGenerate and prioritize marketing ideasManager
marketing-loopsDesign self-reinforcing growth loopsManager
marketing-planBuild the overall marketing plan and roadmapManager
marketing-psychologyApply behavioral principles to marketingContent Desk
offersDesign and structure compelling offersResearch
onboardingImprove product onboarding and activationCRO
paywallsDesign and optimize paywallsCRO
popupsDesign and optimize on-site popupsCRO
pricingSet and test pricing and packagingResearch
product-marketingThe foundation — product, audience, positioning (read first by all)Manager
programmatic-seoBuild SEO pages at scale from structured dataSEO Manager
prospectingBuild and qualify outbound prospect listsOutbound
public-relationsEarn press and manage PROutbound
referralsDesign referral and word-of-mouth programsOutbound
revopsRevenue operations — pipeline, attribution, processAnalytics
sales-enablementEquip sales with content and collateralOutbound
schemaAdd structured-data (JSON-LD) markupAnswer-Engine
seo-auditAudit a site's SEO and prioritize fixesSEO Manager
signupOptimize the signup flowCRO
site-architectureStructure a site's information architecture and internal linksSEO Manager
smsSMS marketing — drafted for approvalEmail Writer
socialTurn content into a steady social presenceSocial
videoPlan and script marketing videoContent Desk

Descriptions summarized from each skill's purpose; the authoritative SKILL.md for each lives at github.com/coreyhaines31/marketingskills/tree/main/skills.

Appendix C

Glossary

AEO / Answer-Engine Optimization — making a page findable and quotable by AI readers (ChatGPT, Claude). Scored as the "AI Search" discipline.
Agents First — the network principle that being readable by AI agents matters as much as by search crawlers.
Approval queue — the list of drafted deliverables waiting for a human's one-tap yes. Nothing ships without passing through it — the whole point of the department model.
Case engine — a deptmatic build that runs the engine end to end on real sites in one vertical and publishes the results as a live case file — magnetics at c.deptmatic.com, homebuilding at d.deptmatic.com.
Deliverable — one unit of drafted work in a workspace, with an approval status and, once shipped, a snapshot to roll back to.
Headroom cap — the rule that no category scores above 90 on a first audit.
Honesty guard — code that refuses to invent findings when the page wasn't reached or data is missing.
Intake — the onboarding object (goals, channels, audience, budget) posted with a URL to personalize the audit.
llms.txt / AGENTS.md — machine-readable files that tell AI readers what a site is; their presence is scored under AI Search.
Marketing Health Score — the public name for the engine's 0–100 overall score, as presented on the case files' “Score my site” widgets.
Mirror (family) — one of the sites that receives a synced copy of the skills and prompt libraries from automarketingengine.com on the weekly refresh — 14 mirrors at present, listed in ame-refresh.sh.
Punch list — the ranked list of open gaps an audit produces — each line is a fix the department can draft. The case files publish theirs verbatim.
Reach — the sixth, measured discipline, computed from real AWStats traffic, never fabricated.
Reality cap — when Reach is measured, the overall score is capped relative to actual traffic.
sameAs — the JSON-LD property linking social profiles; the engine refuses to fake one.
Score history — the per-workspace record of every audit's scores over time (workspace key score_history) — the data behind before/after deltas and trend views.
Ship / rollback — publishing an approved change (snapshot first) and its one-click undo.
Signals (sig) — the dictionary of facts parsed from a page-fetch that every department reads.
Skill — a SKILL.md file giving an agent a marketing framework; 47 in the library.
Workspace — the per-site JSON datastore holding scores, deliverables, connections, and score history.
Index

Index

Alphabetical, by chapter. Concepts, functions, departments and engines.

ame-refresh.sh — 48
analyze, /analyze — 5, 44, App A
analytics_recos() — 20
Answer-Engine (AEO) — 14, 41
Approval Queue — 2, 25
Auditor — 12
autoengine.service — 4, 46
b.deptmatic (command) — 36
Board of Advisors — 24, 26
c.deptmatic (magnetics) — 37, 42
content calendar — 15
Content Desk — 15
coverage matrix — 31
CRO / cro_recos() — 18
d.deptmatic (homebuilding) — 38, 41
daily-run.sh — 47
department, three layers — 11
dependency graph (skills) — 28
deptless / deptmatic — 34
detect_niche() — 7
editions — 34
Email Writer — 17
fabrication guard — 10
Haines, Corey — 27, 32
headroom cap (90) — 6
honesty guards — 10
industry packs (24) — 30
intake object — 5, 26
lifecycle, four phases — 26
llms.txt / AGENTS.md — 5, 14
Manager Agent — 23, 26
MIT license — 32
NICHES list (16) — 7, 49
Outbound / Demand Gen — 22
paid_recos() — 19
Polymagnet — 37, 39
product-marketing (skill) — 28, 31
prompt library (427) — 30
Reach (measured) — 6, 10
reality cap — 6
research_recos() — 21
ship / rollback — 9, 43
score_site() — 6
SEO Manager / seo_aiso() — 13, 14
skills, 47 — 29, App B
Skills coverage, all 47 — 31
Social Scheduler — 16
test protocol / verify — 45
workspace JSON — 8

↑ Back to top