AGENT SKILL

open-design-landing-deck

Open Design's brand-story deck for partners and press: why it exists, what it believes, and where design is going. Built as a decision-grade marketing & GTM deck for partners, press, community.

License 许可
MIT
最近更新
2026-11-10
Stars
★ 1
Forks
0

01 前言 Front Matter

od
{ "mode": "deck", "tone": "editorial, restrained, premium", "craft": { "requires": [ "typographic-rhythm", "pixel-discipline" ] }, "scale": "6-15 viewport-locked slides", "preview": { "type": "html", "entry": "index.html" }, "surface": "web", "audience": "founders pitching, conference talks, internal reviews", "category": "marketing-gtm", "scenario": "marketing", "example_prompt": "Create \"Write a Brand-Story Deck like a Founder Storyteller\" as a decision-grade Marketing & GTM deck in this template's own visual system. Subject: Open Design's brand-story deck for partners and press: why it exists, what it believes, and where design is going. Audience: partners, press, community. First ask only for missing essentials: audience, decision target, source-of-truth materials, deadline, and must-keep numbers. Then produce the slide plan, written slides, visual direction, speaker-ready structure, and a critic pass against this rubric: can the plan connect creative choices to measurable growth." }
name
open-design-landing-deck
tags
[ "marketing-gtm", "annual-marketing-plan", "marketing", "launch", "campaign", "pipeline", "decision-deck", "commercial-slide-agent", "open-design-landing-deck" ]
inputs
[ { "id": "brand", "label": "Brand identity (shared across slides)", "schema_path": "./schema.ts#BrandBlock" }, { "id": "deck_title", "label": "Kicker shown in the per-slide top chrome", "description": "e.g. `'Open Design · Vol. 01 / Issue Nº 26'`." }, { "id": "slides", "label": "Ordered list of typed slides", "description": "Each entry is one of seven slide kinds. Mix and match freely; the composer routes each by `kind`.\n", "schema_path": "./schema.ts#Slide" }, { "id": "imagery", "label": "Image library (defaults to sister skill's assets)", "schema_path": "../open-design-landing/schema.ts#ImageryConfig" } ]
en_name
Write a Brand-Story Deck like a Founder Storyteller
outputs
[ { "path": "<out>/index.html", "description": "Self-contained HTML deck — Atelier Zero CSS inlined, runtime script inline, images relative." } ]
zh_name
像会讲故事的创始人一样写品牌故事稿
triggers
[ "annual-marketing-plan", "marketing-gtm", "Write a Brand-Story Deck like a Founder Storyteller", "像会讲故事的创始人一样写品牌故事稿", "launch", "campaign", "pipeline", "html deck", "html slides" ]
parameters
{ "slides_recommended_count": { "type": "number", "default": 11, "description": "8-15 is the sweet spot. Below 6 the deck feels thin; above 18 attendees lose the thread." } }
description
Open Design's brand-story deck for partners and press: why it exists, what it believes, and where design is going. Built as a decision-grade marketing & GTM deck for partners, press, community.
en_description
Open Design's brand-story deck for partners and press: why it exists, what it believes, and where design is going. Built as a decision-grade marketing & GTM deck for partners, press, community.
example_prompt
Build me an 11-slide pitch deck for "Lumen Field", a focus-soundscape studio. Cover with hero plate, two section dividers, two product content slides with bullets, a stats slide showing 12 soundscapes / 4 presets / 1 daily ritual, a customer quote, a closing CTA, and an end card. Reuse the open-design-landing image library.
zh_description
像会讲故事的创始人一样写品牌故事稿——一份可商业交付的市场增长 Deck,围绕真实主题、证据链与决策目标组织。
capabilities_required
[ "file-write", "node-runtime" ]

02 资源文件 5

03 SKILL.md 正文

open-design-landing-deck

Sister skill to open-design-landing. Same Atelier Zero visual system (warm paper, Inter Tight + Playfair Display, italic-serif emphasis, coral dots), but paginated as a horizontal magazine-style swipe deck instead of a long scrolling page.

The navigation model is intentionally borrowed from the guizang-ppt skill — ←/→ arrow keys, wheel / swipe, ESC for the overview grid — so it feels like a print magazine flipping page by page rather than a web slide deck scrolling.

inputs.json + ../open-design-landing/styles.css
        │
        └──────────► scripts/compose.ts
                            │
                            ▼
                   <out>/index.html
                   (one viewport per slide, horizontal swipe)

What you get

  • A single self-contained HTML file with N viewport-sized slides laid out horizontally on one transformed flex track.
  • Keyboard navigation: ←/→ · ↑/↓ · PageUp/PageDown · Space · Home/End.
  • Wheel + touch swipe (with momentum guard so a single trackpad flick doesn't overshoot).
  • Per-slide chrome strip: brand mark, deck title, location, Roman-numeral year, live slide counter (01 / 11).
  • Coral progress bar at the bottom that fills as you advance.
  • Dot indicator strip near the bottom; click any dot to jump.
  • ESC overview grid — scaled thumbnails of every slide, click to jump. Mirrors guizang-ppt's overview UX.
  • Reuses the same 16-slot image library as the sister skill — no duplicate assets.

Slide types

Kind Use it for
cover Title plate at the start. 2-column copy + collage art.
section Roman-numeral divider between chapters. Centered, full-bleed.
content Eyebrow + title + body + bullets + optional collage art.
stats Up to 4 large stat cells (value · label · sub-label).
quote Pull quote + author. Optional portrait collage on the right.
cta Closing pitch + 1-2 buttons.
end Mega italic-serif kicker word + signature footer.

A typical 11-slide pitch:

1. cover     — title plate, hero collage
2. section   — "I. The problem"
3. content   — about / manifesto, bullets
4. content   — capabilities, bullets
5. stats     — 4 numbers
6. section   — "II. How it feels"
7. content   — method, bullets
8. content   — selected work
9. quote     — customer testimonial
10. cta      — primary + secondary action
11. end      — mega kicker + signature

Workflow

1. Author inputs.json

Start from inputs.example.json (the Open Design pitch deck). The brand block, image strategy, and assets path mirror the sister skill — if you already filled out an open-design-landing brief, copy brand and imagery over verbatim.

For each slide, pick a kind and fill the typed fields from schema.ts. MixedText (sans-serif baseline + italic-serif emphasis spans + coral terminating dot) is the same encoding used by the sister skill — see its inputs.example.json.

2. (Optional) generate or stub imagery

This skill does not ship its own image generator or placeholder script — it shares the 16-slot library from open-design-landing. To regenerate or stub:

# generate via gpt-image-2 (fal.ai)
FAL_KEY=... 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/

Set your deck's inputs.imagery.assets_path to wherever those PNGs live (default in the example: ../open-design-landing/assets/).

3. Compose the deck

npx tsx scripts/compose.ts inputs.json out/index.html

The composer reads inputs.json, loads the canonical Atelier Zero stylesheet from ../open-design-landing/styles.css, layers deck-specific rules on top (horizontal flex track, slide layouts, HUD, dot nav, ESC overview, keyboard / wheel / touch handlers), and writes one self-contained HTML file.

4. Self-check

  • [ ] Open the HTML in a fresh browser tab; slide 1 (cover) shows with chrome strip top-right showing 01 / N.
  • [ ] Press → (or Space, or scroll-down). Smoothly slides one viewport to the right; dot nav advances; the coral progress bar ticks forward.
  • [ ] Press End. Jumps to the final slide.
  • [ ] Press Home. Returns to slide 1.
  • [ ] Press Esc. Overview grid appears with scaled thumbnails; click any tile to jump and dismiss the overview.
  • [ ] Resize to 1080px and 640px. Cover / content slides collapse to a single column; dot nav still works; chrome strips shrink.
  • [ ] prefers-reduced-motion: reduce (DevTools → Rendering): page transitions stay snappy and don't induce motion sickness.
  • [ ] Lighthouse: contrast AA, font-display swap, no layout shift.

Boundaries

  • Reuse the sister skill's stylesheet. The composer reads ../open-design-landing/styles.css at compile time. Do not maintain a duplicate copy here; if Atelier Zero tokens evolve, edit them once in the sister skill.
  • Reuse the sister skill's image library. No need to re-prompt or re-render — the same 16 plates work for both surfaces.
  • Keep slides single-viewport. If a slide's content does not fit 100vh × 100vw at 1280×800 it will overflow and feel cramped. Trim copy or split into two slides.
  • Do not switch to vertical scroll-snap. The horizontal swipe posture is what makes this skill feel like a magazine spread; a vertical scroller would just be a long landing page.
  • Do not add a router. This is a single-file artifact. Multi-page decks are out of scope; for a multi-deck experience, render each deck separately and link from a parent index.

See also

04 同仓库更多 Skills

YYC-Cube
YYC-Cube/YYC3-Knowledge-Base

vercel-sandbox

Run agent-browser + Chrome inside Vercel Sandbox microVMs for browser automation from any Vercel-deployed app. Use when the user needs browser automation in a Vercel app (Next.js, SvelteKit, Nuxt, Remix, Astro, etc.), wants to run headless Chrome without binary size limits, needs persistent browser sessions across commands, or wants ephemeral isolated browser environments. Triggers include "Vercel Sandbox browser", "microVM Chrome", "agent-browser in sandbox", "browser automation on Vercel", or any task requiring Chrome in a Vercel Sandbox.

★ 1
YYC-Cube
YYC-Cube/YYC3-Knowledge-Base

slack

Interact with Slack workspaces using browser automation. Use when the user needs to check unread channels, navigate Slack, send messages, extract data, find information, search conversations, or automate any Slack task. Triggers include "check my Slack", "what channels have unreads", "send a message to", "search Slack for", "extract from Slack", "find who said", or any task requiring programmatic Slack interaction.

★ 1
YYC-Cube
YYC-Cube/YYC3-Knowledge-Base

electron

Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools Protocol. Use when the user needs to interact with an Electron app, automate a desktop app, connect to a running app, control a native app, or test an Electron application. Triggers include "automate Slack app", "control VS Code", "interact with Discord app", "test this Electron app", "connect to desktop app", or any task requiring automation of a native Electron application.

★ 1
YYC-Cube
YYC-Cube/YYC3-Knowledge-Base

dogfood

Systematically explore and test a web application to find bugs, UX issues, and other problems. Use when asked to "dogfood", "QA", "exploratory test", "find issues", "bug hunt", "test this app/site/platform", or review the quality of a web application. Produces a structured report with full reproduction evidence -- step-by-step screenshots, repro videos, and detailed repro steps for every issue -- so findings can be handed directly to the responsible teams.

★ 1
YYC-Cube
YYC-Cube/YYC3-Knowledge-Base

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.

★ 1
YYC-Cube
YYC-Cube/YYC3-Knowledge-Base

shadcn

Manages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI, including chat interfaces. Provides project context, component docs, and usage examples. Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for "shadcn init", "create an app with --preset", "switch to --preset", and for building a design system or applying a DESIGN.md or brand spec to shadcn/ui.

★ 1