1---2name: client-lifecycle3description: Client-lifecycle — Index4---56# Client-lifecycle — Index78Persimmon engagements are scoped: the client keeps the code and the keys, no subscription lock-in. This mother covers the **bookends** of an engagement — intake/branding at the start, and email/SEO/analytics/handoff toward delivery. This is a map; follow the child for the work.910## Trigger1112- "Onboard a new client / extract their brand"13- "Set up transactional email / improve deliverability"14- "Add SEO metadata / structured data / sitemap"15- "Wire up analytics / conversion tracking"16- "Produce the handoff manual and train the client"1718## The child skills1920| Skill | When to use | Owns |21|---|---|---|22| `client-onboarding` | Start of engagement | Playwright site audit, brand/asset extraction → `docs/PROJECT-BRIEF.md` + `docs/BRAND-GUIDE.md` |23| `client-transactional-email` | Sending email | Resend (primary) / SendGrid (alt) wrapper, HTML templates, SPF/DKIM/DMARC, retries |24| `client-seo` | Public-facing pages | Next 16 Metadata API, JSON-LD, `app/sitemap.ts`, `app/robots.ts`, OG, `/llms.txt` |25| `client-analytics` | Tracking | GA4/GTM via `@next/third-parties`, Meta Pixel, consent gating, conversion events |26| `client-handoff` | End of engagement | Non-technical admin manual, walkthrough, training agenda; client owns repo + keys |27| `client-public-site-build` | Building a public website | End-to-end public site on Next.js 16 — ingest, creative direction, Server Components, Railway deploy |2829## How to route30311. **New client** → `client-onboarding` (after `meta-new-client-project` creates the repo).322. **Going live, public site** → `client-seo` + `client-analytics`, email via `client-transactional-email`.333. **Delivering** → `client-handoff` (after `quality-final-review` and `meta-deployment-plan`).3435## Persimmon client-lifecycle defaults — one-screen summary3637- **The client owns the repo and the keys** — every credential, env var, and bucket is theirs; document them at handoff.38- **Email** through one `src/lib/email/` wrapper (Resend default); verify SPF/DKIM/DMARC before launch.39- **SEO** via the Next 16 Metadata API and file conventions (`app/sitemap.ts`, `app/robots.ts`) — not hand-rolled `<head>` tags.40- **Analytics IDs are the sanctioned `NEXT_PUBLIC_*` exception**; everything else stays server-side. Gate tracking behind consent.41- **Brand + handoff artifacts are durable docs** in the client repo, not throwaway chat output.4243## Anti-patterns banned4445- Hardcoding the client's API keys, or leaving them in Persimmon's accounts at handoff46- Sending email straight from a Server Action instead of through the `src/lib/email/` wrapper47- Hand-rolled `<head>` SEO tags instead of `generateMetadata`48- Firing analytics/pixels before consent49- Delivering without a written admin manual and credential inventory5051## Relationship to other mothers5253| Mother | Connection |54|---|---|55| `project-meta` | `meta-new-client-project` precedes onboarding; `meta-deployment-plan` pairs with handoff |56| `quality` | `quality-final-review` + `quality-production-readiness` gate delivery before `client-handoff` |57| `frontend` | `frontend-public-site-conventions` styles the pages these skills instrument |58| `stack` / `infra` | Email/analytics wrappers live in `src/lib/`; `infra-railway-deploy` owns the env vars handed over |