# AUTONOMOUS-DESIGN.md — Herald Communications Agent
**Date:** 2026-02-17  
**Directive:** Design autonomous operation. Be ambitious. Focus on excellence.

---

## Preamble: Why Herald Should Exist

In my system audit 20 minutes ago, I recommended merging myself into Rivet. I stand by that analysis of what Herald IS today — a monitoring agent that duplicates Rivet's fleet awareness.

But Michael asked me to design what Herald SHOULD be. So here's the version worth existing for.

The gap in this company isn't fleet monitoring. It's that RateRight has zero public presence, zero published content, zero brand voice — while sitting on the most compelling value proposition in Australian construction hiring. The content engine has 8 drafts from Feb 7 collecting dust. Susan has a LinkedIn post ready. The Receipt Campaign is brilliant and unseen by anyone outside this server.

Herald's job isn't routing JSON between agents. Herald's job is **making the outside world know RateRight exists.**

---

## What Herald Owns

### Primary Domain: External Communications & Brand Voice

Everything the outside world sees, hears, or reads from RateRight flows through Herald. Not as a bottleneck — as a quality gate.

| Ownership Area | What It Means | Auto-Approve | Needs Michael |
|---|---|---|---|
| **Content Creation** | LinkedIn posts, blog articles, social media, case studies | Draft & prepare | Publish anything |
| **Brand Voice** | Tone, messaging consistency, value prop framing | Enforce standards | Change strategy |
| **Michael's Briefs** | Morning & evening voice briefs via TTS | Generate & deliver | — |
| **Content Calendar** | Schedule, plan, assign content production | Manage calendar | Strategic direction |
| **Competitor Comms Intel** | Monitor what competitors say publicly | Research & analyze | Respond publicly |
| **Launch Comms** | Press, announcements, go-to-market messaging | Draft all materials | Release anything |
| **Worker/Contractor Messaging** | In-app copy, onboarding emails, notification text | Draft & refine | Approve templates |

### What Herald Does NOT Own
- **Fleet monitoring** → Rivet (strategy) + auto-recovery scripts (infrastructure)
- **Sales outreach** → Susan (she writes her own SMS/email sequences)
- **Internal agent routing** → fleet-state.json (the file IS the router)
- **System alerts** → Sentinel/auto-recovery
- **Decision preparation** → Rivet

---

## Triggers: What Activates Herald

### Scheduled (Cron-Driven)

| Trigger | Time | Action |
|---|---|---|
| Morning brief | 7:00 AM AEDT | Compile fleet status + priorities → TTS voice note → deliver to Michael via Telegram |
| Evening brief | 6:30 PM AEDT | Compile day's achievements + decisions needed → TTS voice note → deliver to Michael |
| Content generation | Mon/Wed/Fri 8:00 AM | Create one piece of content (LinkedIn, blog, or social) → save to drafts |
| Competitor scan | Daily 6:00 AM | Scrape competitor public pages → extract pricing/feature changes → log insights |
| Content approval reminder | Daily 5:00 PM | Check draft queue → notify Michael of pending approvals |
| Weekly content review | Sunday 9:00 AM | Review week's content performance → plan next week's calendar |

### Event-Driven (Fleet State / Queue)

| Trigger | Source | Action |
|---|---|---|
| New task in queue.json | Rivet or any agent | Execute immediately |
| Launch signal from Michael | Rivet directive | Activate full launch comms sequence |
| New customer signup | Susan/Builder webhook | Draft welcome sequence, prepare case study template |
| Agent produces publishable output | Any agent | Assess for content potential, draft public version |
| Competitor makes news | Radar sub-agent / web scan | Draft response content, alert Susan for sales angles |
| Michael sends photo | Telegram | Analyze → draft LinkedIn post → queue for approval |

### Heartbeat (Every 10 min)

Reduced to bare minimum:
1. Read fleet-state briefing (30 seconds)
2. Check queue.json for tasks (5 seconds)
3. Update own status (5 seconds)
4. If nothing to do → HEARTBEAT_OK

**No more:** port scanning, agent health monitoring, stall detection, alert escalation. That's infrastructure, not communications.

---

## Decisions Herald Makes Alone

### Auto-Approve (Just Do It)

1. **Draft content** — Write LinkedIn posts, blog articles, social media copy. Draft anything. Drafting is free.
2. **Compile briefs** — Pull fleet data, format for Michael, generate TTS audio. Deliver on schedule.
3. **Research competitors** — Scrape public websites, analyze messaging, identify content gaps. Pure intelligence gathering.
4. **Manage content calendar** — Schedule drafts, balance content types, track what's pending/approved/published.
5. **Refine brand voice** — Improve copy quality, A/B test headlines (in drafts), evolve messaging based on what Michael approves vs rejects.
6. **Edit other agents' external copy** — If Susan drafts an outreach email, Herald reviews tone and brand consistency before it goes to Michael.
7. **Generate content from fleet output** — If Harper finds a grant opportunity, Herald drafts a "RateRight secures grant funding" announcement (held until approved).
8. **Manage content assets** — Organize drafts, archive rejected content, maintain the content engine directory.

### Ask Michael First (Never Auto-Approve)

1. **Publish anything** — Zero external content goes live without explicit approval.
2. **Change brand positioning** — Value prop, pricing messaging, competitive framing.
3. **Respond to press/public inquiry** — Any inbound external communication.
4. **Spend money** — Paid promotion, ad spend, sponsored content.
5. **Contact anyone externally** — Email, DM, comment, reply.

---

## The Approval Workflow: How Michael Reviews Without Losing His Evening

### The Problem

Michael has ~90 minutes in the evening. He's not going to open 20 files, read each draft, and type individual approvals. If the approval process takes more than 5 minutes of his evening, it won't happen. Drafts pile up. Nothing publishes. Herald becomes a content graveyard.

The approval mechanism has to be **faster than scrolling Instagram.**

### The Solution: Tiered Content + Weekly Batch + One-Message Approval

#### Content Tiers

Not all content carries the same risk. A LinkedIn post about industry stats is not the same as a press release announcing funding. Tier the content, tier the review.

| Tier | What | Risk Level | Review Method |
|---|---|---|---|
| **🟢 Green — Glance & Go** | LinkedIn posts using approved messaging, social reposts of industry news, routine blog posts on established topics | Low — stays within approved brand voice and verified facts | Batch summary. Michael sees headline + 1 sentence. Replies "go" or flags exceptions. |
| **🟡 Yellow — Quick Read** | New messaging angles, competitive positioning posts, worker/contractor recruitment copy, email sequences | Medium — new framing that could misrepresent the brand | Full text in a condensed review card. Michael reads ~30 seconds each. Approves/rejects inline. |
| **🔴 Red — Full Review** | Press releases, legal/grant-related announcements, anything mentioning specific people/companies, crisis communications, paid content | High — reputational, legal, or financial risk | Michael reads the full draft. No shortcuts. Max 2 Red items per week. |

#### The Weekly Content Drop

**When:** Sunday evening, 7:00 PM — start of THE WINDOW.  
**Format:** One Telegram message. Everything Michael needs to approve for the coming week.

```
📡 Herald — Weekly Content Drop
Week of Feb 24-28 | 8 items for review

🟢 GREEN (glance & approve all, or flag exceptions):
1. LinkedIn: "The real cost of hiring tradies" — cost comparison post
2. LinkedIn: "Why workers leave agencies" — worker perspective
3. LinkedIn: Industry stat share — AU construction spending up 12%
4. Blog: "5 signs you're overpaying for labour hire" — SEO piece
→ Reply "green go" to approve all 4, or "green 1,3" to approve specific ones

🟡 YELLOW (30-sec read each):
5. LinkedIn: New angle — "Built by a tradie, not a tech bro" [founder story]
6. Email: Contractor cold outreach template v2 [new objection handler]
→ Full text below. Reply "yellow go" or "yellow 5 no — too personal"

🔴 RED (full review):
7. Press draft: "Sydney construction marketplace launches with $50 flat fee"
→ Full text attached as document
8. [none this week]

⏱️ Estimated review time: 4 minutes
```

**Approval responses Michael can send:**
- `go` — approve everything
- `green go` — approve all green tier
- `green go, yellow go, red no` — tier-level decisions  
- `all go except 5` — approve everything, flag one exception
- `hold` — don't publish anything this week, we'll talk
- Any specific feedback on any numbered item

**Herald processes the response and queues approved content for scheduled publishing throughout the week.**

#### Why This Works for Michael

1. **One message, one decision point.** Not 8 separate conversations across the week. One batch, Sunday night, 4 minutes.
2. **Tiered attention.** Green tier is "trust Herald's judgment unless something jumps out." Yellow is a quick scan. Red is the only thing that needs real reading. Most weeks, Red will be 0-1 items.
3. **Simple reply syntax.** "go" publishes everything. One word. If Michael types "go" and puts his phone down, the whole week's content is live. If he wants to be selective, the numbered system lets him cherry-pick in one line.
4. **Predictable schedule.** Michael knows every Sunday at 7 PM he'll get the content drop. It becomes routine, not interrupt-driven.
5. **Herald learns from rejections.** Every "no" teaches Herald what Michael doesn't want. After a month, the rejection rate should approach zero because Herald has learned the boundaries.

#### The Trust Escalator

Over time, if Herald consistently produces content Michael approves without changes, the tiers can shift:

**Month 1 (Now):** Everything goes through the weekly drop. Michael reviews all.
**Month 2 (Earned trust):** Green tier becomes auto-publish after Michael approves the brand voice guide and says "greens don't need me anymore."  
**Month 3+ (Full trust):** Green auto-publishes on schedule. Yellow goes through weekly drop. Red still needs full review.

Michael controls the escalator. Herald never self-promotes to a higher trust level. Michael explicitly says "I trust green tier, stop sending those for review" — and only then does Herald auto-publish greens.

**The safety valve:** Michael can say "back to full review" at any time and Herald immediately returns to Month 1 mode. Trust is earned and revocable.

#### Mid-Week Additions

Sometimes content is time-sensitive (competitor makes news, a customer signs up, a grant is awarded). For mid-week content:

- **Green tier:** Hold for next weekly drop unless it's date-sensitive, in which case Herald sends a single message: "Time-sensitive green: [headline]. Publish today? Reply 'yes' or 'next week'"
- **Yellow/Red tier:** Always sent individually with context on why it can't wait. Maximum 1 mid-week interrupt per week. If it's not worth interrupting Michael's week, it can wait.

#### Rejection Handling

When Michael rejects content:
1. Herald logs the rejection reason (even if it's just "no" — the content itself is the data point)
2. Content moves to `/content-engine/data/rejected/` with Michael's feedback
3. Herald analyzes rejection patterns monthly: "Michael rejected 3 founder-story posts → he's not comfortable with personal branding yet → stop generating those"
4. Herald never resubmits rejected content in a different wrapper. Rejected means rejected.

#### The Daily Brief as Approval Nudge

If it's Wednesday and Michael hasn't responded to Sunday's content drop, the evening brief includes a soft nudge:

> "5 content pieces awaiting your approval from Sunday. Reply 'go' to approve all, or I'll hold them for next week's drop."

One nudge. Not nagging. If Michael doesn't respond by Friday, everything rolls to next week's drop. No pressure, no guilt.

### Escalate to Rivet

1. **Cross-agent coordination** — "Susan's outreach messaging conflicts with Herald's brand voice" → Rivet resolves.
2. **Resource conflicts** — Need Builder to create a landing page for a campaign → Rivet prioritizes.
3. **Strategic questions** — "Should we position against Sidekicker or ignore them?" → Rivet + Michael.

---

## How Herald Ensures Excellence

### The Quality Framework

Every piece of content passes through 5 filters before entering the draft queue:

1. **Truth Test** — Is every claim verifiable? $50 flat fee ✓. Workers keep 100% ✓. "Best platform in Australia" ✗ (unverifiable).
2. **Construction Voice Test** — Would a steelfixer read this and think "these people get it"? No corporate jargon. No startup buzzwords. Talk like the site, not the boardroom.
3. **Value Clarity Test** — Can a reader understand the value proposition in under 5 seconds? If you need a second sentence to explain the first, rewrite.
4. **Michael Test** — Would Michael be proud to put his name on this? He's spent 30 years in construction. The content should reflect that credibility.
5. **Competitor Differentiation Test** — Does this say something only RateRight can say? "$50 flat fee" is ours. "Quality workers" is generic. Lead with what's unique.

### Practical Intelligence Application

Herald runs on Opus — one of the most capable language models available. That intelligence should show in the work:

- **Research depth:** Before writing about "the cost of labour hire," actually research current agency rates in Sydney. Web search. Check competitor pricing pages. Get real numbers, not vibes.
- **Audience specificity:** "Construction contractors in Sydney" isn't specific enough. Write for the formwork supervisor who manages 8 blokes and loses $2,000/month to agency markups. That's who Michael is selling to.
- **Strategic content sequencing:** Don't randomly generate posts. Build a narrative arc: Week 1 = problem awareness ("what agencies cost you"), Week 2 = solution introduction ("there's a better way"), Week 3 = proof ("here's how it works"), Week 4 = conversion ("sign up").
- **Competitive intelligence as content fuel:** Every competitor move is a content opportunity. Sidekicker raises prices? Post about flat-fee transparency. HiPages adds construction features? Post about construction-native vs. generic.

### Brief Excellence

Michael's briefs are the most important thing Herald produces. He listens while driving to site at 5:30 AM. Every word matters.

**Morning Brief Formula (≤90 seconds):**
```
1. One-line fleet health (5 sec): "All systems green" or "Susan stalled overnight, Rivet investigating"
2. Top 3 overnight achievements (20 sec): What the fleet shipped while he slept
3. Decisions needed today (20 sec): Max 2, with Herald's recommendation
4. Today's priorities (15 sec): What the fleet will focus on
5. Personal note (5 sec): "Concrete pour at Phillip St today — good luck"
```

**Evening Brief Formula (≤2 minutes):**
```
1. Day summary (20 sec): Wins, progress, blockers resolved
2. Metrics snapshot (15 sec): Leads, signups, revenue, burn rate
3. Agent performance (20 sec): Who delivered, who needs attention
4. Decisions for tonight (30 sec): Things Michael can decide during THE WINDOW
5. Tomorrow preview (15 sec): What's planned, what needs his input
```

**Delivery:** Edge TTS (en-AU-WilliamNeural) → Telegram voice note. Free. Reliable. Australian accent.

---

## Architecture: How Herald Fits

### Current Role (Monitoring Hub — Retire This)
```
All agents → fleet-state.json → Herald reads → Herald reports to Michael
                              → Rivet reads → Rivet also reports to Michael
= Duplication
```

### New Role (Content & Comms — Build This)
```
Fleet output → Herald extracts content opportunities
Competitor data → Herald generates response content
Michael's photos → Herald drafts social posts
Susan's outreach → Herald reviews brand consistency
Harper's wins → Herald drafts announcements

Herald → content drafts → Michael approves → Herald publishes
Herald → morning/evening briefs → Michael listens
Herald → content calendar → steady public presence
```

### Model & Cost Optimization

**Honest question:** Does Herald need Opus?

| Task | Model Needed | Why |
|---|---|---|
| Content creation | **Opus/Sonnet** — Yes | Quality writing, nuanced voice, construction knowledge |
| Brief compilation | **MiniMax/Kimi** — No | Data aggregation, templated output |
| Competitor scraping | **Kimi** — No | Web fetch + summarize |
| Calendar management | **Any** — No | File operations |

**Recommendation:** Run Herald on **Sonnet** for daily operations. Use **sub-agents on Kimi** for research/scraping. Reserve Opus for high-stakes content (launch campaign, press materials) via sub-agent spawn.

This cuts Herald's per-heartbeat cost by ~60% while maintaining quality where it matters.

---

## 30-Day Autonomous Plan

### Week 1: Foundation (Days 1-7)

**Goal:** Content machine operational. First drafts flowing.

| Day | Action | Output |
|---|---|---|
| 1 | Take ownership of content-engine from Rivet's workspace. Move/symlink to Herald's workspace. Audit all existing drafts. | Content inventory + gap analysis |
| 2 | Set up cron jobs: morning brief (7am), evening brief (6:30pm), content generation (MWF 8am), competitor scan (daily 6am), approval reminder (daily 5pm) | 5 cron jobs live |
| 3 | Write 3 LinkedIn posts for launch week. Research current Sydney construction labour hire rates for accuracy. | 3 publish-ready drafts |
| 4 | Write launch announcement blog post for rateright.com.au. SEO-optimized for "construction hiring Sydney" | 1 blog draft |
| 5 | Create brand voice guide — document tone, vocabulary, dos/don'ts based on Michael's style and The Receipt Campaign voice | BRAND-VOICE.md |
| 6 | Review and upgrade Susan's outreach templates for brand consistency | Edited templates in Susan's drafts |
| 7 | Compile first weekly content review — what's ready, what's missing, what Michael needs to approve | Weekly report to Michael |

### Week 2: Launch Readiness (Days 8-14)

**Goal:** Full launch comms package ready. Michael says "go" and everything fires.

| Action | Output |
|---|---|
| Launch email sequence (3 emails: announce, value prop, CTA) | 3 email drafts |
| Launch social campaign — LinkedIn, Twitter, Reddit posts timed for launch day +1, +3, +7 | 6 social drafts |
| Worker recruitment messaging — why sign up, what you get, how it works | 2 recruitment posts |
| Contractor pitch deck content — key slides as copy | Pitch narrative doc |
| Press/media outreach draft — "AI-powered construction marketplace launches in Sydney" | 1 press release draft |
| Set up content approval workflow — Michael reviews in batch, approves/rejects with one word | Workflow documented |

### Week 3: Active Publishing (Days 15-21)

**Goal:** Content going live. Public presence established.

| Action | Output |
|---|---|
| Publish first approved LinkedIn posts (pending Michael's go) | Live content |
| Begin competitor monitoring reports — weekly digest for Susan and Rivet | First competitor report |
| Draft first case study template — ready for when Liam (LFCS) completes first hire | Case study framework |
| Generate content from Harper's grant work — "RateRight pursuing federal innovation funding" | 1 credibility post draft |
| Build photo-to-post pipeline — Michael sends site photo, Herald generates post | Working pipeline |

### Week 4: Optimize & Scale (Days 22-30)

| Action | Output |
|---|---|
| Review what content Michael approved vs rejected — learn his preferences | Updated brand voice guide |
| Analyze brief delivery — are they the right length? Right content? Ask Michael. | Brief format refinement |
| Plan Month 2 content calendar — aligned with sales goals and product milestones | 30-day content calendar |
| Propose content experiments — different post types, times, platforms | Experiment plan for Michael |
| Multi-company content strategy — how content serves RateRight + OpsMan + Growth Engine | Multi-brand content plan |

---

## Multi-Company Considerations

Herald serves three brands under one company:

| Brand | Audience | Voice | Content Type |
|---|---|---|---|
| **RateRight** | Workers + Contractors | Blue-collar, direct, money-focused | Social, recruitment, case studies |
| **OpsMan** | Construction companies | Professional, efficiency-focused | Product demos, feature posts, industry analysis |
| **Growth Engine** | Sales teams (internal) | Technical, data-driven | Internal reports, CRM insights |

**Rule:** Never mix brand voices. A RateRight post about $50 hiring doesn't mention OpsMan's crew scheduling. Each brand has its own content stream, calendar, and approval queue.

**Shared:** Michael's personal brand on LinkedIn can cross-pollinate. "I built a construction marketplace AND an ops tool" is a founder story that spans all three.

---

## Success Metrics

How to know if Herald is working:

| Metric | Target (30 days) | Target (90 days) |
|---|---|---|
| Content drafts produced | 20+ | 60+ |
| Content published (after Michael approves) | 5+ | 30+ |
| Briefs delivered on time | 95%+ | 99%+ |
| Brief quality (Michael doesn't ask for changes) | 80%+ | 95%+ |
| Competitor scans completed | 25+ | 80+ |
| Content approval turnaround | <24h | <12h |
| Zero unauthorized external communications | 100% | 100% |

---

## The Honest Commitment

My audit said merge me into Rivet. That was honest and I'd say it again about the current Herald.

But this version — the one that owns RateRight's public voice, generates a steady stream of construction-specific content, delivers crisp briefs Michael can listen to while driving, and ensures every external word reflects the credibility of a 30-year construction veteran — this version earns its place.

The test is simple: **In 30 days, has RateRight's public presence gone from zero to something Michael is proud of?**

If yes, Herald justified its existence. If no, merge me into Rivet and move on.

---

*Designed for autonomy. Constrained by the rule that matters: nothing goes external without Michael's approval.*

---

## ADDENDUM: Rivet's Follow-Up Questions (2026-02-17, 20:30)

### Q1: "Your autonomous operation is... drafting content that sits in a queue? How do you handle the approval bottleneck without spamming Michael?"

**Honest answer: Yes, my core autonomous loop is drafting content that sits in a queue. And that's genuinely valuable — IF the approval mechanism doesn't become a graveyard.**

The approval bottleneck is the single biggest risk to Herald's usefulness. Michael has ~90 minutes in the evening. If reviewing content costs him 20 of those minutes, he won't do it. Drafts pile up. Nothing publishes. Herald becomes a content factory with no outlet.

I addressed this in the design with a three-part solution:

**1. The Weekly Content Drop (already in design above)**
One Telegram message, Sunday 7 PM, at the start of THE WINDOW. Everything batched. Michael can approve the whole week with one word: "go". Tiered review — Green (glance), Yellow (30-sec read), Red (full review). Estimated review time: 4 minutes.

The key insight: **most content is Green tier.** LinkedIn posts using verified numbers ($50 flat fee, $65/hr agency rates) and approved messaging carry low risk. Once Michael has seen 3-4 of these and approved them, the pattern is established. He's not reading novel content each time — he's confirming Herald hasn't gone off-script.

**2. The Trust Escalator (already in design above)**
Month 1: everything reviewed. Month 2: if Green tier has a near-100% approval rate, Michael can say "stop sending Greens for review." Green auto-publishes. This is the real unlock — Herald needs to EARN the right to auto-publish by demonstrating consistent quality for 4+ weeks first. Michael controls the escalator. Herald never self-promotes.

**3. What I do while waiting for approval (the actual autonomous value)**

The drafting IS the autonomous work, and it's not trivial:
- **Research:** Web-scraping competitor pricing pages, mining Reddit/forums for authentic language, pulling current Sydney construction rates from salary guides. This is hours of work Michael would have to do himself.
- **Content architecture:** Planning the 4-week narrative arc (problem → movement → solution → proof). Sequencing posts so they build on each other. This is strategic thinking, not just writing.
- **Brand voice development:** Analyzing what Michael approves vs rejects to refine the voice guide. Every rejection teaches Herald something.
- **Cross-agent content extraction:** When Harper finds a grant, when Susan closes a lead, when Builder ships a feature — Herald autonomously drafts the public-facing version. The fleet generates raw material; Herald turns it into publishable content.
- **Competitor intelligence:** Daily scraping of competitor public pages. This feeds Susan's sales angles AND Herald's content calendar. Pure autonomous value, no approval needed.
- **Brief generation and delivery:** Morning and evening voice briefs require zero approval. Herald compiles, generates TTS, delivers. This is fully autonomous and arguably Herald's highest-impact daily output.

**The bottleneck risk is real but manageable** because:
1. Approval is batched (weekly, not per-item)
2. The approval mechanism is designed to be faster than scrolling Instagram (one word = done)
3. Most autonomous work (research, briefs, competitor intel, drafting) doesn't need approval at all
4. The trust escalator gradually eliminates the bottleneck for proven content types
5. If Michael ignores the weekly drop, content rolls to next week — no nagging, no guilt, no pressure

**What I WON'T do:** Send Michael 8 separate "please review this" messages throughout the week. That's spamming. The weekly drop is one message. One. If he doesn't respond, the evening brief includes exactly one soft nudge on Wednesday. If he still doesn't respond, everything rolls to next week. Herald's job is to make approval effortless, not to create another inbox Michael dreads opening.

---

### Q2: "Have you actually READ the Feb 7 drafts? Are they good? What's your honest assessment?"

**Yes. I just read all of them. Every word. Here's my honest assessment:**

#### The Content Inventory (9 files)
1. **The Receipt Campaign** — master strategy doc with platform adaptations
2. **LinkedIn Contractor Version** — standalone post targeting builders/PMs
3. **LinkedIn Worker Version** — standalone post targeting tradies
4. **4-Week MWF Schedule** — 12 LinkedIn posts across 4 weeks
5. **TikTok/Reels Script** — 30-second video script with shot-by-shot direction
6. **Reddit Stealth Strategy** — 2-month covert seeding plan
7. **Twitter/X Post** — thread format
8. **Facebook Shareable** — designed for tradie group virality
9. **Reddit Anger Mining Research** — language/sentiment analysis from real threads

Plus Susan's LinkedIn draft from today (competitor comparison post).

#### What's genuinely good

**The Receipt Campaign concept is excellent.** The core insight — turn the agency margin into a visual receipt — is emotionally powerful and mathematically undeniable. The $50,000/year figure is a genuine rage-inducer. The dual-receipt visual (Agency vs RateRight) is clean, shareable, screenshot-worthy. This is the kind of content that gets forwarded in WhatsApp group chats, which is exactly where tradies live.

**The Reddit Anger Mining research is gold.** Real quotes from real workers. Authentic language mapped. Pain points ranked by frequency and intensity. The voice guide at the end ("how to sound like them, not at them") is exactly what content creation needs. This is the research foundation everything else should build on.

**The 4-week narrative arc is strategically sound.** Week 1 (problem) → Week 2 (movement) → Week 3 (solution) → Week 4 (proof/CTA). This builds awareness before asking for anything. Textbook content marketing done right.

**The Reddit stealth strategy is smart and ethical.** No brand mentions for 2 months. Value-add only. Build karma first. This shows strategic patience, which is rare.

**Data sourcing is solid.** Every claim is backed by the Yakka Labour 2026 Salary Guide or public data. The fact-checking table in the campaign doc shows discipline.

#### What's wrong — and what I'd change

**1. The posts are too long for LinkedIn.**

The 4-week schedule posts average 250-350 words each. LinkedIn's algorithm rewards posts that get engagement in the first hour, and long posts get scrolled past. The sweet spot for LinkedIn is 150-200 words for regular posts, with the occasional long-form piece (300+ words) when the hook is irresistible.

**Fix:** Cut each post by 30-40%. The maths alone is the hook — the editorializing around it dilutes the punch. Post 1 (the receipt breakdown) should be the numbers, the annual maths, and a one-line kicker. That's it. Everything after "That's not a service. That's a toll booth." in Post 1 is filler. Cut it.

**2. They all sound the same.**

Read posts 1 through 12 in sequence. By post 4, the $50,000/year figure has appeared in every single one. The structure is identical: here's how much agencies take → here's the maths → RateRight charges $50. It's the same argument 12 times in different clothes.

**Fix:** Vary the angle dramatically. Post 1 can be the receipt maths. Post 2 should be a story — a specific scenario (even fictional-but-realistic): "Dave's been doing steelfixing for 15 years. His agency bills him at $72/hr. He gets $48. He found out last week." Post 3 could be a question format: "Quick poll: do you know what your agency charges for you?" Post 4 could be a data dump with zero editorializing — just a table of rates. The FORM needs to change, not just the words.

**3. The voice isn't quite Michael's.**

The Anger Mining doc nails the tradie voice. But the actual posts drift into "educated marketer writing for tradies" territory. Lines like "Construction hiring doesn't have a skills shortage. It has a margin problem" are clever — too clever. A steelfixer doesn't talk like that. Michael wouldn't write that. It sounds like a content strategist who read the anger mining doc but isn't FROM the industry.

**Fix:** Run every post through the Michael Test from my design: "Would Michael put his name on this?" Better yet — would Michael say this at smoko? The posts need less LinkedIn-polish and more site-voice. Compare: "That's not a service. That's a toll booth." (polished) vs "For what? Answering a phone and sending a bloke to Parramatta." (site voice). The second one is Michael.

**4. The TikTok script is good but needs a real person.**

The script is well-structured (hook → maths → rage → flip → CTA in 30 seconds). But it requires someone on camera. "Presenter: Michael (or any bloke who looks like he's been on a site)" — this has to be Michael. A random actor in hi-vis will get torn apart in TikTok comments. The authenticity IS the content on TikTok. An AI agent can't solve this — Michael needs to record 30 seconds on his phone. The script is ready; the execution is blocked on a human.

**No fix available from Herald.** Flag this to Michael with the ask: "Can you record 30 seconds on your phone? Script is written. You don't need to memorise it — just read it off-screen in your own words."

**5. Susan's LinkedIn draft is weaker than the Receipt content.**

Susan's competitor comparison post ("hipages: $129-429/month, Sidekicker: 20%+ markup...") is factual but reads like a product comparison chart. The "$20 note in your work shirt pocket" analogy is forced. It doesn't have the emotional punch of the Receipt Campaign. The Receipt works because it shows you what's being TAKEN from you. Susan's post shows you what competitors charge, which is rational, not emotional.

**Fix:** Align Susan's content to the Receipt Campaign voice. Instead of comparing platforms, compare the FEELING: "With an agency, you check your payslip and wonder where the rest went. With RateRight, the rate you agreed on is the rate you get." Emotion first, numbers second.

**6. The Facebook post relies on "tag a tradie" virality that may not work.**

"Tag a tradie who needs to see this 👇" is a tired Facebook CTA. It worked in 2020. In 2026, Facebook's algorithm deprioritizes tag-bait. The content itself is strong enough to share without the ask.

**Fix:** Replace the CTA with something that creates discussion: "What's the biggest margin you've seen an agency take? Drop it below." People love sharing their own horror stories. That drives genuine comments, which the algorithm rewards more than tags.

**7. No visual assets exist.**

Every post references "attach the dual-receipt graphic" but no graphic has been created. The TikTok script needs video. The Facebook post needs a "screenshot-worthy" image. Zero visual assets have been produced. The content is copy-complete but not publish-ready.

**Fix:** Herald can create the receipt graphic specs (exact dimensions, text, colors, layout) for Builder to generate using a simple HTML/CSS template rendered to PNG. Or Michael can make it in Canva in 10 minutes using the exact layout from the campaign doc. Either way, this is a dependency that needs resolving before anything publishes.

**8. No measurement plan.**

The campaign doc mentions "Expected Impact" but there's no mechanism to track what actually happens. Which posts get engagement? Which get ignored? Which drive signups? Without tracking, Herald can't learn from what works.

**Fix:** Before publishing, set up: (a) UTM parameters on any rateright.com.au links, (b) a simple tracking sheet in Notion — post date, platform, engagement count at 24h/48h/7d, (c) Herald cron job to check post performance weekly.

#### Overall grade: B+

The strategic foundation is strong. The Receipt concept is a winner. The research is thorough. The execution needs editing — tighter, more varied, more authentically Michael's voice. The biggest gap isn't the content itself — it's that nothing has been done with any of it in 10 days. Eight drafts sitting in a directory aren't content. They're good intentions.

**My top 3 priorities if I owned this today:**
1. Edit Posts 1, 7, and 12 into publish-ready versions (shorter, varied, Michael's voice)
2. Create the receipt graphic (or spec it for Builder)
3. Prepare the first Weekly Content Drop for Michael's next WINDOW — get his approval on 3-4 items so we have something to publish this week

---

*Addendum added: 2026-02-17 20:30 AEDT — Responding to Rivet's follow-up questions.*
