← back to Agent Cabinet
cabinet: add vp-dw-marketing (DW Marketing Officer) + 7 per-platform social agents (IG/TikTok/LinkedIn/FB/Pinterest/YouTube/X)
70ad0c8b3dfaca3eb9008c36295d737afe20aaae · 2026-06-12 15:08:09 -0700 · SteveStudio2
Files touched
M cabinet.yamlA front-page-audit/runs/2026-06-12T06-06-52Z.jsonl
Diff
commit 70ad0c8b3dfaca3eb9008c36295d737afe20aaae
Author: SteveStudio2 <stevestudio2@SteveStacStudio.lan>
Date: Fri Jun 12 15:08:09 2026 -0700
cabinet: add vp-dw-marketing (DW Marketing Officer) + 7 per-platform social agents (IG/TikTok/LinkedIn/FB/Pinterest/YouTube/X)
---
cabinet.yaml | 99 +++++++++++++++++++++++-
front-page-audit/runs/2026-06-12T06-06-52Z.jsonl | 17 ++++
2 files changed, 115 insertions(+), 1 deletion(-)
diff --git a/cabinet.yaml b/cabinet.yaml
index b6c0d9c..f215589 100644
--- a/cabinet.yaml
+++ b/cabinet.yaml
@@ -101,6 +101,85 @@ cabinet:
timorous-scraper-manager, wallquest-scraper-manager, york-scraper-manager,
york-wallcoverings-scraper-manager, arc-com-colorway-scraper, arte-international-colorway-scraper]
+ - vp: vp-dw-marketing
+ domain: DW Marketing Command Center — copy, SEO, social (all platforms), video, creative, advertising intel, GA4 analytics, merchandising, landings, GTM
+ triggers:
+ - marketing | campaign | brand | awareness | demand gen | command center
+ - social | instagram | tiktok | linkedin | facebook | meta | pinterest | youtube | twitter | x.com
+ - post | reel | story | thread | pin | short | schedule social
+ - video | demo | walkthrough | reel | what landed
+ - seo | meta description | structured data | mailer | drops | newsletter
+ - analytics | ga4 | gtag | traffic | pull report
+ - advertising | who is advertising | ad signals | competitor ads
+ - collection | new arrivals | merchandising | pairs well | vendor landing
+ directors:
+ # Per-platform social agents (Steve 2026-06-12: an agent for every platform)
+ - subagent: dw-instagram
+ owns: [DW Instagram — feed/reels/stories via Norma instagram-agent :9810 (Meta Graph)]
+ - subagent: dw-tiktok
+ owns: [DW TikTok — short-form video + TikTok Shop sync]
+ - subagent: dw-linkedin
+ owns: [DW + Abrams LinkedIn — B2B/trade posts + outreach drafts (MANUAL+TOOLING, no TOS automation)]
+ - subagent: dw-facebook
+ owns: [DW Facebook/Meta Page + Shop + Meta ads planning (shares Meta Graph w/ IG)]
+ - subagent: dw-pinterest
+ owns: [DW Pinterest — boards/rich-pins/idea-pins (top interiors discovery channel; API not yet wired)]
+ - subagent: dw-youtube
+ owns: [DW YouTube — Shorts + room walkthroughs + how-to + video SEO (API not yet wired)]
+ - subagent: dw-x-twitter
+ owns: [DW on X/Twitter — posts/threads/launches (API not yet wired)]
+ # Copy & SEO
+ - skill: dw-marketing-copy
+ owns: [campaign copy, product descriptions, SEO titles, mailer/ad body]
+ - skill: dw-seo-optimizer
+ owns: [meta + structured data]
+ - subagent: seo-analyzer
+ owns: [technical SEO audits]
+ # Video & content production
+ - skill: reels-producer
+ owns: [social reels/GIFs from product images]
+ - skill: reviewed-demo-video
+ - skill: app-demo-video
+ - skill: what-landed-video
+ - skill: session-debrief
+ - skill: video-gallery
+ owns: [browse produced videos :9763]
+ # Creative / visual
+ - skill: room-setting-generator
+ owns: [residential room renders for posts/pins]
+ - skill: commercial-room-setting-generator
+ owns: [contract/hospitality renders]
+ - skill: canvas-design
+ owns: [posters, print, social graphics]
+ - skill: four-horsemen
+ owns: [Figma/Magic/Paper/Canva design orchestration]
+ - skill: four-horsemen-ui-orchestrator
+ - skill: stampede
+ owns: [3 wild elevated-graphic variants]
+ - skill: logo-agent
+ owns: [tournament logo/brand-mark picker]
+ # Advertising intelligence
+ - skill: ad-social-tracker
+ owns: [paid-ad detection across a directory]
+ - skill: advertising-signals
+ owns: [single-domain "where does X advertise" scan]
+ # Analytics
+ - subagent: analytics-agent
+ owns: [GA4 — properties, events, gtag injection, traffic reports (shared w/ vp-operations)]
+ # Merchandising
+ - skill: collection-creator
+ owns: [AI curated-collection idea generator]
+ - skill: new-arrivals-rotator
+ owns: [auto-rotating New Arrivals / Trending Shopify collections]
+ - skill: pairs-well-with
+ owns: [per-SKU "pairs well with" recommendations]
+ # Landing pages
+ - skill: dw-vendor-landing
+ owns: [<vendor>.designerwallcoverings.com editorial lookbook]
+ # Strategy
+ - subagent: product-strategist
+ owns: [positioning, GTM, roadmap (shared w/ vp-research-content)]
+
- vp: vp-directories
domain: Vertical directory businesses (lawyer, doctor, NPH, animals, lacountyeats, ventura)
triggers:
@@ -232,7 +311,7 @@ architecture_principles:
mindmap_path: /Users/stevestudio2/Projects/agent-cabinet/mindmap.html
viewer_port: 9766
-last_synced_at: 2026-05-14T08:30:00-07:00
+last_synced_at: 2026-06-12T14:30:00-07:00
consolidation_log:
- date: 2026-05-06
@@ -255,3 +334,21 @@ consolidation_log:
Today's regression — linenwallpaper.com (and 9 other DW sites) shipped .ns-modal HTML without .ns-modal CSS to prod because local files were correct but deploy was stale → modal leaked inline at top of page, "horrible" per Steve. Audit found 51/53 sites missing corner-nav.js script tag too. This is a recurring CLASS of bug, not a one-off — the existing dw-websites-agent only covered AAB aesthetic overrides + auth widget; nobody owned structural-rule compliance (logo UL, hamburger UR Gucci, hero CTA, ns-modal CSS, sort+density slider, APCA contrast, drift detection, fanout discipline).
Folded dw-websites-agent's AAB-override duties INTO front-page-steward (now archived at ~/.claude/agents/_archived/dw-websites-agent.md) so there's a single owner. New agent enforces 12 structural rules from MEMORY.md, runs operation-1 audit across the fleet, surfaces local-vs-live drift, owns the fanout scripts at ~/Projects/_shared/scripts/, wedges deploys, and ships a kanban viewer at http://127.0.0.1:9772 mirroring the pipeline-watcher pattern. Wired into vp-dw-commerce alongside dw-site-build, dw-shopify-theme-optimizer, dw-marketing-copy, dw-seo-optimizer.
Net cabinet size: vp-dw-commerce directors went 14 → 14 (added front-page-steward, archived dw-websites-agent) — no bloat, broader trigger coverage.
+ - date: 2026-06-12
+ action: added
+ target: vp-dw-marketing (DW Marketing Officer) + 7 per-platform social agents
+ rationale: |
+ Steve directive — stand up a dedicated DW Marketing Officer as the "marketing command center,"
+ with a dedicated agent for every social platform. Created vp-dw-marketing (7th VP) owning the
+ full marketing stack: copy/SEO (dw-marketing-copy, dw-seo-optimizer, seo-analyzer), all social
+ (new per-platform subagents dw-instagram, dw-tiktok, dw-linkedin, dw-facebook, dw-pinterest,
+ dw-youtube, dw-x-twitter), video/reels (reels-producer, reviewed/app-demo-video, what-landed,
+ session-debrief, video-gallery), creative (room-setting-generator, commercial-room-setting,
+ canvas-design, four-horsemen(+ui), stampede, logo-agent), advertising intel (ad-social-tracker,
+ advertising-signals), GA4 (analytics-agent), merchandising (collection-creator,
+ new-arrivals-rotator, pairs-well-with), landings (dw-vendor-landing), and GTM (product-strategist).
+ Consolidates marketing routing that was split across vp-dw-commerce (copy/SEO/social/renders),
+ vp-research-content (video/creative), vp-directories (ad-signals), and vp-operations (GA4) into
+ one entry point. Those VPs retain the skills for inline use; vp-dw-marketing is primary owner.
+ Net cabinet: 6 → 7 VPs; +7 platform subagents (IG/TikTok live via Norma+tiktok skill; LinkedIn
+ manual-tooling; FB shares Meta Graph; Pinterest/YouTube/X API not yet wired — flagged as build gaps).
diff --git a/front-page-audit/runs/2026-06-12T06-06-52Z.jsonl b/front-page-audit/runs/2026-06-12T06-06-52Z.jsonl
new file mode 100644
index 0000000..2a7a68f
--- /dev/null
+++ b/front-page-audit/runs/2026-06-12T06-06-52Z.jsonl
@@ -0,0 +1,17 @@
+{"site":"linenwallpaper.com","checked_at":"2026-06-12T06:06:52Z","mode":"dry-run","checks":{"reachable":"pass","ns_modal_css":"pass","ns_contact_calls":3,"corner_nav_js":"intentionally-disabled","viewport_meta":"pass","hero_wordmark_block":"pass","hero_cta_enter":"n/a-no-enter-pill","logo_corner":"pass-cinema-logo","sort_density_grid":"pass","bigred_widget":"present-NOTE-removal-rule"},"drift_local_vs_live":false,"verdict":"healthy","note":"Named 2026-05-14 ns-modal regression ALREADY RESOLVED on live: 3 .ns-modal CSS rule lines match 3 nsContactOpen() calls. No drift."}
+{"site":"corkwallcovering.com","checked_at":"2026-06-12T06:06:52Z","mode":"dry-run","checks":{"reachable":"pass","ns_modal_css":"pass","corner_nav_js":"intentionally-disabled-UL-hamburger-rebuild","viewport_meta":"pass","sort_density_grid":"pass","bigred_widget":"present-NOTE-removal-rule"},"drift_local_vs_live":false,"verdict":"healthy","note":"Reference site. corner-nav.js deliberately disabled (comment line 1151) in favor of UL-hamburger rebuild."}
+{"site":"silkwallpaper.com","checked_at":"2026-06-12T06:06:52Z","mode":"dry-run","checks":{"reachable":"pass","ns_modal_css":"pass","viewport_meta":"pass","sort_density_grid":"pass","bigred_widget":"present-NOTE-removal-rule"},"verdict":"healthy"}
+{"site":"raffiawallcoverings.com","checked_at":"2026-06-12T06:06:52Z","mode":"dry-run","checks":{"reachable":"pass","ns_modal_css":"pass","viewport_meta":"pass","sort_density_grid":"pass","bigred_widget":"present"},"verdict":"healthy"}
+{"site":"hospitalitywallcoverings.com","checked_at":"2026-06-12T06:06:52Z","mode":"dry-run","checks":{"reachable":"pass","ns_modal_css":"pass","viewport_meta":"pass","sort_density_grid":"pass","bigred_widget":"present"},"verdict":"healthy"}
+{"site":"wallpapersback.com","checked_at":"2026-06-12T06:06:52Z","mode":"dry-run","checks":{"reachable":"pass","ns_modal_css":"pass","viewport_meta":"pass","sort_density_grid":"pass","bigred_widget":"present"},"verdict":"healthy"}
+{"site":"retrowallpaper.com","checked_at":"2026-06-12T06:06:52Z","mode":"dry-run","checks":{"reachable":"pass","ns_modal_css":"none","ns_contact_calls":0,"viewport_meta":"pass","sort_density_grid":"fail-no-grid-controls","hero":"none-detected","bigred_widget":"absent"},"verdict":"needs-review","note":"No ns-modal (and no nsContactOpen calls, so not a violation), no sort/density grid controls, no hero markers. Looks like a different/older template. Investigate before fanout."}
+{"site":"grasscloth.com","checked_at":"2026-06-12T06:06:52Z","mode":"dry-run","checks":{"reachable":"fail-timeout-rc28"},"verdict":"unreachable","note":"Consistent curl timeout (rc=28). Could not audit live. Re-probe."}
+{"site":"glitterwallpaper.com","checked_at":"2026-06-12T06:06:52Z","mode":"dry-run","checks":{"reachable":"redirect-only"},"verdict":"redirect-only","note":"114-byte JS redirect to /lander (parked/GoDaddy-style). Not a live DW front page. Mark redirect-only, exclude from structural checks."}
+{"site":"wpcwallcoverings.com","checked_at":"2026-06-12T06:06:52Z","mode":"dry-run","checks":{"reachable":"fail-rc6-dns"},"verdict":"unreachable","note":"curl rc=6 (could not resolve host). DNS not resolving from here. Re-probe / confirm domain live."}
+{"site":"ffewallcoverings.com","checked_at":"2026-06-12T06:06:52Z","mode":"dry-run","checks":{"reachable":"fail-rc6-dns"},"verdict":"unreachable","note":"curl rc=6 (could not resolve host). DNS not resolving from here. Re-probe / confirm domain live."}
+{"site":"novasuede.com","checked_at":"2026-06-12T06:06:52Z","mode":"dry-run","checks":{"reachable":"pass","viewport_meta":"pass","rotating_hero":"JS-injected","sort_density_grid":"n/a-rotating-hero-landing","bigred_widget":"absent-correct"},"verdict":"healthy","note":"Canonical rotating-hero implementation; hero is JS-injected (greps see 0 static hero markers, expected)."}
+{"site":"philipperomano.com","checked_at":"2026-06-12T06:06:52Z","mode":"dry-run","checks":{"reachable":"pass","viewport_meta":"pass","sort_density_grid":"partial-sort1-density6","hero":"JS-injected","bigred_widget":"absent-correct"},"verdict":"healthy","note":"JS-injected catalog hero. Sort+density present (range controls detected)."}
+{"site":"architecturalwallcoverings.com","checked_at":"2026-06-12T06:06:52Z","mode":"dry-run","checks":{"reachable":"pass-transient-fork-noise","ns_modal_css":"pass","viewport_meta":"pass","sort_density_grid":"pass","bigred_widget":"present"},"verdict":"healthy"}
+{"site":"wallco.ai","checked_at":"2026-06-12T06:06:52Z","mode":"dry-run","checks":{"reachable":"pass","viewport_meta":"pass","hero":"present","logo":"present","bigred_widget":"absent-correct"},"verdict":"healthy","note":"Storefront app; grid uses its own PDP theme system (not DW sister-site grid)."}
+{"site":"thesetdecorator.com","checked_at":"2026-06-12T06:06:52Z","mode":"dry-run","checks":{"reachable":"pass","viewport_meta":"pass","editorial_card_hero":"pass","hero_cta_enter":"present","rotating_hero":"INTENTIONALLY-EXCLUDED-TSD"},"verdict":"healthy","note":"TSD exclusion honored: editorial card-stack hero, no rotating hero, no Gucci hamburger. Do not touch without Steve sign-off."}
+{"site":"starsofdesign.com","checked_at":"2026-06-12T06:06:52Z","mode":"dry-run","checks":{"reachable":"pass","viewport_meta":"pass","hero":"present","sort_density_grid":"partial","bigred_widget":"absent"},"verdict":"healthy"}
← e0540bc Cabinet: add plain-English owns descriptions for 5 plugin/MC
·
back to Agent Cabinet
·
Add cabinet pyramid visual: President→Officers→Agents→Skills 655d59b →