| name | source-command-landing-page |
| description | Landing-page architect + conversion squad — interview-first, anti-cookie-cutter, deterministic scaffold (lp-scaffold/lp-build), LGPD by default. (ADR-0023 + ADR-0050) |
source-command-landing-page
Use this skill when the user asks to run the migrated source command landing-page.
Command Template
🎯 Landing page (conversion squad)
Drive a landing-page pass from a strategic brief — structure by
landing-architect, persuasion by conversion-strategist, instrumentation by
tracking-integrator. Reads on every invocation:
- Landing-page playbook — fold rules + fold anatomy, neurodesign table, anti-Lovable refusals, package recs (dated), legal & consent defaults, performance budget.
- SEO + AISO playbook — indexability gate; refuse-on-SPA.
Authority: ADR-0023 + ADR-0050.
The pass, in order
- Interview (conversion-strategist). Check the brief in $ARGUMENTS for
the four answers — niche/sector · main pain · the ONE CTA · audience
sophistication. Ask ONLY what's missing; never re-ask what's given.
- Indexability decision FIRST (landing-architect). Static scaffold
(default for content pages), SSG framework (Astro) or SSR when app-like, or
carve-out via project ADR. Plain Vite + React is a refusal.
- Fold count from the rule table, then map each selected fold to its
persuasive function from the playbook's fold-anatomy menu. One message ·
one action · one proof per fold. No real social proof ⇒ the proof fold is
dropped, never faked.
- Scaffold, don't hand-write (static path):
node contextkit/tools/scripts/lp-scaffold.mjs --folds <selection> →
fill lp/content/copy.json + lp/content/legal.json (the AI's editing
surface — markup only changes for real structural needs) →
node contextkit/tools/scripts/lp-build.mjs --check.
- Refuse the cookie-cutter explicitly — walk the anti-Lovable table and
name each substitute. Framework variant: packages from the dated rec table.
- Legal & consent are defaults. Consent banner ON, GTM ID-less, pixels as
commented models only, privacy policy + terms generated from
legal.json
(minuta — lawyer disclaimer stays). Route the filled docs to privacy-lgpd.
- Delegate: visual tokens/layout →
ui-designer · flow → ux-designer ·
indexability + AISO → seo-specialist (mandatory gate) · GTM/pixels/webhook
→ tracking-integrator · WCAG AA → accessibility · imagery → /media-gen.
- Exit gates.
lp-build.mjs --check green (no leftover tokens/sentinels;
seo-audit + aiso-audit clean on dist/) + the performance budget
restated (LCP < 2.5 s · INP < 200 ms · CLS < 0.1 · first-fold JS < 100 kB).
Output shape
- Interview answers (or the questions still open).
- Indexability decision + rendering path (scaffold / framework) with rationale.
- Fold map — each line
<fold> · <message> · <action> · <proof> + the
neurodesign technique it leans on.
- Anti-Lovable map (smell → substitute).
- Scaffold/build commands run +
--check result.
- Legal & consent status (docs generated, what
privacy-lgpd must review).
- Delegations + performance budget.
What this does NOT do
- Invent domain content: copy, testimonials, numbers and legal facts come from
the user (rule 9). Placeholder sentinels are open items, not content.
- Wire a tracker to fire before consent, or hardcode a container/pixel ID.
- Override a project-local ADR that carves out indexability.