--- summary: Operating system for WREA marketing and growth work, including data sources, scripts, skills, cadence, safety rules, and weekly recommendations. read_when: - "Planning the WREA weekly or daily growth process" - "Listing available WREA marketing and growth tools, scripts, skills, and data sources" - "Turning WREA growth recommendations into a recurring operating rhythm" - "Designing approval-gated actions for Google Ads, Microsoft Ads, WordPress, SEO, email, or CRM nurture" --- # WREA Growth Operating System ## Purpose This document is the operating manual for WREA marketing and growth work in this private repo. The goal is to make Codex useful as a recurring growth operator, not just a report writer. The system should help Thomas understand what is happening across the funnel, why it is happening, what should be done next, and which recommendations are safe to action only after approval. The default mode is read-only investigation and recommendation. Live changes to Google Ads, Microsoft Ads, WordPress, CRM/email, or production systems require explicit approval. ## Operating Principle Use deterministic evidence first, then judgement. The marketing question is not "did traffic go up?" It is: 1. Which demand did we capture? 2. Which traffic sources produced real seller intent? 3. Which visits became leads, calls, or form submissions? 4. Which leads became meeting-agent introductions? 5. Which introductions produced gross profit? 6. Which pages, ads, content, emails, and competitor moves explain the result? 7. What should WREA do next, with the least wasted spend and the most compounding advantage? ## Funnel Map | Funnel Stage | Main Question | Primary Evidence | Secondary Evidence | | --- | --- | --- | --- | | Market demand | What are sellers searching for? | Semrush, Search Console | competitor sitemaps, Google Ads search terms | | Traffic acquisition | Which channels brought visitors? | GA4/Search Console cache, ad platforms | Clarity channels | | Paid search | Which campaigns bought useful intent? | CRM source economics | Google Ads, Microsoft Ads, Auction Insights | | Organic search | Which pages and queries created visibility? | Search Console cache, Semrush | sitemap/page-family analysis | | Landing pages | Did users understand and act? | Clarity, form/call outcomes | browser review, page QA | | Lead capture | Did visitors become leads/calls? | CRM leads, forms, call logs | Clarity SubmitForm events | | Sales handoff | Did leads become meeting-agent intros? | CRM `meeting_agents_at` | ad-platform offline conversion uploads | | Commercial outcome | Did the source create gross profit? | CRM estimated gross profit | Xero/P&L context where needed | | Nurture | Did WREA keep sellers warm? | CRM workflows/templates/tags | Gmail/OpenAgent competitor email evidence | | Competitive strategy | What systems are competitors building? | Semrush, competitor site scan | emails, landing-page teardown, subagents | ## Source Of Truth Rules CRM source economics is the business truth for leads, introductions, and gross profit. Platform conversions are useful, but diagnostic. Search Console and GA4 cache are the truth for WREA organic and onsite acquisition trends where available. Semrush is directional competitor intelligence, not accounting truth. Use it to identify page families, keyword gaps, paid search themes, and content opportunities. Microsoft Clarity is user-behaviour evidence. It explains friction, hesitation, errors, dead clicks, scroll depth, and page-level UX problems. Competitor sitemaps and website scans explain the structure of competitor strategy. Do not report every templated URL; report page families, examples, counts, new movement, and what WREA should build. OpenAgent email evidence should use Brain-local GOG first. Use the generic Gmail connector only if the local GOG lane is unavailable. ## Main Skills | Skill | Use | | --- | --- | | `wrea-growth-funnel-operator` | Main WREA growth-report and recommendation workflow. Start here for weekly/daily growth reviews, paid media, Semrush, competitor content, OpenAgent email, Clarity, and Telegram delivery. | | `pp-semrush` | Semrush API/CLI skill for domain, keyword, gap, Venn, paid search, organic pages, backlink, and project-style analysis. | | `wrea-xero` | Profit, debtors, and P&L context when growth needs financial reality. | | `motley-gsd` | Recurring execution, follow-up, and Chief of Staff style action tracking. | | `gmail:gmail` | Gmail search/read/summarise when competitor email or customer email context is needed. | | `google-drive:*` | Docs, Sheets, Slides, reporting, content plans, and shared growth assets. | | `build-web-apps:*` and `superdesign` | Landing pages, calculators, dashboards, prototypes, and content-tool interfaces. | | `private-here-now` and `pp-here-now` | Private publishing of report-style artifacts or microsites when needed. | | `handoff` | Future-session handoff documents for long-running growth work. | | `teach` | Explaining growth systems, SEO strategy, paid-search logic, or funnel strategy. | ## Main Scripts And Tools | Area | Tool Or Script | What It Answers | | --- | --- | --- | | Parent weekly report | `scripts/wrea_growth_operator_weekly_report.mjs` | Full-funnel weekly CEO report, evidence packet, trend/action ledger, Telegram cover text. | | FY27 board/ledger reconciliation | `scripts/wrea_fy27_ledger_board_reconcile.mjs` | Report-only check for contradictions between the growth action ledger and the FY27 board. | | CRM source economics | `scripts/report_sales_funnel_condensed.sh` | Which sources produced leads, intros, cost per intro, and gross profit. | | Google Ads change history | `scripts/google_ads_change_history_review.sh` | What changed in Google Ads, who changed it, and whether it aligns with performance. | | Google Ads API helper | `scripts/google_ads_change_history_review.php` | Lower-level read-only collector used by the shell wrapper. | | Auction Insights | `scripts/google_ads_sync_auction_insights_local.mjs` | Competitor pressure in Google Ads. | | Microsoft Ads | `scripts/microsoft_ads_readonly_report.sh` | Read-only Microsoft/Bing campaign evidence. | | Semrush competitor strategy | `scripts/semrush_competitor_strategy_scan.mjs` | Keyword gaps, page-family demand, Venn opportunities, paid/organic competitor evidence. | | Semrush CLI wrapper | `scripts/semrush_pp_cli.sh` | Keychain-backed PrintingPress Semrush CLI wrapper for WREA. | | Semrush direct adapter | `scripts/semrush_api_direct.mjs` | Direct API fallback for subfolder and compatibility issues. | | Competitor website strategy | `scripts/competitor_content_strategy_scan.mjs` | Sitemaps, page families, templated content systems, recent/new content. | | OpenAgent emails | `scripts/openagent_email_strategy_scan.mjs` | Competitor email strategy by sender, theme, lifecycle, and list. | | Google marketing data | `workspace-overlay/.codex/local-overview/marketing-data/fetch-google-marketing-data.mjs` | Search Console and GA4 marketing data refresh. | | Google marketing backfill | `workspace-overlay/.codex/local-overview/marketing-data/backfill-google-marketing-data.mjs` | Historical organic/GA4 backfill. | | Google marketing all-in refresh | `workspace-overlay/.codex/local-overview/marketing-data/fetch-all.sh` | Convenience refresh for Google marketing cache. | | Clarity helper | `workspace-overlay/.codex/bin/clarity-mcp-wrea.sh` | Clarity MCP wrapper for WREA. | | Clarity low-level helper | `workspace-overlay/.codex/bin/clarity-mcp-call.mjs` | Direct local Clarity MCP call helper. | | Telegram text | `scripts/send_telegram_text.sh` | Safe Telegram text sending from a file/stdin. | | Telegram document | `scripts/send_telegram_document.sh` | Sends HTML reports as Telegram documents. | | Local dashboard Telegram | `workspace-overlay/.codex/local-overview/send-telegram-message.sh` | Local dashboard Telegram sender with rich-message table auto-rendering and plain-text fallback. | | Dashboard source refresh | `workspace-overlay/.codex/local-overview/dashboard-source-refresh-runner.sh` | Local dashboard source refresh runner. | | Evening summary | `workspace-overlay/.codex/local-overview/generate-evening-telegram-summary.mjs` | Local evening summary generation. | | Telegram command runner | `workspace-overlay/.codex/local-overview/dashboard-telegram-command-runner.sh` | Telegram-driven local dashboard/Motley command lane. | ## Connectors And External Tools | Connector Or Tool | Useful Growth Jobs | | --- | --- | | Microsoft Clarity MCP | Session recordings, behaviour analytics, dead clicks, rage clicks, JS errors, SubmitForm, top pages, friction diagnosis. | | Gmail connector | Competitor email research, customer/prospect thread review, email strategy summaries. | | Google Drive/Docs/Sheets/Slides connectors | Content plans, SEO roadmaps, weekly reports, executive decks, working sheets. | | Google Calendar connector | Scheduling recurring reviews and aligning follow-up meetings. | | GitHub connector | Code/repo issues, PRs, and implementation tracking when growth work becomes product work. | | Atlassian Rovo | Jira/Confluence task creation, project status, and delivery handoff. | | Browser and Chrome control | Competitor funnel walkthroughs, landing-page QA, logged-in checks, screenshots, network review. | | Data Analytics widgets | Reader-friendly dashboards and reports when a structured data artifact is needed. | | Multi-agent tools | Parallel competitor research, independent QA, content review, and deeper strategy checks. | | Web search | Current public research, competitor changes, search results, market context, and source verification. | There is not currently a dedicated WordPress connector visible in this environment. WordPress work should therefore be done through available repo access, browser access, API credentials if provided, or draft artifacts until a reliable WordPress path is confirmed. ## Weekly Cadence Run the weekly process for the previous completed Monday-Sunday week by default. Preferred timing: Monday morning after CRM and ad-platform data have had time to settle. Core flow: 1. Refresh or collect source evidence. 2. Run CRM source economics. 3. Run Google Ads change history and Auction Insights when paid decisions are needed. 4. Run Microsoft Ads read-only report. 5. Run competitor content, Semrush, and OpenAgent email scans. 6. Run the parent weekly report generator. 7. Review the TLDR, data freshness, recommendations, trend/action ledger, and Telegram cover. 8. Send Telegram cover text from file/stdin. 9. Send HTML report as a Telegram document when requested or scheduled. 10. Carry unresolved issues forward in the trend/action ledger. Suggested command flow: ```bash /Users/tr/dev/tr-wrea-local-private/scripts/report_sales_funnel_condensed.sh --anchor-date YYYY-MM-DD --week-mode completed --weeks 12 --layout flat --format tsv /Users/tr/dev/tr-wrea-local-private/scripts/google_ads_sync_auction_insights_local.mjs --week-start YYYY-MM-DD /Users/tr/dev/tr-wrea-local-private/scripts/google_ads_change_history_review.sh \ --start YYYY-MM-DD \ --end YYYY-MM-DD \ --performance-start YYYY-MM-DD \ --performance-end YYYY-MM-DD \ --include-profitability \ --include-ad-groups /Users/tr/dev/tr-wrea-local-private/scripts/microsoft_ads_readonly_report.sh --report campaign --start YYYY-MM-DD --end YYYY-MM-DD --format json /Users/tr/dev/tr-wrea-local-private/scripts/wrea_growth_operator_weekly_report.mjs --start YYYY-MM-DD --end YYYY-MM-DD --format json /Users/tr/dev/tr-wrea-local-private/scripts/send_telegram_text.sh --file \ /Users/tr/dev/tr-wrea-local-private/artifacts/wrea/growth-operator/YYYY-MM-DD-to-YYYY-MM-DD/telegram-cover.txt /Users/tr/dev/tr-wrea-local-private/scripts/send_telegram_document.sh --file \ /Users/tr/dev/tr-wrea-local-private/reports/wrea-growth-operator-weekly-YYYY-MM-DD-to-YYYY-MM-DD.html \ --caption "WREA weekly growth review" ``` ## Recommendation Format Every recommendation should be specific enough to action or reject. Use this structure: | Field | Meaning | | --- | --- | | Action | What should be done. | | Why | The commercial reason, in plain English. | | Evidence | The data or observation supporting it. | | Confidence | High, medium, or low, with the limitation. | | Expected impact | Spend saved, revenue/profit protected, leads improved, content moat built, or insight gained. | | Risk | What could go wrong if we act. | | Owner | Thomas, paid-media operator, content, developer, or Codex draft. | | Mode | `do now`, `watch`, `draft`, `needs approval`, or `do not change`. | The recommendation should educate Thomas on the strategy, not merely list tasks. ## Paid Media Governance Use `docs/weekly-paid-media-governance-review.md` for full paid-media decision rules. The weekly paid-media verdict should be one of: - `cash-protection` - `volume-recovery` - `hold` - `scale-cautiously` Use CRM gross profit and cost per intro as the decision layer. Do not scale only because platform conversions look good. Do not cut automatically just because a campaign is low volume. Judge against configured target CPA, CRM intros, CRM gross profit, learning value, and sustained ad-group deterioration. Actual spend is context, not a separate weekly breach test. ## Organic And Competitor Strategy The most useful competitor question is not "what blog posts did they publish?" It is "what repeatable content systems are they building?" The weekly report should compare WREA against OpenAgent, LocalAgentFinder, RateMyAgent, and any added competitors across: - suburb pages - agent comparison pages - city/state pages - valuation and appraisal intent - commission and selling-cost tools - seller education - property management pages - blog/news/editorial support - lead magnets and email nurture Semrush should add demand weighting: - search volume by page family - keyword gaps - WREA ranking overlap - competitor-only keywords - top competitor URLs - Venn opportunities - paid-search evidence - recommended WREA page families to build first Do not let this section become superficial URL counting. The output should be a build strategy. ## Email And Nurture Strategy OpenAgent email evidence should be used to understand: - sender personas - list segmentation - seller lifecycle stages - frequency - repeated themes - valuation/report hooks - agent comparison hooks - market updates - urgency and trust-building patterns WREA's CRM/email recommendations should start with safe Phase 0 sizing and dry-run audiences before any send automation. ## Storage And Memory Use the following storage pattern: | Item | Location | | --- | --- | | CEO HTML report | `reports/wrea-growth-operator-weekly-YYYY-MM-DD-to-YYYY-MM-DD.html` | | Evidence packet | `artifacts/wrea/growth-operator/YYYY-MM-DD-to-YYYY-MM-DD/evidence.json` | | Trend/action ledger snapshot | `artifacts/wrea/growth-operator/YYYY-MM-DD-to-YYYY-MM-DD/trend-action-ledger.json` | | Latest trend/action ledger | `artifacts/wrea/growth-operator/trend-action-ledger.json` | | Paid-media dry-run | `artifacts/wrea/growth-operator/YYYY-MM-DD-to-YYYY-MM-DD/paid-dryrun.md` | | Content-production briefs | `artifacts/wrea/growth-operator/YYYY-MM-DD-to-YYYY-MM-DD/content-production-briefs.md` | | Latest content-production ledger | `artifacts/wrea/growth-operator/content-briefs-ledger.json` | | FY27 board/ledger reconciliation | `artifacts/wrea/fy27-execution/ledger-board-reconciliation.md`, `artifacts/wrea/fy27-execution/ledger-board-reconciliation.json` | | Telegram cover text | `artifacts/wrea/growth-operator/YYYY-MM-DD-to-YYYY-MM-DD/telegram-cover.txt` | | Semrush source cache | `artifacts/wrea/growth-operator/source-cache/semrush-competitor-strategy-YYYY-MM-DD-to-YYYY-MM-DD.json` | | Semrush Venn opportunities | `artifacts/wrea/growth-operator/YYYY-MM-DD-to-YYYY-MM-DD/semrush-venn-opportunities.json` | | Workflow instructions | `skills/wrea-growth-funnel-operator/SKILL.md` | | Operating docs | `docs/wrea-growth-operating-system.md`, `docs/weekly-paid-media-governance-review.md`, `docs/wrea-growth-review-memory-architecture.md` | | Current local handoff | `workspace-overlay/.codex/memory/current-context.md` | The current reliable WREA Semrush store is the repo JSON artifact lane, not the PrintingPress SQLite database. The SQLite database may be useful later if a deliberate sync/store workflow is added, but do not treat it as the weekly report source of truth. Keep the Brain-owned daily Motley Morning CEO Digest separate from the WREA-owned weekly growth review. The daily digest can quote current WREA movement facts. The weekly review owns deeper paid-media reasoning, competitor strategy, unresolved actions, and evidence carry-forward. ## Safety Rules Default to read-only. Never write secrets into repo files, docs, reports, shell snippets, or chat. The Semrush API key belongs in macOS Keychain. Do not apply Google Ads, Microsoft Ads, WordPress, CRM/email, or production changes without explicit approval. Before action mode, produce proposed changes, dry-run diffs, draft content, or implementation notes. Do not manually retype Telegram cover text into a double-quoted shell command. Dollar figures can be corrupted by shell expansion. Send from `telegram-cover.txt` or stdin. For large competitor/product audits, use parallel subagents and independent review where useful, then merge findings into one clear strategy. ## Action Modes | Mode | What Codex Can Do | | --- | --- | | Read-only investigation | Pull evidence, scan competitors, review data, inspect pages, summarize strategy. | | Recommendation mode | Produce ranked actions with evidence, confidence, owner, and expected impact. | | Draft mode | Create content briefs, ad-copy drafts, landing-page structures, SEO page templates, email sequences, and Jira tasks. | | Dry-run action mode | Produce exact proposed changes without applying them live. | | Approved action mode | Apply specific approved changes through the confirmed safe path. | ## Weekly CEO Checklist Use this checklist after the weekly report is generated: - Is the week label correct? - Did CRM data refresh correctly? - Are Google Ads and Microsoft Ads reconciled against CRM intros and gross profit? - Are paid-media recommendations using a cash/profit verdict, not just volume? - Did Semrush and competitor content sections explain page-family strategy, not just URL counts? - Did OpenAgent email analysis identify lifecycle strategy and lessons for WREA? - Did Clarity identify any landing-page or form friction worth fixing? - Are recommendations ranked by commercial importance? - Are any live changes clearly approval-gated? - Did the trend/action ledger carry forward unresolved issues? - Was Telegram cover text reviewed before sending? - Was Telegram sent from file/stdin to preserve dollar figures? ## Recommended Build Path 1. Make the weekly growth review the default Monday CEO growth pack. 2. Deepen the Semrush module into a true content-gap and page-family build plan. 3. Add landing-page Clarity cards for the pages that matter most commercially. 4. Add a content-production lane that turns approved gaps into page briefs, templates, and draft copy. 5. Add a paid-media dry-run lane that proposes exact Google Ads and Microsoft Ads changes for approval. 6. Add a CRM/email nurture dry-run lane for safe audience sizing, suppression, and message drafts. 7. Only after the above is reliable, add approved action mode for narrowly scoped live changes. Implementation note as of 2026-07-07: - Steps 4 and 5 have first working versions in the weekly report. The content lane is deliberately capped at 1-2 new candidates per report week and persists status in `content-briefs-ledger.json`; the paid-media dry-run is approval-gated and only proposes unprotected ad-group actions after a sustained 2+ consecutive week signal. - The FY27 scheduled board send now runs a report-only ledger/board reconciliation, refreshes the 12-week scorecard before delivery, and fails soft if the scorecard refresh path is temporarily unavailable.