Source
--- name: BMM Media Creator Hub description: /admin/create hub on BMM with 7 creator types, GPT Image 2, Creatify video, Claude Sonnet scripts type: reference originSessionId: 33baa65e-d636-4080-888a-42c5543fbecb --- Media Creator Hub built 2026-05-08 at `admin.brandmediamanager.com/create` - **7 creator types**: video-short, video-long, thumbnail, social-card, before-after, infographic, quote-card - **15 new files**, 1,910 lines across routes + API + shared components - **PublishPanel** component: all 8 social platforms ON by default + Podbean toggle - **Video**: Creatify aurora_v1_fast (30 credits/short), long-form will swap to Remotion Lambda later - **Scripts**: Claude Sonnet 4.6 via Anthropic API (upgraded from Haiku) - **Images**: GPT Image 2 (`gpt-image-1`) primary, FAL AI FLUX fallback. NEVER Google AI Studio. - **Subdomain routing**: use `admin.brandmediamanager.com` — root domain 404s on /admin/* routes - **Env vars on Vercel**: ANTHROPIC_API_KEY, OPENAI_API_KEY, FAL_KEY, CREATIFY_API_ID, CREATIFY_API_KEY - **Repo**: mmerlino23/late-social-connect, branch master - **Commits**: 35f5626 (hub), bc6d010 (SoundCloud), 655237a (Haiku→Claude), 2eb2b42 (GPT Image 2 + Sonnet)
ClaudeFactfrankiepicasso
May 8, 12:47 AM
--- name: Image generation stack description: GPT Image 2 primary, FAL AI FLUX fallback, NEVER Google AI Studio directly (watermarks) type: feedback originSessionId: 30e39aad-da1e-4667-8ab4-afc4b0fcbf6f --- **Image generation stack for all projects:** - **Primary**: ChatGPT Image 2 (`gpt-image-1` via OpenAI API) - **Fallback**: FAL AI FLUX Pro (same engine Nano Banana uses — no watermarks) - **NEVER**: Google AI Studio directly — watermarks generated images **Why:** Google AI Studio adds watermarks. FAL AI routes through FLUX which avoids watermarks. OpenAI's gpt-image-1 produces the best quality. **How to apply:** API routes use gpt-image-1 first, catch errors (429/5xx) and fall back to FAL FLUX. CLI/local work can use `/nano-banana` skill (which calls FAL). Never call Google AI image endpoints directly.
ClaudePreferencefrankie
May 8, 12:42 AM
--- name: White Theme Only description: Mike only likes white/light theme designs — never ship dark theme type: feedback originSessionId: 09576c0e-c714-419b-af28-72a4ff4bb76a --- Always use white/light theme for any UI, dashboard, infographic, or visual asset. Never default to dark theme. **Why:** Mike explicitly prefers white theme. Dark theme was rejected immediately. **How to apply:** When building any visual output — HTML pages, dashboards, infographics, landing pages — default to white background with dark text. Use muted accent colors that work on light backgrounds.
ClaudePreferencemerlin
May 7, 11:47 PM
--- name: Orchestra Model — Leads Own Their Domain Planning description: Oliver writes brief scores (who/what/constraints), leads write their own detailed plans, Carlos conducts. Oliver does NOT write workstreams. type: feedback originSessionId: 09576c0e-c714-419b-af28-72a4ff4bb76a --- Oliver writes the brief score (objective, constraints, which leads are needed, done-when). Leads write their own detailed domain plans — the drummer writes the drumming part. Carlos conducts: sequencing, dependencies, validation. **Why:** Oliver was over-planning — writing detailed workstreams and implementation steps that belong to the domain expert leads. This created a bottleneck and produced worse plans because Oliver isn't the domain expert. Leads know their domain better than Oliver does. **How to apply:** When Oliver presents a "blueprint" or "plan" to Mike before GO, it should be SHORT: objective, constraints, which leads are involved, what done looks like. No workstreams. No step-by-step. When Carlos calls leads, he gives them the objective and constraints — not prescribed steps. Each lead plans and executes their own domain work.
ClaudeDecisionolivercarlos
May 7, 09:48 PM
--- name: DataForSEO API Reference description: Complete DataForSEO API — 468 endpoints across 13 groups. Full reference at ~/.claude/reference/dataforseo-api-reference.md type: reference originSessionId: 6458ae7a-6eac-4c30-9bd0-ad6e4c1fd82e --- # DataForSEO API Reference Full file: `C:\Users\mikem\.claude\reference\dataforseo-api-reference.md` (129KB, 560+ endpoints with method/path/description) ## Endpoint Summary by Group | API Group | Endpoints | Sub-Groups | |---|---|---| | SERP API | 162 | Google Organic, Images, Maps, News, Local Finder, AI Mode, Jobs, Finance, Autocomplete, Baidu, Bing, Yahoo, Naver, Seznam, YouTube | | Keywords Data API | 55 | Google Ads, Bing Ads, Clickstream, DataForSEO Trends, Google Trends | | Business Data API | 43 | Google Reviews, GMB Info, Hotels, Social Media, Tripadvisor, Trustpilot | | DataForSEO Labs API | 40 | Google Competitor Research, Keyword Research, Market Analysis, Amazon, App Store | | AI Optimization API | 33 | ChatGPT, Claude, Gemini, Perplexity LLM Responses/Scraper, LLM Mentions, AI Keyword Data | | App Data API | 29 | Apple App Store, Google Play (info, lists, reviews, searches) | | Merchant API | 26 | Amazon ASIN/Products/Sellers, Google Shopping | | OnPage API | 24 | Lighthouse (4), OnPage crawl/audit (20) | | Backlinks API | 21 | Full backlink analysis (21 endpoints) | | Databases API | 16 | Reference databases and lookups | | Domain Analytics API | 7 | Technologies (6), Whois (1) | | Content Analysis API | 6 | Content intelligence and trends | | Appendix / Utility | 6 | Account status, rate limits, locations | **Total: 468 endpoints** ## How to Use When building audit pipelines or SEO tools, load the full reference file to find exact endpoint paths and HTTP methods. The file is organized by API Group > Sub-Group > Call Name with method, endpoint path, and description for each.
ClaudeFacteinsteinmerlin
May 7, 09:39 PM
--- name: SKOOL Funnel Sub-Account Audit description: Full setup audit of SKOOL Funnel (FREE TO PAID snapshot) — what works, what needs manual config, deployment checklist for reuse type: reference originSessionId: 941f47c2-8467-4c9e-ad5b-33c5a44790b6 --- ## SKOOL Funnel Sub-Account — Setup Audit **Location ID:** UoDhc96RAIXLzQQGPQK5 **Snapshot:** Community "FREE TO PAID" (1,911 assets) **Audited:** 2026-05-07 **Status:** Chassis installed, engine missing --- ## Architecture (working from snapshot) - **3 pipelines:** Sales (14 stages), Community Progress (5 stages), Client Success (8 stages) - **26 published workflows:** Call tracking, calendar reminders, lead magnet delivery, webinar sequences, beta launch, affiliate commissions, GHL gamification, YouTube broadcast - **21 draft workflows:** Onboarding lifecycle, webclass promotion phases, AI appointment setter, nurture sequences - **14 funnels:** 2 business websites (light/dark), high-ticket funnel, webinar funnel, calendar booking pages, Site Skeleton 2.0 (23 pages), blog clone, legal pages - **6 calendars:** Strategy, Discovery, Coach/Guru, Client, Onboarding, Webinar Registration - **Memberships:** 8 offers, 8 products (from snapshot) --- ## Deployment Checklist (reusable for every new push) ### Phase 1: Critical Blockers (do first) - [ ] **Buy/port phone number** — Settings > Phone Numbers - [ ] **A2P 10DLC registration** — chat widget shortcut for first-try approval - [ ] **Connect Stripe** — Settings > Integrations > Stripe - [ ] **Set up email service** — Mailgun or LC Email, verify sending domain - [ ] **Add custom domain** — Settings > Domains, assign to all funnels ### Phase 2: Calendar & Booking Setup - [ ] **Add team members** to all 6 calendars (currently zero on each) - [ ] **Activate 5 inactive calendars** (only Webinar Registration is active) - [ ] **Fix calendar hours** — currently set to 24/7, needs realistic availability - [ ] **Replace Zoom link** — Webinar calendar has Ron Medlin's Zoom, not yours - [ ] **Connect Google Calendar** for availability sync ### Phase 3: Branding & Identity - [ ] **Upload logo** — logoUrl is empty - [ ] **Populate custom values** — `{{custom_values.name__main_coachguru}}` renders blank - [ ] **Fill social profiles** — Facebook, Instagram, YouTube, LinkedIn, Google Places all blank - [ ] **Update website URL** — currently points to mikemerlino.com ### Phase 4: Integrations - [ ] **Connect Airtable** — API key + base/table IDs for 2 published tracking workflows - [ ] **Add Meta Pixel / CAPI** to all funnels (currently no tracking codes) - [ ] **Add Google Analytics** to funnels - [ ] **Connect Zoom** or replace with your own meeting links ### Phase 5: Workflow Review - [ ] **Review 21 draft workflows** — decide which to publish: - Onboarding call lifecycle (reminders, cancelled, no-show, complete) — probably publish - 3-phase webclass promotion — publish when ready to run webinars - AI Appointment Setter — needs phone + Conversation AI config - Free/Paid Community nurture sequences — publish when members exist - [ ] **Test a published workflow** end-to-end (add test contact, verify SMS/email fires) ### Phase 6: Go-Live Verification - [ ] **Submit test contact** through a funnel - [ ] **Verify workflow triggers** fire correctly - [ ] **Check calendar booking** works with team member - [ ] **Test payment** through Stripe integration - [ ] **Confirm email delivery** (check spam folder) --- ## Notes - This snapshot is reusable — push to any new sub-account from agency Imported Snapshots - Each deployment needs this full checklist run manually - The snapshot uses modern Workflows (not legacy Triggers) so automations are current - Professional naming convention (00, 01, 02 prefix numbering) across all workflows - Pipeline stages match a high-ticket coaching/community business model
ClaudeArchitectureolivercarlos
May 7, 08:25 PM
--- name: SoundCloud API description: SoundCloud API credentials and user OAuth token for Merlino AI app, fully authenticated 2026-05-07 type: reference originSessionId: 33baa65e-d636-4080-888a-42c5543fbecb --- SoundCloud developer app registered as "Merlino AI" at https://soundcloud.com/you/apps - **Client ID**: stored in MASTER_API_KEYS.env as `SOUNDCLOUD_CLIENT_ID` - **Client Secret**: stored in MASTER_API_KEYS.env as `SOUNDCLOUD_CLIENT_SECRET` - **User Access Token**: stored in MASTER_API_KEYS.env as `SOUNDCLOUD_ACCESS_TOKEN` - **Refresh Token**: stored in MASTER_API_KEYS.env as `SOUNDCLOUD_REFRESH_TOKEN` - **Token file**: `ranking-reels/.soundcloud-token.json` (includes user info + timestamp) - **Redirect URI**: `http://localhost:8765/callback` (updated from https 2026-05-07) - **OAuth script**: `ranking-reels/scripts/soundcloud-oauth.mjs` (run to refresh token) - **API Docs**: https://developers.soundcloud.com/docs/api/guide - **Auth**: OAuth 2.0 — client_credentials for public, user token for uploads - **Profile**: Michael Merlino, 5 tracks, 0 followers - **Profile URL**: https://soundcloud.com/michael-merlino-435177254 - **Registered**: 2026-05-07 - **User token obtained**: 2026-05-07 (non-expiring scope requested)
ClaudeFactmerlin
May 7, 06:21 PM
--- name: GHL Account Inventory description: Full GoHighLevel agency inventory — 10 sub-accounts, 29 snapshots, contact counts, funnels, workflows, dates, quality tiers type: reference originSessionId: 941f47c2-8467-4c9e-ad5b-33c5a44790b6 --- ## Agency: Iron Automations (companyId: XhhHnWYS7X1Lb9cSRfBj) **Audited:** 2026-05-07 via GHL v2 API + UI inspection --- ## Sub-Accounts (10) | Sub-Account | Location ID | Created | Contacts | Funnels | Workflows (pub) | Custom Domain | Status | |---|---|---|---|---|---|---|---| | Better Map Rankings | lmy4atjHvOgzNVpERKh4 | 2022-07 | 248 | 5 | 8 (8) | None | Active | | CTR G. | GZCGfyOp5dn7NeNtUiaQ | 2022-02 | 2,430 | 37 | 21 (13) | None | Active — Main Hub | | Flat Fee Pool Cage | Y2IBCOjyc9i6u16DKHvq | 2025-10 | 0 | 0 | 0 | None | Empty Shell | | Green Grid Goblins | 1Joscp4ldCyCsZ6M7MbI | 2024-10 | 2,659 | 52 | 47 (22) | www.greengridgoblins.com | Powerhouse | | House Cleaning | TtL8rSCbXHMzaJZlowss | 2025-09 | 0 | 2 | 6 (0) | None | Built, Not Activated | | Karma Movers | lRVfVoa5WF8w2V6PROA7 | 2025-03 | 10 | 1 | 8 (8) | None | Active — Early Stage | | Local Influence | RLMM5kakOS1wtPXZxbfB | 2025-03 | 2 | 1 | 3 (3) | None | Minimal GMB Setup | | LocalWise Digital LLC | ugGxFH4xPBsLB2h7OTqZ | 2025-07 | 0 | 0 | 0 | None | Empty — Partner (Damjan) | | Ranking Reels | kc2L3xyrcGkqyd9Pd4j6 | 2026-04 | N/A | 0 | 0 | None | Brand New Empty | | SKOOL Funnel | UoDhc96RAIXLzQQGPQK5 | 2025-03 | 1 | 14 | 47 (26) | None | Template/Course Infra | **Total contacts:** ~5,350 (GGG + CTR G. = 95%) **Only custom domain:** GGG (www.greengridgoblins.com) **3 empty shells:** Flat Fee Pool Cage, LocalWise Digital, Ranking Reels **No "Merlino Marketing" sub-account exists** --- ## Snapshots — My Snapshots (4) | Snapshot | Sub Account | Created | Last Updated | Version | |---|---|---|---|---| | CTR Geeks 2024 | CTR G. | 2024-10-01 | 2024-10-01 | v0 | | BMR | Better Map Rankings | 2024-08-07 | 2024-08-07 | v0 | | CTR | CTR G. | 2022-10-10 | 2022-10-10 | v0 | | Patriot Pros Plumbing | Patriot Pros... | 2022-07-13 | 2022-07-13 | v0 | --- ## Snapshots — Imported (25) ### Tier 1: Current & Valuable (keep) | Snapshot | Imported | Assets | Key Components | |---|---|---|---| | **Community "FREE TO PAID"** | 2025-03-02 | **1,911** | 67 workflows, 19 funnels, 8 membership offers, 8 membership products, 1,603 section templates, 59 tags, 9 forms, 5 surveys, 3 pipelines, 2 dashboards | | Voice AI Agent | 2025-03-02 | 39 | 2 Voice AI Agents, 27 custom fields, 2 dashboards, 2 workflows, 1 pipeline | | Honeypot Client Capture Kit | 2026-02-18 | 13 | 6 email templates, 4 workflows, 2 funnels, 1 form | | Synthflow AI Real Estate v1 | 2025-08-01 | — | Not inspected | | GHL Pro Tripwire | 2025-02-23 | — | Not inspected | | DWL SaaS Snapshot | 2025-01-13 | — | Not inspected | ### Tier 2: Aging (review) | Snapshot | Imported | Notes | |---|---|---| | Sleeping Beauty Template v2 | 2024-08-27 | 21 months old | | WLS Moving & Packing | 2023-10-18 | 2.5 years old | ### Tier 3: Legacy DAH (old trigger system, not workflows) | Snapshot | Imported | Assets | Notes | |---|---|---|---| | DAH Plumbing | 2021-05-21 | 102 | 16 campaigns, 24 tags, old triggers | | DAH HVAC | 2021-05-21 | 98 | 18 campaigns, 21 tags, 20 triggers | | DAH Roofing | 2021-05-21 | — | Same template pattern | | DAH Solar | 2021-05-21 | — | Same template pattern | | DAH SAAS | 2021-05-21 | — | Same template pattern | | DAH CNVRT | 2021-05-21 | — | Same template pattern | | DAH IV Therapy | 2021-05-21 | — | Same template pattern | | DAH VA Hiring Portal | 2021-05-22 | — | Same template pattern | | DAH Counseling (1) | 2021-08-16 | — | DUPE | | DAH Counseling (2) | 2021-05-21 | — | DUPE | ### Tier 4: Junk (safe to delete) | Snapshot | Imported | Reason | |---|---|---| | Profit Launch Template (1) | 2023-03-03 | DUPE | | Profit Launch Template (2) | 2023-03-03 | DUPE | | Directory CRM (3/29/22) | 2022-03-29 | 4+ years old | | Gym | 2022-02-07 | 4+ years old, unused niche | | demo | 2022-02-07 | Throwaway | | Roofing Snapshot Updated | 2022-02-07 | Superseded by DAH Roofing | | GMB POSTCARD | 2021-08-16 | 4.5+ years old | --- ## Key Notes - **A2P/10DLC status:** Not queryable via v2 API. Check GHL UI: Settings > Phone Numbers > Trust Center - **Shared phone number:** +12123727752 used by CTR G., GGG, SKOOL, and Ranking Reels - **No snapshot details via API:** PIT tokens lack OAuth snapshot scopes. Must inspect via UI - **DAH snapshots use legacy Triggers/Campaigns**, not the modern Workflow builder - **"FREE TO PAID" is the crown jewel** — 1,911 assets, premium SaaS/community snapshot, likely powers SKOOL Funnel sub-account - **GHL SOP KB gap:** No snapshot management topic exists in ghl-sop
ClaudeFactgino
May 7, 06:18 PM
--- name: Always Show Visual HTML Explainers description: When explaining skills, tools, or workflows — always generate a styled HTML explainer page with infographic-style visuals, never plain text type: feedback originSessionId: 92fd4a1c-0e07-4ce0-bef7-b1125936be85 --- When Mike asks "what does this do" or "how does this work" for any skill, tool, or workflow, always generate a standalone HTML explainer page with visual diagrams, infographic-style sections, and styled formatting. **Why:** Mike processes information visually and wants to see pipeline flows, folder structures, and use cases rendered as styled HTML — not plain text bullets. He explicitly said "always show me HTML with visual explanation, infographic also" and "I won't ask again." **How to apply:** For every skill/tool/workflow explanation request, create an `explainer.html` in the skill folder (or a temp location) with: - Hero section with skill name + badges for dependencies - Step-by-step pipeline visualization with numbered cards - Folder tree diagram showing output structure - Infographic strip showing key concepts visually - Use case cards - Command box with the actual run command - Open it in the browser automatically after creation
ClaudePreferencemerlin
May 7, 05:38 PM
--- name: BMM admin page routes description: Brand Media Manager admin now has real routed pages at /admin/*, not tab-based monolith type: reference originSessionId: 50a62b15-1dc7-446f-8e0d-bc59cc926e58 --- ## BMM Admin Routes (after 2026-05-07 refactor) | Route | Content | |-------|---------| | `/admin` | Overview — stats cards, recent posts, quick actions | | `/admin/partners` | Partner agency management | | `/admin/profiles` | Social media profile management | | `/admin/posts` | Post composer + history list | | `/admin/calendar` | Content calendar | | `/admin/analytics` | Full Zernio-parity analytics dashboard | | `/admin/podcast` | Podbean episode list, new, edit | | `/admin/branding` | Whitelabel settings, theme presets | | `/admin/webhooks` | Webhook configuration | **Project:** `D:/ClaudeDev/00_GITHUB/_working-on/Tools/VIDEO-TOOLS/brand-media-manager/` **GitHub:** `mmerlino23/late-social-connect` **Live:** https://brandmediamanager.com **Shared layout:** `src/app/admin/layout.tsx` with DashboardSidebar **Context:** `src/app/admin/admin-context.tsx` — shared state (dark mode, collapsed, toast, etc.)
ClaudeEventfrankieeinstein
May 7, 01:14 PM
--- name: Session 2026-05-07 (afternoon) description: BMM admin refactor into real routed pages + full Zernio analytics dashboard + webhook config + pipeline review app variants type: project originSessionId: 50a62b15-1dc7-446f-8e0d-bc59cc926e58 --- ## Completed Work (2026-05-07) ### BMM Admin — Monolith to Real Pages - Split `/admin` page.tsx (3,779 lines) into 9 routed pages: - `/admin` — Overview (stats cards, recent posts, quick actions) - `/admin/partners` — Partner management - `/admin/profiles` — Profile management - `/admin/posts` — Post composer + history - `/admin/calendar` — Content calendar - `/admin/analytics` — Full analytics dashboard (NEW) - `/admin/podcast` — Podbean episode management (restored) - `/admin/branding` — Whitelabel settings - `/admin/webhooks` — Webhook configuration (NEW) - Created shared admin layout with DashboardSidebar using `usePathname()` for active state - Fixed duplicate sidebar bug on podcast pages (list, new, edit) - Fixed broken overlay links intercepting sidebar navigation - Normalized LATE API analytics response format for daily metrics ### Analytics Page (Zernio Parity) - KPI cards with period-over-period % deltas: likes, comments, shares, views, impressions, reach, clicks, saves, engagement rate - Posting activity heatmap (GitHub-style) - Total followers card - Platform breakdown table - Best time to post section - Top performing posts ranked list - Engagement over time section - Data flows from LATE API (getlate.dev = Zernio backend) - Real data confirmed: 192 likes, 31.7K views, 4.02% ER ### Webhooks Page - Empty state + "Add Your First Webhook" CTA - Security info about X-Webhook-Secret HMAC header - Connected to existing `/api/webhooks` endpoint ### Pipeline Review App Variants (dispatched to Carlos) - 4 variants built from template sources: V6 Workflow, V2 Mosaic, V3 Nexus, Intelligence - Routed via `?v=1` through `?v=4` - Deployed to ranking-reels Vercel project ### Bug Fixes - Analytics daily API: normalized `dailyData[].metrics.*` to flat `daily_metrics[]` format - Sidebar: removed broken transparent overlay links, active state now uses pathname - Podcast pages: stripped duplicate DashboardSidebar, now use shared admin layout - Merge conflicts resolved (3 rounds of remote conflicts from concurrent edits) - Installed missing `novel` dependency for RichTextEditor ### Key Technical Details - BMM project: `D:/ClaudeDev/00_GITHUB/_working-on/Tools/VIDEO-TOOLS/brand-media-manager/` - GitHub: `mmerlino23/late-social-connect` (private) - Vercel: `late-social-connect` → `brandmediamanager.com` - LATE API = Zernio backend at `https://getlate.dev/api/v1` - Auth: Clerk (admin), JWT (partner/client) ### Remaining Issues - Analytics: Zernio dashboard shows more data than LATE API exposes (best time to post, content decay curves, posting frequency analysis — these sections show "Not enough data" or empty) - Option: reverse-engineer Zernio's actual dashboard API calls, or build own calculations from webhook event history - Analytics follower count shows 0 while Zernio shows 20.4K — likely different API endpoint needed
ClaudeEventspielbergcarlos
May 7, 01:14 PM
--- name: Session 2026-05-06/07 — Video pipeline buildout description: Built and refined the full RankingReels video pipeline — PAA scrape → script → render → publish to 10 platforms type: project originSessionId: 9fa512b5-eb39-41ff-bf25-30ea3a96a598 --- ## What Happened - Produced 5 videos for Neill & Son Roofing (siding + roof leak) and Local SEO NYC demo - Deleted all Pittsburgh/PA client videos from Mike's personal accounts (shouldn't have posted client content there) - Only the NYC Local SEO demo video survived — live on 9 platforms - Established the full video pipeline methodology with 10 rules - Connected Bluesky + Pinterest to BMM (13 total accounts) - Created r/MerlinoMarketing and r/RankingReels subreddits - Discovered Zernio API unpublish endpoint: POST /posts/{id}/unpublish with {platform: "xxx"} - TikTok and Instagram don't support API deletion — must delete from mobile app ## Lessons Learned (the hard way) - Geo goes IN the title, never as hashtag - Use exactly what Mike says (NYC not "New York", Pittsburgh not "PA") - Scrape PAA with UULE browser, NOT DataForSEO - Scraped answer IS the video content - Post to ALL platforms, not just YT+TT - Different avatar per video - Always give /shorts/ URL not /watch?v= - Don't post client-specific content to Mike's personal social accounts ## Creatify Credits Used ~140 credits (~$15.40) across 5 renders ## Remaining - Delete 3 TikTok Pittsburgh videos from phone app - Check Instagram for Pittsburgh reels - PRD for outreach tool (video → rank → sell spot) — not started
ClaudeEventspielbergcarlos
May 7, 04:12 AM
--- name: Pipeline Review App — 4 Variants Built and Deployed description: 4 genuinely different UI variants deployed to Vercel, accessible via ?v=1 through ?v=4. Mike needs to pick a winner. type: project originSessionId: 91c618ed-4e38-4766-b034-5317f7caa758 --- The Pipeline Review App at `pipeline-review-app/` now has 4 genuinely different visual variants deployed to https://pipeline-review-app-lemon.vercel.app. **Variants:** - V1 (WowDash): Gradient KPI cards, pill tabs, circular icon badges, pink accent - V2 (ShadCN Kit): Left sidebar nav, flat bordered cards, Progress bars, gray/neutral - V3 (Duralux): Underline tabs, full-width stretch cards, colored left-borders, teal - V4 (Minimal): Accordion sections, no card wrappers, monospace data, dot-scores, slate **Test job:** `66579eec-424b-4c8f-b5f9-aa9dfaab7413` (ABC Roofing, Sarasota FL) **How to apply:** Mike picks a winner, then we set it as default (remove ?v= requirement). Backend is untouched and working.
ClaudeEventcarlos
May 7, 03:35 AM
- [No RapidAPI](feedback_no-rapidapi.md) — Mike dropped RapidAPI entirely; use DataForSEO, Google Places, SerpAPI instead - [LBM API Access](reference_lbm-api.md) — Working LBM token, endpoints, auth pattern (NOT the widget key in MASTER_API_KEYS) - [DomDetailer Direct API](reference_domdetailer-api.md) — Direct DomDetailer key (7HAWEBFR19BWP, 927K credits) for Majestic TF/CF/TTF + Moz DA/PA - [No Combined Dashboards](feedback_no-combined-dashboards.md) — Each client audit is its own standalone app/URL, never combine clients
ClaudeFactsherlockcarlos
May 7, 03:33 AM
--- name: No combined client dashboards description: Each client audit MUST be a separate standalone deployment on its own URL — never combine clients into one app type: feedback originSessionId: 2e337e1f-09d4-4d2e-bf6e-c414ef4dbf86 --- Each client audit dashboard must be its own standalone project with its own Vercel URL. Never combine multiple clients into a single app with a client switcher. **Why:** Mike showed a combined "Auditor" platform to a prospect and it looked unprofessional — client data should never be visible alongside other clients, even behind a switcher. These are sales tools shown directly to prospects. **How to apply:** When building audit dashboards, always create one project per client. The `auditor/` folder structure is `auditor/archangel-centers/` and `auditor/neill-landson/` — each is its own Next.js app with its own deployment.
ClaudeFeedbackcarlos
May 7, 03:33 AM
--- name: Full Audit Pipeline Requirements description: Complete list of what a Merlino-style audit must include — APIs, skills, QA rounds, data display type: feedback originSessionId: 977a1d41-6a03-4a0e-8d8d-108e7828c102 --- When Mike says "full audit" on a prospect, this is the MINIMUM: **Why:** 2026-05-06 audit of Neill & Son Roofing failed because agents used web scraping instead of APIs, reported search snippets as facts, missed LSA, misreported schema, missed GHL/CRM, showed rehab data from a previous client template, and didn't display detailed data on dashboards. Mike was embarrassed on a live prospect call. **How to apply:** **Data Collection (all parallel):** 1. DataForSEO: ALL 22 endpoints (backlinks summary + full + anchors + referring domains + domain pages + networks + competitors + history + spam score + ranked keywords + domain metrics + SEO competitors + keyword suggestions + LLM mentions brand + service + SERP 4 queries + GMB both locations + on-page) 2. DomDetailer API: DA, TF, CF, trust score, spam score, top backlinks 3. Google Maps Extractor: real review text 4. ReddAPI: Reddit sentiment 5. Google Places API: verified GBP data 6. Direct curl of homepage: verify schema, meta descriptions, plugins (GHL check) 7. Browser verification (Queen): social media real follower counts 8. Run ALL audit skills: CRO, intent, E-E-A-T, helpful content, Panda, content quality, on-page worksheet, quick wins, schema spider, internal linking, duplicate content, geo relevance, content freshness, crawl budget, link equity, LLM mentions **Dashboard Requirements:** - ALL data baked into static TypeScript files (no API calls from client) - Full tables showing every backlink, every anchor, every keyword, every LLM mention - Zero previous client references anywhere - 3 rounds of QA with screenshots before shipping - Both GMB locations with separate sections **QA:** - Round 1: Check every page, every stat, screenshot each - Fix all issues found - Round 2: Verify fixes, re-check all pages - Fix remaining issues - Round 3: Final pass, all pages, PASS/FAIL verdict - Only after 3 rounds pass do other dashboard variants get the data
ClaudeFeedbackmerlinsherlock
May 7, 03:19 AM
--- name: Neill & Son Roofing Prospect Audit description: Full 21-dimension audit for roofing prospect — DataForSEO, DomDetailer, Google Places, 6 dashboard variants deployed type: project originSessionId: 977a1d41-6a03-4a0e-8d8d-108e7828c102 --- Neill & Son Roofing (neillandsonroofing.com) — prospect audit for custom ecosystem sale. Two locations: Monaca PA (primary, 271 reviews 4.9 stars) and Erie PA (20 reviews 5.0 stars). **Status as of 2026-05-07:** Full DataForSEO pull complete (22 endpoints, raw JSON saved). V6 dashboard rebuilt with static data files. 6 dashboard variants deployed. 3 rounds QA passed on all. Raw data at `D:/ClaudeDev/00_GITHUB/neil-landson-audit/dataforseo-raw/`. GitHub: mmerlino23/neil-landson-audit (private). **Dashboard URLs:** - V6 Workflow: https://v6-workflow.vercel.app (primary, fully rebuilt) - V2 Mosaic: https://v2-mosaic.vercel.app - V3 Nexus: https://v3-nexus.vercel.app - V4 CRM: https://v4-crm.vercel.app - V5 Campaign: https://v5-campaign.vercel.app - V7 Tactical: https://v7-tactical.vercel.app **Open items:** LLM mentions pagination (100/207), Monaca GMB retry, push V6 data to V2-V7, DataForSEO MCP needs session restart.
ClaudeFactcarlossherlock
May 7, 03:19 AM
--- name: Session recap 2026-05-07 description: Railway volume fix, UI cleanup, BMM→RSS→Podbean pipeline, episode enrichment, distribution status type: project originSessionId: be175c1c-c66d-444b-9701-e441de46d903 --- ## Completed Work (2026-05-07) ### WS1 — Railway Persistent Volume - Attached volume `web-volume` mounted at `/data` via Railway GraphQL API - Set `RAILWAY_VOLUME_MOUNT_PATH=/data` env var - config.py already had the logic — no code changes needed - Verified data persists across deploys (test commit `77c3c10`) ### UI Cleanup (commit 79025ad) - Removed duplicate "Upload & Publish" section (Description Override + YouTube Video URL + button) - Removed 4 bloated Client Settings fields: RSS Feed URL, Content Selector, Content Exclusions, Podbean Episode List URL ### WS2 — BMM → RSS.app → Podbean Pipeline - Built RSS endpoint in BMM: `src/app/api/feed/rss/route.ts` - Live at: https://brandmediamanager.com/api/feed/rss - RSS.app feed created (ID: Hvcjm756s2TsDnOk) as monitoring bridge - Podbean RSS watcher configured to watch BMM feed directly (15-min cron) - Pipeline: BMM video post → RSS enclosure → Podbean auto-ingest → episode published ### WS3 — Episode Template Enrichment (commit 3b77b15) - Added `social_links` JSON column to Client model with migration - Social links block injected into episode descriptions (YouTube, Facebook, Instagram, TikTok, X) - All 3 embed types confirmed wired (Maps, YouTube, Custom Embed HTML) - Cover image update script built but blocked by Podbean API (requires user-delegated OAuth, not client_credentials) - Manual cover update needed: Podbean admin → Podcast Settings → Logo - Correct Podbean podcast ID is `2m8yLNuGEsEm` (not d5NPW2tzpuob) ### WS4 — Distribution Platform Connections - Podbean API has zero distribution endpoints — all dashboard-only - Script created: `scripts/check-podcast-distribution.mjs` - Manual actions needed: - Apple Podcasts: podcastsconnect.apple.com + paste RSS - Spotify: podcasters.spotify.com + paste RSS - Amazon Music: podcasters.amazon.com + paste RSS - YouTube: check mike@merlinomarketing.com for verification code, enter in Podbean admin - RSS feed: https://feed.podbean.com/merlinomarketing/feed.xml ### Key Corrections - Podbean podcast ID for API calls is `2m8yLNuGEsEm` not `d5NPW2tzpuob` - RSS.app strips enclosure tags so Podbean watches BMM feed directly, not through RSS.app ### Manual Actions Remaining - Swap podcast cover image in Podbean admin - Submit RSS feed to Apple Podcasts, Spotify, Amazon Music - Enter YouTube verification code in Podbean admin
ClaudeEventoliver
May 7, 03:11 AM
--- name: Template variants means clone from D:\Ecosystem\TEMPLATES\admin-dashboards description: When Mike says "different templates" he means clone the ACTUAL premium template source files, not invent designs or swap colors. His archangel-variations show how he adapts them. type: feedback originSessionId: b65fde18-b1c4-493e-bef7-871222b5270d --- "Different templates" = clone from `D:\Ecosystem\TEMPLATES\admin-dashboards\` (WowDash, ShadCN UI Kit, IntellectAI, Duralux, etc.) Mike already adapted these templates into his audit dashboards at `D:\ClaudeDev\00_GITHUB\archangel-variations\` (v2-mosaic, v3-nexus, v4-crm, v5-campaign, v6-workflow, v7-tactical). Study THOSE to see how he adapts each template. **Why:** Mike was furious because 4+ attempts kept producing the same layout with different colors. He called it "the same shit." A "different template" means a fundamentally different card shape, layout grid, icon treatment, nav pattern, and overall aesthetic — not a color swap. **How to apply:** - Pick 4 templates from `D:\Ecosystem\TEMPLATES\admin-dashboards\` - Study the corresponding archangel-variation to see Mike's adaptation pattern - Build each variant with completely different JSX structure and Tailwind classes - Each variant should look like a different product when screenshotted - Use `?v=1` through `?v=4` URL param for selection - NEVER invent a design — clone an existing template
ClaudePreferencemerlin
May 7, 03:01 AM
--- name: DataForSEO API Skill description: Claude Code skill at D:/Codeland2026/skills/dataforseo-api/SKILL.md — auth, all endpoints, task polling, cost optimization type: reference originSessionId: c8710745-21a9-403d-bf3f-15afa9fa6c30 --- - **Path:** D:\Codeland2026\skills\dataforseo-api\SKILL.md - **Trigger:** /dataforseo-api - **Covers:** Authentication, all 60+ endpoints by section, task-based polling pattern, Live vs task-based decision logic, cost optimization (8 rules), location codes, error codes, response structure - **Complements:** DataForSEO MCP (configured in settings.json, available after session restart) - **MCP config:** `npx -y dataforseo-mcp-server` with DATAFORSEO_USERNAME/PASSWORD env vars - **Use skill for:** code generation (pipelines, scripts, apps) - **Use MCP for:** quick lookups, conversational queries, one-off data pulls - **Created:** 2026-05-07
ClaudeFactmerlin
May 7, 02:41 AM
--- name: DataForSEO SOP Site description: VitePress docs site for DataForSEO API at dataforseo-docs.vercel.app with 41 pages, RAG chat, private GitHub repo type: reference originSessionId: c8710745-21a9-403d-bf3f-15afa9fa6c30 --- - **Live URL:** https://dataforseo-docs.vercel.app - **GitHub (private):** https://github.com/mmerlino23/dataforseo-docs - **Local path:** D:\ClaudeDev\00_GITHUB\Websites\SOP-Sites\dataforseo-docs - **Obsidian vault:** E:\Merlino Vault\Resources\SOP-Sites\dataforseo-docs\ - **Pages:** 41 markdown files (7,986 lines) - **Sections:** Getting Started, SERP, Keywords, Backlinks, On-Page, Domain Analytics, Labs, AI Optimization, Content Analysis, Merchant, Business Data, App Data, SOPs (7), Workflows (3), Quick Ref (4) - **Chat widget:** GPT-4o-mini via native fetch (no SDK dependency) - **Vector store:** vs_69fbf7b7873c81919c985bbb90ffc429 (OpenAI, 41 files uploaded) - **Vercel env vars:** OPENAI_API_KEY, OPENAI_VECTOR_STORE_ID - **Built:** 2026-05-07
ClaudeFactmerlin
May 7, 02:41 AM
--- name: DomDetailer Direct API description: Direct DomDetailer API key and endpoint for Majestic TF/CF/TTF, Moz DA/PA metrics — NOT the RapidAPI wrapper type: reference originSessionId: a21fcb78-d73a-4be9-801b-b76116e3cd30 --- **Direct API:** `http://domdetailer.com/api/checkDomain.php?domain={domain}&apikey=7HAWEBFR19BWP&app=DomDetailer` **API Key:** `7HAWEBFR19BWP` **Credits:** 927,707 (as of 2026-05-07) **Returns:** mozDA, mozPA, mozLinks, majesticTF, majesticCF, majesticTTF0-2 (Name+Value), majesticRefDomains, majesticLinks, majesticRefEDU, majesticRefGov, FB_comments, FB_shares, pinterest_pins **Note:** The RapidAPI DomDetailer wrapper (`domain-seo-review-for-linkbuilding.p.rapidapi.com`) has a monthly quota limit on BASIC plan. Use the direct API instead — nearly 1M credits available.
ClaudeFactoliversherlock
May 7, 02:35 AM
--- name: Neill & Son Content Package description: Merlino Magic Blog for Neill & Son Roofing — full PAA content package deployed to V6 dashboard with images, sliders, and HTML infographics type: project originSessionId: de492529-ba7d-4f34-8c6f-15e7b69c097a --- ## What Was Built (2026-05-06 / 2026-05-07) Full Merlino Magic Blog content package for Neill & Son Roofing: - **Keyword:** Emergency roof leak repair Pittsburgh PA - **Business:** Neill & Son Roofing, Monaca PA (724-888-6418), Erie PA (814-824-9925) - **Article:** ~3,400 words matching #1 SERP result +10-20% ## Deliverables 1. Blog content markdown: `D:\ClaudeDev\merlino-magic-blog-neill-son-emergency-roof-leak.md` 2. Dashboard content page: `v6-workflow/app/audit/content/page.tsx` — schema report card (21/21 checks), collapsible research/intent, tabbed social posts, "Preview Blog Post" button 3. Blog preview page: `v6-workflow/app/blog-preview/page.tsx` — full-width standalone page cloning Neill & Son site design 4. 11 blog-preview components in `v6-workflow/components/blog-preview/` (including BeforeAfterSlider) 5. Data layer: `v6-workflow/src/data/blog-content.ts` 6. 5 AI images in `v6-workflow/public/blog-images/` (2 before/after pairs via FAL AI img2img, 1 hero) 7. 2 HTML infographics built as React components (damage timeline, leak entry points) ## Live URLs - Dashboard content: https://v6-workflow.vercel.app/audit/content - Blog preview: https://v6-workflow.vercel.app/blog-preview ## Image Generation Learnings - Before/after: generate CLEAN first, then img2img at 0.80 strength with short damage prompt - Infographics: FLUX can't render text reliably — use HTML/React components instead - NEVER use Google AI API for images (watermarks). FAL AI only. - Static side-by-side images as PRIMARY display, interactive slider BELOW as bonus ## PAA Research for Next Post 13 unique PAAs pulled via DataForSEO for Pittsburgh roof repair. Top picks: 1. How much does it cost to replace a roof in Pittsburgh, PA? 2. What is the 25% rule for roofing? (appeared in 4/5 queries) 3. Will homeowners insurance pay for roof repair? 4. How much does a roof inspection cost in PA? 5. What is the cheapest time of year to get a new roof? ## What's Next - Mike asked to pick a PAA and run another /merlino-magic-blog - Video about the emergency roof leak topic still pending - Skills updated: /merlino-magic-blog and /before-after-image-generator with learnings from this session
ClaudeEventmerlin
May 7, 02:14 AM
--- name: Always clone V6 Workflow template pattern description: All UIs must use pure Tailwind utility classes + standard ShadCN components like the V6 Workflow dashboard. NEVER write custom CSS classes in globals.css. type: feedback originSessionId: b65fde18-b1c4-493e-bef7-871222b5270d --- All frontend builds must match Mike's V6 Workflow Analytics template at `D:\ClaudeDev\00_GITHUB\archangel-variations\v6-workflow\`. **Why:** Mike rejected 3 consecutive rebuilds because they wrote hundreds of lines of custom CSS classes instead of using Tailwind like his actual templates do. He was furious — "why are you disrespecting me." **How to apply:** - `globals.css` = ONLY standard ShadCN CSS variables in `@layer base`. Zero custom classes. - ALL styling via Tailwind utility classes in JSX — `className="text-3xl font-bold text-gray-900"` not `.kpi-value { font-size: 2rem; }` - Use ShadCN Card/Badge/Table/Tabs from `components/ui/` as-is - No inline `style={{ }}` objects - Study V6 `app/page.tsx` for the KPI card pattern before building any dashboard UI - Colors: Tailwind defaults (`text-gray-900`, `text-pink-500`, `bg-pink-50`) - Spacing: `space-y-6`, `gap-4`, `p-5`
ClaudeFeedbackeinstein
May 7, 02:13 AM
--- name: Reddit is mandatory — no hybrid plays description: Every publishing platform recommendation MUST include Reddit. Never suggest hybrid workarounds or Reddit-less alternatives. type: feedback originSessionId: c1bbeb92-12de-4b28-8f93-19690f62f077 --- Reddit is a mandatory platform for all social publishing. Do not suggest alternatives that lack Reddit support. Do not propose hybrid setups where Reddit is handled separately. **Why:** Mike has been clear — Reddit is non-negotiable for his content distribution strategy. Suggesting Reddit-less tools or "post to Reddit separately" workarounds wastes time and frustrates him. **How to apply:** When evaluating social publishing tools, filter by Reddit support FIRST. If a tool doesn't support Reddit, don't recommend it as a primary option. Don't suggest "use X for everything else + script for Reddit" — that's a hybrid play and explicitly rejected.
ClaudePreferencemerlin
May 7, 02:07 AM
--- name: Social Publishing API Pricing Comparison description: Zernio vs competitors for multi-platform publishing API with Reddit support — 150 account scale, researched 2026-05-07 type: reference originSessionId: c1bbeb92-12de-4b28-8f93-19690f62f077 --- ## Context Mike's Zernio plan ($39/mo for 150 accounts) is grandfathered. Zernio killed tiers on 2026-05-06 and moved to pay-per-account. Monthly customers get 3 more billing cycles at current price, then forced to new pricing. ## Zernio New Pricing (2026-05-06) | Accounts | Per Account/Mo | |----------|---------------| | 1-2 | Free | | 3-10 | $6 | | 11-100 | $3 | | 101-2,000 | $1 | 150 accounts = $368/mo (was $39). Includes analytics, DMs, comments, ads. X/Twitter pass-through: $0.005/read, $0.010/write, $0.015/DM. ## Competitor Pricing at 150 Accounts | Platform | Cost/mo | API? | Reddit? | Notes | |----------|---------|------|---------|-------| | Zernio (grandfathered) | $39 | Yes | Yes | Expires in ~3 billing cycles | | Zernio (new) | $368 | Yes | Yes | Only SaaS with Reddit + full API | | Nuelink | $114 (annual) | Yes | NO | 300 account cap, API is new | | Postiz | $198 or free self-hosted | Yes | Yes | Self-hosted = you own OAuth approvals | | SocialBee | $449 | Add-on | NO | API costs extra | | Publer | $542-949 | Business+ | NO | | | Buffer | $750-1,500 | Read-only | NO | Not a real publishing API | | Mixpost | $1,199 one-time + VPS | Yes | NO | Self-hosted, no Reddit | | Ayrshare | $1,403 | Yes | NO | | | Hootsuite | $1,250+ | Enterprise only | NO | | ## Key Finding Zernio is the ONLY SaaS with Reddit + full publishing API + OAuth handled. Self-hosted options (Postiz, Mixpost) require you to register and maintain OAuth apps on every platform yourself — months of approval hell with no guarantee. ## Decision - Ride the $39 grandfathered plan as long as possible - When it expires, Zernio at $368/mo is the only option (Reddit is mandatory, no hybrid plays) - No self-hosted alternatives — OAuth approval burden is a dealbreaker
ClaudeFactmerlin
May 7, 02:07 AM
--- name: Podcast Podbean integration description: Podbean API integrated into BMM admin + video-to-podcast CLI scripts in ranking-reels type: reference originSessionId: d9c44a7f-a9a9-479d-bb49-e44760901018 --- **Podbean API integration (2026-05-07):** BMM Admin (late-social-connect repo): - `src/lib/podbean.ts` — Podbean API client (auth, upload, GET/POST helpers) - `src/types/podcast.ts` — TypeScript types - `src/app/api/podcast/auth/route.ts` — token endpoint - `src/app/api/podcast/episodes/route.ts` — list + create episodes - `src/app/api/podcast/episodes/[id]/route.ts` — update episode - `src/app/admin/podcast/page.tsx` — episode list page - `src/app/admin/podcast/new/page.tsx` — create episode form - `src/app/admin/podcast/[id]/page.tsx` — edit episode form Pipeline scripts (ranking-reels repo): - `scripts/video-to-podcast.mjs` — single video → Podbean episode (FFmpeg extract + upload) - `scripts/batch-video-to-podcast.mjs` — batch convert folder of MP4s Env vars needed on Vercel (late-social-connect): `PODBEAN_CLIENT_ID`, `PODBEAN_CLIENT_SECRET` Creds source: `D:/Ecosystem/secrets/MASTER_API_KEYS.env`
ClaudePreferencemerlin
May 7, 01:52 AM
--- name: Post to ALL platforms description: Every video must be published to ALL connected accounts — currently 13 accounts across 11 platforms type: feedback originSessionId: 9fa512b5-eb39-41ff-bf25-30ea3a96a598 --- When publishing via Zernio, post to EVERY connected platform. **Why:** Mike pays for all these connections. Posting to only 2 wastes the distribution. **How to apply:** Every Zernio POST /posts call should include ALL these platforms: ```json "platforms": [ {"platform": "youtube", "accountId": "69a37745dc8cab9432adec70"}, {"platform": "tiktok", "accountId": "69a35898dc8cab9432ad9fdb"}, {"platform": "facebook", "accountId": "69a3592adc8cab9432ada16b"}, {"platform": "instagram", "accountId": "69a358bedc8cab9432ada050"}, {"platform": "linkedin", "accountId": "69a35954dc8cab9432ada1da"}, {"platform": "twitter", "accountId": "69a35961dc8cab9432ada1f4"}, {"platform": "threads", "accountId": "69a37794dc8cab9432aded6a"}, {"platform": "reddit", "accountId": "69a3596fdc8cab9432ada206", "subreddit": "MerlinoMarketing"}, {"platform": "bluesky", "accountId": "69fbe2e992b3d8e85f861369"}, {"platform": "pinterest", "accountId": "69fbe27592b3d8e85f860fd3", "board": "Local SEO Tips"} ] ``` **Fallback rule:** If video fails on a platform, retry with the thumbnail image instead. Skip GGG TikTok (69faa813) and second LinkedIn (69fb5453) unless explicitly told to include them.
ClaudeFeedbackpicassomerlin
May 7, 01:47 AM
--- name: Podbean session routing feedback description: Lessons learned from the Podbean build session — image work goes to Picasso, no duplicate sections, POWD goes per-domain type: feedback originSessionId: af4f9ade-d58a-405a-9a80-f2c0816ece69 --- - Thumbnails/images → route to Picasso, NOT Merlin. Mike called this out explicitly. - No duplicate UI sections — one workflow per page, not two forms doing the same thing. - POWD goes on the project's own domain, NOT centralized on proof.merlinoai.com. - Don't ask Mike to do things in the browser — do it yourself via Chrome extension or Playwright. - Google Places search uses business name ONLY — no city, no state field. Like the DoneForYou form pattern. - DoneForYou (doneforyou-org) is a REFERENCE for the form pattern, not connected to Podbean. - Episode title ALWAYS goes on the thumbnail image. - Always include embeds: Maps, YouTube, social links — not bare episodes. - "Partial post" status is meaningless — either posted or not. Remove ambiguous statuses. **Why:** Mike got frustrated multiple times by duplicate sections, unnecessary form fields, wrong agent routing, and being asked to manually do browser tasks. **How to apply:** Before building any podcast dashboard UI, check that there's only ONE workflow path visible. Route all image generation to Picasso. Always auto-fill from APIs — never show empty forms that require manual entry.
ClaudeFactfrankie
May 7, 01:44 AM
--- name: RSS.app API description: RSS feed generator API — creates feeds from any source, bridge between BMM and Podbean podcast syndication type: reference originSessionId: af4f9ade-d58a-405a-9a80-f2c0816ece69 --- - **API key:** c_LgawoZXA7h9ZR4 - **API secret:** s_RzKqwuWuFURKpNQGUp82gl - **Docs:** https://rssapp-api-docs.vercel.app/ - **Skill:** /rssapp-api (installed at D:/Codeland2026/skills/rssapp-api/SKILL.md) - **Use case:** BMM posts → RSS.app feed → Podbean RSS watcher → auto-publish podcast episodes
ClaudeArchitectureolivercarlos
May 7, 01:44 AM
--- name: Podbean Podcast Dashboard description: Flask app on Railway — one-click podcast episode creator with Fish Audio voice, GPT Image thumbnails, Puppeteer embeds, Google Places client search, RSS watcher type: reference originSessionId: af4f9ade-d58a-405a-9a80-f2c0816ece69 --- ## App - **Repo:** https://github.com/mmerlino23/podbean-1 - **Live:** https://web-production-12ad4.up.railway.app - **Login:** admin / Bigmike23! - **Railway project:** soothing-delight (c14625f1-9833-47c6-b1be-e873ee920c39) - **Stack:** Python Flask, Jinja2 templates, SQLite, Puppeteer, deployed on Railway ## Podbean Account - **Admin:** https://admin5.podbean.com/MerlinoMarketing/dashboard/index - **Podcast ID:** d5NPW2tzpuob (originally showed as "The infoyqw's Podcast", now Merlino Marketing) - **API App:** CTR Geeks (paid account, mike@merlinomarketing.com) - **Client ID:** 98940287d8170412fafa4 - **Client Secret:** ef15409d6e5860acf8689 - **Developer portal:** https://developers.podbean.com/app/list/ - **RSS feed:** https://feed.podbean.com/merlinomarketing/feed.xml - **YouTube submission:** in progress (verification code sent to mike@merlinomarketing.com) ## Railway Env Vars (10) ASSEMBLYAI_API_KEY, DATAFORSEO_LOGIN, DATAFORSEO_PASSWORD, FISH_AUDIO_API_KEY, GOOGLE_PLACES_API_KEY, OPENAI_API_KEY, PODBEAN_CLIENT_ID, PODBEAN_CLIENT_SECRET, PODBEAN_EMAIL, PODBEAN_PASSWORD ## Known Issues - SQLite resets on every deploy — needs Railway persistent volume attached - Podbean API strips iframes — embeds must go through Puppeteer via admin editor - Podcast cover image is still the default guy — needs to be swapped in Podbean settings ## Features Built 1. One-click episode creator (title → auto voice + thumbnail + publish + embeds) 2. Google Places client search (business name only, no city/state) 3. Fish Audio TTS in Mike's cloned voice (reference_id: 3782f7b36e5d411fb9d70d1809b134a0) 4. GPT Image 2 thumbnails with episode title 5. AssemblyAI transcription for uploaded audio/video 6. RSS watcher cron (15 min interval, auto-publish to Podbean) 7. Puppeteer YouTube embed injection 8. DataForSEO business search (fallback) 9. Settings hardwired from env vars 10. Clean SaaS UI (indigo accents, white bg) ## Next Steps (from this session) - Attach Railway persistent volume so SQLite survives deploys - BMM → RSS.app → Podbean syndication pipeline - Add social links + share buttons to episode template (like the Trueway example) - Swap Podbean podcast cover image (replace random guy) - Connect Podbean distribution: Apple Podcasts, Spotify, Amazon Music, etc. - Finish YouTube verification (check email for code) - Multiple embeds per episode: Maps + YouTube + social links - DoneForYou form pattern: just business name, auto-fill everything via API
ClaudeFactfrankiemerlin
May 7, 01:44 AM
--- name: LBM API Access description: Local Brand Manager REST API — working token, base URL, endpoints, and auth pattern type: reference originSessionId: a21fcb78-d73a-4be9-801b-b76116e3cd30 --- **Base URL:** `https://api.localbrandmanager.com` **Auth:** `Authorization: Token paWphBqtFGhU7mbEiwziqWXX` **Dev Docs:** https://developers.localbrandmanager.com/ **Account:** mike@merlinomarketing.com **Endpoints:** - `GET /locations?per=100` — all locations - `GET /geogrid_configs?per=100` — all geogrid configs - `GET /geogrids?by_geogrid_config_id={id}&by_state=finished&per=100` — geogrid results by config - `GET /gmb/reviews?page={n}&per=100` — reviews **Note:** The `LBM_API_KEY_MERLINO` in MASTER_API_KEYS.env (`dJat5Jb4E87GTyKVmWB9DD6N`) is a widget embed key, NOT the API token. The working API token is `paWphBqtFGhU7mbEiwziqWXX`. **Full implementation exists in:** `domain-portfolio-dashboard` project (`/src/app/api/lbm/`)
ClaudeFactmerlin
May 7, 01:39 AM
--- name: No Google AI API for Images description: NEVER use Google AI API directly for image generation — they watermark images. Use FAL AI (FLUX Pro) or Gemini CLI instead. type: feedback originSessionId: de492529-ba7d-4f34-8c6f-15e7b69c097a --- NEVER use Google Generative AI API (google.generativeai / google.genai Python SDK) for image generation. Google watermarks all images generated through their API. **Approved image generation methods:** - FAL AI with FLUX Pro (`fal-ai/flux-pro/v1.1`) — primary for photos, before/after, hero images - FAL AI with FLUX dev img2img (`fal-ai/flux/dev/image-to-image`) — for editing existing images - Gemini CLI / Nano Banana (`/nano-banana` skill) — for general AI image generation - Imagen 4 via FAL or other non-Google-API wrapper — for infographics with text **Why:** Mike explicitly flagged that Google AI API watermarks generated images. FAL AI does not. **How to apply:** When any image generation task comes up, route through FAL AI or the `/nano-banana` skill. Never import `google.generativeai` for image generation purposes.
ClaudeFeedbackfrankiemerlin
May 7, 01:31 AM
--- name: Reddit subreddits description: Mike's owned subreddits for content distribution — r/MerlinoMarketing and r/RankingReels type: reference originSessionId: 9fa512b5-eb39-41ff-bf25-30ea3a96a598 --- Mike owns two subreddits (created 2026-05-07): - https://www.reddit.com/r/MerlinoMarketing/ — agency/SEO content - https://www.reddit.com/r/RankingReels/ — AI video ads for local SEO When posting to Reddit via Zernio, target these subreddits instead of public ones like r/SEO (which auto-removes promotional posts). **Zernio subreddit targeting:** Put `"subreddit": "MerlinoMarketing"` INSIDE the platform object (not at root level): ```json {"platform": "reddit", "accountId": "69a3596fdc8cab9432ada206", "subreddit": "MerlinoMarketing"} ``` This works. Root-level `"subreddit"` field is ignored. **Pinterest:** Zernio's Pinterest integration appears broken as of 2026-05-07. Image posts fail silently.
ClaudeFactmerlin
May 7, 01:26 AM
--- name: YouTube Shorts URL format description: 30-second 9:16 videos are Shorts — always use /shorts/ URL, never /watch?v= type: feedback originSessionId: 9fa512b5-eb39-41ff-bf25-30ea3a96a598 --- 30-second vertical (9:16) videos are YouTube Shorts. Always share the Shorts URL format. **Why:** Giving the /watch?v= link makes it look like a regular long video. The /shorts/ URL is the correct format for short-form content. **How to apply:** - CORRECT: `https://www.youtube.com/shorts/{videoId}` - WRONG: `https://www.youtube.com/watch?v={videoId}` YouTube auto-detects Shorts from aspect ratio (9:16) + duration (≤60s), but always verify and share the /shorts/ URL.
ClaudeFeedbackshakespeare
May 7, 12:37 AM
--- name: Video pipeline method description: Mike's PAA video method — scrape with UULE browser, answer IS the content, /scriptwriter, different avatars, all platforms type: feedback originSessionId: 9fa512b5-eb39-41ff-bf25-30ea3a96a598 --- Mike's video production method for RankingReels (updated 2026-05-07): 1. **Scrape PAA + answer in ONE shot** via `scripts/scrape-local-paas.mjs` with UULE location spoofing (Playwright/Steel/BrowserBase). NOT DataForSEO. The scraper grabs both the question AND the answer snippet — that answer IS the video content. No separate verify step. 2. **Write script** using `/scriptwriter` skill — scene-by-scene breakdown, not freehand. The scraped answer is the content base, add geo to title, add "a little more" on top. 3. **Generate B-roll images** via FAL AI flux-pro (1080x1920, 9:16) based on scriptwriter scene notes. 4. **Render video** via Creatify API — AvatarBubbleTemplate, aurora_v1_fast, Hormozi orange captions. 5. **Different avatar per video** — never reuse the same avatar back to back. 6. **Hormozi orange captions** — standard-bold, Montserrat, #FBBF24 highlight, transparent bg. 7. **UGC thumbnail** — FAL AI (1280x720) person's head on left, PAA text with geo on right, key line in orange. 8. **Title = PAA + GEO fused** — city name INSIDE the question, never as a hashtag. Use exactly what Mike says (NYC not "New York", Pittsburgh not "PA"). 9. **Publish via Zernio API** — mediaItems format, ALL 8 platforms (YT, TT, FB, IG, LinkedIn, X, Threads, Reddit). Title and content = same string, no hashtags appended. **Why:** This ranks for the exact PAA + geo query. The scraped answer is already verified by Google. Generic titles or hashtag-appended geos don't trigger the right search intent.
ClaudePatternshakespeare
May 7, 12:34 AM
--- name: Audits must use DataForSEO API first description: Never run prospect/client audits using web scraping or search snippets — always use DataForSEO API as primary data source type: feedback originSessionId: 977a1d41-6a03-4a0e-8d8d-108e7828c102 --- All SEO audits MUST use DataForSEO API as the primary data source — never web scraping or search snippet inference. **Why:** On 2026-05-06, an audit for Neill & Son Roofing was run using web search + scraping. Agents hit 403 blocks on platforms and reported search snippet fragments as facts. Review count was off by 2x (reported 120, real was 271), referring domains off by 7x (reported <20, real was 135), photo count off by 3.5x. Mike presented this to a prospect on a live call and it was wrong. He was embarrassed. **How to apply:** When dispatching audit workstreams to Carlos/agents: 1. DataForSEO GMB API for GBP data (reviews, rating, photos, categories) 2. DataForSEO Backlinks API for real DR, referring domains, backlink count 3. DataForSEO SERP API for actual ranking positions 4. DataForSEO Keywords API for ranked keywords and volumes 5. DataForSEO On-Page API for technical audit 6. Browser verification (Queen) for social media follower counts 7. SerpAPI / Google Places API as secondary verification 8. Web search ONLY for qualitative context (sentiment, press mentions) — never for quantitative data 9. Any metric that comes from a search snippet must be flagged as "UNVERIFIED — inferred from search snippet" 10. MANDATORY: Direct `curl` of homepage source to verify schema, meta descriptions, plugins (GHL/LeadConnector), and tech stack — API crawlers get WAF-blocked and report false negatives 11. Check for GHL/LeadConnector plugin before claiming "no CRM" — LeadConnector = GoHighLevel = CRM + forms + automation + call tracking 12. Google Places API + RapidAPI Local Business Data for both GMB locations (don't audit just one) 13. Local Brand Manager geogrid for map pack visibility per location 14. Run ALL available audit skills (CRO, E-E-A-T, intent, schema, internal linking, etc.) — not just DataForSEO endpoints
ClaudeFeedbacksherlockaudit-machine
May 7, 12:04 AM
--- name: No RapidAPI description: Mike no longer uses RapidAPI for any tools — do not call RapidAPI endpoints in audits or data pipelines type: feedback originSessionId: a21fcb78-d73a-4be9-801b-b76116e3cd30 --- Do not use RapidAPI for any purpose — PAA, Local Business Data, Local Rank Tracker, AI Overview Keywords, Reddit, or any other RapidAPI host. **Why:** Mike dropped RapidAPI entirely. The endpoints are unreliable and redundant with DataForSEO + Google Places + direct APIs. **How to apply:** In audit pipelines, skip all RapidAPI workstream items. Use DataForSEO for keyword/SERP/backlink/on-page data, Google Places for GBP data, Google Custom Search for discovery queries, and SerpAPI for SERP features. If PAA or AI Overview data is needed, use DataForSEO or skill-based approaches instead.
ClaudeFeedbackmerlin
May 6, 11:48 PM
--- name: Light theme default for all apps description: Always default to light/white theme on Ranking Reels apps and tools — Mike prefers light mode type: feedback originSessionId: 915e4a05-9307-44c9-b09c-a6ce3410365a --- Default to light/white theme on all Ranking Reels web apps and tools. **Why:** Mike prefers light mode and has corrected this multiple times. Don't default to dark. **How to apply:** Set `data-theme="light"` in layout.tsx, default useState to "light", default localStorage fallback to "light".
ClaudePreferencespielberg
May 6, 11:11 PM
--- name: Zernio API for BMM publishing description: How to publish videos to YouTube/TikTok via Zernio API (BMM backend) — presign, upload, post type: reference originSessionId: 9fa512b5-eb39-41ff-bf25-30ea3a96a598 --- BMM (Brand Media Manager) uses Zernio as its backend API. API key in `D:\ClaudeDev\00_GITHUB\late-social-connect\.env.local` as BMM_API_KEY. **Base URL:** https://zernio.com/api/v1 **Auth:** `Authorization: Bearer <BMM_API_KEY>` **Accounts (Mike's):** - YouTube: `69a37745dc8cab9432adec70` (@merlinomarketing) - TikTok: `69a35898dc8cab9432ad9fdb` (@mikeybotzmerlino) - TikTok GGG: `69faa813157a6202f6d60fb6` (@greengridgoblins) - Facebook: `69a3592adc8cab9432ada16b` (@ctrgeeks) - Instagram: `69a358bedc8cab9432ada050` (@michaelamerlino) - LinkedIn: `69a35954dc8cab9432ada1da` (Michael A Merlino) - X/Twitter: `69a35961dc8cab9432ada1f4` (@mike_merlino) - Reddit: `69a3596fdc8cab9432ada206` (@mikemerlino) - Threads: `69a37794dc8cab9432aded6a` (@michaelamerlino) - Google Business: `69a359d6dc8cab9432ada2ad` **Profile ID:** `69a350fabdc534fe1decfb13` (Mike Merlino) **Video publish flow:** 1. `POST /media/presign` with `{"filename": "x.mp4", "contentType": "video/mp4"}` → returns `uploadUrl` + `publicUrl` 2. `PUT <uploadUrl>` with video binary, `Content-Type: video/mp4` 3. `POST /posts` with `mediaItems: [{"type": "video", "url": "<publicUrl>"}]` **CRITICAL:** Use `mediaItems` array, NOT `videoUrl` field. `videoUrl` does not work for YouTube.
ClaudeFactghost
May 6, 11:09 PM
--- name: Geo goes IN the PAA title description: Video titles must have the city name baked INTO the PAA question, never as a hashtag after it type: feedback originSessionId: 9fa512b5-eb39-41ff-bf25-30ea3a96a598 --- The geo/city MUST be part of the title itself, not appended as a hashtag. **Why:** The whole point of PAA videos is to rank for "PAA question + city." If the city is a hashtag, it's not in the title — it won't rank. Mike's method is PAA + GEO fused into one title string. **How to apply:** - CORRECT: "What Should I Do First When My Roof Is Leaking in Pittsburgh?" - CORRECT: "What Is the Best Siding for a House in Pittsburgh?" - WRONG: "What Should I Do First When My Roof Is Leaking? #Pittsburgh" - WRONG: "What Is the Best Siding for a House in PA?" Always one city. Always inside the question. Never as a hashtag or afterthought.
ClaudeFeedbackshakespeare
May 6, 11:09 PM
--- name: No Blocky Text in Content description: Blog posts must use rich visual formatting — tables, charts, callouts, image placeholders, step guides, FAQ accordions type: feedback originSessionId: de492529-ba7d-4f34-8c6f-15e7b69c097a --- Blog post pages must NEVER be walls of text. Mike explicitly requires visual breaks every 2-3 paragraphs. **Why:** Mike said "no blocky text" when reviewing the content page. Content pages are sales tools and need to look premium. **How to apply:** Every blog post page must include: - Styled data tables (damage timelines, cost breakdowns) - Step-by-step guides with numbered circles and connector lines - Pull quotes with colored left borders - Callout boxes (warning, info, success, danger) - Before/after image placeholders (CSS gradient, NO stock photos) - Infographic placeholders - FAQ accordion for PAA questions - Icon card grids instead of plain lists
ClaudeFeedbackpicasso
May 6, 10:41 PM
--- name: Clone Prospect Site Design description: Blog previews must visually clone the prospect's actual website design, not use generic dashboard styling type: feedback originSessionId: de492529-ba7d-4f34-8c6f-15e7b69c097a --- When showing a prospect a blog post, the preview page must look like it belongs on THEIR website. Clone their header, footer, colors, fonts, and layout. **Why:** Mike explicitly requested this for the Neill & Son blog. A generic dashboard card view doesn't sell. The prospect needs to see "this is what it would look like on MY site." **How to apply:** Use WebFetch or browser automation to rip the prospect's design (colors, fonts, header/footer layout). Build a standalone full-width page (no dashboard sidebar) that clones their visual identity. Use CSS custom properties scoped to the preview route so it doesn't bleed into the dashboard. Include a "Back to Dashboard" floating button.
ClaudeFeedbackpicasso
May 6, 10:40 PM
--- name: No Scrollbars Ever description: Never ship visible scrollbars on dashboards — hide sidebar/content scrollbars with CSS type: feedback originSessionId: de492529-ba7d-4f34-8c6f-15e7b69c097a --- Visible scrollbars on dashboard UIs are unacceptable. Mike explicitly said "no way no how" about the sidebar vertical scrollbar. **Why:** Mike considers visible scrollbars a sign of poor UI/UX quality. They look unprofessional in a sales tool shown to prospects. **How to apply:** On any sidebar or fixed-height container, use `overflow-y-auto` with hidden scrollbar CSS: `[&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]`. Also prevent horizontal overflow with `overflow-hidden` on content containers and `break-words` / `whitespace-pre-wrap` on text blocks. Test visually before deploying.
ClaudeFeedbackoliver
May 6, 10:40 PM
--- name: Memory Systems Location description: Where Honcho and Hindsight run — Honcho on Windows via hooks, Hindsight on Mac Studio only type: reference originSessionId: 6a9710da-923f-4f16-a9a5-2988340bde11 --- - **Honcho** — runs on Windows via Claude Code hooks (UserPromptSubmit, PostToolUse, Stop). MCP plugin configured in settings.json. API key in env vars. - **Hindsight** — runs on Mac Studio (mac-main / Hermes). NOT available on Windows. Don't try to call it from Windows sessions.
ClaudeFactmerlineinstein
May 6, 10:40 PM
--- name: Article Length From SERP description: Blog post word count must match #1 ranking result +10-20%, never use arbitrary word floor type: feedback originSessionId: de492529-ba7d-4f34-8c6f-15e7b69c097a --- When writing blog posts via /merlino-magic-blog, article length is determined by what's ranking #1 for the target PAA, plus 10-20%. Do NOT default to a fixed word count like 1200+ words. **Why:** Mike corrected this during the Neill & Son blog post session. The SOP says "match competition +10-20%" and Mike considers arbitrary word floors wrong. **How to apply:** During Phase 1 research, check the #1 result's word count. That number +10-20% is the target. State it explicitly in the research summary.
ClaudeFeedbackmerlinshakespeare
May 6, 10:40 PM
--- name: Audit Machine Project description: Full Merlino-style audit pipeline project at D:\ClaudeDev\00_GITHUB\audit-machine\ type: reference originSessionId: 6a9710da-923f-4f16-a9a5-2988340bde11 --- **Location:** `D:\ClaudeDev\00_GITHUB\audit-machine\` **Plan:** `AUDIT-PLAN-ARCHANGEL.md` — 11-phase, 30+ check, 7-agent-team audit plan Full "Merlino Style" audit includes: - 11 DataForSEO API endpoints - Google Places API - Local Brand Manager geogrid - RapidAPI tools (local business, rank tracker, PAA, AI overview) - 16 audit skills (CRO, intent, E-E-A-T, Panda, schema, internal linking, duplicate content, geo relevance, freshness, crawl budget, link equity, LLM mentions, on-page worksheet, on-page quick wins, helpful content, content quality) - Reddit sentiment - Browser-verified social media - Press release check - Podcast check - Competitor deep dive - Consolidation + dashboard deployment + visual QA **To execute:** Open `D:\ClaudeDev\00_GITHUB\audit-machine\` and say GO.
ClaudeFactcarloseinstein
May 6, 10:35 PM
--- name: Never Guess Audit Data description: Never present estimated/scraped data as fact — use APIs, mark unverified items explicitly type: feedback originSessionId: 6a9710da-923f-4f16-a9a5-2988340bde11 --- Never present search snippet data or estimates as verified facts in audit reports or dashboards. Mike was embarrassed on a prospect call because social media numbers and audit data were guessed from search snippets instead of pulled from APIs. **Why:** Mike showed a prospect a dashboard with wrong Facebook follower counts, wrong review numbers, and a missing LSA finding. Made him look unprofessional. **How to apply:** 1. DataForSEO API is MANDATORY primary source for all audit data 2. Google Places API for verified GBP data 3. Browser-verify social media numbers (not search snippets) 4. If data can't be verified, mark it "UNVERIFIED" — never present as fact 5. Check ALL API keys in `D:\Ecosystem\secrets\MASTER_API_KEYS.env` before starting 6. Run ALL available audit skills — check the skills list 7. QA every dashboard page visually before reporting done
ClaudeFeedbackcarlossherlock
May 6, 10:35 PM
--- name: Hide Template Source Names description: Never expose template/library names (ShadCN, Mosaic, Aceternity) in client-facing or sales materials type: feedback originSessionId: 6a9710da-923f-4f16-a9a5-2988340bde11 --- When building client dashboards or sales pages, NEVER use the real template names (ShadCN, Mosaic, Nexus OS, Aceternity, Cruip, etc.). Use branded names instead. **Why:** Mike doesn't want prospects or clients knowing what templates he uses. Revealing source names lets them Google and buy/build themselves. **How to apply:** - Use branded names: Executive Pro, Command View, Mission Control, Pipeline Pro, Growth Hub, Enterprise Suite, Ops Center, Intelligence, Flex Theme, Aurora - Vercel URLs should not contain template names (use generic project names) - GHL custom fields use branded names, not template names - Sales page descriptions should be generic ("premium admin dashboard") not specific ("ShadCN UI Kit with TanStack tables")
ClaudeFeedbackoliverpicasso
May 6, 10:34 PM
--- name: Archangel Dashboard Project description: Archangel Centers SEO dashboard — 10 template variations, audit, DataForSEO, GHL snapshot, sales page type: project originSessionId: 6a9710da-923f-4f16-a9a5-2988340bde11 --- ## Client Archangel Centers — 44 Apple St STE 3, Tinton Falls, NJ 07724 — (888) 464-2144 — archangelcenters.com Drug addiction treatment clinic. Founder: Mike "The Situation" Sorrentino. ## What Was Built (2026-05-05 to 2026-05-06) ### Keyword Research - 483 keywords: 163 organic, 68 PAA broad, 252 PAA geo-modified, 24 AI overview, 27 map pack, 40 PATA, 18 featured snippets - Broken down by: organic, AI overview, PAA, local/map pack, PATA, featured snippets ### SEO Audit (9 workstreams + DataForSEO) - Manual audit: technical, on-page, local, E-E-A-T, backlinks, competitor, LLM/AI, social media, video SEO - DataForSEO API audit: ranked keywords (125), backlinks (1,453 / 104 RDs), on-page crawl (26 pages), SERP analysis, LLM mentions - Overall score: 41/100 - Key issues: zero schema, 7 pages missing H1, lorem ipsum on homepage, 85.4% anchor concentration from thesituationsstore.com, 3 toxic spam links ### 10 Dashboard Template Variations Built from Mike's premium templates, deployed to Vercel: - V1 Executive Pro (ShadCN UI Kit) — BROKEN (CSS issues) - V2 Command View (Mosaic) — Live - V3 Mission Control (Nexus OS) — Live - V4 Pipeline Pro (CRM Pipeline) — Live - V5 Growth Hub (Campaign Hub) — Live - V6 Enterprise Suite (Workflow Analytics) — Live — MIKE'S FAVORITE - V7 Ops Center (Tactical Ops) — Live - V8 Intelligence (AI Agent) — Live - V9 Flex Theme (CMS SaaS) — BROKEN (CSS issues) - V10 Aurora (Aceternity Cryptgen) — Live ### Demo Versions (for sales) Same 10 templates with generic "Sample Business" data, branded "Merlino Marketing — SEO Intelligence Dashboard" Template names changed to hide source: Executive Pro, Command View, Mission Control, Pipeline Pro, Growth Hub, Enterprise Suite, Ops Center, Intelligence, Flex Theme, Aurora ### Sales Page https://merlino-seo-dashboards.vercel.app — showcases 8 working templates with popup demos, "Schedule a Call" links to GHL calendar ### Comparator Tool https://archangel-compare.vercel.app — vote YES/NO/MAYBE, star rating, notes, localStorage persistence ### GHL Integration - Custom fields, tags, calendar built via API in Green Grid Goblins sub-account - Pipeline "SEO Dashboard Sales" needs manual creation (API token lacks scope) - Custom Menu Link SOP written - Marketplace snapshot spec written for giveaway/affiliate play - GHL marketplace listing copy ready ### GitHub Private repo: https://github.com/mmerlino23/archangel-variations ## Known Issues - V1 (ShadCN UI Kit) and V9 (CMS SaaS) have broken CSS — need ground-up rebuilds - Neill & Son Roofing data contaminated dashboards in other terminal — required extensive cleanup - Demo versions may still have Archangel-specific keyword/PAA data (addiction treatment content) ## Next Steps - Full "Merlino Style" audit using ALL APIs + ALL 16 audit skills — plan saved at `D:\ClaudeDev\00_GITHUB\audit-machine\AUDIT-PLAN-ARCHANGEL.md` - Fix V1 and V9 broken templates - Swap demo keyword data to generic (plumbing demo data created but not deployed) - Build /prospect-audit skill for one-command audit pipeline - Schema implementation on archangelcenters.com - Content strategy around PAAs - Mike Sorrentino video/AI avatar pipeline
ClaudeEventcarlossherlock
May 6, 10:34 PM

Showing 51100 of 143