Files
Marc ChanandGitHub 1d2150007b chore: remove extracted landing-page from the monorepo (#7727)
* 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)
2026-09-03 03:21:08 +00:00
..

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 / TT counter.
  • 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

  1. Copy inputs.example.json to your project as inputs.json.

  2. Edit brand (or copy it from an inputs.json for the sister template).

  3. Set deck_title (the kicker shown in the chrome strip).

  4. Build the slides array. Each entry is one of seven kinds — see schema.ts for 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
    
  5. 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