# mod-www Phase 2 — Extract the `content-site` Blueprint + ship the 3 skills (Build Outline · pre-plan)

> **STATUS: phase OUTLINE, not an executable plan.** The extraction tasks below cannot be made exact until Phase 1 exists — you extract *from* hand-built mod-www, so the generic/host split is only knowable once mod-www is green. **Expand to a full `/plan` at phase start** (after Phase 1 green), spec-first per the program design (`docs/specs/2026-06-17-mod-www-foss-site-program-design.md` §9).

**Goal:** Factor the **generic, themeless** parts of hand-built mod-www into the `content-site` **blueprint** at `blueprints/content-site/`, catalogued in `registry.json → blueprints`; author the **3 consumer skills** (agentic ui/ux + module-usage directives, design-doc §6) that ship with the blueprint. The blueprint is the SDK-style dev base; everything host-special (theme, EN copy, the graph special-thing) stays behind in the instance.

**Architecture:** A blueprint = a *named, themeless composition recipe* = preset + plugins + wiring + host-glue + templates + skills (delivery-stack §2). It is **assembled-then-host-owned**, ships **no theme** (wires the `ui-tokens` contract, not values), and is **not a package** — it lives at `blueprints/content-site/` in the monorepo (design-doc §9), kept in-repo while module contracts churn (`workspace:^` atomic edits). Deleting it loses only a dep-list + skeleton template copies, not components (the intended thinness, design-doc §10).

**Tech stack:** same as Phase 1 minus the instance specifics; the 4 section templates become **generic host-copied skeletons** (delivery-stack §3 — copied, never semver'd "template packages").

---

## Prereqs (must be green before expanding)

- [ ] **Phase 1 green** — hand-built mod-www builds + scores 100/100. You cannot extract a blueprint from an instance that does not yet work.
- [ ] **The generic/host split is identified** — which mod-www files are themeless-generic (→ blueprint) vs host-special (→ stay in instance: theme, EN copy, graph special-thing). This split IS the extraction judgment (main-loop, never delegated).
- [ ] **The 3 consumer skills are specified** — their scope/triggers settled (design-doc §6). **Open: read §6 at phase start for the exact three.**

---

## Wave outline (task GROUPS — expand at phase start)

| Wave | Group | Produces | Gate |
|------|-------|----------|------|
| 1 | **Generic/host triage** | a documented list: each mod-www file → blueprint (generic) OR instance (host-special). Theme + EN copy + graph = host-special, always. | split reviewed (main-loop judgment) |
| 2 | **Blueprint scaffold** | `blueprints/content-site/` — the `content-site` preset reference + wiring + host-glue + the 4 template skeletons (de-named, themeless) | blueprint dir assembles |
| 3 | **Registry catalogue** | `registry.json → blueprints` entry for `content-site` (preset + plugins + templates + skills, themeless) | JSON valid; structure indexed |
| 4 | **The 3 consumer skills** | the agentic skills shipped with the blueprint (ui/ux directives + correct module usage) — authored via `agent-doc-authoring`; design-doc §6 | skills load + route correctly |
| 5 | **Blueprint composition harness** | a consumer-harness fixture proving the blueprint assembles into a buildable site (delivery-stack §4.1) — the green-blueprint prereq Phase 3 + `platform-make-distro` both gate on | harness green = phase done |

---

## Standing gates / constraints

- **Themeless invariant:** the blueprint ships ZERO theme values — only the `ui-tokens` contract wiring. Any color/type value belongs to the instance/Distribution, never here (design-doc §10).
- **Never a "template package":** the 4 templates are copied host-owned skeletons, not semver'd packages (delivery-stack §3 heavy-UI-gravity trap).
- **Skill authoring:** the 3 consumer skills follow `agent-doc-authoring` (audience-first, caveman register, point-don't-inline); they hold ui/ux + module-usage directives, not duplicated module docs.
- **Green blueprint = the gate Phase 3 + `platform-make-distro` depend on** (delivery-stack §0 one-rule). Phase 2 is not done until the blueprint composition harness is green.

---

## Out of Phase 2

`create` scaffolder (Phase 3); the `software-site` Distribution (roadmap — needs this green blueprint as its prereq, per `platform-make-distro` Step 0).
