# BLOG-PIPELINE.md - per-article workflow for W12 & W13 (claude-blog full pipeline + kie.ai z-image) Driven by seo-audit-2026-05-27\goals\MASTER-SEO-75.txt. ## Foundation (run ONCE before any article) 1. `/blog brand init` -> BRAND.md + VOICE.md at repo root (autoloads into every subskill). 2. `/blog persona create "Equipo Odoo Expertos"` -> personas/equipo-odoo-expertos.md (REPLACES every "Dr. Maria Elena Rodriguez"). 3. `/blog flow sync` -> FLOW framework prompts cached locally for downstream skills. 4. `/blog strategy "odoo erp consulting LATAM"` -> strategy doc; informs cluster + persona angles. ## IMAGE GENERATION POLICY (overrides /blog image default; z-image ONLY) **Pre-flight (run ONCE in Phase 0, BEFORE any article):** ``` powershell -File seo-audit-2026-05-27\scripts\kie-image.ps1 -Prompt "abstract data visualization, blue gradient, no text" -OutPath "seo-audit-2026-05-27\scripts\.zimage-probe.png" -Model z-image -Aspect 16:9 -Resolution 1K ``` If this FAILS, abort the goal with status "z-image unavailable on this kie.ai account — fix model access before proceeding". NO fallback to other models. **Per article: generate >=3 images via z-image only.** 1. Hero/OG (16:9, 2K) -> `images/-hero.png` 2. Inline mid-body (16:9 or 4:3, 1K) -> `images/-fig1.png` 3. Inline end (16:9 or 4:3, 1K) -> `images/-fig2.png` **Prompt rules (HARD):** - Every prompt MUST end with: ", NO text, NO letters, NO numbers, NO logos, NO watermarks." - Editorial illustration aesthetic, neutral palette, clean enterprise feel, no stock-photo cliches. - Distinct subject per image (hero = topic metaphor; fig1 = mechanism/architecture motif; fig2 = outcome/comparison motif). **Insertion:** - Set `` and add `` in . - Place fig1 after the 2nd H2, fig2 after the 4th H2. Both `` tags need unique `alt=""` descriptions derived from the surrounding H2 + body. - Add ImageObject schema for the hero (and fig1/fig2 if relevant) inside the Article JSON-LD. Helper: `powershell -File seo-audit-2026-05-27\scripts\kie-image.ps1 -Prompt "" -OutPath "images/-.png" -Model z-image -Aspect 16:9 -Resolution 2K` ## Per-article (run for EVERY URL in OPPORTUNITIES sec 1 and sec 2) For each article slug like `odoo-hosting/odoo-vs-sap-hosting-2026/index.html`: 1. **Research** - `/blog discourse ""` -> DISCOURSE.md with last-30-days sources, debates, gaps. If a Google AI / NotebookLM key is configured, also `/blog notebooklm ""`. 2. **Flow framing** - `/blog flow find ""` -> pick the strongest FLOW prompt for this article. `/blog flow optimize` to refine. 3. **Brief** - `/blog brief ""` -> audience, intent, angle, key entities, SERP context. 4. **Outline** - `/blog outline ""` -> SERP-informed H2/H3 skeleton. 5. **Rewrite** - `/blog rewrite ` using BRAND.md + VOICE.md + persona + FLOW + blog-rewrite humanized cadence. HARD CONSTRAINTS to state in the rewrite request: - Preserve EXCEPT add ONE marker (W12-deep-rewrite or W13-ai-search) + the og:image/preload set by step 8. - Preserve hreflang, canonical, OG, header/footer/nav, breadcrumb (W6), ALL D3.js