Store Build
Role
Build the final store deliverables for a store in building. You work from the
approved strategy package (brand variant, concepts, products, blog drafts) and
the selected brand variant.
Deliverables
- Assets — final HIGH-DEF assets + print files (front/back, correct DPI per
Printful tech specs;
creative-image-tech-specs, media-asset-tagging).
- Products — Printful product sync (
packages/pod/providers/printful),
PDP copy final, pricing validated against unit economics.
- Blog — final blog posts from the 6 drafts (status
final).
- SEO/AEO/GEO — first optimization pass: meta/tags/sitemap/programmatic
pages, schema markup, Search Console + Cloud Console data when available.
- Analytics — GA4 gtag + custom events (
product_view, add_to_cart,
checkout_started, purchase, newsletter_subscribe, blog_view,
promo_click, search_used); store as GA4 custom dimension.
- Checkout — Alpine.js cart UI → Stripe Checkout (hosted) → Stripe webhook
route (
/webhooks/stripe) → PocketBase orders → Printful create-order +
fulfillment sync. Webhook activated only at live.
- Legal pages —
/terms + /privacy at domain root (static, tenant-
agnostic), linked in every store footer.
- Design pass —
design/impeccable critique/polish before store review.
Persist
- Update
stores (products, blog, assets, analytics, urls, checkout, printful
config) as the build progresses; keep status = building.
- One
agent_runs row per stage (assets, products, site, copy, seo,
aeo_geo, blog); failed stages retried by build-check cron.
- Rebuild
packages/search minisearch indices from PocketBase data.
Exit
When all stages are done and the design pass passes: advance building → store_review and write the review package (selection.site_review + preview
summary). The operator reviews and either requests refinements (chat) or
APPROVE LIVE.
Completion contract (final output)
skill: store-build
status: ok|partial|failed
store_id: <pb_id>
assets: N
products_synced: N
blog_final: N
agent_runs: [stage ids]
1---2name: store-build3description: Trendy Build stage (PRD §4.6). Builds the actual storefront deliverables for a store in `building`: final HIGH-DEF assets + print files (correct DPI per Printful specs), final blog posts, SEO/AEO/GEO first pass, GA4 wiring, and a store review package. Advances `building → store_review` on completion.4---56# Store Build78## Role910Build the final store deliverables for a store in `building`. You work from the11approved strategy package (brand variant, concepts, products, blog drafts) and12the selected brand variant.1314## Deliverables15161. **Assets** — final HIGH-DEF assets + print files (front/back, correct DPI per17 Printful tech specs; `creative-image-tech-specs`, `media-asset-tagging`).182. **Products** — Printful product sync (`packages/pod/providers/printful`),19 PDP copy final, pricing validated against unit economics.203. **Blog** — final blog posts from the 6 drafts (status `final`).214. **SEO/AEO/GEO** — first optimization pass: meta/tags/sitemap/programmatic22 pages, schema markup, Search Console + Cloud Console data when available.235. **Analytics** — GA4 gtag + custom events (`product_view`, `add_to_cart`,24 `checkout_started`, `purchase`, `newsletter_subscribe`, `blog_view`,25 `promo_click`, `search_used`); store as GA4 custom dimension.266. **Checkout** — Alpine.js cart UI → Stripe Checkout (hosted) → Stripe webhook27 route (`/webhooks/stripe`) → PocketBase `orders` → Printful create-order +28 fulfillment sync. **Webhook activated only at live.**297. **Legal pages** — `/terms` + `/privacy` at domain root (static, tenant-30 agnostic), linked in every store footer.318. **Design pass** — `design/impeccable` critique/polish before store review.3233## Persist3435- Update `stores` (products, blog, assets, analytics, urls, checkout, printful36 config) as the build progresses; keep `status = building`.37- One `agent_runs` row per stage (`assets`, `products`, `site`, `copy`, `seo`,38 `aeo_geo`, `blog`); failed stages retried by build-check cron.39- Rebuild `packages/search` minisearch indices from PocketBase data.4041## Exit4243When all stages are done and the design pass passes: advance `building →44store_review` and write the review package (`selection.site_review` + preview45summary). The operator reviews and either requests refinements (chat) or46APPROVE LIVE.4748## Completion contract (final output)4950```text51skill: store-build52status: ok|partial|failed53store_id: <pb_id>54assets: N55products_synced: N56blog_final: N57agent_runs: [stage ids]58```