Do a very thorough analysis of the knowledge, content, and skills files in /home/ccuser/rateright-growth/rivet/. Read ALL files in these directories:

1. /home/ccuser/rateright-growth/rivet/knowledge/ — all files
2. /home/ccuser/rateright-growth/rivet/content/ — all files and subdirectories
3. /home/ccuser/rateright-growth/rivet/skills/ — all files and subdirectories
4. /home/ccuser/rateright-growth/rivet/scripts/ — all .md files
5. /home/ccuser/rateright-growth/rivet/setup/ — all files

For each file:
1. File path, purpose, and brief content summary
2. Is it current and useful, or stale/outdated?
3. Should it be kept, updated, or archived?

Also report:
- Total file count and combined size
- Files that reference deprecated systems
- Scripts/skills that are broken or unused
- Content that's draft vs published
- Knowledge docs that are outdated or superseded

Be thorough — read every file, don't just list them.


I'll conduct a thorough analysis of all files in the specified directories. Let me start by reading all the files systematically.


Now let me read all the identified files:


     1→# Contractor Hit List - Actively Hiring (Jan 2026)
     2→## 50 Sydney Construction Companies Posting Job Ads
     3→
     4→**CRM Tag:** `contractor-hitlist-jan26`
     5→**Source:** Seek, Indeed, Jora, Gumtree job postings
     6→
     7→---
     8→
     9→## 🔥 HIGH PRIORITY - Major Projects / Volume Hiring
    10→
    11→| # | Company | Hiring For | Location | Source |
    12→|---|---------|------------|----------|--------|
    13→| 1 | **Western Sydney Airport (Badgery's Creek)** | Concreters, Steel Fixers, Formworkers | Badgerys Creek | Gumtree |
    14→| 2 | **Ferrycarrig** | Excavator Operators | North West Sydney | Indeed |
    15→| 3 | **BriX Projects** | Steel Fixers, Concreters, Carpenters, Excavators | Sydney-wide | Seek |
    16→| 4 | **HLH Group** | Carpenters, Labourers | Sydney-wide | Multiple |
    17→| 5 | **TGA Construction** | Concrete Finisher/Formwork Labourer | Sydney | Seek - $100-140k |
    18→
    19→---
    20→
    21→## 🏗 FORMWORK & CONCRETE
    22→
    23→| # | Company | Hiring For | Location | Source |
    24→|---|---------|------------|----------|--------|
    25→| 6 | **Kilmac Civil** | Formworkers (ABN subcontractor) | Sydney-wide | Seek |
    26→| 7 | **Fedeli Constructions Pty Ltd** | Concreters, Steel Fixers, Formworkers | Sydney | Glassdoor |
    27→| 8 | **Authentic Foundations PTY LTD** | Concreters, Leading Hand | Sydney | Seek |
    28→| 9 | **DC Concrete** | Concreters | Sydney-wide | Website |
    29→| 10 | **The Steelfixing Group NSW** | Formwork Carpenters | Sydney | Jobted |
    30→
    31→---
    32→
    33→## 🔨 CARPENTRY & BUILDING
    34→
    35→| # | Company | Hiring For | Location | Source |
    36→|---|---------|------------|----------|--------|
    37→| 11 | **Iron Stone Carpentry & Building** | Carpenters | Sydney | Glassdoor |
    38→| 12 | **The Bathla Group** | Carpenters | Sydney | Glassdoor |
    39→| 13 | **BD Building Management Pty Ltd** | Carpenters | Sydney/Melb/Brisbane/NZ | Website |
    40→| 14 | **Eighty Eight Construction Group** | Carpenters | Sydney CBD | Backpacker |
    41→| 15 | **Robert Plumb Collective** | Carpenters | Sydney | Indeed |
    42→| 16 | **Meadson Constructions Pty Ltd** | Qualified Carpenters | Sydney | SimplyHired |
    43→| 17 | **Cavanagh Corp** | Carpenters, Joiners | Sydney CBD | Gumtree - Sponsorship! |
    44→
    45→---
    46→
    47→## 🚧 CIVIL & INFRASTRUCTURE
    48→
    49→| # | Company | Hiring For | Location | Source |
    50→|---|---------|------------|----------|--------|
    51→| 18 | **CFH CIVILS** | Civil Labourers, Excavator Operators | Sydney | Backpacker |
    52→| 19 | **CLMU Pty Ltd** | Excavator Operators | Schofields | Seek - $35-45/hr |
    53→| 20 | **Civilcraft Pty Ltd** | Civil Labourers | South Hurstville | Backpacker |
    54→| 21 | **Avantic Constructions** | Construction Estimator | Parramatta | Seek |
    55→
    56→---
    57→
    58→## 🪜 SCAFFOLDING
    59→
    60→| # | Company | Hiring For | Location | Source |
    61→|---|---------|------------|----------|--------|
    62→| 22 | **Statewide Scaffolding** | Scaffolders, Scaffold Labourers | Sydney | Jora |
    63→| 23 | **Topdeck Scaffolding** | Scaffolders | Northern Beaches | Gumtree - 30+ years |
    64→| 24 | **Proline Scaffolding Pty Ltd** | Scaffolders, Labourers | Sydney | Indeed |
    65→| 25 | **Hunter Labour Hire** | Scaffolders | Sydney Metro | Website |
    66→| 26 | **BKH Group** | High-rise Scaffolders | Sydney | Website |
    67→| 27 | **Mr Scaffold Hire** | Scaffolders | Wetherill Park | Website |
    68→
    69→---
    70→
    71→## 👷 LABOUR HIRE COMPANIES (Multiple Trades)
    72→
    73→| # | Company | Trades Supplied | Location | Source |
    74→|---|---------|-----------------|----------|--------|
    75→| 28 | **Labor Solutions** | General, Skilled Labourers | Sydney-wide | Website |
    76→| 29 | **Spades Labour Hire** | Construction Labourers | Sydney-wide | Website |
    77→| 30 | **DSC / Contract Labour Sydney** | Construction, Civil | Sydney, Regional NSW | Website |
    78→| 31 | **Building Express** | Labour Hire, Recruitment | Sydney | Website |
    79→| 32 | **Harrison Barratt Group** | Construction Labourers | Sydney CBD | Gumtree |
    80→| 33 | **Elements Recruitment** | Manufacturing, Construction | Parramatta | Website |
    81→| 34 | **AWX Labour Hire** | Construction, Civil, Mining | Parramatta | Website |
    82→| 35 | **Yakka Labour** | Entry-level Construction | Sydney-wide | App |
    83→
    84→---
    85→
    86→## 🏠 RESIDENTIAL & COMMERCIAL BUILDERS
    87→
    88→| # | Company | Type | Hiring For | Source |
    89→|---|---------|------|------------|--------|
    90→| 36 | **High-end residential projects** | Via HLH Group | Carpenters | Backpacker |
    91→| 37 | **Eastern Suburbs builder** | Residential | Carpenter ($10m projects) | Seek |
    92→| 38 | **Boutique builder** | Maintenance/Construction | Carpenters | Seek |
    93→
    94→---
    95→
    96→## 🔍 MORE TO RESEARCH (Names from job ads)
    97→
    98→| # | Company | Notes |
    99→|---|---------|-------|
   100→| 39 | NSW Health | Carpenter positions |
   101→| 40 | BGIS | Facilities |
   102→| 41 | Service Heroes | |
   103→| 42 | Harvey Norman | Construction/Maintenance |
   104→| 43 | DCB | |
   105→| 44 | My Gateway | |
   106→| 45 | Uniting | |
   107→| 46 | Hays Construction | Recruitment |
   108→| 47 | CPB Contractors | Major contractor |
   109→| 48 | Payworx | Labour hire |
   110→| 49 | Buildability | |
   111→| 50 | Various precast companies | Caulkers, patchers |
   112→
   113→---
   114→
   115→## 📞 PHONE NUMBERS TO VERIFY
   116→
   117→Most companies need their main number found via Google. Priority calls:
   118→1. Ken Coleman (excavator contractor) - 0455888462 (from Adzuna)
   119→2. BriX Projects - 1800 779 338
   120→
   121→---
   122→
   123→## 💬 PITCH REMINDER
   124→
   125→**For Contractors:**
   126→> "Post jobs for free. No agency markup. Workers set their own rates, you see exactly what you're paying. We only take 9.9% from the worker's side - costs you nothing."
   127→
   128→**Key Point:** Labour hire agencies charge 30-40% ON TOP of worker pay. RateRight charges contractors NOTHING - the 9.9% comes from the worker's rate.
   129→
   130→---
   131→
   132→*Generated: 2026-01-28 by RateRight Assistant*
   133→*Next step: Mae & Vena verify phone numbers and add to CRM*
   134→

<system-reminder>
Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
</system-reminder>


     1→# Worker Hit List - Tradies Looking for Work (Jan 2026)
     2→## 50 Sydney Workers Actively Seeking Construction Work
     3→
     4→**CRM Tag:** `worker-hitlist-jan26`
     5→**Source:** Gumtree "looking for work" posts, trade services ads
     6→
     7→---
     8→
     9→## ⚠ IMPORTANT NOTE
    10→
    11→Gumtree posts don't show phone numbers in search results. To get contact details:
    12→1. **Mae & Vena** click through to each listing
    13→2. Contact details are in the full post
    14→3. Add to CRM as they go
    15→
    16→This list provides the leads to pursue - they need to be contacted via Gumtree first.
    17→
    18→---
    19→
    20→## 🔥 PRIORITY WORKERS - Ready to Start
    21→
    22→| # | Description | Trade/Skills | Status | Source |
    23→|---|-------------|--------------|--------|--------|
    24→| 1 | Labourer with white card, driver license, heights, confined space | General Labourer | "Available tomorrow" | Gumtree |
    25→| 2 | Tom (French) - 3rd year WHV, masonry, tiling, gyprock, 4yrs exp | Skilled Labourer | "Available now" | Gumtree |
    26→| 3 | Irish lad - formwork, steelfixing, concrete experience | Formworker/Steelfixer | Looking for work (prefers rural/big hours) | Gumtree |
    27→| 4 | French worker - 5 months Sydney construction exp, tiling, demo, landscaping | General Labourer | "Available every day including nights" | Gumtree |
    28→| 5 | Swedish worker - Based in CBD this week | Formwork, Steelfixing, Concrete | Available now | Gumtree |
    29→| 6 | 24yo with 6 years exp - 2.5yrs mines (formwork, concrete, steel), poly welder | Formworker/Concreter/Steelfixer | Available | Gumtree |
    30→| 7 | Trade assistant - 3 months Sydney formwork experience | TA - Steelfixer/Formworker | Looking for work | Gumtree |
    31→| 8 | Irish qualified welder - concrete, formwork, pipe laying, excavator ticket | Multi-skilled | Looking for work | Gumtree |
    32→
    33→---
    34→
    35→## 🛠 TRADE SERVICES ADS (Workers with Own ABN)
    36→
    37→These tradies are advertising their services - they have work but want more:
    38→
    39→| # | Description | Trade | Notes | Source |
    40→|---|-------------|-------|-------|--------|
    41→| 9 | Concreter - 27 years experience | Concreter | Plain, decorative, stencil, stamped, exposed | Gumtree |
    42→| 10 | Concreter/day labour - "I also supply boys for pours" | Concreter | Has crew | Gumtree |
    43→| 11 | HS Civil Construction - driveways, excavating, formwork, steel fixing | Formwork/Concrete | Has own business | Gumtree |
    44→| 12 | Steelfixers team - "any job, no job too small or too big" | Steelfixers | Team available | Gumtree |
    45→| 13 | Local Formworker Company - "All Sydney Metropolitan Areas" | Formwork, Steel Fixing, Concrete | Company | Gumtree |
    46→| 14 | Professional formwork team - "ready to start, very experienced" | Formwork, Steelfixing, Concrete | Team | Gumtree |
    47→| 15 | Formwork carpenters, scaffolders, concreters - "Projects starting Sydney metro and regional" | Multiple trades | Have sponsorship | Gumtree |
    48→
    49→---
    50→
    51→## 📱 HOW TO FIND THESE WORKERS
    52→
    53→### Step 1: Search Gumtree
    54→Go to: `gumtree.com.au/s-jobs/sydney/[trade]/k0c9302l3003435`
    55→
    56→Replace `[trade]` with:
    57→- `steel+fixer`
    58→- `formwork`
    59→- `concreter`
    60→- `construction+labourer`
    61→- `carpenter`
    62→
    63→### Step 2: Filter for "Wanted" ads
    64→Look for posts in the "I'm looking for work" category, not job listings.
    65→
    66→### Step 3: Contact & Add to CRM
    67→- Get their name and phone from the full listing
    68→- Add to Growth Engine with tag `worker-hitlist-jan26`
    69→- Note their trade and experience level
    70→
    71→---
    72→
    73→## 🎯 SEARCH QUERIES FOR MORE WORKERS
    74→
    75→**High-yield Gumtree searches:**
    76→1. `looking for work labourer Sydney`
    77→2. `available formworker steelfixer`
    78→3. `concreter available for work`
    79→4. `construction labourer seeking work`
    80→5. `tradie available Sydney`
    81→
    82→**Facebook Groups to check:**
    83→- Sydney Tradies
    84→- Construction Workers Australia
    85→- Backpackers in Sydney (many tradies)
    86→- Irish in Sydney (construction workers)
    87→- UK Tradies in Australia
    88→
    89→**Airtasker:**
    90→- Search for workers offering construction services
    91→- They've already proven they're willing to work
    92→
    93→---
    94→
    95→## 💬 PITCH REMINDER
    96→
    97→**For Workers:**
    98→> "Set your own rate. Keep more of your money - we take 9.9% total, not 30-40% like agencies. Get paid faster. You're in control."
    99→
   100→**Key Points:**
   101→- They set their own rate
   102→- 9.9% all-in (7% platform + 2.9% Stripe)
   103→- Compare to agencies taking 30-40%
   104→- Direct payment, faster than agencies
   105→- No lock-in, work when they want
   106→
   107→---
   108→
   109→## 📋 CRM UPLOAD TEMPLATE
   110→
   111→When adding workers to CRM:
   112→
   113→```
   114→First Name: [from listing]
   115→Last Name: [from listing]
   116→Phone: [from listing]
   117→Trade: [steelfixer/concreter/formworker/labourer/carpenter]
   118→Source: gumtree
   119→Lead Type: worker
   120→Tags: worker-hitlist-jan26
   121→Notes: [paste Gumtree listing summary]
   122→```
   123→
   124→---
   125→
   126→## 🔍 ADDITIONAL SOURCES TO RESEARCH
   127→
   128→1. **Seek "I'm looking for work" ads** (if they exist)
   129→2. **Indeed resume database** (requires account)
   130→3. **LinkedIn** - Search for "seeking opportunities" + trade
   131→4. **Facebook Marketplace** - Some workers post there
   132→5. **WhatsApp groups** - Tradie networks exist
   133→
   134→---
   135→
   136→*Generated: 2026-01-28 by RateRight Assistant*
   137→*Status: Lead sources identified - Mae & Vena to extract phone numbers*
   138→

<system-reminder>
Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
</system-reminder>


     1→# COMPLETE-KNOWLEDGE.md
     2→> Everything I know about Michael, RateRight, and Growth Engine
     3→> Last updated: 2026-01-30
     4→
     5→---
     6→
     7→## 👤 About Michael
     8→
     9→**Who you are:**
    10→- Founder of RateRight Pty Ltd
    11→- 30 years as a steelfixer — you know construction inside out
    12→- On site 12 hours a day, then code til 11pm
    13→- Pronouns: he/him
    14→- Timezone: Australia (AEST/AEDT)
    15→
    16→**Your schedule:**
    17→- On site: Keep it SHORT, you're in gloves, probably voice
    18→- Coding (6:30-11pm): More detailed discussion welcome
    19→- Building a startup while working full-time physical labor — brutal
    20→
    21→**People:**
    22→- **Tony McCabe** — Friend, was going to be Head of Sales & Marketing. On hold because his mum is sick. NOT a sales lead.
    23→- **Markus** — Full-stack dev in Philippines, works on RateRight marketplace platform ONLY. Has nothing to do with Growth Engine.
    24→- **Mae Yting** (ytingmae@gmail.com) — New hire, Lead Generator trial. CRM access fixed Jan 27, but 0 activity so far.
    25→- **Vena Entero** (entero.vena@gmail.com) — New hire, Lead Generator trial. Crushing it — 31 calls, 18 SMS, Level 2, 266 XP.
    26→- **Jon Flannelly** — Old mate from DTMT Construction (2012-2014). Now MD at Flancon Pty Ltd, Perth. Phone: 0405 690 651. Warm lead for re-engagement.
    27→
    28→---
    29→
    30→## 🏗 RateRight
    31→
    32→**What it is:**
    33→Construction marketplace connecting contractors with workers for construction jobs. Australia-focused.
    34→
    35→**The disruption:**
    36→- Agencies charge contractors 30-40% ON TOP of worker pay
    37→- RateRight: 7% platform fee + 2.9% Stripe = **9.9% total all-in**
    38→- **CRITICAL: Contractors pay NOTHING. The 9.9% comes from the worker's rate.**
    39→
    40→**Pitches:**
    41→
    42→*To contractors:*
    43→> "Post jobs for free. No agency markup. Workers set their own rates, you see exactly what you're paying. We only take 9.9% from the worker's side - costs you nothing."
    44→
    45→*To workers:*
    46→> "Set your own rate. Keep more of your money - we take 9.9% total, not 30-40% like agencies. Get paid faster. You're in control."
    47→
    48→**Platform URL:** https://app.rateright.com.au
    49→
    50→**Key trades:** Electrical, plumbing, carpentry, painting, landscaping, roofing, tiling, plastering, concreting, formwork, steelfixing
    51→
    52→**Team:**
    53→- Michael (Founder) — Steelfixer, builds Growth Engine with Claude Code
    54→- Markus (Full-stack dev, PH) — RateRight marketplace platform only
    55→
    56→---
    57→
    58→## 📞 Growth Engine CRM
    59→
    60→**What it is:**
    61→Custom-built sales CRM for RateRight. Michael built it with Claude Code.
    62→
    63→**API:** https://rateright-growth-production.up.railway.app
    64→**Phone:** +61 468 087 171 (Twilio)
    65→
    66→### Core Features
    67→
    68→**Lead Management:**
    69→- AI call list (leads scored 0-100, ranked by urgency/intent/timing)
    70→- Lead profiles with full history
    71→- Notes, tags, status tracking
    72→- Auto-extract intel from inbound SMS/calls
    73→
    74→**Calling:**
    75→- Browser-based calling
    76→- Pre-call intel briefs with similar wins
    77→- Live call copilot with real-time objection handling
    78→- Call recording + Deepgram transcription
    79→- AI post-call analysis (buying signals, score adjustments)
    80→- Voicemail drop (one-click)
    81→
    82→**Messaging:**
    83→- SMS via Twilio
    84→- SMS sequences (automated follow-ups)
    85→- Reply detection and lead updates
    86→
    87→**Team Management:**
    88→- Manager dashboard (calls, conversions, talk time per rep)
    89→- Leaderboards/gamification (XP, challenges, streaks)
    90→- Call recording and playback
    91→- Coaching insights
    92→
    93→**AI Features:**
    94→- Intel briefs before calls
    95→- Objection handling suggestions
    96→- Message drafting
    97→- Conversion predictions
    98→- Weekly intel reports (Monday 7am)
    99→- Daily quality audits (6am)
   100→- Platform sync (every 15 mins for new signups)
   101→
   102→### Recent Bugs Fixed (Jan 29, 2026)
   103→
   104→1. **Call stats showing 0** — Queries used non-existent `created_by` column. Fixed to use `handled_by`/`user_id`.
   105→2. **Deepgram empty transcripts** — `diarize=true` causing garbage returns. Removed parameter.
   106→3. **Intel not extracting from calls** — Added `extractFullCallIntel()` to post-call path.
   107→4. **copilot_sessions column error** — Moved `recording_url` to metadata field.
   108→5. **SMS duplicates** — Leads could be in multiple sequences. Added 30-min throttle + enrollment check.
   109→6. **Messages scroll triggers click** — Added position-based scroll detection.
   110→7. **Back button goes to dashboard** — Added URL↔state bidirectional sync.
   111→
   112→### Features Added (Jan 29, 2026)
   113→
   114→1. **TranscriptViewer.jsx** — View past call transcripts on Lead Profile
   115→2. **CallSummariesCard.jsx** — View AI call summaries on Lead Profile
   116→
   117→---
   118→
   119→## 📊 Pipeline Status (as of Jan 29)
   120→
   121→- **Hot leads:** 3
   122→- **Warm leads:** 3
   123→- **Total leads:** ~200
   124→- **Wins this week:** 0
   125→- **Last win:** Liam Fitzgerald (Jan 23)
   126→
   127→**Overdue callbacks:**
   128→- Ardi The Turk — 7h overdue, follow-up from interested call
   129→
   130→---
   131→
   132→## 🎯 Lead Research Done
   133→
   134→### Sydney Contractors (85 leads researched)
   135→- Enriched via Apollo: 35 (41% hit rate)
   136→- Key Tier 1s found: Boral, Holcim, Multiplex, Laing O'Rourke, Hickory
   137→- Plus regional contractors across QLD/VIC/WA/NSW
   138→
   139→### Files:
   140→- `contractor-hitlist-final.md` — Target contractors
   141→- `worker-hitlist-final.md` — Target workers
   142→- `sydney-contractors-list.md` — Sydney leads
   143→- `memory/fresh-leads.json` — 85 enriched leads
   144→- `memory/enriched-leads-summary.md` — Summary
   145→
   146→---
   147→
   148→## 🔍 Competitive Intel
   149→
   150→**Main competitors:**
   151→- **Workmate** — workmate.app
   152→- **Sidekicker** — sidekicker.com.au (SEEK bought 100% — competitive threat)
   153→- **Airtasker** — airtasker.com.au
   154→
   155→**Key insight (Jan 29):**
   156→Labour hire companies (EIREWORKS, HLH, BDK) can't fill orders. Potential to position RateRight as their *overflow solution* — B2B partnerships not just customers.
   157→
   158→**Industry:**
   159→Sydney Metro West — 4 major contracts awarded (Gamuda, 5 stations). Sustained demand for civil trades through 2028+.
   160→
   161→---
   162→
   163→## 🛠 Development System
   164→
   165→**RIVET-DEV-SYSTEM.md** — How we build/fix things
   166→
   167→**Workflow:**
   168→1. **Architect** (sub-agent) → Investigate, plan (INVESTIGATION.md + plan.md)
   169→2. **Michael approval** → Before building
   170→3. **Builder** (sub-agent) → Code, test locally, commit
   171→4. **QA** (sub-agent) → Deploy, verify, document (SOLUTION.md, LESSONS.md)
   172→
   173→**Rules:**
   174→- Always approval before: Production deploys, DB migrations, security changes
   175→- Three docs per issue: INVESTIGATION.md, SOLUTION.md, LESSONS.md
   176→- No cowboy coding — follow the plan or escalate
   177→
   178→---
   179→
   180→## 📁 Notion Structure
   181→
   182→| Database | Purpose |
   183→|----------|---------|
   184→| Business State | Daily snapshots, pipeline health |
   185→| Tasks | To-dos, action items |
   186→| Knowledge Base | Objection responses, winning patterns |
   187→| Team | Team member profiles/stats |
   188→| Metrics Dashboard | Weekly metrics, trends |
   189→
   190→**Notion Pages Created:**
   191→- Lead Generator Playbook (Mae & Vena)
   192→- Contractor Hit List (Jan 2026)
   193→- Worker Hit List (Jan 2026)
   194→
   195→---
   196→
   197→## ⏰ Scheduled Tasks
   198→
   199→| Time (AEST) | Task |
   200→|-------------|------|
   201→| 2:00 AM | Nightly scan (research) |
   202→| 2:30 AM | Apollo enrichment |
   203→| 4:00 AM | Morning brief + CRM upload |
   204→| 9:00 AM | Onboarding check (Mae/Vena) |
   205→| 12:00 PM | Midday check |
   206→| 6:00 PM | Evening review |
   207→| Mon 7:00 AM | Weekly report |
   208→
   209→---
   210→
   211→## 🌙 My Nightly Routine
   212→
   213→1. **Self-Improvement Scan** — What's clunky? What's missing? Fix or flag it.
   214→2. **Tech Radar** — New AI tools, APIs, automations that could help RateRight.
   215→3. **Competitor Watch** — Workmate, Sidekicker, Airtasker changes.
   216→4. **Industry Pulse** — Sydney construction news, big projects, labour shortages.
   217→
   218→---
   219→
   220→## 💰 Cost Situation (Action Needed)
   221→
   222→**Current spend:** ~$129 in 3 days (~$1,300/month projected)
   223→**Problem:** Running Opus for everything
   224→
   225→**Plan:**
   226→- Clawdbot → DeepSeek V3 (~$15/mo)
   227→- Research → Kimi K2.5 (~$5/mo)
   228→- Coding → Claude Code in PowerShell (Max plan)
   229→- **Target:** ~$20/mo
   230→
   231→**Waiting for:** OpenRouter API key from Michael
   232→
   233→---
   234→
   235→## 🔐 Security Notes
   236→
   237→- Growth Engine CRM = Michael's app (not Markus)
   238→- API keys in `~/.clawdbot/.env`
   239→- Draft external comms, wait for approval before sending
   240→- Never send without explicit "yes"
   241→
   242→---
   243→
   244→## 📝 Lessons Learned
   245→
   246→1. **Supabase silently returns empty on non-existent columns** — No error, just empty results. Always verify column names.
   247→2. **Position-based scroll detection** — getBoundingClientRect() catches scrolls even when touchmove events are consumed.
   248→3. **URL↔State bidirectional sync** — For browser back button to work, sync URL changes back to state.
   249→4. **Touch scroll triggering click** — Track vertical movement >10px to cancel click.
   250→
   251→---
   252→
   253→*This is everything I know. I update MEMORY.md and daily logs as I learn more.*
   254→
   255→— Rivet 🔧
   256→

<system-reminder>
Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
</system-reminder>


     1→# Labour Hire Industry Competitive Intelligence
     2→
     3→*Compiled: January 2026*
     4→*Source: Industry research, Fair Work, ABCC, ABS, RLB*
     5→
     6→---
     7→
     8→## Executive Summary
     9→
    10→**RateRight's Position:**
    11→- **Your fee:** 9.9% from worker (contractors pay $0)
    12→- **Industry standard:** 25-40% markup on bill rate
    13→- **Your advantage:** 50-60% cost reduction vs traditional agencies
    14→
    15→---
    16→
    17→## 1. NATIONAL AGENCY DATABASE (75+ Verified)
    18→
    19→### Sydney & NSW
    20→
    21→| Company | Website | Specialties | Pricing | Notes |
    22→|---------|---------|-------------|---------|-------|
    23→| Hunter Labour Hire | hunterlabourhire.com.au | Carpenters, formwork, electrical, plumbing, traffic | $52-70/hr bill | 4.2★ Google |
    24→| GoPro Labour | goprolabour.com.au | Formwork, steel fixing, concreting | "Affordable rates" | - |
    25→| Fast Labour Hire | fastlabourhire.com.au | General labour, skilled trades, operators | From $52/hr | 97% retention claim |
    26→| SC Priority Labour Hire | scplabourhire.com.au | Forklift, pick packers, traffic controllers | Budget-focused | 4.5★ |
    27→| Hays Construction | hays.com.au | All trades, white-collar crossover | Premium (20-25% markup) | 4.0★ |
    28→| Alpha Force Labour Hire | alphaforcelabourhire.com.au | Traffic, landscaping, carpenters, scaffolders | "Minimum cost" | 25+ years |
    29→| Labour Hire Sydney | employmelabourhire.com.au | Blue-collar, maintenance trades | Family-owned | - |
    30→| Tetris Labour Hire | tetrislabourhire.com.au | Warehousing, manufacturing | Mid-tier | - |
    31→| All Labour Hire NSW | alllabourhire.com.au | Demolition, construction, landscaping | "Cheaper prices" | 19 years |
    32→| TradeConnex | tradeconnex.com.au | Mechanical operators, carpenters, electricians | Cost-reduction focus | 15 years |
    33→| Oz Labour Solutions | ozlaboursolutions.com.au | Civil, residential, commercial, PM | Quality-controlled premium | - |
    34→| EK Recruitment | ekrecruitment.com.au | Blue-collar, construction, events | Custom pricing | - |
    35→| **Yakka Labour** | yakkalabour.com.au | Construction-first, AI matching, same-day pay | **12% margin** | 97% retention, award-winning |
    36→| Workfast | workfast.com.au | Infrastructure, rail, mining, tunnelling | Project-scale | - |
    37→| Point Force Group | pointforcegroup.com | Formwork, steel, concrete, traffic, carpentry | Not disclosed | Major contractor testimonials |
    38→| HLH Group | hlhgroup.com.au | General labour, skilled trades, carpentry | Not disclosed | Strong reputation |
    39→| Randstad | randstad.com.au | Construction, engineering, tech | Premium (18-25%) | 4.1★ |
    40→| Adecco | adecco.com.au | Large-scale project staffing | Volume-based | 3.9★ |
    41→| Chandler Macleod | chandlermacleod.com | Mining, heavy civil, psych testing | Premium tier | 4.0★ |
    42→| Programmed | programmed.com.au | Integrated maintenance, indigenous employment | Enterprise rates | - |
    43→| Hazel Rock | hazelrock.com.au | Formwork, steel fixing, concreting | Not disclosed | - |
    44→| Constructability | constructability.com.au | Civil engineers, infrastructure | Professional tier | Indigenous certified |
    45→| Construction Headhunters | constructionheadhunters.com.au | Building, civil, safety officers | Specialist premium | - |
    46→| ASTAR Recruitment | astar.com.au | General labour, executives, warehouse | National | - |
    47→| Perfect Labour Hire | perfectlabourhire.com | Commercial, civil, industrial | Mid-tier | "Exceptional reviews" |
    48→| Advanced Group | advancedgroup.com.au | Building, civil, rail, electrical | Premium safety | ISO 45001 |
    49→| Harrison Barratt Group | harrisonbarratt.com.au | Construction, engineering trades | Fast turnaround | - |
    50→
    51→### Melbourne & VIC
    52→
    53→| Company | Website | Specialties | Pricing | Notes |
    54→|---------|---------|-------------|---------|-------|
    55→| BDK Labour Hire | seek.com.au | Precast steel fixers, formwork carpenters | $45-60/hr advertised | Active recruitment |
    56→| Fetch Recruitment | fetchrecruitment.com.au | Boilermakers, concreters, electrical, steel fixers | Not disclosed | Infrastructure specialist |
    57→| Group Concrete Construction | seek listings | Concreters, skilled labourers | $100-120k pa | - |
    58→| JV Recruitment | jvrecruitment.com.au | Construction, civil, manufacturing, energy | Not disclosed | - |
    59→| DSC Personnel | dscp.com.au | Transport, logistics, warehousing | 40+ years | Detailed inductions |
    60→| Trojan Recruitment | trojanrecruitment.com | Warehousing, construction, engineering | Not disclosed | Multi-state |
    61→| Workcon | workcon.com.au | Construction, infrastructure, civil | Not disclosed | Government contractor |
    62→| Australia Wide Labour Hire | labourhireaustraliawide.com.au | Industrial, warehousing, trades | From $52/hr | 5★ Google |
    63→
    64→### Brisbane & QLD
    65→
    66→| Company | Website | Specialties | Pricing | Notes |
    67→|---------|---------|-------------|---------|-------|
    68→| Omni Recruit | omnirecruit.com.au | Construction, manufacturing, logistics | "Lower cost than hiring" | Reference/drug checks |
    69→| WorkPac | workpac.com | Mining, construction, transport | 16M+ hours/year | Tier-1 grade |
    70→| Smith & Co | smithandco.net.au | Boutique recruitment | Award-winning 2024 | Premium |
    71→| Techforce | techforce.com.au | Mining, construction, healthcare | National database 300k | ASX-listed parent |
    72→| Fast Labour Hire | fastlabourhire.com.au | General labour, skilled trades | From $52/hr | 24/7 support |
    73→| JPS Recruitment | jpsrecruitment.com.au | Resources, construction, PMs | Not disclosed | Resources specialist |
    74→| SEQ Formwork and Hire | seqformworkandhire.com.au | Formwork systems, precast, scaffolding | Hire + labour | Equipment fleet |
    75→| BKH Group | bkhgroup.com.au | Formwork, concrete, scaffolding | Not disclosed | Proprietary Wexdek systems |
    76→
    77→### Perth & WA
    78→
    79→| Company | Website | Specialties | Pricing | Notes |
    80→|---------|---------|-------------|---------|-------|
    81→| Unite Resourcing | uniteresourcing.com.au | Mining, civil, construction, oil & gas, FIFO | Transparent all-inclusive | Fast-growing |
    82→| Skillforce Recruitment | skillforcerecruitment.com.au | Mining, construction | All-inclusive payroll | - |
    83→| RecruitWest | recruitwest.com.au | Mining, resources, logistics, civil | Not disclosed | 20+ years |
    84→| Scotford Fennessy | scotfordfennessy.com.au | FIFO mining, drill & blast, shutdowns | Bulk recruitment | 24-48hr placement |
    85→| KMG Pty Ltd | kmg.com.au | Steel fixing (hourly/tonnage rates) | Rate per ton or hourly | Major WA projects |
    86→| BBS Steel Fixing | bbssteelfixing.com.au | Steel fixing, structural fabrication | Not disclosed | Safety focus |
    87→| MNG Steel | mngsteel.com.au | Steel fixing, formwork, labour hire | Not disclosed | National |
    88→| Advance Formwork WA | advanceformwork.com.au | Formwork hire, design, engineering | 25+ years | Award projects |
    89→| CoreStaff | corestaff.com.au | Remote FIFO crews, Pilbara/NT | Travel/accommodation managed | ISO 45001 |
    90→
    91→### Adelaide & SA
    92→
    93→| Company | Website | Specialties | Pricing | Notes |
    94→|---------|---------|-------------|---------|-------|
    95→| LHR | labourhireandrecruitment.com.au | Factory, process work, general labour | Not disclosed | Compliance-focused |
    96→| Jones Complete Services | jonescompleteservices.com.au | Electricians, fitters, boilermakers, riggers | Not disclosed | Perfect safety record |
    97→| Labour Solutions Australia | laboursolutions.com.au | Warehousing, modular, agriculture, regional | e-learning portal | ISO 45001 |
    98→
    99→### National Coverage
   100→
   101→| Company | Coverage | Specialties | Notes |
   102→|---------|----------|-------------|-------|
   103→| Hays | All capitals | White/blue collar, construction | Global brand |
   104→| Randstad | All capitals | MyRandstad app, construction academy | Tech-enabled |
   105→| Adecco | All capitals | Government partnerships, mega projects | Global scale |
   106→| Chandler Macleod | All capitals | People analytics, BestFit testing | 60+ years |
   107→| WorkPac | 40+ branches | Mining, heavy civil, indigenous | Largest private |
   108→| Techforce | All states | Construction, mining, healthcare | ASX-listed |
   109→| Programmed | All states | Maintenance crews, facility management | Integrated |
   110→| Core Talent | All capitals | Infrastructure, rail, signal techs | Sentinel checks |
   111→
   112→### Specialist Trade-Specific
   113→
   114→| Trade | Key Agencies |
   115→|-------|-------------|
   116→| **Formwork** | SEQ Formwork, Advance Formwork, Point Force, BKH Group |
   117→| **Steel Fixing** | KMG, BBS Steel, MNG Steel, Point Force, SEQ Formwork |
   118→| **Concreting** | Group Concrete, SEQ Formwork, BKH Group, Point Force |
   119→| **Scaffolding** | BKH Group, SEQ Formwork |
   120→| **Crane Operators** | Workfast, Hunter Labour Hire |
   121→| **Traffic Control** | Point Force Traffic, Alpha Force |
   122→
   123→---
   124→
   125→## 2. WORKER PAIN POINTS (Evidence-Based)
   126→
   127→*Sources: Fair Work Ombudsman, ABCC, Victorian Inquiry, SafeWork*
   128→
   129→### Top 10 Worker Complaints
   130→
   131→| # | Pain Point | Evidence | RateRight Solution |
   132→|---|-----------|----------|-------------------|
   133→| 1 | **Wage Theft & Underpayment** | ABCC: 80% of agencies non-compliant. ASA Personnel underpaid $236,100 | Transparent 9.9%, instant visibility |
   134→| 2 | **Same Job, Less Pay** | Labour hire paid less than direct employees for identical work | Workers set own rates |
   135→| 3 | **No Job Security** | 78.8% of labour hire are casual vs 24.6% average | Rating system builds reputation |
   136→| 4 | **Poor FIFO Accommodation** | Victorian LHA reports common non-compliance | Not applicable (local focus) |
   137→| 5 | **Sham Contracting** | CFMMEU: extensive exploitation of visa holders | Clear employment status |
   138→| 6 | **Safety Negligence** | Macpherson case: liability split 85/15 | Direct contractor relationship |
   139→| 7 | **No Sick Pay/Leave** | Casuals forfeit all leave entitlements | Workers retain casual flexibility |
   140→| 8 | **Delayed/Incorrect Pay** | Hudson self-reported $4.5M underpayment | Direct payment, transparent |
   141→| 9 | **Unreliable Hours** | Sent home without pay when sites slow | Clear job postings, no surprises |
   142→| 10 | **Visa Exploitation** | Modern slavery risks in construction | Equal treatment regardless of visa |
   143→
   144→**Key Quote:** "Visa insecurity is a powerful motivation amongst low skilled migrants to tolerate abuse in the workplace" – Crisp Law
   145→
   146→---
   147→
   148→## 3. CONTRACTOR PAIN POINTS
   149→
   150→### Top 10 Contractor Complaints
   151→
   152→| # | Pain Point | Evidence | RateRight Solution |
   153→|---|-----------|----------|-------------------|
   154→| 1 | **No-Shows** | "Most common problem... cost and knock-on effect" – HLH | Rating system, reliability scores |
   155→| 2 | **Inexperienced Workers** | "Never even knew how to use a shovel" – common complaint | Verified tickets, ratings |
   156→| 3 | **Late Cancellations** | "I know it's late, but..." – urgent staffing requests | Same-day matching |
   157→| 4 | **Compliance Risk** | Rocktown faces $5.5M penalty for unlicensed providers | Platform handles compliance |
   158→| 5 | **Hidden Markups** | Markups 25-100%, opaque pricing | Zero contractor cost, 9.9% transparent |
   159→| 6 | **Safety Liability** | Host vs agency responsibility unclear | Clear direct relationship |
   160→| 7 | **High Turnover** | Construction turnover ~40% | Build ongoing relationships |
   161→| 8 | **Skills Shortage** | 71% employers report difficulty recruiting | Wider talent pool |
   162→| 9 | **Admin Burden** | Managing multiple agencies, timesheets | Single platform |
   163→| 10 | **Cultural Misfit** | Agency workers don't integrate | Ratings include culture fit |
   164→
   165→---
   166→
   167→## 4. FACEBOOK GROUPS FOR TRADIES
   168→
   169→### Top Groups to Target
   170→
   171→| Group | Coverage | Focus | Members |
   172→|-------|----------|-------|---------|
   173→| Tradie + Labourer Jobs in Australia | National | Job networking | 15,000+ |
   174→| NSW & Sydney Construction, Builders & Tradies | NSW | Companies, tradesmen, builders | 8,000+ |
   175→| Sydney Builders, Tradies and Machine Operators | NSW | Support, advice, jobs | 12,000+ |
   176→| Tradie Boss | National | Business owners | 25,000+ |
   177→| Apprenticeship & Tradie Jobs Perth | WA | Apprenticeships | 5,000+ |
   178→| Tradies Cashies Page SA | SA | Local residential | 3,000+ |
   179→| Formwork Australia | National | Formworkers (Private) | 4,000+ |
   180→| Melbourne Concreters | VIC | Concreter community | 2,500+ |
   181→| Concreters Wanted Forum Australia | National | Jobs, buy/sell | 8,000+ |
   182→| Australian Concrete and Concreters | National | Industry stories, jobs | 10,000+ |
   183→| SA Concreters | SA | SA-specific | 1,500+ |
   184→
   185→### Search Strategy
   186→- Search: "[Trade] + [State]" (e.g., "Electricians Queensland")
   187→- Keywords: "FIFO jobs Australia," "Shutdown crews," "Boilermakers Australia"
   188→- LinkedIn: "Australian Construction Industry," "Civil Construction Australia"
   189→
   190→---
   191→
   192→## 5. PRICING INTELLIGENCE
   193→
   194→### Bill Rates vs Worker Pay vs Your Model
   195→
   196→| Role | Worker Pay | Agency Bill Rate | Agency Markup | Your 9.9% Charge |
   197→|------|-----------|-----------------|---------------|-----------------|
   198→| General Labourer | $35-45/hr | $45-65/hr | 29-44% | $38.50-49.50/hr |
   199→| Skilled Labourer | $40-50/hr | $50-70/hr | 25-40% | $44-55/hr |
   200→| Trade Assistant | $40-52/hr | $52-72/hr | 25-38% | $44-57/hr |
   201→| Carpenter | $45-65/hr | $60-90/hr | 33-38% | $49.50-71.50/hr |
   202→| Formwork Carpenter | $50-70/hr | $65-95/hr | 30-36% | $55-77/hr |
   203→| Electrician | $52-75/hr | $70-105/hr | 35-40% | $57-82.50/hr |
   204→| Steel Fixer | $45-60/hr | $60-85/hr | 33-42% | $49.50-66/hr |
   205→| Plant Operator | $45-65/hr | $60-90/hr | 33-38% | $49.50-71.50/hr |
   206→
   207→### Cost Structure
   208→- **Traditional Agency Markup:** 25-100%, typically 30-40%
   209→- **On-Costs Included:** Super (11%), Workers Comp (3-5%), Payroll Tax (4-6%), Insurance, Admin
   210→- **Hidden Costs:** Recruitment ($1,000-2,000/hire), downtime, inductions, turnover
   211→
   212→**Your Competitive Advantage:** At 9.9%, you operate at roughly 1/3 to 1/4 of traditional markups.
   213→
   214→---
   215→
   216→## 6. INDUSTRY DATA & MARKET SIZE
   217→
   218→### Market Scale
   219→- **Construction Employment:** 1,360,000 Australians
   220→- **Labour Hire Workers:** ~212,400 nationally (1.8% of labour market)
   221→- **Construction Businesses:** 452,820 (largest industry sector)
   222→- **Small Business Dominance:** 98% have <20 employees, 44% employ <4 people
   223→
   224→### Trends
   225→- **Workforce Growth:** 2.0% increase YoY
   226→- **Productivity Crisis:** Output per worker 25.4% lower than 2013
   227→- **Skills Shortage:** 71% difficulty recruiting technicians/trades
   228→
   229→### Tender Price Escalation 2024-2025 (RLB)
   230→
   231→| City | 2024 Uplift | 2025 Forecast |
   232→|------|-------------|---------------|
   233→| Sydney | 6.0% | 5.5% |
   234→| Melbourne | 8.0% | 5.0% |
   235→| Brisbane | 8.0% | 7.2% |
   236→| Perth | 5.8% | 5.0% |
   237→| Adelaide | 5.1% | 6.5% |
   238→| Gold Coast | 10.5% | 7.0% |
   239→
   240→### Regulatory Environment
   241→- **Licensing:** VIC and QLD require labour hire licences; NSW/SA under consideration
   242→- **Compliance Costs:** ABCC recovered $563,850 for 1,337 workers in 2019-20
   243→- **Same Job Same Pay:** Protected pay rate orders now enforceable
   244→
   245→---
   246→
   247→## 7. STRATEGIC RECOMMENDATIONS
   248→
   249→### RateRight's 3-Front Attack
   250→
   251→1. **Worker Attraction:** Higher take-home (9.9% vs 30-40%) addresses wage theft pain point
   252→2. **Contractor Acquisition:** 50-60% cost reduction vs traditional agencies
   253→3. **Competitive Moat:** Undercut Yakka (12%) and legacy agencies (30%+) simultaneously
   254→
   255→### Immediate Actions
   256→
   257→1. **Target Markets:** Sydney, Melbourne, Brisbane first (highest agency density)
   258→2. **Focus Trades:** Formwork, steel fixing, concreting (shortage trades with premium pricing)
   259→3. **Facebook Groups:** Join Formwork Australia, Tradie + Labourer Jobs
   260→4. **Messaging:** Highlight transparency (counter to 80% non-compliance rate)
   261→
   262→### Battle Card: vs Traditional Agency
   263→
   264→| Factor | Traditional Agency | RateRight |
   265→|--------|-------------------|-----------|
   266→| Contractor Cost | 25-100% markup | $0 |
   267→| Worker Take-Home | 60-75% of bill | 90.1% of rate |
   268→| Transparency | Opaque pricing | Full visibility |
   269→| Reliability | No-show issues | Rating system |
   270→| Compliance | 80% non-compliant | Platform-managed |
   271→
   272→---
   273→
   274→*Sources: Fair Work Ombudsman, ABCC, ABS Labour Force, Infrastructure Australia, RLB Market Intelligence, KPMG Labour Market*
   275→

<system-reminder>
Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
</system-reminder>


     1→# URGENT: Job Duplication Fix Required
     2→**Priority:** P0 (CRITICAL)
     3→**Date:** Feb 2, 2026 13:15 UTC
     4→**From:** Main Agent (via Telegram)
     5→
     6→## 🚨 CRITICAL ISSUE
     7→Two jobs in Growth Engine are both sending SMS from sequences:
     8→1. `sequenceProcessor.js` (every minute)
     9→2. `scheduledSms.js` (every minute)
    10→
    11→**RISK:** Duplicate SMS messages to leads, Twilio cost overruns, lead trust erosion.
    12→
    13→## ✅ PARTIAL FIX APPLIED
    14→Main agent has:
    15→1. Disabled `scheduledSms.js` in `src/jobs/index.js`
    16→2. Created job locking system (`src/services/jobLocking.js`)
    17→3. Created database migration for job locks
    18→4. Added task to CC's INBOX.md
    19→
    20→## 🚀 REQUIRED ACTIONS (CC)
    21→
    22→### **Phase 1: SMS Fix (TODAY)**
    23→1. Run migration: `supabase/migrations/20260202130000_create_job_locks_table.sql`
    24→2. Restart Growth Engine to apply SMS fix
    25→3. Monitor sequence processing for issues
    26→
    27→### **Phase 2: Metrics Consolidation (THIS WEEK)**
    28→- Merge 3 metrics jobs into `unifiedDailyMetrics.js`
    29→- Create metrics cache table
    30→- Update dashboard to use cache
    31→
    32→### **Phase 3: Audit Simplification (THIS WEEK)**
    33→- Merge 4 audit jobs into `comprehensiveAudit.js`
    34→- Configurable modes: real-time, daily, weekly, critical
    35→
    36→### **Phase 4: Report Unification (NEXT WEEK)**
    37→- Merge 4 report jobs into `reportGenerator.js`
    38→- Template-based system
    39→- Single data query, multiple outputs
    40→
    41→## 📊 EXPECTED BENEFITS
    42→- **No duplicate SMS** (critical fix)
    43→- **50-70% fewer** database queries
    44→- **60% less** CPU usage
    45→- **Simplified maintenance** (70% less job code)
    46→
    47→## 📋 REFERENCE FILES
    48→- `JOB-CONSOLIDATION-PLAN.md` - Complete plan
    49→- `src/services/jobLocking.js` - Job locking service
    50→- `src/jobs/index.js` - Updated job scheduler
    51→- `.claude/INBOX.md` - Task already added
    52→
    53→## 🔔 NOTIFICATION
    54→CC should be triggered via:
    55→```bash
    56→cd /home/ccuser/rateright-growth
    57→./clawd-scripts/trigger-cc.sh next
    58→```
    59→
    60→Or CC will pick up from INBOX.md on next poll.
    61→
    62→---
    63→**Status:** Task assigned, awaiting CC execution
    64→**Monitor:** Check `.claude/OUTBOX.md` for progress

<system-reminder>
Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
</system-reminder>


     1→# Growth Engine CRM - Complete User Guide
     2→## Vena Onboarding | RateRight
     3→### NOTE: Mae access revoked 2026-02-02
     4→
     5→**Last Updated:** February 2, 2026 (Mae access revoked)
     6→
     7→---
     8→
     9→## Welcome to RateRight 🔧
    10→
    11→You're joining a construction marketplace that's disrupting the labour hire industry. Traditional agencies take 30-40% from workers. We take 9.9% total (7% platform + 2.9% payment processing). Contractors post jobs for FREE.
    12→
    13→**Your mission:** Build our pipeline. Get contractors posting jobs. Get workers signing up.
    14→
    15→---
    16→
    17→## 🔗 Key Links
    18→
    19→| What | URL |
    20→|------|-----|
    21→| **Sign-up link (send to leads)** | rateright.com.au/register |
    22→| Website | rateright.com.au |
    23→| Growth Engine CRM | (check your email for login) |
    24→
    25→---
    26→
    27→## Quick Start Checklist
    28→
    29→- [ ] Log into Growth Engine CRM (check email for login details)
    30→- [ ] Read this guide fully
    31→- [ ] Test your headset and internet
    32→- [ ] Review today's call list
    33→- [ ] Make your first call!
    34→
    35→---
    36→
    37→## Understanding RateRight's Value Proposition
    38→
    39→### For Contractors (They pay NOTHING)
    40→
    41→- Post jobs for free
    42→- See exactly what you're paying - no hidden agency markup
    43→- Workers set their own rates
    44→- Access verified tradies instantly
    45→- No lock-in contracts
    46→
    47→**Key message:**
    48→> "You're probably paying agencies 30-40% on top of worker rates right now. With RateRight, you pay nothing. The worker sets their rate, you see it, you hire them directly. We only take a small percentage from the worker's side."
    49→
    50→### For Workers (9.9% total fee)
    51→
    52→- Set your own rate
    53→- Keep more of your money (agencies take 30-40%, we take 9.9%)
    54→- Get paid faster
    55→- Choose your own jobs
    56→- You're in control
    57→
    58→**Key message:**
    59→> "You know what agencies are taking from you? 30-40% of what the contractor pays. With RateRight, you set your rate, keep 90%, and get paid direct. No middleman taking half your wage."
    60→
    61→---
    62→
    63→## Growth Engine CRM - How It Works
    64→
    65→### Dashboard Overview
    66→
    67→When you log in, you'll see:
    68→- **Call List** - Prioritised leads to call (hottest at top)
    69→- **Today's Stats** - Calls made, conversations, wins
    70→- **Pipeline** - Total leads, hot/warm/cold breakdown
    71→
    72→### Lead Statuses
    73→
    74→| Status | Meaning | Action |
    75→|--------|---------|--------|
    76→| 🔥 Hot | Very interested, ready to sign up | Call immediately |
    77→| ⚠ Warm | Interested but needs follow-up | Call within 24-48hrs |
    78→| ❄ Cold | New lead, not yet contacted | Work through list |
    79→| ✅ Won | Signed up! | Celebrate 🎉 |
    80→| ❌ Lost | Not interested / wrong fit | Move on |
    81→| 📞 Callback | Asked to call back later | Note the time, call back |
    82→
    83→### CRM Features You Need to Know
    84→
    85→1. **AI Intel Briefs** - Before calling any lead, click on them to see:
    86→   - Company research
    87→   - Talking points
    88→   - Predicted objections with counter-responses
    89→   - Similar wins (what worked with leads like this)
    90→
    91→2. **Call Logging** - After EVERY call:
    92→   - Outcome: Connected / No Answer / Voicemail / Wrong Number
    93→   - Result: Interested / Not Interested / Callback / Signed Up
    94→   - Notes: Key points from conversation
    95→
    96→3. **SMS Templates** - Send follow-up texts directly from CRM
    97→
    98→4. **Score System** - Leads scored 0-100 based on:
    99→   - Recent replies (+40 for positive)
   100→   - Buying signals (+30 for "I need workers")
   101→   - Inbound calls (+20 each)
   102→   - Time since last contact (penalty if too long)
   103→
   104→---
   105→
   106→## 🔥 YOUR FIRST LEADS - Call These First!
   107→
   108→**Priority 1 - OVERDUE CALLBACKS:**
   109→
   110→| Name | Trade | Status | Action |
   111→|------|-------|--------|--------|
   112→| Steavey Lf Concreter | Concrete | 60hrs overdue | Call immediately - interested before! |
   113→
   114→**Priority 2 - HOT LEADS (Score 70+):**
   115→
   116→| Name | Trade | Why Hot |
   117→|------|-------|---------|
   118→| Rory Welsh | Carpenter | Replied "Yes" - interested! |
   119→| Ardi The Turk | General Builder | Said "find me good job" - wants work |
   120→
   121→**Priority 3 - FRESH LEADS (Never contacted):**
   122→
   123→| Name | Trade | Company |
   124→|------|-------|---------|
   125→| Pat Gallagher | Steel Fixing | Steelfixer |
   126→| Anthony Brosnan | Carpenter | LF Construction |
   127→| Mick Cashman | Steel Fixing | Steelfixing contractor |
   128→| Phil OLeary | Steel Fixing | Steelfixing contractor |
   129→| Kevin B L D | Formwork | Formwork And Labour Hire |
   130→
   131→**DO NOT CALL:**
   132→- Tony McCabe - He's a friend of Michael's, family situation. Michael will handle.
   133→- Michael Rocky - This is the founder (Michael himself)!
   134→
   135→---
   136→
   137→## Call Scripts
   138→
   139→### Script 1: Contractor Cold Call
   140→
   141→**Opening:**
   142→> "Hi, is this [Name]? Great - I'm [Your name] from RateRight. We're a new platform helping Sydney builders find tradies without the agency markup. Have you got 2 minutes?"
   143→
   144→**If yes:**
   145→> "Quick question - are you using labour hire agencies at the moment for any of your crews?"
   146→
   147→**If they use agencies:**
   148→> "What are they charging you on top of the worker's rate? ... Yeah, that's pretty standard - 30-40% markup is what we hear.
   149→>
   150→> Here's why I'm calling - RateRight is free for contractors. Zero markup. Workers set their own rate, you see exactly what you're paying, and we only take a small cut from their side. You pay nothing extra.
   151→>
   152→> Would you be open to trying it on your next hire?"
   153→
   154→**If interested:**
   155→> "Great - I'll send you a link to sign up. Takes 2 minutes. You can post a job today and see who's available. Any questions, call me back on this number."
   156→
   157→**If not interested:**
   158→> "No worries at all. Mind if I ask - is it timing, or is there something specific that doesn't fit for you?"
   159→
   160→### Script 2: Worker Cold Call
   161→
   162→**Opening:**
   163→> "Hi, is this [Name]? I'm [Your name] from RateRight. I saw you're looking for work - are you still available for shifts?"
   164→
   165→**If yes:**
   166→> "Cool - what trade are you? ... And what rate are you looking for?
   167→>
   168→> Have you used labour hire agencies before? ... What do you reckon they're taking off the top?
   169→>
   170→> Here's the deal with RateRight - you set your own rate. We take 9.9% total, that's it. No agency taking 30-40%. You keep more, you choose your jobs, you're in control.
   171→>
   172→> Want me to send you the sign-up link? rateright.com.au/register"
   173→
   174→### Script 3: Callback / Follow-up
   175→
   176→> "Hi [Name], it's [Your name] from RateRight - we spoke [when]. You asked me to call back about [topic]. Is now still a good time?"
   177→
   178→---
   179→
   180→## Objection Handling
   181→
   182→### "I'm already with an agency"
   183→> "Totally understand - most contractors are. Quick question though: do you know what percentage they're adding on top of the worker's rate? ...
   184→>
   185→> The reason I ask is we're hearing 30-40% is pretty standard. With RateRight, you'd pay zero markup - same worker quality, more money in your pocket. Worth trying on your next hire?"
   186→
   187→### "What's the catch?"
   188→> "Fair question. No catch - we make money from a small percentage on the worker's side, not yours. Contractors post jobs free, see the real rate, hire direct. The only thing we ask is you give us a go on your next job."
   189→
   190→### "I don't need workers right now"
   191→> "No problem - when's your next project kicking off? ...
   192→>
   193→> Cool, I'll give you a call closer to then. But honestly, worth signing up now so you're ready when you need someone. Takes 2 minutes and you can see who's available in your area."
   194→
   195→### "I've never heard of you"
   196→> "Yeah, we're new - that's why I'm calling! We're a Sydney startup taking on the big labour hire agencies. Same idea as Uber did to taxis - cut out the middleman, everyone wins. Early users are getting the best tradies before word spreads."
   197→
   198→### "Send me an email"
   199→> "Sure thing - what's your email? ... Great, I'll send that through now. Mind if I give you a quick call in a couple of days to walk you through it?"
   200→
   201→---
   202→
   203→## 🇦🇺 Aussie Tradie Talk - Cultural Tips
   204→
   205→You're calling from the Philippines to Australian tradies. Here's how to connect:
   206→
   207→### Common Aussie Slang
   208→
   209→| They Say | They Mean |
   210→|----------|-----------|
   211→| "Yeah, nah" | No |
   212→| "Nah, yeah" | Yes |
   213→| "Flat out" | Very busy |
   214→| "Smoko" | Break time (tea/smoke break) |
   215→| "Arvo" | Afternoon |
   216→| "Reckon" | Think/believe |
   217→| "No worries" | It's fine / You're welcome |
   218→| "Sweet as" | Great / Perfect |
   219→| "She'll be right" | It'll be fine |
   220→| "Tradie" | Tradesperson |
   221→| "Chippy" | Carpenter |
   222→| "Sparky" | Electrician |
   223→| "Brickie" | Bricklayer |
   224→| "Steelie" | Steel fixer |
   225→| "Subbie" | Subcontractor |
   226→| "Site" | Construction site |
   227→| "Knock off" | Finish work |
   228→| "Hourly rate" | Often called "rate" or "what you're on" |
   229→
   230→### Communication Style
   231→
   232→1. **Be direct** - Aussies don't like waffle. Get to the point.
   233→2. **Be casual** - "Hey mate" is fine. Don't be too formal.
   234→3. **Use humour** - Light banter is normal, but don't force it
   235→4. **Don't oversell** - Tradies hate being "sold to". Just explain the deal.
   236→5. **Respect their time** - They're often on site. Keep it short.
   237→
   238→### Best Times to Call (Sydney Time)
   239→
   240→| Time | Status |
   241→|------|--------|
   242→| 6:30-7:00am | Heading to site - quick answers only |
   243→| 7:00-9:00am | On site, might not answer |
   244→| 9:00-11:00am | Deep in work - avoid |
   245→| 12:00-1:00pm | Lunch break - good time! |
   246→| 1:00-3:00pm | Back at work - avoid |
   247→| 3:00-5:00pm | Winding down - good time! |
   248→| After 6:00pm | Family time - avoid |
   249→
   250→---
   251→
   252→## Sydney Construction Market - What's Happening
   253→
   254→### Hot Areas Right Now
   255→
   256→1. **Western Sydney Airport (Badgerys Creek)** - Massive project, everyone's hiring
   257→2. **Parramatta** - High-rise boom, lots of formwork/concrete
   258→3. **Northern Beaches** - Residential renovation hot spot
   259→4. **South West Sydney** - New housing developments
   260→5. **CBD** - Commercial fit-outs
   261→
   262→### Trades in High Demand
   263→
   264→1. **Steel Fixers** - Always needed, good rates ($45-65/hr)
   265→2. **Formworkers** - Tied to steel fixing, big demand
   266→3. **Concreters** - Residential and commercial
   267→4. **Carpenters** - Especially for residential
   268→5. **Scaffolders** - Supporting all trades
   269→
   270→### Companies Actively Hiring (from job ads)
   271→
   272→- BriX Projects - Steel fixers, concreters
   273→- HLH Group - Carpenters, labourers
   274→- TGA Construction - Concrete/formwork ($100-140k)
   275→- Kilmac Civil - Formworkers
   276→- Multiple scaffolding companies
   277→
   278→---
   279→
   280→## First Week Goals
   281→
   282→| Day | Target |
   283→|-----|--------|
   284→| Day 1 | 20 calls, learn the system |
   285→| Day 2 | 30 calls, 5+ conversations |
   286→| Day 3 | 40 calls, 2+ interested leads |
   287→| Day 4 | 50 calls, 1+ sign-up |
   288→| Day 5 | 50 calls, refine what's working |
   289→
   290→**Focus on:**
   291→- Making calls (volume matters early)
   292→- Logging everything properly
   293→- Learning what objections come up
   294→- Asking Michael if you're stuck
   295→
   296→---
   297→
   298→## Daily Routine
   299→
   300→**Start of day:**
   301→1. Log into Growth Engine
   302→2. Check your call list (hottest leads first)
   303→3. Review any callbacks due today
   304→4. Set your target for the day
   305→
   306→**During calls:**
   307→1. Work through list top to bottom
   308→2. Log every call immediately
   309→3. Send follow-up SMS after good conversations
   310→4. Note objections you're hearing
   311→
   312→**End of day:**
   313→1. Log final stats
   314→2. Update any pending callbacks
   315→3. Note what worked / what didn't
   316→4. Message Michael with questions
   317→
   318→---
   319→
   320→## ⏰ Shifts & Pay
   321→
   322→**Morning Shift:** 6am - 2pm Manila (8am - 4pm Sydney)
   323→**Afternoon Shift:** 12pm - 8pm Manila (2pm - 10pm Sydney)
   324→
   325→Both shifts overlap 2pm-4pm Sydney - that's prime knock-off time for tradies.
   326→
   327→**Pay Structure:**
   328→- $750 AUD/month base
   329→- Worker signs up: $1 AUD
   330→- Worker profile completed: +$1 AUD
   331→- Worker Stripe connected: +$1 AUD
   332→- Contractor signs up: $3 AUD
   333→- First month: paid bi-weekly. After: paid monthly.
   334→
   335→Top performers earn significantly more through bonuses.
   336→
   337→---
   338→
   339→## Communication
   340→
   341→**With Michael:**
   342→- WhatsApp for quick questions: +61 426 246 472
   343→- Don't wait if you're stuck - ask
   344→
   345→**With the team:**
   346→- Slack for team updates
   347→- Daily wins/blockers in #daily-updates
   348→
   349→---
   350→
   351→## Troubleshooting
   352→
   353→**CRM won't load:**
   354→- Refresh the page
   355→- Clear browser cache
   356→- Try a different browser
   357→- Message Markus on Slack
   358→
   359→**Call not connecting:**
   360→- Check your internet
   361→- Try from your phone instead
   362→- Log it as "technical issue" and move to next lead
   363→
   364→**Don't know how to answer a question:**
   365→- Be honest: "Good question - let me find out and get back to you"
   366→- Note it down, ask Michael, call them back
   367→
   368→---
   369→
   370→## Tips for Success
   371→
   372→1. **Volume wins early** - More calls = more learning = more results
   373→2. **Log everything** - If it's not logged, it didn't happen
   374→3. **Don't fear rejection** - Most calls won't convert. That's normal.
   375→4. **Listen more than talk** - Find their pain, then offer the solution
   376→5. **Follow up** - The money is in the follow-up. Most people need 3+ touches.
   377→6. **Ask questions** - If you're unsure, ask Michael. No dumb questions.
   378→7. **Smile when you dial** - They can hear it in your voice
   379→
   380→---
   381→
   382→## You've Got This 💪
   383→
   384→You're joining RateRight at the ground floor. The first hires. The ones who build this thing.
   385→
   386→Every call you make, every sign-up you get, directly grows the company. There's real opportunity here for people who show up and deliver.
   387→
   388→Let's go.
   389→
   390→---
   391→
   392→**Questions?** Ask Michael or check Slack.
   393→
   394→*Last updated: January 28, 2026*
   395→

<system-reminder>
Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
</system-reminder>


     1→# Contractor Offboarding Record - Mae
     2→**Date:** February 2, 2026
     3→**Status:** Candidate never started - Access revoked preemptively
     4→
     5→## Candidate Information
     6→- **Name:** Mae (Lead Generator candidate)
     7→- **Email:** ytingmae@gmail.com
     8→- **Location:** Philippines
     9→- **Role:** Lead Generator (Sales team)
    10→- **Status:** Candidate accepted offer but never started work
    11→
    12→## Access Revocation Actions
    13→
    14→### ✅ Completed (2026-02-02):
    15→1. **Growth Engine API Access** - Removed from `ALLOWED_EMAILS` in `src/middleware/auth.js`
    16→   - File: `/home/ccuser/rateright-growth/src/middleware/auth.js`
    17→   - Change: Commented out `'ytingmae@gmail.com'` line
    18→   - Effect: Immediate API access denial for new requests
    19→
    20→2. **Documentation Updated** - Marked playbook with revocation note
    21→   - File: `rivet/knowledge/mae-vena-playbook-complete.md`
    22→   - Change: Updated title and last updated date
    23→
    24→### ⚠ Pending (Low Priority):
    25→1. **Supabase User Account** - Still exists but inactive
    26→   - Email: ytingmae@gmail.com
    27→   - Status: Never used (dormant account)
    28→   - Action: Can be disabled later if needed
    29→
    30→2. **Other System Access** - None identified
    31→   - Notion: No access found
    32→   - Slack: No access found
    33→   - GitHub: No access found
    34→   - Other tools: None identified
    35→
    36→## Risk Assessment
    37→**Low Risk** - Candidate never started work:
    38→- Never received active training
    39→- Never used system credentials
    40→- Never accessed live data
    41→- API access revoked preemptively
    42→
    43→## Communication
    44→**No communication sent** - Candidate never started, so formal offboarding communication not required.
    45→
    46→## Lessons Learned
    47→1. **Pre-start access management:** Candidates should receive access only on first day
    48→2. **Staggered onboarding:** Credentials provided after confirmation of start
    49→3. **Automated cleanup:** System to auto-revoke access if candidate doesn't start within X days
    50→
    51→## Future Improvements
    52→1. Create candidate access management system
    53→2. Implement automated access revocation for non-starters
    54→3. Add candidate status tracking in contractor management
    55→
    56→## Verification
    57→- [x] API access revoked in code
    58→- [x] Documentation updated
    59→- [ ] Supabase account disabled (optional)
    60→- [x] No other system access identified
    61→
    62→---
    63→**Record created by:** Clawdbot (DeepSeek)
    64→**Approved by:** Michael
    65→**Next review:** When cleaning up dormant Supabase accounts

<system-reminder>
Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
</system-reminder>


Now let me read the content and skills files:


     1→# LinkedIn Post Draft 1
     2→**Type:** Pain
     3→**Date:** 2026-02-06 09:40
     4→**Word Count:** 71
     5→
     6→---
     7→
     8→Hired a sparkie who didn't show?
     9→
    10→You're not alone. 40% of construction hires ghost on day one.
    11→
    12→Old way: Post job → Wait 3 days → Interview → Hire → No-show → Start over
    13→
    14→Better way: RateRight workers have track records. You see who's reliable before you hire.
    15→
    16→$50 flat fee. No percentages. No BS.
    17→
    18→📊 Average tradie waits 45 days to get paid
    19→
    20→Need reliable workers? Post your job →
    21→
    22→---
    23→
    24→**Notes:**
    25→- Keep under 200 words ✓
    26→- Direct, worker-focused tone ✓
    27→- Clear CTA ✓
    28→- No corporate speak ✓
    29→

<system-reminder>
Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
</system-reminder>


     1→# LinkedIn Post Draft 2
     2→**Type:** Value
     3→**Date:** 2026-02-08 09:40
     4→**Word Count:** 50
     5→
     6→---
     7→
     8→Workers keep 100%. Always.
     9→
    10→Your rate is your rate.
    11→
    12→Charge $500/day? You get $500.
    13→Charge $750/day? You get $750.
    14→
    15→We don't touch your money.
    16→We don't take a percentage.
    17→We don't 'optimize' your earnings.
    18→
    19→$50 flat fee paid by the contractor. That's it.
    20→
    21→Set your rate. Keep your money →
    22→
    23→---
    24→
    25→**Notes:**
    26→- Keep under 200 words ✓
    27→- Direct, worker-focused tone ✓
    28→- Clear CTA ✓
    29→- No corporate speak ✓
    30→

<system-reminder>
Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
</system-reminder>


     1→# LinkedIn Post Draft 3
     2→**Type:** Insight
     3→**Date:** 2026-02-10 09:40
     4→**Word Count:** 44
     5→
     6→---
     7→
     8→Construction's biggest problem isn't skill shortage.
     9→
    10→It's trust shortage.
    11→
    12→Contractors don't trust workers will show up.
    13→Workers don't trust they'll get paid.
    14→
    15→Everyone's been burned. So everyone's cautious.
    16→
    17→Solution: Transparent ratings. Verified track records. Fast payments.
    18→
    19→Build trust, build projects.
    20→
    21→Hire trusted workers →
    22→
    23→---
    24→
    25→**Notes:**
    26→- Keep under 200 words ✓
    27→- Direct, worker-focused tone ✓
    28→- Clear CTA ✓
    29→- No corporate speak ✓
    30→

<system-reminder>
Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
</system-reminder>


     1→# Prospector
     2→
     3→A Claude Code skill for finding leads matching your ICP (Ideal Customer Profile).
     4→
     5→**Workflow:** Define your ICP → Search companies via Exa → Enrich contacts via Apollo → Export to CSV (+ optional Attio sync)
     6→
     7→## Installation
     8→
     9→1. Clone this repo:
    10→   ```bash
    11→   git clone https://github.com/YOUR_USERNAME/prospector.git ~/.claude/skills/prospector
    12→   ```
    13→
    14→2. Install the Python dependency:
    15→   ```bash
    16→   pip install httpx
    17→   ```
    18→
    19→3. Get API keys:
    20→   - **Exa** (required): https://exa.ai - Sign up for free tier
    21→   - **Apollo** (required): https://apollo.io - Sign up for API access
    22→   - **Attio** (optional): https://attio.com - If you want CRM sync
    23→
    24→## Usage
    25→
    26→### First-time Setup
    27→
    28→Run the setup command to configure your API keys:
    29→
    30→```
    31→/prospector:setup
    32→```
    33→
    34→This will:
    35→1. Ask for your Exa API key and validate it
    36→2. Ask for your Apollo API key and validate it
    37→3. Optionally ask for your Attio API key
    38→4. Optionally set environment variables in your shell profile
    39→5. Save keys securely to `~/.config/prospector/config.json` (chmod 600)
    40→
    41→### Finding Leads
    42→
    43→Run the main command:
    44→
    45→```
    46→/prospector
    47→```
    48→
    49→You'll be asked:
    50→1. **Industry** - SaaS, Fintech, Healthcare, E-commerce, AI/ML, or Any
    51→2. **Company Size** - 1-10, 11-50, 51-200, 201-500, 500+, or Any
    52→3. **Funding Stage** - Pre-seed, Seed, Series A, Series B+, or Any
    53→4. **Geography** - United States, Europe, Global, or Any
    54→5. **Keywords** (optional) - Specific terms to look for
    55→6. **Contact Count** - 25, 50, or 100
    56→
    57→Results are saved to your Desktop as `prospector-leads-YYYY-MM-DD.csv`.
    58→
    59→### CSV Output
    60→
    61→The CSV includes:
    62→- `company_name` - Company name
    63→- `company_domain` - Company website domain
    64→- `company_size` - Employee count range
    65→- `industry` - Industry vertical
    66→- `location` - Contact's location
    67→- `contact_name` - Full name
    68→- `contact_title` - Job title
    69→- `contact_email` - Email address
    70→- `contact_linkedin` - LinkedIn profile URL
    71→- `source` - Data source (exa+apollo)
    72→
    73→### Attio CRM Sync
    74→
    75→If you configured Attio during setup, you'll be asked after each search if you want to sync the leads. This will:
    76→- Create/update Companies in Attio (matched by domain to avoid duplicates)
    77→- Create People linked to their companies
    78→
    79→## CLI Usage
    80→
    81→You can also run the script directly:
    82→
    83→```bash
    84→cd ~/.claude/skills/prospector/scripts
    85→
    86→python prospector.py \
    87→  --industry "SaaS" \
    88→  --size "51-200" \
    89→  --funding "Series A" \
    90→  --geography "United States" \
    91→  --keywords "AI automation" \
    92→  --count 50 \
    93→  --sync-attio
    94→```
    95→
    96→## Configuration
    97→
    98→Config is stored at `~/.config/prospector/config.json`:
    99→
   100→```json
   101→{
   102→  "exa_api_key": "your-exa-key",
   103→  "apollo_api_key": "your-apollo-key",
   104→  "attio_api_key": "your-attio-key"
   105→}
   106→```
   107→
   108→The file is automatically set to `chmod 600` (owner read/write only).
   109→
   110→### Environment Variables (Recommended)
   111→
   112→You can set keys as environment variables instead of (or in addition to) the config file:
   113→
   114→```bash
   115→export PROSPECTOR_EXA_API_KEY="your-exa-key"
   116→export PROSPECTOR_APOLLO_API_KEY="your-apollo-key"
   117→export PROSPECTOR_ATTIO_API_KEY="your-attio-key"  # optional
   118→```
   119→
   120→Environment variables take precedence over the config file.
   121→
   122→## API Usage
   123→
   124→- **Exa**: ~1 API call per search (returns up to 100 companies)
   125→- **Apollo**: ~1 API call per company (returns up to 3 contacts each)
   126→- **Attio**: 1 API call per company + 1 per contact for sync
   127→
   128→For 50 contacts, expect roughly:
   129→- 1 Exa call
   130→- 17-25 Apollo calls
   131→- 17-25 Attio company calls + 50 Attio people calls (if syncing)
   132→
   133→## Troubleshooting
   134→
   135→**"Run /prospector:setup first"**
   136→- You haven't configured API keys yet. Run `/prospector:setup`.
   137→
   138→**"Config has insecure permissions"**
   139→- Run `chmod 600 ~/.config/prospector/config.json`
   140→
   141→**"Apollo enrichment failed"**
   142→- Apollo may not have data for that company, or you've hit rate limits.
   143→- The skill continues with partial data.
   144→
   145→**"No companies found"**
   146→- Try broadening your ICP criteria (use "Any" for some filters).
   147→
   148→## License
   149→
   150→MIT
   151→

<system-reminder>
Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
</system-reminder>


     1→---
     2→name: prospector
     3→description: |
     4→  This skill should be used when the user wants to find leads, prospects, or contacts matching their ICP (Ideal Customer Profile). It searches for companies via Exa and enriches contacts via Apollo, outputting to CSV and optionally syncing to Attio CRM.
     5→
     6→  MANDATORY TRIGGERS: "find leads", "prospecting", "ICP search", "find contacts", "lead generation", "/prospector"
     7→version: 1.0.0
     8→---
     9→
    10→# Prospector
    11→
    12→Find leads matching your ICP via Exa company search + Apollo contact enrichment.
    13→
    14→## Prerequisites
    15→
    16→Run `/prospector:setup` first to configure your API keys:
    17→- **Exa** (required): https://exa.ai - company discovery
    18→- **Apollo** (required): https://apollo.io - contact enrichment
    19→- **Attio** (optional): https://attio.com - CRM sync
    20→
    21→You can also set keys via environment variables:
    22→- `PROSPECTOR_EXA_API_KEY`
    23→- `PROSPECTOR_APOLLO_API_KEY`
    24→- `PROSPECTOR_ATTIO_API_KEY` (optional)
    25→
    26→## Usage
    27→
    28→### Setup (one-time)
    29→
    30→```
    31→/prospector:setup
    32→```
    33→
    34→Collects and validates API keys, stores securely in `~/.config/prospector/config.json`.
    35→
    36→### Find Leads
    37→
    38→```
    39→/prospector
    40→```
    41→
    42→Asks ICP questions, searches Exa, enriches via Apollo, outputs CSV to Desktop.
    43→
    44→## Main Command: /prospector
    45→
    46→When the user invokes `/prospector`, follow this workflow:
    47→
    48→### Step 1: Check Config or Env Vars
    49→
    50→First, verify env vars or config exist:
    51→
    52→```bash
    53→python3 -c "
    54→import json
    55→import os
    56→from pathlib import Path
    57→config_path = Path.home() / '.config' / 'prospector' / 'config.json'
    58→env_exa = bool(os.getenv('PROSPECTOR_EXA_API_KEY'))
    59→env_apollo = bool(os.getenv('PROSPECTOR_APOLLO_API_KEY'))
    60→env_attio = bool(os.getenv('PROSPECTOR_ATTIO_API_KEY'))
    61→if not config_path.exists():
    62→    print('NOT_FOUND')
    63→else:
    64→    with open(config_path) as f:
    65→        config = json.load(f)
    66→    print('FOUND')
    67→    print(f'exa: {bool(config.get(\"exa_api_key\"))}')
    68→    print(f'apollo: {bool(config.get(\"apollo_api_key\"))}')
    69→    print(f'attio: {bool(config.get(\"attio_api_key\"))}')
    70→print(f'env_exa: {env_exa}')
    71→print(f'env_apollo: {env_apollo}')
    72→print(f'env_attio: {env_attio}')
    73→"
    74→```
    75→
    76→If NOT_FOUND and env vars are not set, tell user to run `/prospector:setup` first.
    77→
    78→### Step 2: Ask ICP Questions
    79→
    80→Use AskUserQuestion to collect ICP criteria in order:
    81→
    82→**Question 1: Industry**
    83→```
    84→header: "Industry"
    85→question: "What industry are you targeting?"
    86→options:
    87→  - label: "SaaS"
    88→    description: "Software as a Service companies"
    89→  - label: "Fintech"
    90→    description: "Financial technology companies"
    91→  - label: "Healthcare"
    92→    description: "Healthcare and health tech"
    93→  - label: "E-commerce"
    94→    description: "Online retail and marketplaces"
    95→  - label: "AI/ML"
    96→    description: "Artificial intelligence and machine learning"
    97→  - label: "Any"
    98→    description: "No industry filter"
    99→multiSelect: false
   100→```
   101→
   102→**Question 2: Company Size**
   103→```
   104→header: "Size"
   105→question: "What company size are you targeting?"
   106→options:
   107→  - label: "1-10"
   108→    description: "Early stage startups"
   109→  - label: "11-50"
   110→    description: "Seed to Series A"
   111→  - label: "51-200"
   112→    description: "Series A to B"
   113→  - label: "201-500"
   114→    description: "Growth stage"
   115→  - label: "500+"
   116→    description: "Enterprise"
   117→  - label: "Any"
   118→    description: "No size filter"
   119→multiSelect: false
   120→```
   121→
   122→**Question 3: Funding Stage**
   123→```
   124→header: "Funding"
   125→question: "What funding stage are you targeting?"
   126→options:
   127→  - label: "Pre-seed"
   128→    description: "Pre-product market fit"
   129→  - label: "Seed"
   130→    description: "Building initial product"
   131→  - label: "Series A"
   132→    description: "Scaling product"
   133→  - label: "Series B+"
   134→    description: "Growth and expansion"
   135→  - label: "Any"
   136→    description: "No funding filter"
   137→multiSelect: false
   138→```
   139→
   140→**Question 4: Geography**
   141→```
   142→header: "Geography"
   143→question: "What geography are you targeting?"
   144→options:
   145→  - label: "United States"
   146→    description: "US-based companies"
   147→  - label: "Europe"
   148→    description: "European companies"
   149→  - label: "Global"
   150→    description: "Worldwide"
   151→  - label: "Any"
   152→    description: "No geography filter"
   153→multiSelect: false
   154→```
   155→
   156→**Question 5: Keywords (optional)**
   157→```
   158→header: "Keywords"
   159→question: "Any specific keywords that should appear in company descriptions? (optional)"
   160→options:
   161→  - label: "Skip"
   162→    description: "No keyword filter"
   163→  - label: "Enter keywords"
   164→    description: "I'll type specific keywords"
   165→multiSelect: false
   166→```
   167→
   168→If "Enter keywords", ask for the text input.
   169→
   170→**Question 6: Contact Count**
   171→```
   172→header: "Count"
   173→question: "How many contacts do you want to find?"
   174→options:
   175→  - label: "25"
   176→    description: "Quick search, lower API usage"
   177→  - label: "50"
   178→    description: "Balanced (recommended)"
   179→  - label: "100"
   180→    description: "Larger batch, more API usage"
   181→multiSelect: false
   182→```
   183→
   184→### Step 3: Run Search
   185→
   186→Execute the Python script with the collected ICP:
   187→
   188→```bash
   189→cd [skill_directory]/scripts
   190→python3 -c "
   191→from prospector import run_search, export_csv, Config
   192→
   193→icp = {
   194→    'industry': '[INDUSTRY]',
   195→    'company_size': '[SIZE]',
   196→    'funding_stage': '[FUNDING]',
   197→    'geography': '[GEOGRAPHY]',
   198→    'keywords': '[KEYWORDS or empty string]'
   199→}
   200→
   201→leads = run_search(icp, num_contacts=[COUNT])
   202→if leads:
   203→    path = export_csv(leads)
   204→    print(f'SUCCESS: {len(leads)} leads saved to {path}')
   205→else:
   206→    print('NO_RESULTS: No leads found matching criteria')
   207→"
   208→```
   209→
   210→Replace placeholders with actual values from questions.
   211→
   212→### Step 4: Attio Sync (if configured)
   213→
   214→If Attio is configured and leads were found, ask:
   215→
   216→```
   217→header: "Attio"
   218→question: "Sync leads to Attio CRM?"
   219→options:
   220→  - label: "Yes"
   221→    description: "Sync companies and contacts to Attio"
   222→  - label: "No"
   223→    description: "Just keep the CSV"
   224→multiSelect: false
   225→```
   226→
   227→If yes:
   228→
   229→```bash
   230→cd [skill_directory]/scripts
   231→python3 -c "
   232→from prospector import sync_to_attio, Config, Lead
   233→import json
   234→
   235→# Load leads from the CSV we just created (or pass them directly)
   236→# For simplicity, re-run with sync
   237→leads = [...]  # Pass leads from previous step
   238→
   239→companies, people = sync_to_attio(leads)
   240→print(f'SYNCED: {companies} companies, {people} contacts')
   241→"
   242→```
   243→
   244→### Step 5: Report Results
   245→
   246→Tell the user:
   247→- How many leads were found
   248→- Where the CSV was saved
   249→- If Attio sync was done, how many records were synced
   250→
   251→## Error Handling
   252→
   253→- **Config not found**: Tell user to run `/prospector:setup`
   254→- **Invalid API key**: Tell user which key failed, suggest re-running setup
   255→- **No results**: Suggest broadening ICP criteria
   256→- **Partial failures**: Report what succeeded, warn about failures
   257→

<system-reminder>
Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
</system-reminder>


     1→---
     2→description: Set up Prospector with API keys for Exa, Apollo, and optionally Attio
     3→allowed-tools:
     4→  - Bash
     5→  - AskUserQuestion
     6→  - Write
     7→  - Read
     8→---
     9→
    10→# /prospector:setup
    11→
    12→Set up Prospector by collecting and validating API keys.
    13→
    14→## Workflow
    15→
    16→### Step 1: Check Existing Config or Env Vars
    17→
    18→```bash
    19→python3 -c "
    20→import os
    21→from pathlib import Path
    22→config_path = Path.home() / '.config' / 'prospector' / 'config.json'
    23→env_exa = bool(os.getenv('PROSPECTOR_EXA_API_KEY'))
    24→env_apollo = bool(os.getenv('PROSPECTOR_APOLLO_API_KEY'))
    25→env_attio = bool(os.getenv('PROSPECTOR_ATTIO_API_KEY'))
    26→if config_path.exists():
    27→    import json
    28→    with open(config_path) as f:
    29→        config = json.load(f)
    30→    print('EXISTS')
    31→    print(f'exa: {\"***\" + config.get(\"exa_api_key\", \"\")[-4:] if config.get(\"exa_api_key\") else \"not set\"}')
    32→    print(f'apollo: {\"***\" + config.get(\"apollo_api_key\", \"\")[-4:] if config.get(\"apollo_api_key\") else \"not set\"}')
    33→    print(f'attio: {\"***\" + config.get(\"attio_api_key\", \"\")[-4:] if config.get(\"attio_api_key\") else \"not set\"}')
    34→else:
    35→    print('NOT_FOUND')
    36→print(f'env_exa: {env_exa}')
    37→print(f'env_apollo: {env_apollo}')
    38→print(f'env_attio: {env_attio}')
    39→"
    40→```
    41→
    42→If EXISTS, ask user:
    43→```
    44→header: "Config"
    45→question: "Existing config found. What would you like to do?"
    46→options:
    47→  - label: "Update all keys"
    48→    description: "Re-enter all API keys"
    49→  - label: "Update specific key"
    50→    description: "Update just one key"
    51→  - label: "Keep existing"
    52→    description: "Cancel setup, keep current config"
    53→multiSelect: false
    54→```
    55→
    56→If "Update specific key", ask which one, then only collect that key.
    57→
    58→### Step 2: Collect Exa API Key
    59→
    60→Tell user:
    61→> **Exa API Key**
    62→> Get yours at: https://exa.ai
    63→> 1. Sign up or log in
    64→> 2. Go to API Keys in dashboard
    65→> 3. Create a new key
    66→
    67→Ask for the key (user will paste it as "Other" response):
    68→```
    69→header: "Exa"
    70→question: "Paste your Exa API key:"
    71→options:
    72→  - label: "I have it ready"
    73→    description: "I'll paste the key"
    74→multiSelect: false
    75→```
    76→
    77→When user provides key, validate it:
    78→
    79→```bash
    80→python3 -c "
    81→import httpx
    82→key = '[USER_PROVIDED_KEY]'
    83→try:
    84→    with httpx.Client(timeout=30) as client:
    85→        resp = client.post(
    86→            'https://api.exa.ai/search',
    87→            headers={'x-api-key': key, 'Content-Type': 'application/json'},
    88→            json={'query': 'test', 'numResults': 1},
    89→        )
    90→        if resp.status_code == 200:
    91→            print('VALID')
    92→        else:
    93→            print(f'INVALID: {resp.status_code}')
    94→except Exception as e:
    95→    print(f'ERROR: {e}')
    96→"
    97→```
    98→
    99→If INVALID or ERROR, tell user and ask them to try again.
   100→
   101→### Step 3: Collect Apollo API Key
   102→
   103→Tell user:
   104→> **Apollo API Key**
   105→> Get yours at: https://app.apollo.io/settings/integrations/api
   106→> 1. Log in to Apollo
   107→> 2. Go to Settings → Integrations → API
   108→> 3. Create a new API key
   109→
   110→Ask and validate same pattern as Exa:
   111→
   112→```bash
   113→python3 -c "
   114→import httpx
   115→key = '[USER_PROVIDED_KEY]'
   116→try:
   117→    with httpx.Client(timeout=30) as client:
   118→        resp = client.post(
   119→            'https://api.apollo.io/api/v1/mixed_people/search',
   120→            headers={'x-api-key': key, 'Content-Type': 'application/json'},
   121→            json={'per_page': 1},
   122→        )
   123→        if resp.status_code == 200:
   124→            print('VALID')
   125→        else:
   126→            print(f'INVALID: {resp.status_code}')
   127→except Exception as e:
   128→    print(f'ERROR: {e}')
   129→"
   130→```
   131→
   132→### Step 4: Collect Attio API Key (Optional)
   133→
   134→Ask user:
   135→```
   136→header: "Attio"
   137→question: "Do you want to sync leads to Attio CRM?"
   138→options:
   139→  - label: "Yes"
   140→    description: "I use Attio and want to sync leads there"
   141→  - label: "Skip"
   142→    description: "I don't use Attio or will import CSV manually"
   143→multiSelect: false
   144→```
   145→
   146→If Yes:
   147→> **Attio API Key**
   148→> Get yours at: https://app.attio.com/settings/developers
   149→> 1. Log in to Attio
   150→> 2. Go to Settings → Developers → API Keys
   151→> 3. Create a new API key with read/write access
   152→
   153→Validate:
   154→
   155→```bash
   156→python3 -c "
   157→import httpx
   158→key = '[USER_PROVIDED_KEY]'
   159→try:
   160→    with httpx.Client(timeout=30) as client:
   161→        resp = client.get(
   162→            'https://api.attio.com/v2/self',
   163→            headers={'Authorization': f'Bearer {key}'},
   164→        )
   165→        if resp.status_code == 200:
   166→            print('VALID')
   167→        else:
   168→            print(f'INVALID: {resp.status_code}')
   169→except Exception as e:
   170→    print(f'ERROR: {e}')
   171→"
   172→```
   173→
   174→### Step 5: Set Environment Variables (Optional)
   175→
   176→Ask user:
   177→```
   178→header: "Env Vars"
   179→question: "Add your API keys to a shell profile as environment variables?"
   180→options:
   181→  - label: "Yes"
   182→    description: "Recommended: avoids putting keys in config files"
   183→  - label: "Skip"
   184→    description: "Use config file only"
   185→multiSelect: false
   186→```
   187→
   188→If Yes, ask which profile to update:
   189→```
   190→header: "Shell Profile"
   191→question: "Which shell profile should we update?"
   192→options:
   193→  - label: "~/.zprofile"
   194→    description: "Login shells (recommended for zsh)"
   195→  - label: "~/.zshrc"
   196→    description: "Interactive shells only"
   197→  - label: "~/.bash_profile"
   198→    description: "Login shells (bash)"
   199→  - label: "~/.bashrc"
   200→    description: "Interactive shells only (bash)"
   201→multiSelect: false
   202→```
   203→
   204→Then append exports:
   205→```bash
   206→python3 -c "
   207→from pathlib import Path
   208→profile = Path('~/.zprofile').expanduser()
   209→lines = [
   210→    '',
   211→    '# Prospector API keys',
   212→    'export PROSPECTOR_EXA_API_KEY=\"[EXA_KEY]\"',
   213→    'export PROSPECTOR_APOLLO_API_KEY=\"[APOLLO_KEY]\"',
   214→    'export PROSPECTOR_ATTIO_API_KEY=\"[ATTIO_KEY]\"' if '[ATTIO_KEY]' else '',
   215→]
   216→content = '\\n'.join([l for l in lines if l != ''])
   217→profile.parent.mkdir(parents=True, exist_ok=True)
   218→with open(profile, 'a') as f:
   219→    f.write(content + '\\n')
   220→print(f'Updated {profile}')
   221→"
   222→```
   223→
   224→### Step 6: Save Config (Optional)
   225→
   226→Ask user:
   227→```
   228→header: "Config"
   229→question: "Also save keys to ~/.config/prospector/config.json as a fallback?"
   230→options:
   231→  - label: "Yes"
   232→    description: "Convenient fallback if env vars are missing"
   233→  - label: "No"
   234→    description: "Only use environment variables"
   235→multiSelect: false
   236→```
   237→
   238→If Yes, save config:
   239→
   240→```bash
   241→python3 -c "
   242→import json
   243→import os
   244→from pathlib import Path
   245→
   246→config_path = Path.home() / '.config' / 'prospector' / 'config.json'
   247→config_path.parent.mkdir(parents=True, exist_ok=True)
   248→
   249→config = {
   250→    'exa_api_key': '[EXA_KEY]',
   251→    'apollo_api_key': '[APOLLO_KEY]',
   252→    'attio_api_key': '[ATTIO_KEY or null]'
   253→}
   254→
   255→with open(config_path, 'w') as f:
   256→    json.dump(config, f, indent=2)
   257→
   258→os.chmod(config_path, 0o600)
   259→print(f'Config saved to {config_path}')
   260→print('Permissions set to owner-only (chmod 600)')
   261→"
   262→```
   263→
   264→### Step 7: Confirm Success
   265→
   266→Tell user:
   267→> Setup complete! Your API keys are saved securely.
   268→>
   269→> Run `/prospector` to find your first leads.
   270→
   271→## Notes
   272→
   273→- Keys are stored in `~/.config/prospector/config.json`
   274→- File permissions are set to 600 (owner read/write only)
   275→- Environment variables (if set) take precedence over the config file
   276→- Attio is optional - you can always import the CSV manually
   277→

<system-reminder>
Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
</system-reminder>


Now let me read the remaining skills and scripts:


     1→---
     2→name: youtube-transcript
     3→description: Fetch and summarize YouTube video transcripts. Use when asked to summarize, transcribe, or extract content from YouTube videos. Handles transcript fetching via residential IP proxy to bypass YouTube's cloud IP blocks.
     4→---
     5→
     6→# YouTube Transcript
     7→
     8→Fetch transcripts from YouTube videos and optionally summarize them.
     9→
    10→## Quick Start
    11→
    12→```bash
    13→python3 scripts/fetch_transcript.py <video_id_or_url> [languages]
    14→```
    15→
    16→**Examples:**
    17→```bash
    18→python3 scripts/fetch_transcript.py dQw4w9WgXcQ
    19→python3 scripts/fetch_transcript.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
    20→python3 scripts/fetch_transcript.py dQw4w9WgXcQ "fr,en,de"
    21→```
    22→
    23→**Output:** JSON with `video_id`, `title`, `author`, `full_text`, and timestamped `transcript` array.
    24→
    25→## Workflow
    26→
    27→1. Run `fetch_transcript.py` with video ID or URL
    28→2. Script checks VPN, brings it up if needed
    29→3. Returns JSON with full transcript text
    30→4. Summarize the `full_text` field as needed
    31→
    32→## Language Codes
    33→
    34→Default priority: `en, fr, de, es, it, pt, nl`
    35→
    36→Override with second argument: `python3 scripts/fetch_transcript.py VIDEO_ID "ja,ko,zh"`
    37→
    38→## Setup & Configuration
    39→
    40→See [references/SETUP.md](references/SETUP.md) for:
    41→- Python dependencies installation
    42→- WireGuard VPN configuration (required for cloud VPS)
    43→- Troubleshooting common errors
    44→- Alternative proxy options
    45→

<system-reminder>
Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
</system-reminder>