# Blog agent phase runbook (lexikon / ratgeber)

**Last Updated:** 2026-04-04  
**Purpose:** One short map for **Cursor agents**: phase order, dependencies, and copy-paste commands. Deep prose lives in linked guides—do not duplicate here.

**Hub:** [CONTENT_SYSTEM_INDEX.md](CONTENT_SYSTEM_INDEX.md)

## Phase flow

```mermaid
flowchart LR
  P0[0_Scaffold]
  P1[1_Data_pipeline]
  P2[2_SERP_manual]
  P3[3_Outline_gate]
  P4[4_Draft_HTML]
  P5[5_Apply_validate]
  P0 --> P1 --> P2 --> P3 --> P4 --> P5
```




| Phase              | Unlocks                                                                                                                      | Hard dependency                                                                      |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| 0 Scaffold         | `v2/data/blog/posts/{cat}/{slug}.json`, post docs folder, `data/target-keywords.json`                                        | `create-new-blog-post.php`                                                           |
| 1 Data pipeline    | `keywords-sistrix.json`, `paa-questions.json`, `serp-features.json`, `faq-research.json`, `competitive-depth-analysis.md`, … | Target keywords file; pipeline order: SERP + PAA before FAQ merge (see workflow doc) |
| 2 SERP manual      | Completed `SERP_ANALYSIS.md`                                                                                                 | Live browser review (not optional for competitive terms)                             |
| 3 Outline + gate   | `CONTENT_OUTLINE.md`, `section-briefs`, passing outline gate                                                                 | `competitive-depth-analysis.md` + SERP notes                                         |
| 4 Draft            | `content-draft.html`                                                                                                         | Outline with section briefs                                                          |
| 5 Apply + validate | Published-quality JSON                                                                                                       | `update-post-content.php`; then Make ladder                                          |


## Commands by phase

**0 — Scaffold**

```bash
php v2/scripts/blog/create-new-blog-post.php --topic="…" --category=lexikon
```

**1 — Data (new post)**

```bash
php v2/scripts/blog/run-new-post-pipeline.php --post=SLUG --category=lexikon
# Preview: add --dry-run (prints DAG: SISTRIX → parallel PAA/SERP/competition/intent → FAQ → …)
```

**1 — Data (improvement)**

```bash
php v2/scripts/blog/run-post-improvement-pipeline.php --post=SLUG --category=lexikon
# Same parallel SISTRIX batch as new-post after keywords; --dry-run prints DAG.
```

**1 — After pipeline (manual + scripts)**

- Complete `SERP_ANALYSIS.md` ([SERP_REVIEW_CHECKLIST.md](posts/_templates/SERP_REVIEW_CHECKLIST.md)).
- `php v2/scripts/blog/synthesize-outline-scaffold.php --post=SLUG --category=lexikon`
- `php v2/scripts/blog/generate-section-briefs.php --post=SLUG --category=lexikon`

**3 — Outline gate**

```bash
make blog-outline-gate POST=SLUG CAT=lexikon
```

**5 — Apply + validate**

```bash
make blog-apply-validate-strict POST=SLUG CAT=lexikon HTML=docs/content/blog/posts/lexikon/SLUG/content-draft.html
# Or JSON already applied:
make blog-post-validate-strict POST=SLUG CAT=lexikon
```

**FAQ-only (no body change)**

```bash
make blog-post-validate-faq POST=SLUG CAT=lexikon
```

**FAQ full refresh (data + apply + validate)** — see [FAQ_REWORK_DECISION_TREE.md](../FAQ_REWORK_DECISION_TREE.md) § “Full FAQ refresh”. Typical sequence: improvement collectors → `check-h2-faq-overlap.php` → edit or generate `data/faq-answers-optimized.json` (+ `faq-questions.json`) → `add-faqs-to-post.php --replace` (add `--no-sort` if order is curated) → `validate-faq-quality.php`, `validate-faq-schema.php`, `validate-faq-topic-relevance.php`, `audit-faq-source-drift.php` → `make blog-post-validate-faq`.

## Dependency detail

Full artifact table and cross-surface collectors: [CONTENT_CREATION_DATA_CHECKLIST.md](../CONTENT_CREATION_DATA_CHECKLIST.md).  
Outline-first principles and pipeline DAG narrative: [CONTENT_CREATION_WORKFLOW_2026.md](CONTENT_CREATION_WORKFLOW_2026.md).  
FAQ stages vs `post.json`: [FAQ_SOURCE_OF_TRUTH.md](FAQ_SOURCE_OF_TRUTH.md).

## Cursor habits

- Route first: [ordio-blog-content-router](../../.cursor/skills/ordio-blog-content-router/SKILL.md) (skills) · [BLOG_WORKFLOW_EFFICIENCY.md](BLOG_WORKFLOW_EFFICIENCY.md) (Make ladders).
- Token discipline: [CURSOR_TOKEN_EFFICIENCY.md](../../ai/CURSOR_TOKEN_EFFICIENCY.md); one phase per chat when sessions grow long.

