Timeline
9,282 memories — chronological, newest first.
[USER]
[tool_result] [stage] done
[install] done
[LIVE] ascend-recovery-nc-report https://ascend-recovery-nc-report.vercel.app
[LIVE] ascend-recovery-fl-report https://ascend-recovery-fl-report.vercel.app
[LIVE] archangel-centers-report https://archangel-centers-report.vercel.app
[LIVE] ascend-recovery-nm-report https://ascend-recovery-nm-report.vercel.app
[ALL DONE]
[ASSISTANT]
[tool_use:Bash]
Jun 11, 03:42 PM
[USER]
how will we use this and do I have to get him api keys and shit
[ASSISTANT]
No new keys needed. He's covered for SEO work on day one.
**What he already has (riding on your existing accounts):**
- **Claude itself**: comes from the team@merlinomarketing.com login, which is a subscription seat, not an API key. Zero setup, zero per-token billing.
- **DataForSEO + Firecrawl**: your keys are already in `~/.fleet.env` on his box. Keyword volumes, SERPs, scraping all work. Usage bills to your existing accounts (pennies per query).
- **SOP brain**: merlino-sops MCP is already wired and verified.
That trio covers keyword research, SEO audits, PAA content, competitor checks, and SOP lookups, which is his actual job.
**What he deliberately does NOT have:** image gen, GHL, Vercel deploys, email sending, client logins. If his work grows into one of those, you say "give Robert X" and I add that one key to his box in a minute. Add per-need, never the master file.
**How you actually use this day to day:**
1. You assign work in plain English (Slack, text, whatever): "Robert, do keyword research for the Sarasota plumber."
2. He sshs in, runs `claude`, says what you said. Claude does the work using your skills/SOPs, the same playbooks your fleet uses, so output comes back in YOUR format.
3. Results land in `~/work/<client>/` on his box. You have root on it, so you (or your agents) can pull anything he produces. Or he pastes deliverables into email.
**The two things to watch:**
1. **Shared rate limits**: he's on team@'s quota. If you or anyone else hammers that account at the same time, you'll feel it. If he becomes a heavy daily user, the fix is a $20-100/mo Claude seat of his own, not API keys.
2. **DataForSEO spend**: his queries hit your balance. It's cheap, but if you want, I can put a usage note in his CLAUDE.md telling Claude to batch keyword lookups.
Optional upgrade when you're ready: wire `discord-post` on his box so every deliverable he finishes pings your Merlino server automatically and you never have to ask "what did Robert do today." Say the word.
Jun 11, 03:41 PM
[USER]
what ar eyou doing I need you to work on this -
What you send Robert (both on the desktop):
1. His private key: D:/Ecosystem/secrets/robert-seo-1/robert_id_ed25519
2. The guide: D:/Ecosystem/secrets/robert-seo-1/ROBERT-QUICKSTART.md
His whole life is: ssh -i robert_id_ed25519 robert@178.156.201.17 then claude, log in once with team@merlinomarketing.com via the URL it prints.
Verification: whoami=robert, hostname=robert-seo-1, claude mcp list shows merlino-sops Connected, login as robert tested OK. Discord #deploys posted,
board task Done. (Server-side work, so proof is the command output above; no visual POWD applies.)
Two open items, flagged honestly:
1. The sops MCP on his box uses the Master Brain service-role key (full write access), and Robert can read it. You said use your MCPs, so it ships
working, but I recommend a read-only Supabase role swap soon. Say the word and I'll dispatch it.
2. The box is not a /sync target, so his skills will drift. One command re-syncs from the big box whenever you want, or I can add it as a permanent
sync target. Rober needs access
[ASSISTANT]
[tool_use:Edit]
Jun 11, 03:35 PM
[USER]
[tool_result] 48 - [Obsidian vaults system (D:/Vaults)](project_merlino-vaults-github-vercel.md) — 2026-06-07: 6 organized Obsidian vaults at D:/Vaults (skills 526/agents 29/projects 131/people 24/businesses 21/meetings 2246) w/ tags+properties+callouts+Dataview+wikilinks. Curated note-per-item. Private repo mmerlino23/merlino-obsidian-vaults (Obsidian Git sync). Rich generators in D:/ClaudeDev/merlino-vaults-build/ (build-vaults-rich.py + build-people-orgs.py read _maps/*.yaml). Meetings auto-tagged by parti
[ASSISTANT]
[tool_use:Edit]
Jun 11, 03:34 PM
[USER]
<task-notification>
<task-id>ba2lazbh9</task-id>
<tool-use-id>toolu_013nuFA6R7eQoC5cYeBFPEgy</tool-use-id>
<output-file>C:\Users\mikem\AppData\Local\Temp\claude\D--ClaudeDev-00-GITHUB-archangel-infographics\33fa1aa0-803b-4281-9a7d-43b959ce8c0f\tasks\ba2lazbh9.output</output-file>
<status>completed</status>
<summary>Background command "UULE PAA harvest loop, 8 substance keywords, 3 retries each" completed (exit code 0)</summary>
</task-notification>
[ASSISTANT]
6 of 8 pages written (40+8 FAQ answers gated, all in band). The harvest loop is grinding through CAPTCHAs on the last two keywords; when it completes I'll append meth + polysubstance, run the final gates, deploy the preview with POWD, and report.
Jun 11, 03:34 PM
[USER]
what is that dont owrk
[ASSISTANT]
[tool_use:Bash]
Jun 11, 03:33 PM
[USER]
<task-notification>
<task-id>bney31vej</task-id>
<tool-use-id>toolu_01UJta6HPgNfadsENwU4yMBw</tool-use-id>
<output-file>C:\Users\mikem\AppData\Local\Temp\claude\D--ClaudeDev-00-GITHUB-archangel-infographics\a31b2f81-46db-480a-bda3-eeea64dafc33\tasks\bney31vej.output</output-file>
<status>completed</status>
<summary>Background command "Smoke-test LanguageTool API on Hetzner" completed (exit code 0)</summary>
</task-notification>
[ASSISTANT]
[tool_use:Read]
Jun 11, 03:31 PM
[USER]
what you can do do it use free codex on server for infograhpics...
[ASSISTANT]
[tool_use:Bash]
Jun 11, 03:30 PM
[USER]
anythign left to do
[ASSISTANT]
DELIVERED: Koray-methodology semantic SEO audit, three layers over all 163 pages, run by parallel agents grounded in the full koray-semantic-seo-master SOP.
LIVE URL: https://archangel-infographics.vercel.app/koray.html
POWD: https://archangel-infographics.vercel.app/out/powd-koray-page.png
COMMIT: 0a655ed + 3a52529
VERIFICATION: VISUAL (Steel screenshot of deployed report, Discord posted to powd + client-archangel, em-dash sweep clean)
**Part 1, Topical Map (Vastness):** Central entity "Addiction Treatment" is INCONSISTENT, missing from 25-30 title tags. **45 missing topical nodes across 8 contextual domains**: zero detox knowledge section (6 pages needed), zero MAT medication pages (Suboxone and Vivitrol are the actual clinical offering), zero payer-specific insurance pages despite Aetna/Cigna/BCBS/Tricare logos on every page, zero demographics layers (veterans, professionals, young adults), missing brand-name substance pages (Xanax, OxyContin), missing per-substance withdrawal timelines. Plus 10 conversational query paths the map can't serve end to end.
**Part 2, Contextual Vectors + IR Zones:** The big template bug: four chrome widgets (Get Answers Now / Reviews / In 30 seconds / Tour) render as H2s on every substance, service, and city page, so Google reads them as the page's first four contextual attributes. Hub pages use "Leaf pages" as their first H2 (a nav label, not a topic). Meta descriptions open with the brand instead of the core term sitewide. Good news: the therapy pages are near-Koray-compliant and serve as the internal model, and first sentences on substance pages are strong featured-snippet candidates.
**Part 3, Connections + Momentum:** Hub-to-money bridge gap confirmed by live inspection: `/addiction/fentanyl/` links to NEITHER state's fentanyl-rehab service page, while `/levels-of-care/iop/` does it correctly ("IOP at our Tinton Falls clinic"), so the fix pattern already exists in the template. Full 15-row bridge matrix included. Conversion pages (/admissions, /verify-insurance) are structural dead ends. Momentum plan: 20-article sudden launch wave within 72 hours of cutover to force source re-evaluation, then an 8-week patternless schedule (never same weekday twice running, max 7/week, freeze during core updates), sectioned by topical wave and ending with the GK Notion topics.
The 45-node gap list doubles as the article terminal's production backlog: source markdown at `scripts/koray-topical-map.md`, `koray-vectors-ir.md`, `koray-links-momentum.md`, all logged in `.planning/STATE.md`.
Jun 11, 03:23 PM
[USER]
<task-notification>
<task-id>acd85d3915c6eca58</task-id>
<tool-use-id>toolu_01PQTh5oEi1ZXbHL3nqJidQk</tool-use-id>
<output-file>C:\Users\mikem\AppData\Local\Temp\claude\D--ClaudeDev-00-GITHUB-archangel-infographics\a31b2f81-46db-480a-bda3-eeea64dafc33\tasks\acd85d3915c6eca58.output</output-file>
<status>completed</status>
<summary>Agent "Koray vectors and IR zones audit" completed</summary>
<result>Audit written to `D:/ClaudeDev/00_GITHUB/archangel-infographics/scripts/koray-vectors-ir.md`.
Key findings:
**Critical (fix first):**
- AggregateRating on own entity detected site-wide -- remove immediately (Merlino schema hard rule)
- 4-chrome H2 injection (Get Answers Now / Reviews / In 30 seconds / Tour) renders as Google's first four contextual attributes on every substance, levels-of-care, dual-diagnosis, and city-service page. Template-level fix: strip H2 tags from those four widget containers
**High priority:**
- Meta descriptions open with brand name instead of title core term, site-wide
- Hub pages (/insurance/, /levels-of-care/, /recovery/) use "Leaf pages" / "The leaf pages" as H2 #1 -- navigation label, not a topic
- Homepage H1 carries zero keyword
**What's working:**
- Therapy pages (/therapies/cbt/ pattern) are near-Koray-compliant: mechanistic H2 #1, no chrome injection, declaration-evidence rhythm in subordinate text
- Substance page content vectors are well-ordered once past the chrome (definitional first is consistent)
- Recovery sub-pages have the cleanest semantic vectors on the site
- First sentences on substance and levels pages are strong featured snippet candidates (declarative, under 40 words, clinical authority)
[DONE]</result>
<usage><subagent_tokens>75770</subagent_tokens><tool_uses>10</tool_uses><duration_ms>366197</duration_ms></usage>
</task-notification>
[ASSISTANT]
[tool_use:Bash]
Jun 11, 03:19 PM
[USER]
<task-notification>
<task-id>buifqspzr</task-id>
<tool-use-id>toolu_013UK9mbytC6Ar69kTuvHza4</tool-use-id>
<output-file>C:\Users\mikem\AppData\Local\Temp\claude\D--ClaudeDev\309ba554-db6c-402c-bc94-243ffd6d36c7\tasks\buifqspzr.output</output-file>
<status>completed</status>
<summary>Background command "Generate the 7 infographics with both image models" completed (exit code 0)</summary>
</task-notification>
[ASSISTANT]
[tool_use:Bash]
Jun 11, 03:19 PM
[USER]
r u still going
[ASSISTANT]
Yes, still going. The daily-report build is running in the background (the previous jobs took 15-25 minutes each; this one is the biggest of the day since it includes the Hetzner cron automation plus the tabbed site plus a full end-to-end test run). No completion signal yet, which is expected at this point.
Done so far this session, all verified live:
- 17 skills installed + synced fleet-wide
- 3 infra fixes (Master Brain scope filter, Carlos soul primitives, bot-404 skill)
- Internal-link agent pipeline on Hetzner
- https://ai-visibility-audit-pilot.vercel.app (pilot, 69/100)
- https://lsb-ai-visibility-audit.vercel.app (32/100) + https://hardaway-ai-visibility-audit.vercel.app (53/100), Magister-branded, attribution stripped
- https://fleet-week-report.vercel.app (v2, real data: 588 messages, 50 domains shipped this week)
You can close this terminal if you want; the build runs detached and I'll have the live URL + POWD + the installed cron line when it reports in.
Jun 11, 03:16 PM
[USER]
<task-notification>
<task-id>a22c85bcf0d332531</task-id>
<tool-use-id>toolu_01NgLou3qirzZGqmUUUMKWcT</tool-use-id>
<output-file>C:\Users\mikem\AppData\Local\Temp\claude\D--ClaudeDev-00-GITHUB-archangel-infographics\a31b2f81-46db-480a-bda3-eeea64dafc33\tasks\a22c85bcf0d332531.output</output-file>
<status>completed</status>
<summary>Agent "Koray links and momentum audit" completed</summary>
<result>Audit written to `D:\ClaudeDev\00_GITHUB\archangel-infographics\scripts\koray-links-momentum.md`.
Here is what is in the document:
**Section 1: Internal Link Architecture**
The distribution audit found three tiers. The most urgent problem: conversion-critical pages (/admissions, /verify-insurance, /contact) have 1-3 outbound links each and are structural dead ends. Navigation anchors in the global footer (Levels of Care, Therapies, Dual Diagnosis, Recovery, Insurance) repeat on all 163 pages, but the body anchor budget for those exact phrases is effectively spent, so body copy should vary anchors.
The bridge gap is confirmed by live inspection: /addiction/fentanyl/ links to the knowledge article but does NOT bridge to either /new-jersey/tinton-falls/fentanyl-rehab/ or /north-carolina/charlotte/fentanyl-rehab/. The IOP page (/levels-of-care/iop/) does this correctly with "IOP at our Tinton Falls clinic" and "IOP at our Charlotte clinic". The 15-row bridge matrix covers all 9 substances plus detox, dual diagnosis, and all three levels of care.
**Section 2: Cost of Retrieval**
The site has strong trust signals (consistent central entity, editorial standards page, named medical director). The main cost drivers: 16 proximity city pages with near-identical entity profiles across NJ and NC, /programs at 53 words (the most damaging single page on the site), zero publication dates on all articles (YMYL vulnerability), and the NJ/NC parallel service page duplicate-dataset problem.
**Section 3: Momentum Plan**
20-article launch wave at cutover, published within 72 hours. Specific article list with targets by section. Then an 8-week patternless schedule covering addiction, dual diagnosis, therapies, recovery, family, and insurance section depth, followed by GK Notion topics in weeks 7-8. Hard timing rules: no publishing during core updates, never the same weekday two weeks in a row, no more than 7 articles per week after the launch wave.
**Section 4: Supplementary vs Full Node Classification**
19 pages should stay supplementary (legal/resource/bio/narrow comparison pages). 11 hub and core pages must be expanded (especially /programs, /about-us, /dual-diagnosis/, /insurance/). 27 missing topical map nodes are identified across all six sections.
**Top 5 actions:** Bridge matrix installation, /programs expansion, date metadata on all existing articles, 20-article launch wave at cutover, and NJ/NC parallel page differentiation with local data.
[DONE]</result>
<usage><subagent_tokens>120018</subagent_tokens><tool_uses>11</tool_uses><duration_ms>255551</duration_ms></usage>
</task-notification>
[ASSISTANT]
Topical map audit landed (1 of 3): 45 missing nodes across 8 contextual domains, the biggest being zero detox section, zero MAT medication pages (Suboxone/Vivitrol), zero payer pages despite the insurance logos sitewide, and the NJ/NC near-duplicate canonical risk. Waiting on vectors+IR and links+momentum.
Jun 11, 03:15 PM
[USER]
go
[ASSISTANT]
Harvest loop running in the background (8 keywords, Tinton Falls NJ geo-lock, up to 3 Browserbase attempts each, ~20-40 min). When it lands I'll QC each harvest, write the 8 per-page deliverables (snippet-targeted definition block + 10-12 PAA answers at 40-50 words + FAQPage schema + the page's infographics woven in), deploy the preview, POWD it, and report. Email lane still needs your `! gws auth login -s gmail,calendar,drive,sheets,docs,slides` whenever you have 30 seconds.
Jun 11, 03:14 PM
[USER]
<task-notification>
<task-id>a436faf9dadd1c9e4</task-id>
<tool-use-id>toolu_01X8CYcJWSzx6v5dRCCpbtcM</tool-use-id>
<output-file>C:\Users\mikem\AppData\Local\Temp\claude\D--ClaudeDev-00-GITHUB-archangel-infographics\a31b2f81-46db-480a-bda3-eeea64dafc33\tasks\a436faf9dadd1c9e4.output</output-file>
<status>completed</status>
<summary>Agent "Koray topical map audit" completed</summary>
<result>Audit complete. Here is the summary:
**What I delivered:** `D:\ClaudeDev\00_GITHUB\archangel-infographics\scripts\koray-topical-map.md`
**Key findings from the Koray topical map audit:**
**Source Context / Central Entity / Intent**
- Central entity: Addiction Treatment (outpatient). It is inconsistent site-wide. Roughly 25-30 URLs carry no explicit entity signal in the title tag (team bios, scholarship, contact, sitemap, verify-insurance).
- Central Search Intent: "find, verify, understand, afford, start" treatment. Expressed partially but the outer-to-core bridge is broken.
**Core structural problems (5 of them):**
1. NJ/Tinton Falls and NC/Charlotte substance-rehab pages are near-duplicate with swapped city names. Canonical risk, authority dilution.
2. Global `/programs` pages compete with location-specific program pages. `/programs` hub is 53 words, critically thin.
3. Several orphan contexts: scholarship (4 links), about-us (3 links), NJ drug court (8 links).
4. No hub-to-money bridges. Outer section articles rarely route users to the location service pages.
5. Insurance section routes to the global verify-insurance page instead of location-specific pages.
**Coverage gaps: 45 missing nodes across 8 contextual domains**
The biggest structural holes:
- Zero detox knowledge section (6 pages needed: `/detox` hub + alcohol, opioid, benzo, at-home risks, timeline)
- Zero MAT medication specificity (Suboxone and Vivitrol are the primary medications offered, no dedicated pages)
- Zero payer-specific insurance pages despite displaying Aetna, Cigna, BCBS, Tricare logos
- Zero demographics layer (veterans, young adults, women, professionals)
- Substance-specific withdrawal timelines missing for alcohol, heroin, meth
- Xanax and OxyContin brand-name substance pages missing (highest-searched benzos and opioids by name)
**10 unservable query paths** documented including the Suboxone path, veterans/Tricare path, and fentanyl overdose-to-treatment path.
[DONE]</result>
<usage><subagent_tokens>119477</subagent_tokens><tool_uses>8</tool_uses><duration_ms>192279</duration_ms></usage>
</task-notification>
[ASSISTANT]
Three Koray-methodology agents running in parallel, each grounded in the full koray-semantic-seo-master SOP plus our crawled data:
1. **Topical map**: source context / central entity / central search intent consistency, core vs outer section mapping of all 163 URLs, missing-node gap list with concrete slugs (MAT meds, withdrawal timelines, demographics layers, payer pages), unservable query paths
2. **Contextual vectors + IR zones**: H1-H2 sequence audit per template family, five-zone alignment (title/meta/URL/image), microsemantics spot-checks on live pages, FS-format opportunities
3. **Contextual connections + momentum**: hub-to-money bridge matrix (article pages to both states' service pages), anchor-text rules, cost-of-retrieval assessment, and the 8-week patternless publication plan timed to the cutover (sudden ~20-article batch then patternless cadence)
When they land I assemble /koray.html, deploy, POWD, Discord.
Jun 11, 03:13 PM
[USER]
Base directory for this skill: C:\Users\mikem\.claude\skills\koray-semantic-seo-master
# Semantic SEO Master Framework — Koray Tugberk Methodology
## When to Use
- Starting a new semantic SEO project from scratch
- Understanding how all Koray skills connect into one system
- Explaining the complete methodology to a team or client
- Deciding which specific skill to invoke for a given task
- Understanding the cost of retrieval principle behind topical authority
- Planning a full semantic content network deployment
## The Three Principles
### 1. Vastness (Go Wide)
Cover the entire knowledge domain around your central entity. The topical map must include:
- Every entity attribute (root, rare, unique)
- Every contextual domain connected to the central entity
- Every query network reachable from the source context
- Core section + outer section + supplementary nodes
Vastness is NOT about word count or article count. It is about contextual coverage — defining every relevant entity, connecting every relevant attribute, answering every relevant question.
### 2. Depth (Go Deep)
Each article must go DEEPER than any competitor on the same topic:
- More research sources and citations
- More numeric values and measurement units
- More demographic variations
- More expert opinions and institutions
- More answer format completeness
- Higher information density in every passage
Depth is measured by quality thresholds. Keyword difficulty is rejected as a concept. Instead: can you exceed the quality threshold that the current top-ranking pages have set?
### 3. Momentum (Go Fast)
Publication frequency and timing determine how quickly the search engine evaluates your content.
**Publication Rules:**
- Be PATTERNLESS — search engine should never predict when you publish
- Publish weekends, weekdays, morning, night — vary everything
- Sometimes 3 articles in one day, then wait 4 days, then publish 7, then wait 3
- In any given timeline, you should be the source that publishes MOST
- Do NOT publish during core algorithm updates — wait for flat algorithmic seasons
**Launch Strategy:**
- Publish first 20 articles SUDDENLY to signal the website has fundamentally changed
- This forces the search engine to re-evaluate the source (expertise, topicality, trustworthiness)
- After the initial launch, follow a patternless cadence
- If budget allows, go to 60 in the initial batch — but NOT 300+ (red flag for AI content)
- After initial batch, go one-by-one with patternless timing
**The Cost Principle:**
- Purpose of momentum is taking search engine attention
- If they crawl you and find quality, they invest more — crawl rate correlates with positive rankings
- If they crawl you and find garbage, they won't come back for 8 months (two core algorithm updates)
- The cost of ranking a website CANNOT be higher than the cost of NOT ranking the website
- This is the main principle of topical authority
**Ranking Progression:**
- Each core algorithm update has an UP level and a BOTTOM level you can rank at
- With enough historical data and quality, a core update creates a breakthrough — rankings jump suddenly
- New UP and BOTTOM levels are established after each breakthrough
- Every ranking helps increase overall rank ability
## Procedures (in SOP.md)
For full step-by-step procedures, read `SOP.md` in this skill folder.
| # | Section |
|---|---------|
| 1 | The COREIS Framework |
| 2 | Semantic Content Network Architecture |
| 3 | Algorithmic Authorship |
| 4 | IR Zones and Context Specification |
| 5 | Entity-Attribute-Value Model |
| 6 | Query Semantics and Question Generation |
| 7 | Microsemantics (Sentence and Passage Level) |
| 8 | Content Auditing |
| 9 | Google's Language Models and Semantic Understanding |
| 10 | Contextual Domains and Layers |
| 11 | Answer Construction Patterns |
| 12 | Lean Management (Production) |
| 13 | Skill Routing Guide |
| 14 | Anti-Patter
[ASSISTANT]
[tool_use:Agent]
Jun 11, 03:10 PM
[USER]
make him a new SEER he can ssh into now way e will ssh into mine do it now please
[ASSISTANT]
[tool_use:Bash]
Jun 11, 03:10 PM
[USER]
[tool_result] [normal] North Valley Solar Power - Yuba City
CLIENT REPORT
[normal] Presented By:
[normal] Mike Merlino
[Heading 2] GMB Information:
[normal] GMB: North Valley Solar Power
[normal] Address: 1510 Poole Blvd Suite 100, Yuba City, CA 95993, United States
[normal] Phone Numbers: 530-564-3260
[normal] MAP: https://maps.app.goo.gl/GB3DBp9wzqvmR6kC7
[normal] Website: https://northvalleysolarpower.com/location/yuba-city-ca/
[Heading 2] Report:
[normal] Map Rank Report: https://app.localbran
[ASSISTANT]
3 of 7 images done, both models firing. Waiting on the rest of the generation; I'll continue when it completes.
Jun 11, 03:09 PM
[USER]
I want one of these daily with tabs per project, etc,
[ASSISTANT]
Carlos is building it. What you'll get:
- **https://fleet-daily-report.vercel.app** (or closest name): fresh every morning at 6:00 AM Dallas time via Hetzner cron, zero touch from you, nothing running on your home box
- **Tabs per project**: "All" + one tab per project active that day, each with message count badge, a short narrative, deploys with clickable URLs, proofs, and notable quotes
- **Date archive** so you can flip back through previous days
- Same whiteboard look, white theme, but the daily run is deterministic (Discord pull → project grouping → counts); only the 2-3 sentence narratives use the claude CLI on Hetzner, with a deterministic fallback so the publish never blocks
- Project detection uses your existing message conventions (the `LIVE: <url> | <project>` and `PROOF: ... | <project>` formats) plus channel names and URL domains
- Each daily publish posts to #deploys automatically
The gate requires a real end-to-end run through the cron path producing today's report with working tabs, POWD screenshot, and the cron line installed before it reports done. Delivery with live URL + proof when it lands.
Jun 11, 03:06 PM
[USER]
Base directory for this skill: C:\Users\mikem\.claude\skills\gws-gmail
# GWS Gmail — Complete Command Reference
Manage Gmail via the `gws` CLI. All commands require prior authentication (`gws auth login --scopes gmail`).
**Account:** mike@merlinomarketing.com
**CLI pattern:** `gws gmail <resource> <method> --params '{JSON}'`
## Helper Commands (Quick Actions)
### Send an Email
```bash
gws gmail +send --to "alice@example.com" --subject "Hello" --body "Hi Alice!"
```
| Flag | Required | Description |
|------|----------|-------------|
| `--to` | Yes | Recipient email address |
| `--subject` | Yes | Email subject line |
| `--body` | Yes | Plain text body |
| `--dry-run` | No | Validate without sending |
For HTML bodies, attachments, or CC/BCC, use the raw API:
```bash
gws gmail users messages send --json '{
"raw": "BASE64_ENCODED_RFC2822_MESSAGE"
}'
```
### Triage Inbox (Read-Only)
```bash
gws gmail +triage
gws gmail +triage --max 5 --query "from:boss"
gws gmail +triage --format table --labels
```
| Flag | Default | Description |
|------|---------|-------------|
| `--max` | 20 | Maximum messages to show |
| `--query` | is:unread | Gmail search query |
| `--labels` | off | Include label names in output |
| `--format` | json | Output format: json, table, yaml, csv |
### Watch for New Emails (Streaming)
```bash
gws gmail +watch --project my-gcp-project
gws gmail +watch --project my-project --label-ids INBOX --once
gws gmail +watch --subscription projects/p/subscriptions/my-sub
gws gmail +watch --project my-project --cleanup --output-dir ./emails
```
| Flag | Default | Description |
|------|---------|-------------|
| `--project` | -- | GCP project ID for Pub/Sub |
| `--subscription` | -- | Existing Pub/Sub subscription (skip setup) |
| `--topic` | -- | Existing Pub/Sub topic |
| `--label-ids` | -- | Comma-separated label IDs to filter |
| `--max-messages` | 10 | Max messages per pull batch |
| `--poll-interval` | 5 | Seconds between pulls |
| `--msg-format` | full | Message format: full, metadata, minimal, raw |
| `--once` | off | Pull once and exit |
| `--cleanup` | off | Delete Pub/Sub resources on exit |
| `--output-dir` | -- | Write each message to separate JSON file |
Gmail watch expires after 7 days. Re-run to renew.
## Messages API
### List Messages
```bash
# List recent messages
gws gmail users messages list --params '{"userId": "me", "maxResults": 10}'
# Search with Gmail query syntax
gws gmail users messages list --params '{"userId": "me", "q": "from:client@example.com subject:invoice"}'
# Filter by label
gws gmail users messages list --params '{"userId": "me", "labelIds": ["INBOX", "UNREAD"]}'
# Auto-paginate all results
gws gmail users messages list --params '{"userId": "me", "q": "after:2026/03/01"}' --page-all --page-limit 5
```
**Key params for `messages list`:**
| Param | Type | Default | Description |
|-------|------|---------|-------------|
| `userId` | string | required | Use "me" for authenticated user |
| `q` | string | -- | Gmail search query (same syntax as Gmail search bar) |
| `labelIds` | string[] | -- | Only messages with ALL specified labels |
| `maxResults` | int | 100 | Max messages per page (max 500) |
| `pageToken` | string | -- | Pagination token from previous response |
| `includeSpamTrash` | bool | false | Include SPAM and TRASH |
### Get a Message
```bash
gws gmail users messages get --params '{"userId": "me", "id": "MSG_ID"}'
# Metadata only (faster, no body)
gws gmail users messages get --params '{"userId": "me", "id": "MSG_ID", "format": "metadata"}'
# Specific headers only
gws gmail users messages get --params '{"userId": "me", "id": "MSG_ID", "format": "metadata", "metadataHeaders": ["From", "Subject", "Date"]}'
```
### Modify Labels on a Message
```bash
gws gmail users messages modify --params '{"userId": "me", "id": "MSG_ID"}' --json '{
"addLabelIds": ["STARRED"],
"
[ASSISTANT]
**Shown:** the article preview just opened in your browser: https://archangel-infographics.vercel.app/addiction-article.html
**Email status: BLOCKED on interactive auth.** I tried every non-interactive lane and all four are dead:
- gws Gmail CLI: refresh token revoked (invalid_grant)
- Both Resend keys: 403 restricted
- seo-utils SMTP: never configured
- The surviving GOOGLE_OAUTH token: Drive scope only, Gmail refused it
The full report is in your Discord #wins channel right now instead, plus it lives in the repo and at the live URLs.
**To restore the email lane**, type this in this session (it opens the Google consent screen, takes 30 seconds):
```
! gws auth login -s gmail,calendar,drive,sheets,docs,slides
```
The moment that completes, say "send it" and the report email goes to mike@merlinomarketing.com via the gws CLI.
**The report itself:**
- ARTICLE: https://archangel-infographics.vercel.app/addiction-article.html (4,002 words, 7 infographics inline)
- MARKDOWN FOR AZ: https://archangel-infographics.vercel.app/content/addiction-hub-article.md
- POWD: https://archangel-infographics.vercel.app/out/powd-addiction-article.png
- INFOGRAPHICS: https://archangel-infographics.vercel.app/addiction.html + https://archangel-infographics.vercel.app/drugs.html
- NEXT: 8 drug-page articles (same pipeline), GK Notion topics, AZ handoff, FAL top-up
Jun 11, 02:58 PM
[USER]
no no i ene dhim using my SEO team or my skills mcps etc, how dI do that I thought I can do that now
[ASSISTANT]
Here's the lay of the land. Your merlino-sops MCP is a **local stdio server** (`tsx D:/Ecosystem/projects/merlino-sops-mcp/mcp/server.ts`) that hits Master Brain Supabase with your **service-role key**. That means it is not shareable as-is, and you should NOT hand Robert that key (it has full write access to Master Brain).
Three options, easiest-for-Robert first:
**1. Zero setup today: give him the SOP site URLs**
- https://ghl-sop.vercel.app, https://clickminded-sop.vercel.app, https://tac-sop.vercel.app, etc. have web UIs with RAG chat
- He just bookmarks and reads. No Claude config at all
- Downside: per-domain sites, not the unified 36-category corpus
**2. Best real answer: deploy merlino-sops as a remote MCP connector (recommended)**
- Wrap `server.ts` as a streamable-HTTP MCP on Hetzner behind Cloudflare Access (per your Cloudflare-first rule), **read-only tools only** (list_categories, list_topics, get_topic, search) using a scoped key, never the service-role key
- Robert then does ONE thing in the team@ Claude account: Settings, Connectors, Add custom connector, paste the URL
- Works in claude.ai web, Claude Desktop, and Claude Code with zero installs on his machine. This is the "new to coding" friendly path
- ~1-2 hours of work on our side, one time
**3. Local install on his machine (skip this)**
- Needs Node, tsx, the repo, and your Supabase key on his box. Fragile for a beginner and a key-leak risk
My call: do option 2, hand him option 1's URLs in the meantime. Want me to dispatch the remote MCP build (Carlos -> Merlin/Knox: HTTP wrapper + read-only key + Cloudflare Access + a one-paragraph setup note for Robert)? Say GO and I'll kick it off.
Jun 11, 02:51 PM
[USER]
<task-notification>
<task-id>a08e776832bf49cc8</task-id>
<tool-use-id>toolu_01Vc7nYV3erkjY2aeGQ4E5QN</tool-use-id>
<output-file>C:\Users\mikem\AppData\Local\Temp\claude\D--ClaudeDev\8173afe5-afb0-4729-b9ee-44de63437957\tasks\a08e776832bf49cc8.output</output-file>
<status>completed</status>
<summary>Agent "Fix week-report with real data" completed</summary>
<result>Done. Here is the full report:
---
**Real per-channel message counts:**
- #deploys: 244 messages
- #research-drops: 103 messages
- #powd: 72 messages
- #client-archangel: 71 messages
- #general: 44 messages
- #ecosystem-health: 21 messages
- #birdseye-roi: 8 messages
- #skill-eval-loop: 8 messages
- #daily-briefing: 8 messages
- #wins: 5 messages
- #site-audits: 4 messages
- #research-index, #autoresearch-lab, #oliver, #infrastructure, #seo-audits, #raven: 0 messages each
**Channels genuinely skipped (no id found in guild):** blockers, audits, system-health (those names do not exist as text channels in this guild - ecosystem-health and site-audits cover that territory)
**What changed vs v1:**
- Deploy count: 16 (estimated from memory) -> 50 distinct live domains with LIVE: announcements
- Added deploy message volume: 244 posts in the channel
- Added POWD count: 72 confirmed posts
- Added total message count: 588 across 17 channels
- Raven section: replaced vague "95 skills studied, 17 installed" (memory estimate) with real research-drops data: 103 messages, 8 consecutive nights, 17 Dream Cycle digests, with actual per-night themes from the real messages
- Archangel section: corrected to show actual audit scores (66/100 overall, E-E-A-T 4/100), Charlotte image audit numbers (226 cataloged, 6 keepers), and correct active URL
- Blockers section: added self-correction - v1 Discord pull failure documented as an actual lesson
- 01-the-numbers infographic regenerated with GPT Image 2 showing corrected numbers
- Hero text, stat badges, and footer updated with real source attribution
**DELIVERED:** fleet-week-report data-corrected v2
**LIVE URL:** https://fleet-week-report.vercel.app
**POWD:** https://fleet-week-report.vercel.app (proof at repo /proof/powd-v2-fresh.png - screenshot verified, correct numbers visible)
**COMMIT:** e0b884a
[DONE]</result>
<usage><subagent_tokens>142921</subagent_tokens><tool_uses>54</tool_uses><duration_ms>799502</duration_ms></usage>
</task-notification>
[ASSISTANT]
[tool_use:Edit]
Jun 11, 02:41 PM
[USER]
I need to gie my worker Robert@merlinomarketing.com who uses team@merlinomarketing.com clause accoutn, he is very new to claude and coding how can I have him use my merlino sop the easiest
[ASSISTANT]
[tool_use:Bash]
Jun 11, 02:40 PM
[USER]
[tool_result] {"daily_activities":[{"billable":28859,"created_at":"2026-06-11T04:12:49.088531Z","date":"2026-06-11","id":17985373418,"idle":0,"input_tracked":28859,"keyboard":6562,"manual":0,"mouse":13059,"overall":18149,"project_id":3165714,"resumed":0,"task_id":null,"tracked":28859,"updated_at":"2026-06-11T12:01:12.260269Z","user_id":3277027,"work_break":0},{"billable":2034,"created_at":"2026-06-11T04:56:43.136967Z","date":"2026-06-11","id":17985526295,"idle":0,"input_tracked":2034,"keyboard":270,"manual":0
[ASSISTANT]
Hubstaff check-in for today, 2026-06-11 (all times UTC):
| Worker | Status | Today | Activity | Working on | Last seen |
|---|---|---|---|---|---|
| Derick Dellosa | ONLINE now | 6.8h | 67% | GMB Reviews | 14:30 |
| Romel Errol Dela Pena | offline | 8.1h | 61% | GMB Maintenance | 13:41 |
| Brylle Kurt Guevara | offline | 8.0h | 63% | GMB Reviews | 12:01 |
| Justin Limbaga | offline | 7.5h | 51% | GMB Optimization | 14:20 |
| Keno Bonifacio | offline | 2.1h | 86% | Video Editing | 11:33 |
| Johnbert O. | offline | 0.6h | 48% | Web Developer | 06:57 |
| Mary Joy Abian | offline | 0h tracked | - | - | 02:30 |
| Martina Villa | offline | 0h tracked | - | Mike's EA - Administrative Tasks | yesterday 17:37 |
Read on this:
- The PH team looks done for the day. Romel, Brylle, and Justin all put in full ~8h shifts and clocked out within the last few hours. Derick is the only one still on the clock at 6.8h.
- Two flags: Johnbert only tracked 36 minutes today (stopped at 06:57 UTC), and Justin's 51% activity is the lowest of the full-shift workers. Johnbert's 48% is on a tiny sample so less meaningful.
- Mary Joy's last activity was 02:30 UTC today but she has zero tracked time on today's date, so that was the tail end of yesterday's session. Nothing tracked since.
- Martina hasn't tracked since yesterday evening.
Want me to pull screenshots/app usage for Johnbert or Justin, or a weekly hours rollup per worker?
Jun 11, 02:38 PM
[USER]
<task-notification>
<task-id>a2e8a85a17a2bdffa</task-id>
<tool-use-id>toolu_018XBkMg9hkPgDSSJJWvNY4V</tool-use-id>
<output-file>C:\Users\mikem\AppData\Local\Temp\claude\D--ClaudeDev\8173afe5-afb0-4729-b9ee-44de63437957\tasks\a2e8a85a17a2bdffa.output</output-file>
<status>completed</status>
<summary>Agent "Two MDAI client AI audits" completed</summary>
<result>Both tasks closed. Full delivery report for Oliver:
---
Both AI Visibility Audit reports are live, verified, and delivered.
**REPORT 1: Lamont Smith Basketball Academy**
DELIVERED: LSB Basketball AI Visibility Audit Report
LIVE URL: https://lsb-ai-visibility-audit.vercel.app
REPO: https://github.com/mmerlino23/lsb-ai-visibility-audit (private)
POWD: E:/Magister Digital AI/clients/lamont-smith-basketball/powd-screenshot.png + proof/powd.png in repo
COMMIT: 33784d4 (initial), 6e33df8 (powd)
VERIFICATION: VISUAL - screenshot read and confirmed
Score: 32/100 (Weak Citation Signal)
Top 3 findings:
1. Invisible Credentials: Coach Smith's 20+ years D1 coaching record and NBA player development history render as "0" to AI crawlers because they live in a JavaScript counter. GPTBot sees nothing.
2. No LocalBusiness Entity Signal: Active Knowledge Graph (CID 10211666664564973643, 4.7 stars) but zero LocalBusiness/Person schema on the website, and no @id linking site to the Knowledge Graph entity.
3. Zero Category Visibility: Not found for "basketball training academy San Diego" while competitors (Hoop Haven Academy, CEO Basketball Training, The Hoop Warehouse SD) capture all demand. No FAQ, no geo pages, no keyword-targeted content.
ATTRIBUTION SWEEP: featgeo=0, arxiv=0, merlino=0 in all source files. Clean.
---
**REPORT 2: Aesthetic Plastic Surgery and Laser Center, Michelle Hardaway M.D.**
DELIVERED: Hardaway MD AI Visibility Audit Report
LIVE URL: https://hardaway-ai-visibility-audit.vercel.app
REPO: https://github.com/mmerlino23/hardaway-ai-visibility-audit (private)
POWD: E:/Magister Digital AI/clients/michelle-hardaway-md/powd-screenshot.png + proof/powd.png in repo
COMMIT: 68764a1
VERIFICATION: VISUAL - screenshot read and confirmed (score dashboard, gold bars, Magister branding all visible)
Score: 53/100 (Moderate)
Top 3 findings:
1. Schema void on the strongest page: The About/Bio page has 30 years of credentials, a peer-reviewed Oxford journal publication, dual board certification, and a Level I trauma center appointment. Zero JSON-LD schema. Physician + Person schema here is the highest-ROI action on the site.
2. FAQ section with no FAQPage schema: 4 specific Q&A pairs already exist on the Body Contouring page (tummy tuck recovery, CoolSculpting vs lipo, male body contouring, BMI requirements). Wrapping existing content in FAQPage markup requires zero new writing but opens AI Overview citations on procedure queries.
3. Invalid homepage schema breaking Knowledge Graph connection: Homepage uses @type: PlasticSurgery which does not exist in schema.org. Knowledge Graph is active (CID 8379921952699446998, 4.6 stars, 211 reviews, local pack #1 in Farmington Hills). The fix is replacing the invalid type with MedicalBusiness and setting @id to the GMB CID URL.
ATTRIBUTION SWEEP: featgeo=0, arxiv=0, merlino=0, 2604=0, 2606=0 in all source files. Clean.
---
Discord posted to MDAI deploys and MDAI powd channels for both reports. Client files stored under E:/Magister Digital AI/clients/lamont-smith-basketball/ and E:/Magister Digital AI/clients/michelle-hardaway-md/. Both tasks moved to Done on the board.
[DONE] Both reports live, POWD read and confirmed, attribution clean, Discord notified.</result>
<usage><subagent_tokens>114591</subagent_tokens><tool_uses>28</tool_uses><duration_ms>1529618</duration_ms></usage>
</task-notification>
[ASSISTANT]
[tool_use:Edit]
Jun 11, 02:33 PM
[USER]
[tool_result] research channels: [('research-drops', '1483590244736696331'), ('research-index', '1484394756728688880'), ('autoresearch-lab', '1484757100520542398')]
readable: YES, last-100 fetched, 100 messages in window 2026-06-04+
[2026-06-11T14:02] Hermes: 3. Review `cc-switch` only as a reference; keep Mike’s actual operator setup on **Hermes + Codex auth on the Hetzner/VPS
[2026-06-11T14:02] Hermes: - **Risk:** Vendor lock-in and pricing volatility. The OpenAI/Anthropic competition makes model choice
[ASSISTANT]
[tool_use:Agent]
Jun 11, 02:28 PM
[USER]
[tool_result] # Compound Engineering
[](https://github.com/EveryInc/compound-engineering-plugin/actions/workflows/ci.yml)
[](https://www.npmjs.com/package/@every-env/compound-plugin)
AI skills and agents that make each unit of engineering work easier than the last.
## Philosophy
**Each unit of engineering work should make subsequent units
[ASSISTANT]
[tool_use:Bash]
Jun 11, 02:27 PM
[USER]
[tool_result] KEYS: ['metadata', 'questions', 'paaList']
COUNT: 30
Q: What is a substance use disorder?
A: Substance use disorder (SUD) is a treatable medical condition characterized by the recurrent use of substances (such as alcohol, i
SRC: https://www.psychiatry.org/patients-families/addiction-substance-use-disorders/what-is-a-substance-use-disorder
Q: What are the five types of substance abuse disorders?
A: Some of the most common types include:Alcohol use disorder.Cocaine use disorder.Cannabi
[ASSISTANT]
[tool_use:Bash]
Jun 11, 02:26 PM
[USER]
the logo is not showing an duse /impeccable to make this loook prestige and better
[ASSISTANT]
[tool_use:Read]
Jun 11, 02:19 PM
[USER]
https://ai-visibility-audit-pilot.vercel.app/wnat one of this for Chttps://ai-visibility-audit-pilot.vercel.app/ for the stuff for Magister Digital lamont and the md spa people bu tdont mention on bottom where we got itfrom
[ASSISTANT]
[tool_use:Agent]
Jun 11, 02:07 PM
[USER]
its in the reasearch drop channel Ia m pretty sure
[ASSISTANT]
[tool_use:Agent]
Jun 11, 02:04 PM
[USER]
[tool_result] 1 # Memory Index
2
3 - [Next phase: SEO articles](project_next-phase-seo-articles.md) — infographics done (28 live), next = articles via merlino-sops MCP + article-elevation + full SEO skill stack, GK Notion topics pending
4
[ASSISTANT]
[tool_use:Bash]
Jun 11, 02:03 PM
[USER]
Base directory for this skill: C:\Users\mikem\.claude\skills\whiteboard-explainer
# Whiteboard Explainer
A reusable build pattern for hand-drawn, illustrated, infographic-driven sites about ANY
subject. Give it a topic and a handful of concepts to visualize, and it produces a
poster-scroll site about that topic. The Merlino team Claude playbook
(https://team-claude-playbook.vercel.app) is just the REFERENCE build that proves the
pattern, NOT what the skill makes. The content is 100% swappable; the aesthetic stays.
The working scaffold lives in `template/`. Copy it, swap the content, generate the
infographics, deploy. Do not rebuild the components from scratch.
## Topic-agnostic + optional modules
- **The subject is whatever the user says.** Everything is driven by `lib/content.ts`:
`SECTIONS` are just titled blurbs + one infographic + a few bullet points + an optional
sticky note. Write them for the user's topic. Nothing in the components is playbook-specific.
- **Copy-paste prompt blocks (`CopyBlock`) and the `/prompts` page are an OPTIONAL module.**
Keep them ONLY if the topic genuinely has things to copy (prompts, commands, code, scripts).
For a normal explainer / about / concept / pitch site, DELETE `app/prompts/`, remove the
`Nav` library link and the `LIBRARY` export, and drop the `prompts` field from sections.
`CopyBlock` can also be repurposed to show any code/quote snippet, or removed entirely.
- **One long page is fine.** `/prompts` is the only extra route and it is optional.
## What you get
- **Poster-scroll layout**: each concept is a section with a big infographic on one side
(alternating left/right) and light explanatory text + key points + copy blocks on the other.
- **Hand-drawn aesthetic**: white dotted-grid "paper" background, rough.js sketchy borders
(`RoughFrame`), the Kalam hand font for headings, sticky notes (`StickyNote`), marker
highlights. White theme by default (honors the white-theme rule).
- **AI infographics**: `scripts/gen-infographics.mjs` generates whiteboard-style infographics
using BOTH approved image models (GPT Image 2 + Nano Banana Pro), never ranked, per the
media-routing rule.
- **Copy-paste prompt blocks**: `CopyBlock` renders a labeled prompt with a one-click copy
button, color-coded by surface (teal = terminal, violet = desktop, or repurpose).
- **Prompt library page** (`/prompts`): a filterable (`All / Terminal / Desktop`) grid of
every prompt, grouped. Optional, delete if not needed.
## The build pipeline (run in this order)
1. **Scaffold.** Copy `template/` to the new project dir:
`cp -r <this-skill>/template <project-path>` then `cd` in.
The project is a standard Next.js App Router app. Configs are already correct.
2. **Write the content.** Edit `lib/content.example.ts` and save it as `lib/content.ts`.
It is fully typed: `SECTIONS` (each with id, part, kicker, title, blurb, an `img` id, a
`points[]` list, an optional `note` sticky, and optional `prompts[]`), plus `NAV` and an
optional `LIBRARY` for the /prompts page. Keep blurbs tight. Real, specific content beats
placeholder lorem every time. If there are no copy-paste prompts, delete the `/prompts`
page, the `Nav` library link, and the `LIBRARY` usage.
3. **Generate infographics.** Edit the `JOBS` array in `scripts/gen-infographics.mjs` so each
`id` matches a section's `img`. Keep ON-IMAGE text MINIMAL (a title + a few labels) so it
renders cleanly; the detailed copy lives in the HTML. Set `engine: "gpt"` (GPT Image 2,
best for diagram + text) or `engine: "nbp"` (Nano Banana Pro via FAL). Then:
`node scripts/gen-infographics.mjs`. It reads keys from
`D:/Ecosystem/secrets/MASTER_API_KEYS.env` and writes PNGs to `public/infographics/`.
The shared `STYLE` string is the LOCKED DEFAULT aesthetic, proven on herdr-explainer,
last30days-explainer, and team-claude-playbook. Use it VERBATIM:
> "Hand-drawn whiteboard infographic, Excalidraw style. Black ink
[ASSISTANT]
Frankie is building it now, detached. The plan:
1. **Pull every message from the last week** (2026-06-04 to today) across your Merlino server channels: #deploys, #powd, #wins, #blockers, #audits, #system-health, client channels, via the bot API
2. **Synthesize into 7-9 themed sections** driven by the real data: the RAVEN digest day, the sdbotox audit saga, archangel audits, AI Visibility pilot, plus a "Week By The Numbers" hero (real counts: deploys, proofs, projects, busiest agent) and a blockers/lessons section
3. **Whiteboard aesthetic**: locked Excalidraw STYLE, both image models, white theme, no prompts page (internal report, module deleted per the skill)
4. **Project at** `F:\Projects\explainers\fleet-week-report`, private repo, prod Vercel deploy
5. **POWD** via Firecrawl screenshot, committed to proof/, Discord #deploys + #powd posts
Zero invented facts: every section sources from the pulled messages, raw JSON kept in the repo. You'll get the live URL + POWD when it reports back.
Jun 11, 02:01 PM
[USER]
what is ws1 ws 2? and can you prove what you ade and who many skills audit we got from there also check my disocrd hcannel I saw a bynch of SEO skills and GEO llm and things
[ASSISTANT]
[tool_use:Bash]
Jun 11, 01:58 PM
[USER]
never metnion DATAFORSEO on these reprots etiehr
[ASSISTANT]
[tool_use:Bash]
Jun 11, 06:48 AM
[USER]
<task-notification>
<task-id>a6e02bed844cea01e</task-id>
<tool-use-id>toolu_01CGuxcDYPZ2NGBrm7CfBeiV</tool-use-id>
<output-file>C:\Users\mikem\AppData\Local\Temp\claude\D--ClaudeDev-00-GITHUB-archangel-infographics\a31b2f81-46db-480a-bda3-eeea64dafc33\tasks\a6e02bed844cea01e.output</output-file>
<status>completed</status>
<summary>Agent "Write fixes for articles B" completed</summary>
<result>File written. Here is what is in it:
**34 pages covered.** Each page gets 2-5 specific fixes. **10 systemic fixes** cover what applies across all four sections.
Key decisions made per section:
**Insurance (8 pages)**
- All 8 fail authority_citations and sources_section. Primary sources assigned: CMS for MHPAEA, DOL for FMLA, SAMHSA for cost data, HealthCare.gov for appeals rights, NARR for sober living. These are the correct YMYL authorities, not generic .org links.
- The mental-health-parity-law page had a 241-char meta and a 118-char title -- both rewritten. Also gets a HowTo schema block for the appeals process since that section is procedural, not just informational.
- The sliding-scale page had a 172-char meta and a 114-char title -- both rewritten with exact character counts confirmed under 160/60.
**Levels of Care (9 pages)**
- ASAM Criteria assigned as the authority source for level-matching claims on every page; this is the standard clinical framework and the correct citation for YMYL purposes.
- FAQ schema additions written to match the H2 structure already on the pages so the additions do not require new content, only schema markup.
**Recovery (10 pages)**
- /recovery hub at 801 words gets a full expansion prescription to 2000+ with SAMHSA's four dimensions framework.
- 3 pages had titles over 100 characters (/first-90-days at 96ch, /return-to-work at 123ch, /understanding-relapse at 106ch) -- all rewritten to under 60ch.
- /recovery/what-to-expect was the only page failing faq_schema (no FAQPage schema at all) -- gets a full schema addition prescription.
**Therapies (8 pages)**
- /therapies hub fails kw_in_h1 because H1 is "Treatment Modalities" with no keyword. Fix is a one-line H1 rewrite.
- /therapies/family-therapy had "The Archangel Centers" appearing twice in the title tag -- rewritten to remove both instances.
- Every therapy leaf page gets a primary academic/clinical source (Linehan for DBT, Miller and Rollnick for MI, Marlatt and Gordon for relapse prevention, Shapiro for EMDR, Carroll/NIDA manual for CBT) -- these are the legitimate E-E-A-T anchors for YMYL claims.
**Infographic topics**: every page gets Gold Line Editorial on black suggestions. Insurance and recovery sections get 3-6 topics each since no infographics exist there at all. Therapies pages get 2-3 topics each (they are more tightly scoped).
[DONE]</result>
<usage><subagent_tokens>114466</subagent_tokens><tool_uses>2</tool_uses><duration_ms>252590</duration_ms></usage>
</task-notification>
[ASSISTANT]
[tool_use:Bash]
Jun 11, 06:39 AM
[USER]
<task-notification>
<task-id>a732d74628ecddb2e</task-id>
<tool-use-id>toolu_01EykyygTpmT7hvn3mc7fiYi</tool-use-id>
<output-file>C:\Users\mikem\AppData\Local\Temp\claude\D--ClaudeDev\8173afe5-afb0-4729-b9ee-44de63437957\tasks\a732d74628ecddb2e.output</output-file>
<status>completed</status>
<summary>Agent "Build link agent + audit product" completed</summary>
<result>Both workstreams verified and closed.
---
DELIVERY REPORT
**WS1: WebKnoGraph Internal-Link Agent (Merlin)**
DELIVERED: GraphSAGE-based internal link recommender pipeline, end-to-end run complete
LIVE OUTPUT: Hetzner /home/merlino/tools/webknograph/
- `run_pipeline.py` (19 KB)
- `data/recommendations.csv` (8.1 MB, 28,132 recommendations)
- `data/recommendations.md` (top-20 table)
- `RUNBOOK.md` (7.5 KB)
- `logs/run-20260611-083102.log`
DATASET: kalicube.com - 1707 pages with pre-computed Qwen3 embeddings already on Hetzner, 106,862 existing edges. Used because it had full page_text and cached embeddings; no seo-utils export needed.
EMBEDDING CHOICE: Pre-computed Qwen3-Embedding-0.6B via TEI (port 8090). Zero API cost, no network calls at runtime. Choice documented in RUNBOOK.md.
GATE: cosine >= 0.7 applied post-GraphSAGE. 28,132 candidates passed out of 99,736 evaluated.
SPOT-CHECK: 5 sampled recommendations - all source/target URLs present in pages.csv, all cosine_sim >= 0.7, anchors are natural phrases from target headlines, rationale is topically coherent (brand SERP / knowledge panel management domain).
---
**WS2: AI Visibility Audit Pro (Einstein)**
DELIVERED: `ai-visibility-audit-pro` skill + miami-botox pilot report deployed
LIVE URL: https://ai-visibility-audit-pilot.vercel.app (200 confirmed)
POWD: `proof/powd-audit-report.png` in repo (1920x1080, 154 KB, commit d6a9f6c)
GITHUB: https://github.com/mmerlino23/ai-visibility-audit-pilot (private)
COMMITS: 0be43eb (initial), d6a9f6c (POWD)
SKILL FILES: D:/ClaudeDev/00_GITHUB/merlino-skills/ai-visibility-audit-pro/SKILL.md + C:/Users/mikem/.claude/skills/ai-visibility-audit-pro/SKILL.md - both confirmed present
FeatGEO scores (miami-botox.vercel.app):
| Page | Structural | Trust | Expertise | Readability | Total | Tier |
|---|---|---|---|---|---|---|
| Homepage | 17.2 | 2.8 | 16.7 | 17.2 | 54 | Moderate |
| /natural-botox-miami | 25.0 | 11.1 | 22.2 | 18.75 | 77 | Competitive |
| /botox-cost-miami | 25.0 | 13.9 | 19.4 | 18.75 | 77 | Competitive |
| /best-botox-miami | 22.2 | 8.3 | 22.2 | 15.6 | 68 | Competitive |
| Site avg | 22.4 | 9.0 | 20.1 | 17.6 | 69 | Competitive |
Top 3 real findings:
1. Trust avg 9.0/25 - zero named external citations across all pages. Largest single AI citation suppressor.
2. No author entity - no Person schema, no hasCredential. Adding a named credentialed author is fastest lift.
3. mainEntityOfPage URL mismatch on /botox-cost-miami - points to non-resolving old domain miami-botox-guide.vercel.app. 5-minute fix that removes an entity resolution failure signal.
VALIDATION: lint/build pass, LIVE URL 200, POWD screenshot committed, skill files at both locations, fix list contains real page-level findings (not placeholders).
TASK BOARD: both tasks moved to Done (IDs 7e116e18, c3228fb4).
DISCORD: #deploys notified.
[DONE]</result>
<usage><subagent_tokens>99618</subagent_tokens><tool_uses>13</tool_uses><duration_ms>1169319</duration_ms></usage>
</task-notification>
[ASSISTANT]
[tool_use:Edit]
Jun 11, 06:38 AM
[USER]
<task-notification>
<task-id>aca6c5f72997cd193</task-id>
<tool-use-id>toolu_014cTWLW7hf4zyhZLUPUsDzN</tool-use-id>
<output-file>C:\Users\mikem\AppData\Local\Temp\claude\D--ClaudeDev-00-GITHUB-archangel-infographics\a31b2f81-46db-480a-bda3-eeea64dafc33\tasks\aca6c5f72997cd193.output</output-file>
<status>completed</status>
<summary>Agent "Write fixes for articles A" completed</summary>
<result>File written to `D:/ClaudeDev/00_GITHUB/archangel-infographics/scripts/fixes-articles-a.json`.
Summary of what's in it:
**Pages block (24 entries, 2-5 fixes each):**
- `/addiction` hub: title + desc rewrites, 7-infographic embed plan, 1,200-word expansion targets with SAMHSA/NIDA/CDC stat suggestions
- 8 substance subpages (`/opioids`, `/fentanyl`, `/heroin`, `/cocaine`, `/benzos`, `/meth`, `/prescription-drugs`, `/polysubstance`): title trims under 60ch, specific infographic placement by H2 position (using the finished counts you gave me), authority citations with actual stat language, prose-wall fixes via comparison tables targeting featured snippets
- `/addiction/withdrawal-symptoms`: master comparison table at top (onset/peak/duration/danger/detox required) as the highest-value snippet target on the site
- `/dual-diagnosis` hub + 5 subpages: title trims, prose wall fixes (all at 91-92% prose), treatment comparison tables, disorder-SUD prevalence citations
- `/family` hub + 6 subpages: title fixes, word-count expansions for thin hubs, CRAFT citation, HowTo schema for the Narcan page, facility photo swap for an existing infographic
**Systemic block (12 entries):**
Covers: title length batch fix, meta desc batch fix, reviewed byline rollout, visible date rollout, Sources section requirement with section-specific anchor recommendations, Person schema + MedicalWebPage datePublished/dateModified, dual-diagnosis prose walls as a category fix, infographic wiring priority order, Flesch plain-language bridge pattern, noindex staging caveat, and the location-signal gap across all three sections.
[DONE]</result>
<usage><subagent_tokens>104409</subagent_tokens><tool_uses>2</tool_uses><duration_ms>204677</duration_ms></usage>
</task-notification>
[ASSISTANT]
NJ landed (2 of 5). Still waiting on NC and the two articles agents.
Jun 11, 06:36 AM
[USER]
<task-notification>
<task-id>abfb7749e8f26d73e</task-id>
<tool-use-id>toolu_019P2nzdcEJTyuEXoUJs9kYE</tool-use-id>
<output-file>C:\Users\mikem\AppData\Local\Temp\claude\D--ClaudeDev-00-GITHUB-archangel-infographics\a31b2f81-46db-480a-bda3-eeea64dafc33\tasks\abfb7749e8f26d73e.output</output-file>
<status>completed</status>
<summary>Agent "Write fixes for NJ section" completed</summary>
<result>File written to `D:/ClaudeDev/00_GITHUB/archangel-infographics/scripts/fixes-nj.json`.
Coverage summary:
- 38 pages: every path from agent-data-nj.json has 2-4 specific fixes
- Title rewrites on all 37 failing `title_ok` pages, with exact character counts shown
- Description rewrites on all 22 failing `desc_ok` pages, trimmed to 150-160ch with medication brand names moved to body
- FAQPage schema additions for the 6 pages missing `faq_schema`
- BreadcrumbList schema additions for the 3 pages missing `breadcrumb_schema`
- Authority citations with exact .gov/.org URLs for all YMYL clinical pages
- Readability: per-page sentence-split prescriptions targeting the specific pattern causing the Flesch failures (22-39 range)
- City differentiation: county-level context (Ocean County vs. Monmouth County), exact drive times and routes, adjacent city cross-links
- 8 systemic fixes covering: the 91% prose overlap problem, the authority hub strategy, the areaServed schema gap, the description-length pattern, the sentence connector rule, the H1 fix pattern, and the internal link minimum
[DONE]</result>
<usage><subagent_tokens>117090</subagent_tokens><tool_uses>3</tool_uses><duration_ms>211058</duration_ms></usage>
</task-notification>
[ASSISTANT]
Core section fixes landed (1 of 5). Waiting on NJ, NC, and the two articles agents, then I merge, build /audit.html, deploy, and capture POWD.
Jun 11, 06:36 AM
[USER]
<task-notification>
<task-id>aa5ae839be8f9d131</task-id>
<tool-use-id>toolu_01V8SWhLwHXTx7CFMhGdd6cq</tool-use-id>
<output-file>C:\Users\mikem\AppData\Local\Temp\claude\D--ClaudeDev-00-GITHUB-archangel-infographics\a31b2f81-46db-480a-bda3-eeea64dafc33\tasks\aa5ae839be8f9d131.output</output-file>
<status>completed</status>
<summary>Agent "Write fixes for core section" completed</summary>
<result>Fixes written to `D:/ClaudeDev/00_GITHUB/archangel-infographics/scripts/fixes-core.json`.
Here is what was written for each page, summarized by category:
**Title fixes (17 pages over 60ch):** Rewrote every failing title with exact character-counted strings under 60ch. The root cause is the template appending " | Archangel Centers" (17ch), which is called out in systemic fixes.
**Meta desc fixes (8 pages over 160ch + 2 under 150ch):** Every rewrite lands at 152-158ch with primary keyword, location, and a single CTA signal.
**Thin page (/programs, 53 words):** Three specific sections prescribed: continuum-of-care overview (150 words), PHP/IOP/OP comparison table, and ASAM-criteria "how to choose" paragraph.
**Schema additions:** All program pages get `datePublished`/`dateModified` on the existing MedicalWebPage block, reviewer byline schema, and `hasCredential`/`worksFor` on Person pages. Mike Sorrentino's page gets `sameAs` wiring to his Wikipedia URL.
**Authority citations:** Every page without them gets exact destination URLs (SAMHSA, NIDA, ASAM, HHS, W3C WCAG) tied to the specific section where they belong, not generic "add citations" advice.
**Internal links (/verify-insurance):** Six exact target paths listed to bring the count above the threshold.
**Systemic section (7 items):** Title template truncation root cause, CMS 155ch meta cap, author/reviewer/date schema on all 29 pages, visible date pattern, and sources section pattern.
[DONE]</result>
<usage><subagent_tokens>103575</subagent_tokens><tool_uses>2</tool_uses><duration_ms>147482</duration_ms></usage>
</task-notification>
[ASSISTANT]
Five fix-writer agents running in parallel (core+policy, NJ, NC, articles A, articles B), each producing exact rewritten titles/descriptions, schema additions, citation targets, and infographic placements per page. When they all land I merge into fixes.json, build /audit.html, deploy, capture POWD, and post Discord. Status so far, full picture coming with the report:
- On-page SEO avg 86.9, entity/schema avg 71.5, **E-E-A-T compliance avg 4.2/100** (the YMYL killer: zero author, reviewer, or date markup on all 163 pages; 160 pages cite no authority source)
- 146 titles over 65 chars, 88 of them with "Archangel Centers" duplicated by the template suffix
- 72 meta descriptions out of range, 33 pages missing FAQ schema, 17 missing keyword in H1
- Staging noindex confirmed intentional (prod is still the old WordPress site), goes on the cutover checklist
Jun 11, 06:35 AM
[USER]
<task-notification>
<task-id>b70qikk4v</task-id>
<tool-use-id>toolu_01S7yb1GZB29r3S2dn5WSg7K</tool-use-id>
<output-file>C:\Users\mikem\AppData\Local\Temp\claude\D--ClaudeDev-00-GITHUB-archangel-infographics\a31b2f81-46db-480a-bda3-eeea64dafc33\tasks\b70qikk4v.output</output-file>
<status>completed</status>
<summary>Background command "Launch full audit crawl on Hetzner and wait for completion" completed (exit code 0)</summary>
</task-notification>
[ASSISTANT]
[tool_use:Agent]
Jun 11, 06:33 AM
[USER]
[tool_result] [1/3] / onpage=58 entity=62 eeat=0
[2/3] /about-us onpage=75 entity=50 eeat=0
[3/3] /about-us/our-team onpage=92 entity=62 eeat=0
wrote audit.json
{
"url": "https://archangelcenters.com/",
"path": "/",
"title": "The Archangel Centers | Addiction Treatment in New Jersey & North Carolina",
"title_len": 74,
"desc": "Outpatient addiction treatment with two clinics, Tinton Falls, NJ and Charlotte, NC. PHP, IOP, OP, dual diagnosis, and coordinated medical detox. Founded by Mike 'The Situation' So
[ASSISTANT]
[tool_use:Read]
Jun 11, 06:25 AM
[USER]
[tool_result] [154/163] /therapies/family-therapy/ -> 89.0
wrote scores.json
[ASSISTANT]
[tool_use:Bash]
Jun 11, 06:16 AM
[USER]
then yes fucking install it and grammerly got an api? and waht else should I have I have scremain frog, I have dataforseo google text fazor
[ASSISTANT]
[tool_use:Read]
Jun 11, 06:14 AM
[USER]
<task-notification>
<task-id>adc4947ed554cbd7b</task-id>
<tool-use-id>toolu_01FUKxWyoJjrJB5y79Ez2tM2</tool-use-id>
<output-file>C:\Users\mikem\AppData\Local\Temp\claude\D--ClaudeDev\8173afe5-afb0-4729-b9ee-44de63437957\tasks\adc4947ed554cbd7b.output</output-file>
<status>completed</status>
<summary>Agent "Execute 3 adopt-pattern fixes" completed</summary>
<result>All three workstreams verified. Reporting to Oliver.
---
DELIVERED: 3 adopt-pattern fixes from RAVEN digest 2026-06-11
WORKSTREAM 1 - Master Brain scope-metadata retrofit
- Backup: `D:/Ecosystem/agent-memory/agent-memory.py.bak-2026-06-11` (confirmed, 81554 bytes)
- Scope vocabulary: `D:/Ecosystem/agent-memory/SCOPES.md` (17 scopes across 3 filter types: source_type, tags, project)
- Key finding from recon: 237K rows in agent_memories; ~98% are pieces_event/tag/hint (agent=pieces); meaningful agent-memory source_types are transcript, manual, handoff, consolidation, obsidian-memory, subagent-report, subagent. project column is almost entirely NULL - only session-continuity (24 rows) populated.
- Implementation: `--scope` CLI arg added to search paths; translates to existing column filters (source_type/tags/project); no new DB column needed; default behavior with no `--scope` is IDENTICAL to pre-change.
- Verification: 3 backward-compat calls clean (same results as before), 2 scoped calls show correct filtering (meetings scope returns only transcript+meeting-tagged rows, agent-memory scope excludes all pieces rows).
WORKSTREAM 2 - Carlos soul interruption primitives
- Patched: `C:/Users/mikem/.claude/rules/carlos-soul.md`
- Patched: `D:/Ecosystem/ops/claude/rules/carlos-soul.md` (ecosystem-ops canonical copy, found and updated)
- New section "## Interruption Primitives" inserted after "## Loop Termination Conventions"
- 20 lines, under 30-line cap. Zero em dashes. No existing content altered.
- Six primitives named in operational terms: Pause, Escalate, Narrow, Modify, Defer, Rollback
- Rollback includes the no-delete safeguard: if rollback requires deletion, stop and Escalate.
- NOTE: Oliver runs /sync to propagate to fleet.
WORKSTREAM 3 - bot-404-demand-mining skill
- Canonical: `D:/ClaudeDev/00_GITHUB/merlino-skills/bot-404-demand-mining/SKILL.md`
- Canonical script: `D:/ClaudeDev/00_GITHUB/merlino-skills/bot-404-demand-mining/scripts/parse-bot-404s.py`
- Runtime: `C:/Users/mikem/.claude/skills/bot-404-demand-mining/SKILL.md`
- Runtime script: `C:/Users/mikem/.claude/skills/bot-404-demand-mining/scripts/parse-bot-404s.py`
- Parser verified on synthetic log: 9/11 AI requests correctly identified as 404s, deduplication and crawler breakdown correct, 200-responses and non-AI UAs excluded.
- Skill covers: 10 AI crawler UAs, 3-path log acquisition (cPanel/Cloudflare/hosting), grep+awk one-liner, Python fallback, gap categorization, honest 1.82x framing, integration note pointing to FeatGEO rubric and agent-visibility-audit.
VERIFICATION: CODE (WS1 - script logic verified with real DB queries), VISUAL N/A, backward-compat proof mandatory items all confirmed.
TASK BOARD: Done. Discord: posted to #deploys.
[DONE] All 3 workstreams complete and verified.</result>
<usage><subagent_tokens>97416</subagent_tokens><tool_uses>9</tool_uses><duration_ms>715946</duration_ms></usage>
</task-notification>
[ASSISTANT]
[tool_use:Edit]
Jun 11, 06:13 AM
[USER]
If you want it exact, I can swap in a real syllable dictionary (CMUdict) on the Hetzner scorer, takes a few
minutes. Not worth it unless you plan to gate articles on a precise Flesch number. what is a flesch number and why is n h
[ASSISTANT]
That's the footnote at the bottom of the report page. Plain English:
- **"Generated by score-content.py (deterministic 5-dimension scorer)"** = the scores came from a script counting real things (words, AI phrases, contractions, numbers, list ratio, meta tag lengths, H1s), not from an LLM eyeballing the page. Same input always gives the same score, so you can re-run it after the article terminal ships changes and diff the numbers.
- **"Flesch uses a heuristic syllable counter; treat as directional"** = the Flesch reading-ease formula needs syllable counts per word. My script estimates syllables by counting vowel groups instead of using a real dictionary, so each page's Flesch number can be off by a few points. The honest claim is the trend, not the exact digit: a page scoring 25 is genuinely hard to read and a page scoring 60 is genuinely fine, but don't treat "Flesch 34 vs 37" as a meaningful difference.
Every other number on the page (composite scores, word counts, prose %, flags) is exact. The only soft metric is Flesch, and it only drives the readability dimension, which is 10% of the composite. The 143-pages-hard-to-read finding holds either way, since most of those pages are 15-20+ points below the target range, way beyond the error margin.
If you want it exact, I can swap in a real syllable dictionary (CMUdict) on the Hetzner scorer, takes a few minutes. Not worth it unless you plan to gate articles on a precise Flesch number.
Jun 11, 06:10 AM
[USER]
fuck this mean Generated by score-content.py (deterministic 5-dimension scorer). Flesch uses a heuristic syllable counter; treat as directional.
[ASSISTANT]
DELIVERED: Full content audit of https://archangelcenters.netlify.app/, all 163 sitemap pages scored with the 5-dimension content-quality rubric (humanity 30%, specificity 25%, structure 20%, SEO 15%, readability 10%). Scoring ran deterministically on Hetzner; results logged in `.planning/STATE.md` so the article/image terminal can pick them up.
LIVE URL: https://archangel-infographics.vercel.app/scores.html
POWD: https://archangel-infographics.vercel.app/out/powd-scores-page.png
COMMIT: 364ac75 + af97859
VERIFICATION: VISUAL (Steel screenshot of deployed report, 200 on both URLs, Discord posted to powd + client-archangel)
**Scores**
- Site average **84.3**, 162/163 pass (threshold 70)
- By section: core 83.0 (25 pgs), NJ 84.3 (38), NC 84.0 (38), knowledge articles 85.0 (58), policy 84.4 (4)
- Only failure: `/programs/` at 68, it has just 53 words of content
**What actually needs fixing (feeds the article/image terminal)**
1. **0 of 28 infographics are live.** Article images are facility photos + insurance SVGs only. The family, insurance, recovery, and therapies sections carry ONE recycled facility photo per page, exactly where GK wants 6-7 infographics per hub.
2. **135/163 pages under 2,000 words.** The hub pages meant to be definitive are the thinnest: /addiction 772w, /dual-diagnosis 747w, /therapies 672w, /insurance 683w, /recovery 801w. The dual-diagnosis subpages are the strongest content on the site (2,376-2,464w).
3. **Readability is graduate-level**: 143 pages Flesch below 50; NC suburb pages, court/commitment pages, and benzo pages sit at 18-30. Sentence length, not just clinical vocab. Hurts snippet eligibility.
4. **32 wall-of-text pages** (>90% prose, zero lists/tables), including all 5 dual-diagnosis subpages and all 8 NC suburb pages. Prime infographic targets.
5. **Technical nits**: all 7 /team/ bios missing an H1; 9 pages with light AI-phrase fingerprints (1-2 hits each).
Full per-page table with dimension scores, word counts, Flesch, and flags is on the report page. Raw data at `scripts/scores.json`, scorer at `scripts/score-content.py` (re-runnable on Hetzner anytime to track the other terminal's progress).
Jun 11, 06:06 AM
[USER]
Base directory for this skill: C:\Users\mikem\.claude\skills\content-quality-scorer
# Content Quality Scorer — 5-Dimension Evaluation
**Source:** https://github.com/TheCraigHewitt/seomachine (content_scorer.py)
## Scoring Dimensions
| Dimension | Weight | What It Measures |
|-----------|--------|------------------|
| Humanity/Voice | 30% | AI phrase density, contractions, conversational devices, passive voice |
| Specificity | 25% | Concrete examples, numbers, data points vs vague generalizations |
| Structure Balance | 20% | Prose-to-list ratio (target: 50-75% prose) |
| SEO Compliance | 15% | Keyword placement, meta elements, word count, heading structure |
| Readability | 10% | Flesch score (target 60-70), sentence rhythm, paragraph length |
**Pass threshold: Composite score >= 70**
## Dimension 1: Humanity/Voice (30%)
### AI Phrases to Detect (Penalize)
```
"in today's digital/modern/fast-paced"
"when it comes to"
"it's important to note/remember/understand"
"in the world of"
"let's dive in/into"
"furthermore" / "moreover" / "additionally"
"in order to"
"due to the fact that"
"at the end of the day"
"leverage" / "utilize" / "facilitate"
"synergy" / "holistic" / "robust"
"seamless(ly)" / "game-changer"
"unlock(ing) the power/potential"
"take it to the next level"
"journey" / "landscape" / "paradigm" / "optimal"
```
**Scoring:** Calculate AI phrases per 1,000 words. >5 per 1K = penalty starts. >10 per 1K = high severity.
### Conversational Devices (Reward)
- Parenthetical asides: `(like this one)`
- Questions in body text
- Contractions: don't, can't, won't, you're, it's, here's, we've
- Casual openers: "Look," "Here's the thing," "Sound familiar?"
**Target:** >1 contraction per 100 words. <20% passive voice.
## Dimension 2: Specificity (25%)
### Vague Words to Flag
```
many, some, various, numerous, several, often, sometimes
usually, generally, typically, significant(ly), substantial(ly)
considerable, great(ly), very, really, quite, rather
relatively, recently, currently, effective(ly)
important, essential, critical, key, crucial
```
### Specificity Indicators (Reward)
- Percentages: `73%`
- Dollar amounts: `content,500`
- Years/dates: `March 2026`
- Counts: `10,000 subscribers`
- Named quotes: `Sarah explained, "..."`
- Quoted text > 10 chars
**Scoring:** Baseline 70. Penalize vague density >15 per 1K words. Reward specificity indicators. Penalize if numbers per 1K < 3.
## Dimension 3: Structure Balance (20%)
Measures prose-to-structured-content ratio.
| Prose Ratio | Score | Verdict |
|-------------|-------|---------|
| 50-75% | 100 | Sweet spot |
| 35-50% | 60-85 | Too structured, needs more narrative |
| <35% | 0-60 | Way too listy |
| 75-90% | 75-90 | Needs more visual breaks |
| >90% | <75 | Wall of text |
**Structured content = bullet lists + numbered lists + tables. Headers excluded from ratio.**
## Dimension 4: SEO Compliance (15%)
Checklist scoring (deduct per miss):
- [ ] Meta title exists and 50-60 chars (-15 if missing, -5 if wrong length)
- [ ] Meta description exists and 150-160 chars (-15 if missing)
- [ ] Primary keyword in H1 (-10 if missing)
- [ ] Primary keyword in first 100 words (-10 if missing)
- [ ] Word count >= 2,000 (-15 if under)
- [ ] Single H1 present (-10 if missing)
## Dimension 5: Readability (10%)
### Flesch Reading Ease
| Score | Grade | Penalty |
|-------|-------|---------|
| <40 | Very difficult | -30 (high severity) |
| 40-49 | Difficult | -15 to -30 |
| 50-59 | Fairly difficult | -10 |
| 60-70 | Target range | 0 |
| 71-80 | Fairly easy | 0 |
| >80 | Very easy | -5 (too simple) |
### Paragraph Length Check
Flag paragraphs >4 sentences. Penalty: -3 per offending paragraph (max -15).
### Sentence Rhythm Analysis
Sliding window of 5 sentences — if all within 5 words of average length, that's a monotonous section. Penalize -3 per monotonous section.
**Targ
[ASSISTANT]
[tool_use:Bash]
Jun 11, 06:04 AM
[USER]
Still open (the adopt-pattern items, say the word to score them): Master Brain scope-metadata retrofit (the RAG
dilution fix, this is the urgent one at 287K vectors), Carlos soul interruption-primitive vocabulary, and the
bot-404 demand mining deliverable for the AI Visibility Audit fix this all up and how amnahy skills where looked at? how many we used and how why did we not sue th rest
[ASSISTANT]
[tool_use:Agent]
Jun 11, 05:59 AM
[USER]
hey I need the VIDEOS from here Marie can make some short form content out of it for the site and socials. make me a VOIDEP only folder and folder topics within it - E:\ARCH ANGEL\TUESDAY IMAEGS
[ASSISTANT]
[tool_use:Bash]
Jun 11, 05:58 AM