* chore: remove extracted landing-page from the monorepo The marketing site now lives in a separate repository. Drop the Astro app, its GitHub workflows/scripts, and the remaining monorepo coupling so this workspace no longer builds or deploys it. * fix: drop leftover landing-page coupling from Teams and skills Point development enterprise URLs at the deployed marketing origin, remove nextjs-app skill outputs that no longer emit a page, and stop advertising apps/landing-page in plugin marketplace metadata. Generated-By: looper 0.12.0 (runner=fixer, agent=omp) * fix(ci): restore DSH installer E2E Vitest routing Removing dsh-bootstrap-identity dropped the only planner route from tools/release/resources/dsh-bootstrap/ to web_tests_required, so installer-only PRs skipped e2e/tests/dsh-installer-version-policy.test.ts. Generated-By: looper 0.12.0 (runner=fixer, agent=omp) * docs: drop leftover landing-page paths from template assets The skill contract no longer advertises the extracted Astro app, but styles.css, compose.ts, and example.html still named deleted apps/landing-page sources. Describe the standalone template behavior instead and keep the bundled plugin example in sync. Generated-By: looper 0.12.0 (runner=fixer, agent=omp) * docs: keep landing-page off review and test surfaces Add apps/landing-page to the forbidden-surface review list and stop naming the extracted path in plugin registry acceptance tables. Generated-By: looper 0.12.0 (runner=fixer, agent=omp) * fix: drop leftover landing-page refs and bump plugin version Stop naming the deleted apps/landing-page in the landing-deck demo and plugin-registry plan. Bump example-open-design-landing to 0.1.1 and keep the official catalog version aligned with the bundled manifest. Generated-By: looper 0.12.0 (runner=fixer, agent=omp)
open-design-landing-deck
Sister design template to open-design-landing.
Produces a single-file slide deck in the Atelier Zero design
language — warm-paper background, italic-serif emphasis, coral
terminating dots, surreal collage plates — paginated as a horizontal
magazine swipe deck (←/→ · wheel · touch · ESC overview), the same
nav model as guizang-ppt.
Read first — agent contract, schema, and self-check live in
SKILL.md. This README is the human quick-start.
30-second tour
# 1. Compose the worked example.
npx tsx scripts/compose.ts inputs.example.json example.html
# 2. Open it.
open example.html
The deck assumes 16 collage assets at ../open-design-landing/assets/
(the sister template ships them). Use ←/→ · Space · PageUp/PageDown ·
Home/End to navigate, ESC for the overview grid.
What you get
- N viewport-sized slides (the worked example has 11) laid out
horizontally on a
transform: translateX(...)flex track. - Per-slide chrome strip (top + bottom): brand mark · deck title ·
location · live
NN / TTcounter. - Coral progress bar at the bottom that fills as you advance.
- Dot indicator near the bottom (click to jump).
- ESC overview grid with scaled thumbnails.
- 7 slide kinds:
cover,section,content,stats,quote,cta,end. Mix freely. - Same 16-slot image library as the landing-page sister template — no extra prompting or rendering.
Files
design-templates/open-design-landing-deck/
├── SKILL.md # ← agent contract (read this first)
├── README.md # ← you are here
├── schema.ts # typed slide variants + brand block (re-exports from sister)
├── inputs.example.json # OpenDesign 11-slide pitch deck
├── example.html # canonical rendering
└── scripts/
└── compose.ts # inputs.json + sister styles.css → index.html
Authoring a deck
-
Copy
inputs.example.jsonto your project asinputs.json. -
Edit
brand(or copy it from aninputs.jsonfor the sister template). -
Set
deck_title(the kicker shown in the chrome strip). -
Build the
slidesarray. Each entry is one of seven kinds — seeschema.tsfor the full type. A typical pitch:1. cover — title plate 2. section — chapter divider 3-5. content — manifesto, capabilities, method 6. stats — the numbers 7. section — chapter divider 8. content — selected work 9. quote — customer testimonial 10. cta — primary action 11. end — kicker word -
Run the composer:
npx tsx scripts/compose.ts inputs.json out/index.html
Image strategy
The deck inherits the sister template's 16-slot image library. Set
inputs.imagery.assets_path to wherever those PNGs live; the example
uses '../open-design-landing/assets/'.
To regenerate or stub:
# Generate via gpt-image-2 (fal.ai)
FAL_KEY=fal-... npx tsx ../open-design-landing/scripts/imagegen.ts \
../open-design-landing/inputs.example.json \
--out=../open-design-landing/assets/
# Or paper-textured SVG placeholders
npx tsx ../open-design-landing/scripts/placeholder.ts ../open-design-landing/assets/
Migrating from editorial-collage-deck
This design template replaces the older editorial-collage-deck skill. The renames
are mechanical:
| Old | New |
|---|---|
skill folder editorial-collage-deck/ |
open-design-landing-deck/ |
shared assets ../editorial-collage/assets/ |
../open-design-landing/assets/ |
TS type EditorialCollageDeckInputs |
OpenDesignLandingDeckInputs |
The deprecated EditorialCollageDeckInputs alias is still re-exported from
schema.ts for backwards compatibility. New code should use
OpenDesignLandingDeckInputs.
See also
open-design-landing— landing-page sister template.guizang-ppt— the magazine-deck navigation pattern this template borrows.design-systems/atelier-zero/DESIGN.md— design tokens.