@vm0/cli 9.166.0 → 9.167.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/zero.js CHANGED
@@ -152,7 +152,7 @@ import {
152
152
  zeroAgentCustomSkillNameSchema,
153
153
  zeroLocalAgentCommand,
154
154
  zeroTokenAllowsFeatureSwitch
155
- } from "./chunk-TRRVYMW2.js";
155
+ } from "./chunk-XK7CCHB4.js";
156
156
  import {
157
157
  __toESM,
158
158
  init_esm_shims
@@ -2046,6 +2046,17 @@ async function getPlatformOrigin() {
2046
2046
 
2047
2047
  // src/commands/zero/connector/status.ts
2048
2048
  var LABEL_WIDTH = 16;
2049
+ function isConnectorType3(type) {
2050
+ return type in CONNECTOR_TYPES;
2051
+ }
2052
+ async function availableConnectorTypes() {
2053
+ const catalog = await searchZeroConnectors();
2054
+ return new Set(
2055
+ catalog.connectors.map((connector) => {
2056
+ return connector.id;
2057
+ }).filter(isConnectorType3)
2058
+ );
2059
+ }
2049
2060
  function printConnectorDetails(type, connector) {
2050
2061
  if (connector) {
2051
2062
  console.log(
@@ -2147,18 +2158,25 @@ var statusCommand2 = new Command().name("status").description("Show detailed sta
2147
2158
  withErrorHandler(async (type, options) => {
2148
2159
  const parseResult = connectorTypeSchema.safeParse(type);
2149
2160
  if (!parseResult.success) {
2150
- const available = CONNECTOR_TYPE_KEYS.join(", ");
2161
+ const available2 = CONNECTOR_TYPE_KEYS.join(", ");
2151
2162
  throw new Error(`Unknown connector type: ${type}`, {
2152
- cause: new Error(`Available connectors: ${available}`)
2163
+ cause: new Error(`Available connectors: ${available2}`)
2153
2164
  });
2154
2165
  }
2155
- const [connector, agentCtx] = await Promise.all([
2166
+ const [connector, availableTypes, agentCtx] = await Promise.all([
2156
2167
  getZeroConnector(parseResult.data),
2168
+ availableConnectorTypes(),
2157
2169
  resolveAgentContext(options.agent)
2158
2170
  ]);
2171
+ const available = availableTypes.has(parseResult.data);
2159
2172
  console.log(`Connector: ${source_default.cyan(type)}`);
2160
2173
  console.log();
2161
2174
  printConnectorDetails(parseResult.data, connector);
2175
+ if (!available) {
2176
+ console.log();
2177
+ console.log(`The ${type} connector is not available for this account.`);
2178
+ return;
2179
+ }
2162
2180
  if (agentCtx) {
2163
2181
  await printAgentAction(parseResult.data, connector, agentCtx);
2164
2182
  } else {
@@ -2231,6 +2249,18 @@ init_esm_shims();
2231
2249
 
2232
2250
  // src/commands/zero/doctor/check-connector.ts
2233
2251
  init_esm_shims();
2252
+ function isConnectorType4(type) {
2253
+ return type in CONNECTOR_TYPES;
2254
+ }
2255
+ async function connectorTypeIsAvailable(type) {
2256
+ if (!isConnectorType4(type)) {
2257
+ return false;
2258
+ }
2259
+ const catalog = await searchZeroConnectors();
2260
+ return catalog.connectors.some((connector) => {
2261
+ return connector.id === type;
2262
+ });
2263
+ }
2234
2264
  function resolveConnectorFromUrl(url) {
2235
2265
  const allTypes = CONNECTOR_TYPE_KEYS;
2236
2266
  const normalized = url.endsWith("/") ? url.slice(0, -1) : url;
@@ -2298,7 +2328,11 @@ async function checkConnectorStatus(ctx) {
2298
2328
  `### 2a: Connector status (user must configure via OAuth login or API key)`
2299
2329
  );
2300
2330
  console.log("");
2301
- if (!isConnected) {
2331
+ if (!ctx.connectorAvailable) {
2332
+ console.log(
2333
+ `The ${ctx.label} connector is not available for this account.`
2334
+ );
2335
+ } else if (!isConnected) {
2302
2336
  console.log(`The ${ctx.label} connector is not connected.`);
2303
2337
  if (ctx.agentId && hasPermission) {
2304
2338
  const connectUrl = `${ctx.platformOrigin}/connectors/${ctx.connectorType}/connect?agentId=${ctx.agentId}`;
@@ -2321,7 +2355,11 @@ async function checkConnectorStatus(ctx) {
2321
2355
  `### 2b: Agent authorization (user must authorize agent to use this connector)`
2322
2356
  );
2323
2357
  console.log("");
2324
- if (!ctx.agentId) {
2358
+ if (!ctx.connectorAvailable) {
2359
+ console.log(
2360
+ `Skipped \u2014 the ${ctx.label} connector is not available for this account.`
2361
+ );
2362
+ } else if (!ctx.agentId) {
2325
2363
  console.log("ZERO_AGENT_ID is not set \u2014 cannot check agent authorization.");
2326
2364
  } else if (isExpired) {
2327
2365
  console.log(
@@ -2588,12 +2626,16 @@ How connectors work:
2588
2626
  }
2589
2627
  console.log("");
2590
2628
  const { label } = CONNECTOR_TYPES[connectorType];
2591
- const apiUrl = await getApiUrl();
2629
+ const [apiUrl, connectorAvailable] = await Promise.all([
2630
+ getApiUrl(),
2631
+ connectorTypeIsAvailable(connectorType)
2632
+ ]);
2592
2633
  const platformUrl = toPlatformUrl(apiUrl);
2593
2634
  const ctx = {
2594
2635
  envName,
2595
2636
  connectorType,
2596
2637
  label,
2638
+ connectorAvailable,
2597
2639
  platformOrigin: platformUrl.origin,
2598
2640
  agentId: process.env.ZERO_AGENT_ID || void 0
2599
2641
  };
@@ -2944,6 +2986,17 @@ function getGenerationConnectors(generationType) {
2944
2986
  return a.localeCompare(b);
2945
2987
  });
2946
2988
  }
2989
+ function isConnectorType5(type) {
2990
+ return type in CONNECTOR_TYPES;
2991
+ }
2992
+ async function getFeatureAvailableConnectorTypes() {
2993
+ const catalog = await searchZeroConnectors();
2994
+ return new Set(
2995
+ catalog.connectors.map((connector) => {
2996
+ return connector.id;
2997
+ }).filter(isConnectorType5)
2998
+ );
2999
+ }
2947
3000
  function formatAccount(connector) {
2948
3001
  if (connector.externalUsername) return `@${connector.externalUsername}`;
2949
3002
  if (connector.externalEmail) return connector.externalEmail;
@@ -2983,13 +3036,17 @@ function toCandidate(params) {
2983
3036
  config,
2984
3037
  connector,
2985
3038
  configuredTypes,
3039
+ availableTypes,
2986
3040
  authorizedTypes,
2987
3041
  agentId,
2988
3042
  platformOrigin
2989
3043
  } = params;
2990
3044
  let status;
2991
3045
  let reason;
2992
- if (connector?.needsReconnect) {
3046
+ if (!availableTypes.has(type)) {
3047
+ status = "not-available";
3048
+ reason = "not available for this account";
3049
+ } else if (connector?.needsReconnect) {
2993
3050
  status = "needs-reconnect";
2994
3051
  reason = "connected, reconnect required";
2995
3052
  } else if (!connector) {
@@ -3121,8 +3178,9 @@ var generateCommand = new Command().name("generate").description("Show generatio
3121
3178
  const generationType = parseGenerationType(type);
3122
3179
  const connectorGenerationType = getConnectorGenerationType(generationType);
3123
3180
  const agentId = process.env.ZERO_AGENT_ID;
3124
- const [connectorList, enabledTypes, platformOrigin] = await Promise.all([
3181
+ const [connectorList, availableTypes, enabledTypes, platformOrigin] = await Promise.all([
3125
3182
  listZeroConnectors(),
3183
+ getFeatureAvailableConnectorTypes(),
3126
3184
  agentId ? getZeroAgentUserConnectors(agentId) : Promise.resolve(null),
3127
3185
  getPlatformOrigin()
3128
3186
  ]);
@@ -3140,6 +3198,7 @@ var generateCommand = new Command().name("generate").description("Show generatio
3140
3198
  config,
3141
3199
  connector: connectedMap.get(connectorType),
3142
3200
  configuredTypes,
3201
+ availableTypes,
3143
3202
  authorizedTypes,
3144
3203
  agentId,
3145
3204
  platformOrigin
@@ -7217,26 +7276,606 @@ function sourceRef(repo, commit, path) {
7217
7276
  function source(path) {
7218
7277
  return sourceRef(OPEN_DESIGN_REPO, OPEN_DESIGN_COMMIT, path);
7219
7278
  }
7220
- var OPEN_DESIGN_REGISTRY = [
7221
- {
7222
- id: "od:skill:data-report",
7279
+ var STYLE_OPEN_DESIGN_SKILL_SLUGS = [
7280
+ "8-bit-orbit-video-template",
7281
+ "after-hours-editorial-template",
7282
+ "algorithmic-art",
7283
+ "apple-hig",
7284
+ "brainstorming",
7285
+ "brand-guidelines",
7286
+ "canvas-design",
7287
+ "card-twitter",
7288
+ "card-xiaohongshu",
7289
+ "color-expert",
7290
+ "creative-director",
7291
+ "d3-visualization",
7292
+ "deck-guizang-editorial",
7293
+ "deck-open-slide-canvas",
7294
+ "deck-swiss-international",
7295
+ "design-consultation",
7296
+ "design-md",
7297
+ "design-review",
7298
+ "digits-fintech-swiss-template",
7299
+ "doc-kami-parchment",
7300
+ "editorial-burgundy-principles-template",
7301
+ "enhance-prompt",
7302
+ "faq-page",
7303
+ "field-notes-editorial-template",
7304
+ "figma-create-design-system-rules",
7305
+ "figma-generate-design",
7306
+ "figma-generate-library",
7307
+ "figma-implement-design",
7308
+ "flutter-animating-apps",
7309
+ "frame-data-chart-nyt",
7310
+ "frame-flowchart-sticky",
7311
+ "frame-glitch-title",
7312
+ "frame-light-leak-cinema",
7313
+ "frame-liquid-bg-hero",
7314
+ "frame-logo-outro",
7315
+ "frame-macos-notification",
7316
+ "frontend-design",
7317
+ "frontend-dev",
7318
+ "frontend-skill",
7319
+ "frontend-slides",
7320
+ "gsap-core",
7321
+ "gsap-react",
7322
+ "gsap-scrolltrigger",
7323
+ "gsap-timeline",
7324
+ "hand-drawn-diagrams",
7325
+ "hatch-pet",
7326
+ "html-ppt-retro-quarterly-review",
7327
+ "login-flow",
7328
+ "mockup-device-3d",
7329
+ "paywall-upgrade-cro",
7330
+ "plan-design-review",
7331
+ "platform-design",
7332
+ "poster-hero",
7333
+ "ppt-keynote",
7334
+ "release-notes-one-pager",
7335
+ "resume-modern",
7336
+ "screenshots-marketing",
7337
+ "shadcn-ui",
7338
+ "shader-dev",
7339
+ "slack-gif-creator",
7340
+ "slides",
7341
+ "social-reddit-card",
7342
+ "social-spotify-card",
7343
+ "social-x-post-card",
7344
+ "stitch-loop",
7345
+ "swiftui-design",
7346
+ "swiss-creative-mode-template",
7347
+ "swiss-user-research-video-template",
7348
+ "taste-skill",
7349
+ "theme-factory",
7350
+ "threejs",
7351
+ "ui-skills",
7352
+ "ui-ux-pro-max",
7353
+ "vfx-text-cursor",
7354
+ "video-hyperframes",
7355
+ "web-design-guidelines",
7356
+ "weread-year-in-review-video-template",
7357
+ "wpds"
7358
+ ];
7359
+ var STYLE_OPEN_DESIGN_SKILL_DESCRIPTIONS = {
7360
+ "8-bit-orbit-video-template": "Hyperframes-based video template for retro pixel deck motion design. Use when users want a high-fidelity, multi-scene HTML-to-video composition with advanced transitions, interactive preview controls, and ready-to-render default style.",
7361
+ "after-hours-editorial-template": "Luxury dark-editorial HyperFrames template for three-page cinematic storyboards, inspired by haute couture title cards and magazine chapter spreads. Use when the user asks for premium fashion-style motion pages, moody serif-led storytelling, or a high-end dark presentation aesthetic with rich transitions.",
7362
+ "algorithmic-art": "Create generative art using p5.js with seeded randomness so every render is reproducible. Useful for procedural posters, motion-style stills, and artistic frame studies.",
7363
+ "apple-hig": "Apple Human Interface Guidelines as 14 agent skills covering platforms, foundations, components, patterns, inputs, and technologies for iOS, macOS, visionOS, watchOS, and tvOS.",
7364
+ brainstorming: "Transform rough ideas into fully-formed designs through structured questioning and alternative exploration. Useful early in concept work.",
7365
+ "brand-guidelines": "Apply Anthropic's official brand colors and typography to artifacts for consistent visual identity and professional design standards. A reference for shaping your own.",
7366
+ "canvas-design": "Create beautiful visual art in PNG and PDF documents using design philosophy and aesthetic principles for posters, illustrations, and static pieces.",
7367
+ "card-twitter": "Twitter quote or data card designed to pair with a post.",
7368
+ "card-xiaohongshu": "Xiaohongshu-style knowledge cards, arranged as a swipeable multi-card carousel.",
7369
+ "color-expert": "Color science expert skill with 286K words of reference material covering OKLCH/OKLAB, palette generation, accessibility/contrast, color naming, pigment mixing, and historical color theory.",
7370
+ "creative-director": "AI creative director with recursive self-assessment: 20+ methodologies (SIT, TRIZ, Bisociation, SCAMPER, Synectics), 3-axis evaluation calibrated against Cannes/D&AD/HumanKind, 5-phase process from brief to presentation.",
7371
+ "d3-visualization": "Teaches the agent to produce D3 charts and interactive data visualizations. Useful for editorial dashboards, reports, and explanatory graphics.",
7372
+ "deck-guizang-editorial": "Editorial magazine meets e-ink: 10 layouts and 5 palettes (Ink, Indigo Porcelain, Forest Ink, Kraft Paper, Dune).",
7373
+ "deck-open-slide-canvas": "Locked 1920x1080 canvas deck with React component-level free composition, not bound to a fixed template.",
7374
+ "deck-swiss-international": "16-column grid, one saturated accent, and 22 locked layouts (Klein Blue, Lemon, Mint, Safety Orange).",
7375
+ "design-consultation": "Build a complete design system from scratch with creative risks and realistic product mockups. Useful for kickoff workshops and brand-from-zero work.",
7376
+ "design-md": "Create and manage DESIGN.md files. Useful for capturing design direction, tokens, and visual rules in a single source of truth.",
7377
+ "design-review": "Designer Who Codes: visual audit then fixes with atomic commits and before/after screenshots. Useful for tightening shipped UI before launch.",
7378
+ "digits-fintech-swiss-template": "Swiss-grid fintech deck template in black / warm paper / neon-lime contrast. Use when users ask for premium data-story slides with strict modular layout, bold numeric cards, restrained motion, and keyboard/click navigation in one HTML file.",
7379
+ "doc-kami-parchment": "Warm parchment canvas (#f5f4ed), monochrome ink-blue accent (#1B365D), one serif family, and editorial-grade typography.",
7380
+ "editorial-burgundy-principles-template": "Editorial studio deck template in burgundy / blush / muted-gold palette. Use when users ask for premium manifesto or culture slides with pill tags, large typographic statements, principle cards, and guided keyboard/click navigation.",
7381
+ "enhance-prompt": "Improve prompts with design specs and UI/UX vocabulary. Useful for design-to-code workflows and clarifying requests for visual output.",
7382
+ "faq-page": 'A Frequently Asked Questions (FAQ) page with collapsible accordion sections, search functionality, and category filtering. Use when the brief asks for "FAQ", "help center", "questions", or "support page".',
7383
+ "field-notes-editorial-template": 'Editorial "Field Notes" report template with soft paper background, serif hero typography, rounded pastel insight cards, and a retention chart panel. Use when users ask for a premium magazine-style business report, board memo one-pager, or elegant data storytelling layout.',
7384
+ "figma-create-design-system-rules": "Generate project-specific design system rules for Figma-to-code workflows. Useful for capturing tokens, naming, and lint rules in one source.",
7385
+ "figma-generate-design": "Build or update screens in Figma from code or description using design system components. Translate app pages into Figma using design tokens.",
7386
+ "figma-generate-library": "Build or update a professional-grade design system library in Figma from a codebase. Useful for keeping the Figma source of truth in sync with shipped components.",
7387
+ "figma-implement-design": "Translate Figma designs into production-ready code with 1:1 visual fidelity. Useful for handing off Figma frames straight to a frontend agent.",
7388
+ "flutter-animating-apps": "Implement animated effects, transitions, and motion in Flutter apps. Useful for native iOS/Android motion design.",
7389
+ "frame-data-chart-nyt": "NYT-newsroom typography, staggered reveal animation, and editorial-grade charts (line, bar, or range band).",
7390
+ "frame-flowchart-sticky": "SVG curve connectors, sticky-note nodes, and cursor interaction with a whiteboard-brainstorm feel.",
7391
+ "frame-glitch-title": "Digital glitch, chromatic offset, and data-corruption title frame for video transitions or cyberpunk heroes.",
7392
+ "frame-light-leak-cinema": "Film light leaks, grain, 16:9 letterbox, and large serif type for cinematic openings or chapter cards.",
7393
+ "frame-liquid-bg-hero": "WebGL-style fluid displacement background with a quote overlay, suited to video intros, landing heroes, or posters.",
7394
+ "frame-logo-outro": "Segmented logo assembly, glow bloom, and tagline reveal for video outros or brand closing frames.",
7395
+ "frame-macos-notification": "Realistic macOS notification banner with app icon, title, and body, suited to video overlays or product teasers.",
7396
+ "frontend-design": "Frontend design and UI/UX development tools for shipping production-ready interfaces with strong typographic and layout discipline.",
7397
+ "frontend-dev": "Full-stack frontend with cinematic animations, AI-generated media via MiniMax API, and generative art. Useful for hero pages and showcase sites.",
7398
+ "frontend-skill": "Create visually strong landing pages, websites, and app UIs with restrained composition. OpenAI's production frontend playbook.",
7399
+ "frontend-slides": "Generate animation-rich HTML presentations with visual style previews. Useful for online keynotes, embedded talks, and interactive briefs.",
7400
+ "gsap-core": "Core GSAP API with gsap.to(), from(), fromTo(), easing, duration, stagger, and defaults. Production-grade web animation primitives.",
7401
+ "gsap-react": "GSAP React integration with useGSAP hook, refs, gsap.context(), cleanup, and SSR. Ships safe motion in React + Next.js apps.",
7402
+ "gsap-scrolltrigger": "GSAP ScrollTrigger for scroll-linked animations, pinning, scrub, and refresh handling. Useful for editorial sites and product pages.",
7403
+ "gsap-timeline": "GSAP Timelines with sequencing, position parameter, labels, nesting, and playback control. Useful for orchestrating multi-step motion sequences.",
7404
+ "hand-drawn-diagrams": "Generate hand-drawn Excalidraw diagrams from a prompt - animated SVG, hosted edit link, and PNG export. Works with Claude Code, Codex, Gemini CLI, and any agent supporting standard skill paths.",
7405
+ "hatch-pet": "Create, repair, validate, preview, and package Codex-compatible animated pet spritesheets from character art, screenshots, generated images, or visual references. Use when a user wants to hatch a Codex pet, create a custom animated pet, or build a built-in pet asset with an 8x9 atlas, transparent unused cells, row-by-row animation prompts, QA contact sheets, preview videos, and pet.json packaging. This skill composes the installed $imagegen system skill for visual generation and uses bundled scripts for deterministic spritesheet assembly.",
7406
+ "html-ppt-retro-quarterly-review": "Retro Quarterly Review presentation template in a bold blue + orange editorial language. Use when users ask for a high-impact quarterly review / roadmap deck with heavyweight slab headlines, clean cream paper sections, structured grids, and fast premium motion pacing (3 slides, each hold under 3s in video mode).",
7407
+ "login-flow": "Mobile login and authentication flow screens",
7408
+ "mockup-device-3d": "Static iPhone and MacBook 3D-style showcase with real HTML embedded on screens, glass-lens refraction, and 360-degree turntable composition.",
7409
+ "paywall-upgrade-cro": "Design and optimize upgrade screens, paywalls, and upsell modals. Useful for SaaS conversion design and pricing-page experiments.",
7410
+ "plan-design-review": "Senior Designer review: rates each design dimension 0-10, explains what a 10 looks like, and flags AI Slop signals. Useful as a gate before merging UI work.",
7411
+ "platform-design": "300+ design rules from Apple HIG, Material Design 3, and WCAG 2.2 for cross-platform apps. Useful when shipping a single design across iOS, Android, and the web.",
7412
+ "poster-hero": "Vertical poster or Moments-style share image with strong visual impact.",
7413
+ "ppt-keynote": "Apple Keynote-quality slides, one card per screen, with keyboard left/right navigation.",
7414
+ "release-notes-one-pager": 'Release notes one-page HTML with highlights, Added, Fixed, Breaking changes, Known issues, and Upgrade note. Writes explicit "None" style sections whenever the user does not provide details.',
7415
+ "resume-modern": "Modern minimal resume, single A4 page, ready for print or PDF export.",
7416
+ "screenshots-marketing": "Generate marketing screenshots with Playwright. Useful for landing-page hero shots, App Store screenshots, and changelog visuals.",
7417
+ "shadcn-ui": "Build UI components with shadcn/ui. Pairs with the Stitch design loop to ship structured, accessible components quickly.",
7418
+ "shader-dev": "GLSL shader techniques for ray marching, fluid simulation, particle systems, and procedural generation. Useful for hero visuals and motion stills.",
7419
+ "slack-gif-creator": "Create animated GIFs optimized for Slack with validators for size constraints and composable animation primitives.",
7420
+ slides: "Create and edit .pptx presentation decks with PptxGenJS. Useful for sales decks, kickoff briefs, and design-system showcases.",
7421
+ "social-reddit-card": "Realistic Reddit post card with vote rail and comment count, suited to video overlays or story sharing.",
7422
+ "social-spotify-card": "Spotify Now Playing-style card with album art, progress bar, and playback controls, suited to video overlays or personal homepages.",
7423
+ "social-x-post-card": "Realistic X post card with engagement metrics (likes, reposts, views), suited to video overlays or shareable image cards.",
7424
+ "stitch-loop": "Iterative design-to-code feedback loop. Critique adjust ship cycle for tightening visual fidelity between brief and built UI.",
7425
+ "swiftui-design": "SwiftUI skill - anti AI-slop rules, design direction advisor, brand asset protocol, and five-dimension review. Works with Claude Code, Cursor, Codex, and OpenCode.",
7426
+ "swiss-creative-mode-template": "Swiss-inspired creative-mode presentation template skill with bold editorial typography, high-contrast geometric cards, interactive slide navigation, theme switching, hotspot overlays, and palette choreography in a single-file HTML artifact. Use when users ask for a premium presentation-style landing, a Swiss/brutalist deck look, or a creative launch page with rich interactions.",
7427
+ "swiss-user-research-video-template": "Swiss-style user-research narrative template in warm-paper editorial aesthetics. Use when users ask for a premium research deck or story-first live artifact with minimalist typography, high-clarity layout, subtle motion, donut breakdowns, and keyboard/click navigation across slides in a single HTML file.",
7428
+ "taste-skill": "High-agency frontend skill that gives AI good taste with tunable design variance, motion intensity, and visual density to stop generic UI slop.",
7429
+ "theme-factory": "Apply professional font and color themes to artifacts including slides, docs, reports, and HTML landing pages. Ships 10 pre-set themes.",
7430
+ threejs: "Three.js skills for creating 3D elements and interactive experiences in the browser - scenes, materials, controls, and post-processing.",
7431
+ "ui-skills": "Opinionated, evolving constraints to guide agents when building interfaces. Useful for keeping output coherent across many small UI pieces.",
7432
+ "ui-ux-pro-max": "Catalog-only UI/UX Pro Max entry. The full upstream templates, data, and search workflow are not bundled in Open Design.",
7433
+ "vfx-text-cursor": "Cursor light trail, chromatic rays, and directional flares for word-by-word quote reveals in video intros.",
7434
+ "video-hyperframes": "Hyperframes / Remotion-compatible continuous frame animation with autoplay support.",
7435
+ "web-design-guidelines": "Web design guidelines and standards by the Vercel engineering team. Covers layout, typography, color, motion, and accessibility for product UI.",
7436
+ "weread-year-in-review-video-template": "WeRead-inspired HyperFrames video template for vertical annual reading reports, personal reading dashboards, book-note recaps, and shareable year-in-review stories. Use when users want a 9:16 HTML-to-MP4 reading report with warm paper texture, editorial Chinese typography, book-page metaphors, data highlights, and deterministic motion.",
7437
+ wpds: "WordPress Design System. Apply WordPress's official design tokens, typography, and component patterns to themes and sites."
7438
+ };
7439
+ var ADDITIONAL_OPEN_DESIGN_TEMPLATE_DESCRIPTIONS = {
7440
+ "audio-jingle": "Audio generation skill \u2014 jingles, beds, voiceover, and sound effects. Routes music requests to Suno V5 / Udio / Lyria, speech to MiniMax TTS / FishAudio / ElevenLabs V3, and SFX to ElevenLabs SFX or AudioCraft. Output is one MP3/WAV file saved to the project folder.",
7441
+ "blog-post": 'A long-form article / blog post \u2014 masthead, hero image placeholder, article body with figures and pull quotes, author byline, related posts. Use when the brief asks for "blog", "article", "post", "essay", or "case study".',
7442
+ "clinical-case-report": 'Structured medical case presentation for clinical rounds, conferences, and documentation. Generates SOAP-format or narrative case reports with physiologically accurate vitals, labs, and evidence-based plans. Use when the brief mentions "case report", "case presentation", "SOAP note", "clinical case", "ward rounds", "case summary", or "patient presentation".',
7443
+ critique: `Run a 5-dimension expert design review on any HTML artifact in the project \u2014 Philosophy / Visual hierarchy / Detail / Functionality / Innovation, each scored 0\u201310. Outputs a single self-contained HTML report with a radar chart, evidence-backed scores, and three lists: Keep / Fix / Quick-wins. Use when the brief asks for a "design review", "design critique", "5 \u7EF4\u5EA6\u8BC4\u5BA1", "design audit", or "what's wrong with my design".`,
7444
+ "dating-web": 'A consumer-feeling dating / matchmaking dashboard \u2014 left rail navigation, ticker bar of community signals, headline KPIs, a 30-day mutual-matches bar chart, and a match-rate trend block. Editorial typography, restrained accent. Use when the brief asks for a "dating site", "matchmaking", "community dashboard", "social network dashboard", or any consumer product where the data is the story.',
7445
+ "dcf-valuation": 'Discounted cash flow valuation and intrinsic value analysis for public companies. Use when the brief asks for DCF, fair value, intrinsic value, price target, undervalued or overvalued analysis, or "what is this company worth?"',
7446
+ "digital-eguide": `A two-spread digital e-guide preview \u2014 page 1 is a cover (display title, author, "What's inside" stats, table of contents teaser); page 2 is a spread (lesson body with pull-quote and a step list). Lifestyle / creator brand tone. Use when the brief asks for an "e-guide", "digital guide", "lookbook", "lead magnet", "creator guide", "playbook", "PDF guide", or "\u7535\u5B50\u6307\u5357".`,
7447
+ "email-marketing": 'A brand product-launch email \u2014 masthead with wordmark, hero image block, headline lockup with skewed-italic accent, body copy, primary CTA, and a specifications grid. Pure HTML email layout (centered single column, table fallback). Use when the brief asks for an "email", "newsletter blast", "MJML", "product launch email", or "email template".',
7448
+ "eng-runbook": 'An engineering runbook \u2014 service overview, alerts table, dashboards links, common procedures with copy-pasteable commands, on-call rotation, and an incident-response checklist. Use when the brief mentions "runbook", "ops doc", "on-call guide", "SRE doc", or "\u8FD0\u7EF4\u624B\u518C".',
7449
+ "flowai-live-dashboard-template": "Team-management dashboard skill in the FlowAI aesthetic \u2014 three tabs (Team Members, Team Details, Activity Log), KPI stat row, member table, role distribution bar chart, online presence and activity sparklines, and a top-contributors panel, all in a single self-contained HTML file with light/dark theming, hoverable chart tooltips, click-to-zoom panels, and CSV export. Use when the brief asks for a team / workspace admin dashboard, an interactive admin dashboard with charts, or names FlowAI.",
7450
+ "gamified-app": `A multi-frame gamified mobile-app prototype \u2014 three phone frames on a dark showcase stage. Frame 1: cover / poster, Frame 2: today's quests with XP ribbons and a level bar, Frame 3: quest detail. Vivid quest tiles, level ribbon, bottom tab bar. Use when the brief asks for a "gamified app", "habit tracker", "RPG-style life app", "level-up app", "daily quests", "XP / streak app", or "ELI5-style explainer app".`,
7451
+ "github-dashboard": "GitHub repository analytics dashboard \u2014 stars, forks, contributors, issues, pull requests, recent activity, and top contributors. Use when the brief asks for a GitHub repo dashboard, open-source growth report, repository health page, or GitHub analytics view.",
7452
+ "guizang-ppt": '\u751F\u6210"\u7535\u5B50\u6742\u5FD7 \xD7 \u7535\u5B50\u58A8\u6C34"\u98CE\u683C\u7684\u6A2A\u5411\u7FFB\u9875\u7F51\u9875 PPT\uFF08\u5355 HTML \u6587\u4EF6\uFF09\uFF0C\u542B WebGL \u6D41\u4F53\u80CC\u666F\u3001\u886C\u7EBF\u6807\u9898 + \u975E\u886C\u7EBF\u6B63\u6587\u3001\u7AE0\u8282\u5E55\u5C01\u3001\u6570\u636E\u5927\u5B57\u62A5\u3001\u56FE\u7247\u7F51\u683C\u7B49\u6A21\u677F\u3002\u5F53\u7528\u6237\u9700\u8981\u5236\u4F5C\u5206\u4EAB / \u6F14\u8BB2 / \u53D1\u5E03\u4F1A\u98CE\u683C\u7684\u7F51\u9875 PPT\uFF0C\u6216\u63D0\u5230"\u6742\u5FD7\u98CE PPT"\u3001"horizontal swipe deck"\u3001"editorial magazine"\u3001"e-ink presentation"\u65F6\u4F7F\u7528\u3002',
7453
+ "hr-onboarding": `A new-hire onboarding plan as a single page \u2014 first week schedule, buddy + manager intro, learning track, equipment checklist, and "you're set when\u2026" outcomes. Use when the brief mentions "onboarding", "new hire", "first week plan", or "\u5165\u804C".`,
7454
+ "html-ppt": 'HTML PPT Studio \u2014 author professional static HTML presentations in many styles, layouts, and animations, all driven by templates. Use when the user asks for a presentation, PPT, slides, keynote, deck, slideshow, "\u5E7B\u706F\u7247", "\u6F14\u8BB2\u7A3F", "\u505A\u4E00\u4EFD PPT", "\u505A\u4E00\u4EFD slides", a reveal-style HTML deck, a \u5C0F\u7EA2\u4E66 \u56FE\u6587, or any kind of multi-slide pitch/report/sharing document that should look tasteful and be usable with keyboard navigation. Triggers include keywords like "presentation", "ppt", "slides", "deck", "keynote", "reveal", "slideshow", "\u5E7B\u706F\u7247", "\u6F14\u8BB2\u7A3F", "\u5206\u4EAB\u7A3F", "\u5C0F\u7EA2\u4E66\u56FE\u6587", "talk slides", "pitch deck", "tech sharing", "technical presentation".',
7455
+ "html-ppt-course-module": "Online-course / workshop module deck \u2014 warm paper background + Playfair serif, persistent left sidebar of learning objectives, MCQ self-check page. Use for teaching modules, training materials, workshop slides.",
7456
+ "html-ppt-dir-key-nav-minimal": '8 \u9875\u6781\u7B80\u65B9\u5411\u952E keynote \u2014 \u6BCF\u9875\u4E00\u4E2A\u72EC\u7ACB\u5355\u8272\u80CC\u666F\uFF08\u975B / \u5976 / \u7EDB / \u7FE0 / \u7070 / \u7D2B / \u767D / \u70AD\uFF09\uFF0C\u5404\u81EA\u914D\u8272\uFF0C160px display \u6807\u9898 + 4px \u77ED\u7C97 accent \u7EBF\u5206\u9694\u3001\u7BAD\u5934 \u2192 \u524D\u7F00\u7684 Mono \u5217\u8868\u3001\u5DE6\u4E0B \u2190 \u2192 kbd \u63D0\u793A + \u53F3\u4E0B\u9875\u7801\u3001\u5DE8\u5927\u547C\u5438\u7559\u767D\u3002\u9002\u5408"\u6709\u8BDD\u8981\u8BF4\u4F46\u6CA1\u4EC0\u4E48\u53EF\u770B"\u7684 keynote\u3001launch\u3001\u516C\u5F00\u6F14\u8BB2\u3002',
7457
+ "html-ppt-hermes-cyber-terminal": "\u6697\u7EC8\u7AEF honest-review deck \u2014 #0a0c10 \u9ED1\u5E95 + 56px \u8D5B\u535A\u7F51\u683C + CRT \u6697\u89D2 + \u626B\u63CF\u7EBF\u3001\u7A97\u53E3\u7EA2\u7EFF\u706F chrome\u3001`$ prompt` \u547D\u4EE4\u884C\u6807\u9898\u3001\u8584\u8377\u7EFF #7ed3a4 \u5927\u5B57\u3001JetBrains Mono\u3001stroke-only \u67F1\u72B6\u56FE\u3001blinking \u5149\u6807\u3001\u7425\u73C0/\u7EFF/\u7EA2\u4E09\u6863 tag\u3001\u6697\u8272\u4EE3\u7801\u5757\u3002\u9002\u5408 CLI / agent / dev tool \u6D4B\u8BC4\uFF08\u542B trace\u3001diff\u3001benchmark\uFF09\u3002",
7458
+ "html-ppt-knowledge-arch-blueprint": "\u5976\u6CB9\u84DD\u56FE\u67B6\u6784 deck \u2014 \u5976\u6CB9\u7EB8 #F0EAE0 \u5E95\u8272 + \u5355\u4E00\u9508\u7EA2 #B5392A \u9AD8\u4EAE\u300148px \u84DD\u56FE\u7F51\u683C mask\u30012px \u9ED1\u8FB9\u786C\u5361\u7247\u3001pipeline \u6B65\u9AA4\u76D2\uFF08\u5176\u4E2D\u4E00\u4E2A\u62AC\u9AD8\uFF09\u3001\u53F3\u4FA7\u9508\u7EA2 insight callout\u3001Playfair \u886C\u7EBF\u5927\u5B57\u3001SVG \u865A\u7EBF\u53CD\u9988\u73AF\u3002\u96F6\u6E10\u53D8\u96F6\u8F6F\u9634\u5F71\uFF0C\u8BA4\u771F\u4E14\u5370\u5237\u53CB\u597D\u3002",
7459
+ "html-ppt-obsidian-claude-gradient": "GitHub \u6697\u7D2B\u6E10\u53D8 deck \u2014 GitHub-dark #0d1117 + \u7D2B\u84DD radial \u73AF\u5883\u5149 + 60px \u7F51\u683C mask\u3001\u5C45\u4E2D\u5E03\u5C40\u3001\u7D2B\u8272 pill \u6807\u7B7E\u3001\u4E09\u8272\u6E10\u53D8\u6807\u9898\uFF08#a855f7\u2192#60a5fa\u2192#34d399\uFF09\u3001GitHub \u98CE\u4EE3\u7801 palette\u3001\u7D2B\u8272\u5DE6\u8FB9\u6846\u9AD8\u4EAE\u5757\u3002\u9002\u5408\u5F00\u53D1\u8005\u5DE5\u4F5C\u6D41 / MCP / Agent / dev tool \u6559\u7A0B\uFF0C\u7C7B\u4F3C GitHub Blog / Linear Changelog\u3002",
7460
+ "html-ppt-pitch-deck": "Investor-ready 10-slide HTML pitch deck \u2014 white + blue\u2192purple gradient hero, big numbers, traction bar chart, $4.5M-style ask page. Use when the user wants a fundraising deck, seed-round pitch, or VC meeting slides.",
7461
+ "html-ppt-presenter-mode-reveal": '\u6F14\u8BB2\u8005\u6A21\u5F0F\u4E13\u7528 deck \u2014 tokyo-night \u9ED8\u8BA4\u4E3B\u9898\uFF0C5 \u5957\u4E3B\u9898 T \u952E\u5207\u6362\uFF0C\u6BCF\u9875\u5E26 150-300 \u5B57\u9010\u5B57\u7A3F\u793A\u4F8B\uFF08<aside class="notes">\uFF09\uFF0C\u6309 S \u6253\u5F00 popup\uFF08CURRENT / NEXT / SCRIPT / TIMER \u56DB\u5F20\u78C1\u5438\u5361\u7247\uFF09\u3002\u7528\u4E8E\u6280\u672F\u5206\u4EAB\u3001\u516C\u5F00\u6F14\u8BB2\u3001\u8BFE\u7A0B\u8BB2\u89E3\uFF0C\u6015\u5FD8\u8BCD\u6216\u8981\u63D0\u8BCD\u5668\u7684\u573A\u666F\u3002',
7462
+ "html-ppt-product-launch": "Launch keynote deck \u2014 dark hero + light content, warm orange\u2192peach accent, feature cards, pricing tiers, CTA. Use when announcing a product, launching a feature, or doing a keynote-style reveal.",
7463
+ "html-ppt-taste-brutalist": "16:9 HTML deck in tactical-telemetry / CRT-terminal taste. Deactivated-CRT charcoal slides, white-phosphor monospace, hazard-red accent, scanline overlay, ASCII syntax, density over decoration. Distilled from Leonxlnx/taste-skill `brutalist-skill` (Tactical Telemetry mode).",
7464
+ "html-ppt-taste-editorial": "16:9 HTML deck in editorial-minimalist taste. Warm cream slides, serif display + grotesque body, hairline rules, monospace meta, generous macro-whitespace, one accent. Distilled from Leonxlnx/taste-skill `minimalist-skill`.",
7465
+ "html-ppt-tech-sharing": "Conference / internal tech-talk deck \u2014 GitHub-dark, JetBrains Mono, terminal code blocks, agenda + Q&A pages. Use for engineering presentations, internal sharing sessions, conference talks, and code-heavy walkthroughs.",
7466
+ "html-ppt-testing-safety-alert": "\u7EA2\u7425\u73C0\u8B66\u793A deck \u2014 \u9876/\u5E95 45\xB0 \u7EA2\u9ED1 hazard \u6761\u7EB9\u3001\u7EA2\u8272\u5220\u9664\u7EBF\u5426\u5B9A\u6807\u9898\u3001L1/L2/L3 \u7EFF/\u7425\u73C0/\u7EA2 tier \u5361\u7247\u3001\u5706\u70B9\u72B6\u6001 alert box\u3001policy-yaml \u4EE3\u7801\u5757\uFF08\u7EA2\u5DE6\u8FB9\u6846 + bad \u5173\u952E\u8BCD\u9AD8\u4EAE\uFF09\u3001\u7EA2\u7EFF checklist\u3001Q1 \u4E8B\u6545\u5806\u53E0\u67F1\u72B6\u56FE\u3002\u9002\u5408\u5B89\u5168 / \u98CE\u9669 / \u4E8B\u6545\u590D\u76D8 / \u7EA2\u961F / \u4E0A\u7EBF\u524D AI \u8BC4\u5BA1 / policy-as-code\u3002",
7467
+ "html-ppt-weekly-report": "Team weekly / status-update deck \u2014 corporate clarity, 8-cell KPI grid, shipped list, 8-week bar chart, next-week table. Use for \u5468\u62A5, business reviews, team status updates, and exec dashboards.",
7468
+ "html-ppt-xhs-pastel-card": '\u67D4\u548C\u9A6C\u5361\u9F99\u6162\u751F\u6D3B deck \u2014 \u5976\u6CB9 #fef8f1 \u5E95 + \u4E09\u4E2A\u67D4\u5149 blob\u3001Playfair \u659C\u4F53\u886C\u7EBF display \u6807\u9898\u6DF7 sans \u6B63\u6587\u300128px \u5706\u89D2\u9A6C\u5361\u9F99\u5361\u7247\uFF08\u6843 / \u8584\u8377 / \u5929 / \u7D2B / \u67E0 / \u73AB\uFF09\u3001Playfair \u659C\u4F53 01-04 \u5E8F\u53F7\u3001SVG donut \u56FE\u3001chip+page \u9876\u680F\u3002\u9002\u5408\u751F\u6D3B\u65B9\u5F0F / \u4E2A\u4EBA\u6210\u957F / \u6162\u751F\u6D3B / \u60C5\u7EEA\u7C7B\u5185\u5BB9\uFF0C"\u6742\u5FD7\u3001\u624B\u4F5C\u3001\u4E0D\u592A\u79D1\u6280"\u7684\u611F\u89C9\u3002',
7469
+ "html-ppt-xhs-post": "\u5C0F\u7EA2\u4E66 / Instagram \u98CE 9 \u9875 3:4 \u7AD6\u7248\u56FE\u6587\uFF08810\xD71080\uFF09\u2014 \u6696\u8272 pastel\u3001\u865A\u7EBF sticker \u5361\u7247\u3001\u5E95\u90E8\u9875\u7801\u70B9\u70B9\u3002\u7528\u4E8E\u53D1\u5C0F\u7EA2\u4E66\u56FE\u6587\u3001Instagram carousel\u3001\u54C1\u724C\u79CD\u8349\u5185\u5BB9\u3002",
7470
+ "html-ppt-xhs-white-editorial": "\u767D\u5E95\u6742\u5FD7\u98CE deck \u2014 \u7EAF\u767D\u80CC\u666F + \u9876\u90E8 10 \u8272\u5F69\u8679 bar\u300180-110px display \u6807\u9898\u3001\u7D2B\u2192\u84DD\u2192\u7EFF\u2192\u6A59\u2192\u7C89\u6E10\u53D8\u6587\u5B57\u3001\u9A6C\u5361\u9F99\u8F6F\u5361\u7247\u7EC4\uFF08\u7C89/\u7D2B/\u84DD/\u7EFF/\u6A59\uFF09\u3001\u9ED1\u5E95\u767D\u5B57 .focus pill\u3001\u5F15\u7528\u5927\u5757\u3002\u540C\u65F6\u9002\u5408\u53D1\u5C0F\u7EA2\u4E66\u56FE\u6587 + \u6A2A\u7248 PPT \u53CC\u7528\u3002",
7471
+ "html-ppt-zhangzara-8-bit-orbit": "8-Bit Orbit \u2014 Pixel-art neon arcade aesthetic on a deep navy void. Anything that should feel like a CRT screen at 2am: cyberpunk, gaming, web3, indie dev tools, hackathon demos.",
7472
+ "html-ppt-zhangzara-biennale-yellow": "Biennale Yellow \u2014 Solar yellow on warm parchment with deep indigo serif and atmospheric sun-glow gradients. Anything that should feel like an art-biennale poster or a museum's annual programme: exhibition decks, arts-institution announcements, design conference brochures, curatorial pitches, literary publications, studio retrospectives.",
7473
+ "html-ppt-zhangzara-block-frame": "BlockFrame \u2014 Neobrutalist deck with pastel-neon color blocks and chunky black borders. Anything that should feel pop-graphic and design-led: indie SaaS launches, agency credentials, creative reviews, brand redesigns.",
7474
+ "html-ppt-zhangzara-blue-professional": "Blue Professional \u2014 Cream paper background with electric cobalt blue accents; clean modern professional. Anything that should feel modern-considered and lightly authoritative: B2B SaaS pitches, consulting deliverables, advisory updates, investor reports.",
7475
+ "html-ppt-zhangzara-bold-poster": "Bold Poster \u2014 Editorial poster aesthetic with massive Shrikhand display and a single fire-engine red accent. Anything that should land like a magazine cover: brand manifestos, founder vision decks, editorial / cultural pitches, creative reviews.",
7476
+ "html-ppt-zhangzara-broadside": "Broadside \u2014 Dark editorial canvas with a single fire orange accent and bilingual Latin/Chinese type stack. Anything that should land like a broadside newspaper headline: brand manifestos, magazine and cultural pitches, design talks, bilingual EN/CN decks, founder vision statements.",
7477
+ "html-ppt-zhangzara-capsule": "Capsule \u2014 Modular pill-shaped cards on warm bone with a full pastel-pop palette. Anything that should feel modular, modern, and a little Y2K: lifestyle brands, creator portfolios, DTC launches, beauty / wellness, agency credentials.",
7478
+ "html-ppt-zhangzara-cartesian": "Cartesian \u2014 Quiet warm-neutral palette with classical Playfair serifs; tasteful and unhurried. Anything that should feel quiet, considered, and grown-up: investment theses, white papers, advisory work, longform research, gallery / cultural decks.",
7479
+ "html-ppt-zhangzara-cobalt-grid": "Cobalt Grid \u2014 Electric cobalt italic serifs on a graph-paper canvas, anchored by stair-stepped pixel-glitch decorations and slim hairline rules. Anything that should feel like a quietly serious design / research bulletin, art publication, or curated trend report.",
7480
+ "html-ppt-zhangzara-coral": "Coral \u2014 Cream and coral on near-black, set in oversized Bebas Neue. Anything that should feel warm-graphic and editorial: fashion, beauty, fitness, F&B, lifestyle brands, agency credentials.",
7481
+ "html-ppt-zhangzara-creative-mode": "Creative Mode \u2014 Cream paper canvas with confident multi-color (green, pink, orange, yellow) accents and Archivo Black display. Anything that should feel design-led and confident: creative agency pitches, design studio decks, ad shop credentials, brand creative reviews, art-direction reviews.",
7482
+ "html-ppt-zhangzara-daisy-days": "Daisy Days \u2014 Cheerful pastel deck with hand-drawn daisies, stars, and rainbows. Friendly, soft, and warm. Anything that should feel friendly, soft, and joyful: educational content, kids and family, wellness programs, community workshops, creator portfolios for craft / illustration.",
7483
+ "html-ppt-zhangzara-editorial-tri-tone": "Editorial Tri-Tone \u2014 Three-color editorial system: dusty pink, mustard cream, and deep burgundy, set in Bricolage + Instrument Serif. Anything that should feel like a fashion-magazine spread: editorial pitches, fashion brand decks, lifestyle media, art direction reviews.",
7484
+ "html-ppt-zhangzara-grove": "Grove \u2014 Forest-green canvas with cream type, classical Playfair serifs, and a single rust accent. Anything that should feel organic, considered, and grown-up: sustainability and wellness brands, outdoor / nature products, wineries and restaurants, literary or arts decks, advisory deliverables, bilingual EN/CN reports.",
7485
+ "html-ppt-zhangzara-long-table": "Long Table \u2014 Warm cream and rust-red supper-club aesthetic with bold uppercase grotesk headlines, italic Fraunces, and pill-shaped outlined buttons. Anything that should feel like a warm, intimate, modern hospitality / community brand: supper clubs, dinner series, small restaurants, creative-studio events, membership pitches, lifestyle and wine brands.",
7486
+ "html-ppt-zhangzara-mat": "Mat \u2014 Dark sage canvas with bone paper and burnt-orange accent; mid-century modern with wood undertones. Anything that should feel mid-century, tactile, and intentional: design studio credentials, architecture / interior brands, ceramics / craft / furniture, advisory decks.",
7487
+ "html-ppt-zhangzara-monochrome": "Monochrome \u2014 Ivory ledger paper with all-black type; Lora serif headlines, Jost body, no color at all. Anything that should feel like a hand-typeset ledger: user research synthesis, white papers, longform reports, academic and policy briefs, advisory deliverables, bilingual EN/CN reports.",
7488
+ "html-ppt-zhangzara-neo-grid-bold": "Neo-Grid Bold \u2014 Editorial neo-brutalism with a single neon yellow accent on off-white paper. Anything that should feel confident and editorial-graphic: design-led pitches, brand work, founder talks, conference keynotes.",
7489
+ "html-ppt-zhangzara-peoples-platform": "People's Platform (Block & Bold) \u2014 Activist poster energy: blue, orange, red on cream, with Alfa Slab + Caveat Brush. Anything that should feel honest, loud, and graphic: cultural commentary, manifestos, civic and community decks, design talks, campaign pitches.",
7490
+ "html-ppt-zhangzara-pin-and-paper": "Pin & Paper \u2014 Yellow paper with safety-pin illustrations, ink-blue handwritten Caveat, paper-grain texture. Anything that should feel hand-crafted, warm, and literary: qualitative research findings, founder reflections, longform brand stories, workshop debriefs.",
7491
+ "html-ppt-zhangzara-pink-script": "Pink Script \u2014 After Hours \u2014 Black canvas, hot pink accent, pearl-cream paper, Instrument Serif headlines: late-night editorial luxury. Anything that should feel nocturnal, intentional, and a little luxe: fashion brand decks, creator personal brands, after-hours / nightlife / spirits launches, luxury product reveals, editorial features.",
7492
+ "html-ppt-zhangzara-playful": "Playful \u2014 Sun-warm peach background with Syne display: a friendly indie launch deck. Anything that should feel warm, indie, and approachable: creator portfolios, indie product launches, lifestyle brands, small-business pitches, newsletter / community decks.",
7493
+ "html-ppt-zhangzara-raw-grid": "Raw Grid \u2014 Neo-brutalist deck with thick borders, offset shadows, and a pink/sage/ink palette. Anything that should feel direct and graphic-confident: founder pitches, accelerator demos, brand decks, indie launches, creator portfolios.",
7494
+ "html-ppt-zhangzara-retro-windows": "Retro Windows \u2014 Windows 95 chrome: gray title bars, MS Sans Serif, pixel typography, full nostalgia. Anything that should feel knowingly nostalgic: retro gaming, Y2K-aesthetic brands, creator portfolios with a 90s vibe, tech-history talks, deliberately tongue-in-cheek decks.",
7495
+ "html-ppt-zhangzara-sakura-chroma": "Sakura Chroma \u2014 Vintage Japanese cassette-package aesthetic: cream paper, diagonal rainbow ribbons, condensed bold type, JIS-style spec checkboxes. Anything that should feel like a vintage Japanese cassette package or a TDK / Sony / Sakura Color product catalogue: indie hardware brand decks, music-label release schedules, analog studio retrospectives, zine and magazine pitches, kawaii-tech product launches, creative-studio annual reports.",
7496
+ "html-ppt-zhangzara-scatterbrain": "Scatterbrain \u2014 Post-it inspired: pastel sticky notes, Caveat handwriting, Shrikhand and Zilla Slab type stack. Anything that should feel like a designer's whiteboard: brainstorms, workshops, creative-agency credentials, design-thinking sessions, ideation pitches, art-direction reviews.",
7497
+ "html-ppt-zhangzara-signal": "Signal \u2014 Deep navy canvas with bone paper and a single muted-gold accent; institutional with quiet weight. Anything that should feel weighty, considered, and credibly institutional: investor decks, board presentations, consulting deliverables, legal / policy briefs, advisory pitches.",
7498
+ "html-ppt-zhangzara-soft-editorial": "Soft Editorial \u2014 Cormorant Garamond serif on warm paper with sage, blush, and lemon accents. Anything that should feel literary, elegant, and unhurried: editorial features, longform brand stories, gallery / museum decks, advisory deliverables, wedding / lifestyle media, founder essays.",
7499
+ "html-ppt-zhangzara-stencil-tablet": "Stencil & Tablet \u2014 Bone paper with stencil-cut headlines and a six-color earth palette: archaeology meets brand. Anything that should feel archival, tactile, and weighty-graphic: museum and cultural-institution decks, art / architecture brands, longform research, heritage and craft brands, manifestos.",
7500
+ "html-ppt-zhangzara-studio": "Studio \u2014 Black canvas with electric-yellow type; high-voltage design studio aesthetic. Anything that should feel electric and design-led: studio credentials, creative agency pitches, brand showcases, art-direction reviews, fashion / sneaker brand work.",
7501
+ "html-ppt-zhangzara-vellum": "Vellum \u2014 Deep navy canvas with warm-yellow italic Cormorant serifs and a single dusty teal accent. A quiet, scholarly aesthetic. Anything that should feel scholarly, literary, and quietly intelligent: research synthesis, white papers, academic and policy briefs, advisory deliverables, longform editorial pieces, founder reflections.",
7502
+ hyperframes: "Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML. Use when asked to build any HTML-based video content, add captions or subtitles synced to audio, generate text-to-speech narration, create audio-reactive animation (beat sync, glow, pulse driven by music), add animated text highlighting (marker sweeps, hand-drawn circles, burst lines, scribble, sketchout), or add transitions between scenes (crossfades, wipes, reveals, shader transitions). Covers composition authoring, timing, media, and the full video production workflow. For CLI commands (init, lint, preview, render, transcribe, tts) see the hyperframes-cli skill.",
7503
+ "ib-pitch-book": "Investment-banking pitch book for strategic alternatives \u2014 trading comps, precedent transactions, valuation football field, DCF sensitivity, strategic-options matrix, process recommendation. Built by adapting `assets/template.html` so IB-specific chrome, disclosure bands, and source labels are preserved. Use for Board / sell-side discussion materials. Not a VC fundraising deck (see html-ppt-pitch-deck). Workflow adapted from Anthropic financial-services Pitch Agent (Apache-2.0).",
7504
+ "image-poster": "Single-image generation skill for posters, key art, and editorial illustrations. Defaults to gpt-image-2 but is provider-agnostic \u2014 the same workflow drives Flux, Imagen, or Midjourney via the active upstream tooling. Output is one or more PNG/JPEG files saved to the project folder.",
7505
+ invoice: 'A printable invoice page \u2014 sender + recipient block, line items table, tax breakdown, totals, and payment instructions. Use when the brief mentions "invoice", "bill", "billing statement", or "\u53D1\u7968".',
7506
+ "kami-deck": "Produce a print-grade slide deck in the kami (\u7D19 / \u7EB8) design system \u2014 warm parchment background (or ink-blue for cover / chapter slides), serif at one weight, ink-blue accent \u2264 5% per slide, no italic. Horizontal magazine swipe pagination (\u2190/\u2192 \xB7 wheel \xB7 swipe \xB7 ESC overview). One self-contained HTML file, zero dependencies beyond Google Fonts.",
7507
+ "kami-landing": "Produce a print-grade single-page kami (\u7D19 / \u7EB8) document \u2014 warm parchment canvas, ink-blue accent, serif at one weight, no italic, no cool grays. The output reads like a professional white paper or studio one-pager, not an app UI. Multilingual by design (EN \xB7 zh-CN \xB7 ja). One self-contained HTML file, zero dependencies.",
7508
+ "kanban-board": 'Kanban / task board with columns (To do / In progress / In review / Done), draggable-looking cards, assignee avatars, swimlanes, and a top filter bar. Use when the brief mentions "kanban", "task board", "sprint board", "trello", "\u770B\u677F".',
7509
+ last30days: "Recent community and social trend research over the last 30 days. Use when the brief asks what people are saying now, recent sentiment, community reactions, social proof, launch reaction, trend scan, or last-30-days context.",
7510
+ "live-artifact": "Create refreshable, auditable Open Design artifacts backed by connector or local data. Trigger when the user asks for live dashboards, refreshable reports, synced views, or reusable data-backed artifacts.",
7511
+ "live-dashboard": "Notion-style team dashboard rendered as a Live Artifact. A single-page, self-contained HTML dashboard with KPIs, a 7-day sparkline, a real-time activity feed and a linked-database task table \u2014 wired to Notion via the Composio connector catalog. Refreshes on demand and when the artifact is opened. Falls back to seeded mock data when no connector is bound, so it works offline / in screenshots / in the picker preview.",
7512
+ "magazine-poster": 'An editorial-style poster \u2014 newsprint paper, dateline, oversized serif headline with a struck-through word and italic accent, a 2-column body block, and 6 numbered sections with annotated pull-quote captions. Reads like a Sunday-paper full-page essay or a thoughtful launch poster. Use when the brief asks for "magazine poster", "editorial poster", "newsprint", "essay layout", or "manifesto".',
7513
+ "meeting-notes": 'Meeting notes page \u2014 title bar with attendees, agenda checklist, decisions block, action items table with owners + dates, and a "next meeting" footer. Use when the brief mentions "meeting notes", "minutes", "1:1 notes", "all-hands recap", or "\u4F1A\u8BAE\u7EAA\u8981".',
7514
+ "mobile-onboarding": 'A multi-screen mobile onboarding flow rendered as three phone frames side by side \u2014 splash, value-prop, sign-in. Status bar, swipe dots, primary CTA. Use when the brief mentions "mobile onboarding", "iOS onboarding", "phone signup", or "\u79FB\u52A8\u7AEF\u5F15\u5BFC".',
7515
+ "motion-frames": 'A single-frame motion-design composition with looping CSS animations \u2014 rotating type ring, animated globe, ticking timer, parallax labels. Renders as a hero video poster you can hand straight to HyperFrames or any keyframe-based exporter. Use when the brief asks for "motion design", "animated hero", "loop", "video poster", "title card", or pairs Open Claude Design with HyperFrames for a kinetic export.',
7516
+ "open-design-landing": "Produce a world-class single-page editorial landing site in the Atelier Zero visual language (Monocle / Apartamento / \xC9tudes editorial collage) \u2014 the same aesthetic Open Design uses for its own marketing surface. The agent fills a typed `inputs.json` from a brand brief, optionally generates 16 collage assets via gpt-image-2, then runs a pure-function composer that emits a self-contained HTML file; a separate path can mirror the Astro marketing site in `apps/landing-page/`. Drop-in scroll-reveal motion and a Headroom-style sticky nav are wired automatically.",
7517
+ "open-design-landing-deck": "Produce a single-file slide deck in the Atelier Zero visual language (warm-paper background, italic-serif emphasis spans, coral terminating dots, surreal collage plates) \u2014 Open Design's brand deck recipe. The deck uses **horizontal magazine-style swipe pagination** (\u2190/\u2192, wheel, swipe), a per-slide chrome strip with brand mark and slide counter, an ESC overview grid, a coral progress bar, and inherits the canonical stylesheet + 16-slot image library from the sister `open-design-landing` skill.",
7518
+ "orbit-general": `Open Orbit briefing skill \u2014 selected by the Orbit pipeline when the user has two or more connectors connected. Pulls the past 24 hours of activity from every authenticated connector (GitHub, Linear, Notion, Slack, \u98DE\u4E66, Calendar, Gmail, Drive, Sentry, Vercel, \u2026) and renders a single adaptive bento-grid dashboard at the top of "\u6211\u7684\u8BBE\u8BA1". Each connector module picks its own UI form (list, avatar stack, status ring, heatmap, file grid, alert card, \u2026) based on the data shape it returns, so the layout scales as Orbit's connector ecosystem grows. This skill should not be triggered manually \u2014 it is invoked by Orbit's daily-digest scheduler against the user's live connector data.`,
7519
+ "orbit-github": "Open Orbit briefing skill \u2014 selected by the Orbit pipeline when GitHub is the user's only connected connector, or when the user explicitly scopes their daily digest to GitHub. Pulls the past 24 hours of PRs, review requests, issues, CI runs, and merges from the user's authenticated GitHub connection and renders them in a layout that mirrors GitHub's native Notifications + PR-diff visual language. This skill should not be triggered manually \u2014 it is invoked by Orbit's daily-digest scheduler against live GitHub data.",
7520
+ "orbit-gmail": "Open Orbit briefing skill \u2014 selected by the Orbit pipeline when Gmail is the user's only connected connector, or when the user explicitly scopes their daily digest to Gmail. Pulls the past 24 hours of inbox activity (replies awaited, mentions, cc, auto- categorized bulk) from the user's authenticated Gmail connection and renders the digest as the Orbit Daily Digest email opened inside Gmail's reading view. This skill should not be triggered manually \u2014 it is invoked by Orbit's daily-digest scheduler against live Gmail data.",
7521
+ "orbit-linear": "Open Orbit briefing skill \u2014 selected by the Orbit pipeline when Linear is the user's only connected connector, or when the user explicitly scopes their daily digest to Linear. Pulls the past 24 hours of issue movement, status changes, assignments, and cycle progress from the user's authenticated Linear connection and renders the digest in Linear's native Inbox + cycle-progress visual language. This skill should not be triggered manually \u2014 it is invoked by Orbit's daily-digest scheduler against live Linear data.",
7522
+ "orbit-notion": "Open Orbit briefing skill \u2014 selected by the Orbit pipeline when Notion is the user's only connected connector, or when the user explicitly scopes their daily digest to Notion. Pulls the past 24 hours of document edits, comments, mentions, and database row changes from the user's authenticated Notion connection and renders the digest as a native Notion page (callout / toggle / database table primitives). This skill should not be triggered manually \u2014 it is invoked by Orbit's daily-digest scheduler against live Notion data.",
7523
+ "pm-spec": 'Product spec / PRD as a single page \u2014 problem, success metrics, scope, user stories, design notes, rollout plan, open questions. Use when the brief mentions "PRD", "spec", "product spec", "feature brief", or "\u9700\u6C42\u6587\u6863".',
7524
+ "pricing-page": 'A standalone pricing page \u2014 header, plan tiers, feature comparison table, and an FAQ. Use when the brief asks for "pricing", "plans", "subscription tiers", or a "compare plans" page.',
7525
+ "replit-deck": `Single-file horizontal-swipe HTML deck in the style of Replit Slides's landing-page template gallery. Eight distinct themes (helix, holm, vance, bevel, world-dark, world-mint, atlas, bluehouse) \u2014 each a complete visual system (palette + type + accent) captured from replit.com/slides. Pick one theme, do not mix. For pitch decks, board reports, brand memos, campaign reveals \u2014 when the user explicitly wants "Replit Slides style".`,
7526
+ "saas-landing": 'Single-page SaaS landing with hero, features, social proof, pricing, and CTA. Respects the active DESIGN.md color/typography/layout tokens. Trigger keywords: "saas landing", "marketing page", "product landing".',
7527
+ "simple-deck": "Single-file horizontal-swipe HTML deck. Built by copying the seed `assets/template.html` (which carries the proven 5-rule iframe nav script) and pasting slide layouts from `references/layouts.md`. Pitch decks, product overviews, study material \u2014 when you don't need the magazine aesthetic of `magazine-web-ppt`.",
7528
+ "social-carousel": 'A three-card social-media carousel laid out as 1080\xD71080 squares \u2014 three cinematic, on-brand panels with display headlines that connect across the series ("onwards." \u2192 "to the next one." \u2192 "looking ahead."). Each card has a brand mark, a number / total, a caption, and a "loop" affordance. Use when the brief asks for a "carousel post", "social carousel", "Instagram carousel", "LinkedIn series", "X thread cards", or "\u4E09\u8FDE\u53D1".',
7529
+ "social-media-dashboard": 'Creator-facing social media analytics dashboard in a single HTML file. A platform switcher (X / LinkedIn / YouTube / Instagram), a row of KPI cards (followers, engagement rate, likes, reposts), a follower-growth chart, a "top post this week" preview, and a trending topics / top comments side panel. Use when the brief mentions a "social media dashboard", "creator analytics", "social analytics", or names specific platforms (X, Twitter, LinkedIn, YouTube, Instagram, TikTok) together with metrics like followers, engagement, likes, reposts.',
7530
+ "social-media-matrix-tracker-template": "\u793E\u5A92\u77E9\u9635\u6570\u636E\u8FFD\u8E2A\u9762\u677F\u6A21\u677F\uFF08Social Media Matrix Tracker\uFF09\u3002 Use when users ask for a cinematic, data-dense social media analytics dashboard with multi-platform metrics, interactive charts, hover insights, range compare, and dark/light theme switching in a single HTML artifact.",
7531
+ "sprite-animation": 'A pixel / sprite-style animated explainer slide \u2014 full-bleed cream stage, bold display year, animated pixel-art mascot (e.g. Hanafuda card, mushroom, or 8-bit console), kinetic Japanese display type, ticking timeline ribbon. Reads like a single frame of an educational motion video \u2014 looping CSS keyframes, no JS, ready to be screen-recorded into a vertical video. Use when the brief asks for a "sprite animation", "pixel-art video", "8-bit explainer", "history of X explainer", "kinetic typography history", "Nintendo-style", "\u7CBE\u7075\u56FE\u52A8\u753B", "\u50CF\u7D20\u52A8\u753B", or "\u590D\u53E4\u52A8\u753B".',
7532
+ "team-okrs": 'OKR tracker page \u2014 quarter banner, three objectives with their key results as progress bars, owner avatars, status pills, and a "this quarter at a glance" sidebar. Use when the brief mentions "OKRs", "key results", "objectives", or "\u76EE\u6807".',
7533
+ "trading-analysis-dashboard-template": "Professional trading analysis dashboard template (single-file HTML) with light/dark theme switch, dense market panels, chart interactions, demo/live playback, and command palette behavior. Use when users ask for a Wall-Street-style analytics terminal, trading cockpit, or high-tech financial dashboard template with realistic data layout.",
7534
+ tweaks: 'Wrap any HTML artifact with a side panel of live, parameterized controls \u2014 accent color, type scale, density, motion, theme \u2014 that rewrite CSS custom properties in real time and persist to localStorage. Lets the user explore variants of a design without re-prompting the agent. Use when the brief asks for "variants", "side-by-side options", "tweak this", "let me adjust", "live knobs", or "\u5B9E\u65F6\u8C03\u53C2".',
7535
+ "video-shortform": "Short-form video generation skill \u2014 3-10 second clips for product reveals, motion teasers, ambient loops. Defaults to Seedance 2 but works the same with Kling 3 / 4, Veo 3 or Sora 2. Output is one MP4 saved to the project folder. When the workspace also ships an interactive-video / hyperframes skill, prefer composing several short shots into a single timeline rather than one long monolithic clip.",
7536
+ "waitlist-page": "Minimal pre-launch landing with email capture, brand logo, and optional decorative layer. Reads DESIGN.md for colors, typography, and layout rules. Best for: product launches, beta signups, early access programs, indie projects.",
7537
+ "web-prototype": "General-purpose desktop web prototype. Single self-contained HTML file built by copying the seed `assets/template.html` and pasting section layouts from `references/layouts.md`. Default for any landing / marketing / docs / SaaS page when no more specific skill matches.",
7538
+ "web-prototype-taste-brutalist": "Swiss industrial-print web prototype. Newsprint canvas, monolithic black grotesque, viewport-bleeding numerals, hairline grid dividers, hazard-red accent, ASCII syntax decoration. Distilled from Leonxlnx/taste-skill `brutalist-skill` (Swiss Industrial Print mode).",
7539
+ "web-prototype-taste-soft": "Apple-tier soft web prototype. Silver/cream canvas, double-bezel cards, button-in-button CTAs, generous squircle radii, spring motion, ambient mesh. Distilled from Leonxlnx/taste-skill `soft-skill` + sections 4\u20138 of `taste-skill`.",
7540
+ "wireframe-sketch": `A hand-drawn wireframe exploration \u2014 graph-paper background, marker / pencil tone, multiple tab labels for variants, sticky-note annotations, scribbled chart placeholders, hatched fills. Reads like a designer's whiteboard before any pixels are committed. Use when the brief asks for "wireframe", "sketch wireframe", "hand-drawn", "lo-fi", "whiteboard", "\u8349\u7A3F", or "\u624B\u7ED8\u539F\u578B".`,
7541
+ "x-research": "X/Twitter public sentiment research for recent market, company, product, or community discourse. Use when the brief asks what people are saying on X, Twitter sentiment, CT sentiment, public opinion, expert posts, or social reaction around a stock, sector, company, product, or market event."
7542
+ };
7543
+ var ADDITIONAL_OPEN_DESIGN_DESIGN_SYSTEM_DESCRIPTIONS = {
7544
+ agentic: "Conversational AI-first interface with minimal controls, clear outcomes, and delegated task flows for agentic workflows.",
7545
+ airbnb: "Travel marketplace. Warm coral accent, photography-driven, rounded UI.",
7546
+ airtable: "Spreadsheet-database hybrid. Colorful, friendly, structured data aesthetic.",
7547
+ ant: "Structured, enterprise-focused design system emphasizing clarity, consistency, and efficiency for data-dense web applications.",
7548
+ application: "App dashboard with purple-themed aesthetic, top-bar navigation, card-based layouts, and developer-first workflows.",
7549
+ arc: '"The browser that browses for you." Translucent surfaces, gradient warmth, sidebar-first layout.',
7550
+ artistic: "High-contrast, expressive style with creative typography and bold color choices for visually striking interfaces.",
7551
+ "atelier-zero": "A magazine-grade, collage-driven visual system: warm paper canvas, surreal",
7552
+ bento: "Modular grid layout with card-like blocks, clear hierarchy, soft spacing, and subtle visual contrast for organized, scannable interfaces.",
7553
+ binance: "Crypto exchange. Bold yellow accent on monochrome, trading-floor urgency.",
7554
+ bmw: "Luxury automotive. Dark premium surfaces, precise German engineering aesthetic.",
7555
+ "bmw-m": "Motorsport performance sub-brand. Near-black cockpit surfaces, BMW M tricolor accents, sharp engineering geometry.",
7556
+ bold: "Strong visual presence with heavyweight typography, high-contrast colors, and commanding layouts.",
7557
+ brutalism: "Raw, anti-design aesthetic inspired by concrete architecture with unadorned elements, jarring layouts, and functional minimalism.",
7558
+ bugatti: "Hypercar brand. Cinema-black canvas, monochrome austerity, monumental display type.",
7559
+ cafe: "Cozy cafe-inspired interface with warm tones, soft typography, and clean layouts for a relaxed browsing experience.",
7560
+ cal: "Open-source scheduling. Clean neutral UI, developer-oriented simplicity.",
7561
+ canva: "Visual creation platform. Vivid purple-blue gradient, generous spacing, friendly geometry.",
7562
+ cisco: "Enterprise infrastructure brand. Dark trust surfaces, Cisco Blue signal, technical clarity.",
7563
+ claude: "Anthropic's AI assistant. Warm terracotta accent, clean editorial layout.",
7564
+ clay: "Creative agency. Organic shapes, soft gradients, art-directed layout.",
7565
+ claymorphism: "Soft, rounded 3D-like shapes mimicking malleable clay with playful, puffy elements and colorful surfaces.",
7566
+ clean: "Simplicity-focused design with ample whitespace, legible typography, and a limited color palette to reduce visual clutter.",
7567
+ clickhouse: "Fast analytics database. Yellow-accented, technical documentation style.",
7568
+ cohere: "Enterprise AI platform. Vibrant gradients, data-rich dashboard aesthetic.",
7569
+ coinbase: "Crypto exchange. Clean blue identity, trust-focused, institutional feel.",
7570
+ colorful: "Vibrant, high-contrast palettes and gradients for engaging, memorable, and modern user experiences.",
7571
+ composio: "Tool integration platform. Modern dark with colorful integration icons.",
7572
+ contemporary: "Current-era minimalist design with bento grids, dark mode support, and high-performance accessible layouts.",
7573
+ corporate: "Professional, brand-aligned design with structured grids, minimalist layouts, and consistent enterprise patterns.",
7574
+ cosmic: "Futuristic sci-fi aesthetic with dark themes, vibrant neon accents, and immersive spatial elements.",
7575
+ creative: "Playful, character-driven design with expressive typography and bold graphics for landing pages and creative projects.",
7576
+ cursor: "AI-first code editor. Sleek dark interface, gradient accents.",
7577
+ default: "A clean, product-oriented default. Use when the brief doesn't call for a",
7578
+ discord: "Voice / chat platform. Deep blurple, dark-first surfaces, playful accent moments.",
7579
+ dithered: "Dot-pattern rendering technique that simulates shades with a limited palette for nostalgic, retro, high-contrast visuals.",
7580
+ doodle: "Hand-drawn, sketch-like style with doodles, handwritten fonts, and imperfect lines for a playful, informal feel.",
7581
+ dramatic: "High-contrast, theatrical design with bold layouts, immersive visuals, and unconventional compositions that command attention.",
7582
+ duolingo: "Language-learning platform. Bright owl green, chunky shadows, gamified joy.",
7583
+ elegant: "Graceful, refined aesthetic with delicate typography, minimal palettes, and polished layouts that exude sophistication.",
7584
+ elevenlabs: "AI voice platform. Dark cinematic UI, audio-waveform aesthetics.",
7585
+ energetic: "Dynamic, vibrant style with thick borders, geometric shapes, high-contrast colors, and expressive typography conveying motion and vitality.",
7586
+ enterprise: "Clean, high-contrast enterprise design for data-driven workflows with intuitive drag-and-drop patterns and structured layouts.",
7587
+ expo: "React Native platform. Dark theme, tight letter-spacing, code-centric.",
7588
+ expressive: "Vibrant, personality-driven design with bold colors, playful graphics, and dynamic layouts that balance creativity with structure.",
7589
+ fantasy: "Game-inspired fantasy aesthetic with bold, premium visuals, rich color palettes, and immersive thematic elements.",
7590
+ ferrari: "Luxury automotive. Chiaroscuro editorial, Ferrari Red accents, cinematic black.",
7591
+ figma: "Collaborative design tool. Vibrant multi-color, playful yet professional.",
7592
+ flat: "Two-dimensional minimalist style with vibrant colors, clean typography, and no 3D effects for fast, user-friendly interfaces.",
7593
+ framer: "Website builder. Bold black and blue, motion-first, design-forward.",
7594
+ friendly: "Approachable, intuitive design with rounded elements, ample whitespace, and soft pastel color palettes.",
7595
+ futuristic: "Forward-looking design with tech-inspired typography, modern layouts, and a sleek, innovation-driven aesthetic.",
7596
+ github: "Code-forward platform. Functional density, blue-on-white precision, Primer foundations.",
7597
+ glassmorphism: "Frosted glass effect with translucent layers, subtle blur, and luminous borders for depth and modern elegance.",
7598
+ gradient: "Smooth color transitions and gradient-rich surfaces for modern, playful interfaces with visual depth.",
7599
+ hashicorp: "Infrastructure automation. Enterprise-clean, black and white.",
7600
+ hud: "Fighter jet / helicopter head-up display. Phosphor green on near-black, all-caps data overlays, angular geometry. Zero ambiguity at speed and altitude.",
7601
+ huggingface: "ML community hub. Sunny yellow accent, monospace identity, cheerful and dense.",
7602
+ ibm: "Enterprise technology. Carbon design system, structured blue palette.",
7603
+ intercom: "Customer messaging. Friendly blue palette, conversational UI patterns.",
7604
+ kami: "Editorial paper system: warm parchment canvas, ink-blue accent, serif-led hierarchy. Built for resumes, one-pagers, white papers, portfolios, slide decks \u2014 anything that should feel like high-quality print rather than UI. Multilingual by design (EN \xB7 zh-CN \xB7 ja).",
7605
+ kraken: "Crypto trading. Purple-accented dark UI, data-dense dashboards.",
7606
+ lamborghini: "Supercar brand. True black surfaces, gold accents, dramatic uppercase typography.",
7607
+ levels: "Conversion-focused design that removes friction and guides users toward action through clarity, trust, and speed.",
7608
+ "linear-app": "Project management. Ultra-minimal, precise, purple accent.",
7609
+ lingo: "Playful, minimal design with bright colors, rounded shapes, tactile 3D borders, and friendly illustrations for approachable interfaces.",
7610
+ loom: "Loom async video. Purple primary, friendly surfaces, video-first layout. Clean and professional without being corporate.",
7611
+ lovable: "AI full-stack builder. Playful gradients, friendly dev aesthetic.",
7612
+ luxury: "High-end dark aesthetic with bold headings, monochromatic palette, and premium feel for luxury brand experiences.",
7613
+ mastercard: "Global payments network. Warm cream canvas, orbital pill shapes, editorial warmth.",
7614
+ material: "Google's Material Design with layered surfaces, dynamic theming, built-in motion, and responsive cross-platform patterns.",
7615
+ meta: "Tech retail store. Photography-first, binary light/dark surfaces, Meta Blue CTAs.",
7616
+ minimal: "Stripped-back design emphasizing whitespace, clean typography, and restrained color for maximum clarity and focus.",
7617
+ minimax: "AI model provider. Bold dark interface with neon accents.",
7618
+ mintlify: "Documentation platform. Clean, green-accented, reading-optimized.",
7619
+ miro: "Visual collaboration. Bright yellow accent, infinite canvas aesthetic.",
7620
+ "mission-control": "Space/aerospace mission monitoring. Dark command center, amber telemetry, monospace precision. Functional clarity above all else.",
7621
+ "mistral-ai": "Open-weight LLM provider. French-engineered minimalism, purple-toned.",
7622
+ modern: "Contemporary editorial style with serif typography, minimal palettes, and clean layouts for polished digital products.",
7623
+ mongodb: "Document database. Green leaf branding, developer documentation focus.",
7624
+ neobrutalism: "Modern take on brutalism with bold borders, vivid accent colors, and raw, high-contrast layouts on warm surfaces.",
7625
+ neon: "Electric neon glow effects with high-contrast color pairings for bold, attention-grabbing interfaces.",
7626
+ neumorphism: "Soft, extruded UI elements with inner and outer shadows on monochromatic surfaces for a tactile, embedded look.",
7627
+ nike: "Athletic retail. Monochrome UI, massive uppercase type, full-bleed photography.",
7628
+ notion: "All-in-one workspace. Warm minimalism, serif headings, soft surfaces.",
7629
+ nvidia: "GPU computing. Green-black energy, technical power aesthetic.",
7630
+ ollama: "Run LLMs locally. Terminal-first, monochrome simplicity.",
7631
+ openai: "Calm, near-monochrome system anchored in deep teal-black with generous white space and editorial typography.",
7632
+ "opencode-ai": "AI coding platform. Developer-centric dark theme.",
7633
+ pacman: "Retro arcade-inspired design with pixel fonts, dotted borders, playful high-contrast colors, and 8-bit game aesthetics.",
7634
+ paper: "Paper-textured, print-inspired design with minimal colors, clean serif/sans typography, and tactile surface qualities.",
7635
+ perplexity: "Conversational AI search engine. Deep-dark canvas, sharp typography, single violet accent, dense information hierarchy.",
7636
+ perspective: "Spatial depth design with isometric views, vanishing points, and layered elements that guide attention through 3D-like realism.",
7637
+ pinterest: "Visual discovery. Red accent, masonry grid, image-first.",
7638
+ playstation: "Gaming console retail. Three-surface channel layout, quiet-authority display type, cyan hover-scale.",
7639
+ posthog: "Product analytics. Playful hedgehog branding, developer-friendly dark UI.",
7640
+ premium: "Apple-inspired premium aesthetic with precise spacing, modern typography, and a refined, polished visual language.",
7641
+ professional: "Polished, business-ready design with modern typography, structured layouts, and a trustworthy visual identity.",
7642
+ publication: "Print-inspired visual language for books, magazines, and reports with editorial grids and expressive typography.",
7643
+ raycast: "Productivity launcher. Sleek dark chrome, vibrant gradient accents.",
7644
+ refined: "Carefully curated, modern minimal style with elegant serif typography and understated, sophisticated palettes.",
7645
+ renault: "French automotive. Vibrant aurora gradients, NouvelR typography, bold energy.",
7646
+ replicate: "Run ML models via API. Clean white canvas, code-forward.",
7647
+ resend: "Email API. Minimal dark theme, monospace accents.",
7648
+ retro: "Throwback design with vintage-inspired typography, high-contrast retro palettes, and nostalgic visual elements.",
7649
+ revolut: "Digital banking. Sleek dark interface, gradient cards, fintech precision.",
7650
+ runwayml: "AI video generation. Cinematic dark UI, media-rich layout.",
7651
+ sanity: "Headless CMS. Red accent, content-first editorial layout.",
7652
+ sentry: "Error monitoring. Dark dashboard, data-dense, pink-purple accent.",
7653
+ shadcn: "Shadcn/ui-inspired design with minimal, clean components, monochrome palette, and utility-first patterns.",
7654
+ shopify: "E-commerce platform. Dark-first cinematic, neon green accent, ultra-light type.",
7655
+ simple: "Straightforward, no-frills design with clean typography, neutral colors, and intuitive layouts that stay out of the way.",
7656
+ skeumorphism: "Real-world mimicry with textured surfaces, 3D effects, and familiar physical metaphors for intuitive digital interfaces.",
7657
+ slack: "Workplace communication platform. Aubergine-primary, multi-accent logo palette, light surfaces with dark sidebar, warm and approachable.",
7658
+ sleek: "Modern minimalist aesthetic with clean lines, intentional color palette, subtle interactions, and consistent spacing.",
7659
+ spacex: "Space technology. Stark black and white, full-bleed imagery, futuristic.",
7660
+ spacious: "Generous whitespace, consistent padding, and grid-based layouts for clean, readable, and breathing interfaces.",
7661
+ spotify: "Music streaming. Vibrant green on dark, bold type, album-art-driven.",
7662
+ starbucks: "Global coffee retail brand. Four-tier green system, warm cream canvas, full-pill buttons.",
7663
+ storytelling: "Narrative-driven design using visuals, copy, and interaction to guide users through engaging, emotionally resonant journeys.",
7664
+ stripe: "Payment infrastructure. Signature purple gradients, weight-300 elegance.",
7665
+ supabase: "Open-source Firebase alternative. Dark emerald theme, code-first.",
7666
+ superhuman: "Fast email client. Premium dark UI, keyboard-first, purple glow.",
7667
+ tesla: "Electric automotive. Radical subtraction, full-viewport photography, near-zero UI.",
7668
+ tetris: "Classic block-game inspired design with playful colors, bold display fonts, and compact, high-energy layouts.",
7669
+ theverge: "Tech editorial media. Acid-mint and ultraviolet accents, Manuka display, rave-flyer story tiles.",
7670
+ "together-ai": "Open-source AI infrastructure. Technical, blueprint-style design.",
7671
+ "totality-festival": 'A cosmic-premium, glassmorphic dark system that captures the visceral awe of a solar eclipse \u2014 obsidian surfaces, amber "corona" highlights, and cyan atmospheric accents.',
7672
+ uber: "Mobility platform. Bold black and white, tight type, urban energy.",
7673
+ urdu: "Urdu-first digital experiences with native RTL support,Nastaliq typography, and bilingual harmony.",
7674
+ vercel: "Frontend deployment. Black and white precision, Geist font.",
7675
+ vibrant: "Lively, colorful design with bold playful typography, warm accents, and dynamic visual energy.",
7676
+ vintage: "1950s-1990s nostalgia with skeuomorphic touches, grainy textures, retro color palettes, and pixel-style typography.",
7677
+ vodafone: "Global telecom brand. Monumental uppercase display, Vodafone Red chapter bands.",
7678
+ voltagent: "AI agent framework. Void-black canvas, emerald accent, terminal-native.",
7679
+ warp: "Modern terminal. Dark IDE-like interface, block-based command UI.",
7680
+ webex: "Collaboration platform. Momentum typography, blue action system, multi-user accent spectrum.",
7681
+ webflow: "Visual web builder. Blue-accented, polished marketing site aesthetic.",
7682
+ wechat: "Brand visual language for WeChat Mini Programs, official accounts, and open ecosystem extensions.",
7683
+ wired: "Tech magazine. Paper-white broadsheet density, custom serif display, mono kickers, ink-blue links.",
7684
+ wise: "Money transfer. Bright green accent, friendly and clear.",
7685
+ "x-ai": "Elon Musk's AI lab. Stark monochrome, futuristic minimalism.",
7686
+ xiaohongshu: "Lifestyle UGC social platform. Singular brand red, generous radius, content-first.",
7687
+ zapier: "Automation platform. Warm orange, friendly illustration-driven."
7688
+ };
7689
+ var OPEN_DESIGN_SKILL_ACRONYMS = /* @__PURE__ */ new Set([
7690
+ "ai",
7691
+ "css",
7692
+ "d3",
7693
+ "doc",
7694
+ "docx",
7695
+ "faq",
7696
+ "gif",
7697
+ "gsap",
7698
+ "hig",
7699
+ "html",
7700
+ "md",
7701
+ "pdf",
7702
+ "ppt",
7703
+ "pptx",
7704
+ "ui",
7705
+ "ux",
7706
+ "vfx",
7707
+ "wpds"
7708
+ ]);
7709
+ function titleCaseOpenDesignSlug(slug) {
7710
+ return slug.split("-").map((part) => {
7711
+ if (OPEN_DESIGN_SKILL_ACRONYMS.has(part)) {
7712
+ return part.toUpperCase();
7713
+ }
7714
+ if (/^[0-9]+d$/u.test(part)) {
7715
+ return part.toUpperCase();
7716
+ }
7717
+ return `${part.charAt(0).toUpperCase()}${part.slice(1)}`;
7718
+ }).join(" ");
7719
+ }
7720
+ function addTarget(targets, target) {
7721
+ if (!targets.includes(target)) {
7722
+ targets.push(target);
7723
+ }
7724
+ }
7725
+ function inferOpenDesignSkillTargets(slug) {
7726
+ const targets = [];
7727
+ if (/video|remotion|sora|kling|lip|youtube|gif|stitch|hyperframes|orbit|speech|audio|music/u.test(
7728
+ slug
7729
+ )) {
7730
+ addTarget(targets, "intro-video");
7731
+ }
7732
+ if (/ppt|pptx|slides|deck|keynote|presentation/u.test(slug)) {
7733
+ addTarget(targets, "presentation");
7734
+ }
7735
+ if (/image|imagen|photo|illustration|poster|card|screenshot|frame|mockup|art|canvas|sticker|tryon|visual|creative|social|twitter|xiaohongshu/u.test(
7736
+ slug
7737
+ )) {
7738
+ addTarget(targets, "image");
7739
+ addTarget(targets, "poster");
7740
+ addTarget(targets, "website");
7741
+ addTarget(targets, "presentation");
7742
+ }
7743
+ if (/frontend|ui|ux|web|website|shadcn|three|gsap|shader|flutter|swift|app|login|paywall|figma|platform|browser/u.test(
7744
+ slug
7745
+ )) {
7746
+ addTarget(targets, "website");
7747
+ addTarget(targets, "mobile-app-design");
7748
+ addTarget(targets, "dashboard-design");
7749
+ }
7750
+ if (/doc|pdf|docx|report|article|copy|brand|brief|resume|faq|research|notes|markdown|release|guidelines|review/u.test(
7751
+ slug
7752
+ )) {
7753
+ addTarget(targets, "report");
7754
+ addTarget(targets, "docs-design");
7755
+ addTarget(targets, "website");
7756
+ addTarget(targets, "presentation");
7757
+ }
7758
+ if (targets.length === 0) {
7759
+ return ["presentation", "website", "poster", "report", "docs-design"];
7760
+ }
7761
+ return targets;
7762
+ }
7763
+ function inferOpenDesignSkillOutputKinds(slug) {
7764
+ const outputKinds = [];
7765
+ if (/image|imagen|photo|illustration|poster|card|screenshot|frame|mockup|art|canvas|sticker|tryon|visual/u.test(
7766
+ slug
7767
+ )) {
7768
+ outputKinds.push("image");
7769
+ }
7770
+ if (/video|remotion|sora|kling|lip|youtube|gif|stitch|hyperframes|orbit/u.test(
7771
+ slug
7772
+ )) {
7773
+ outputKinds.push("video");
7774
+ }
7775
+ if (/audio|speech|music/u.test(slug)) {
7776
+ outputKinds.push("audio");
7777
+ }
7778
+ if (/ppt|pptx|slides|deck|keynote|presentation/u.test(slug)) {
7779
+ outputKinds.push("presentation");
7780
+ }
7781
+ return outputKinds.length > 0 ? outputKinds : void 0;
7782
+ }
7783
+ function createOpenDesignSkillEntry(slug) {
7784
+ const name = titleCaseOpenDesignSlug(slug);
7785
+ const outputKinds = inferOpenDesignSkillOutputKinds(slug);
7786
+ const primaryOutputKind = outputKinds?.[0];
7787
+ return {
7788
+ id: `od:skill:${slug}`,
7223
7789
  kind: "skill",
7224
- name: "Data Report",
7225
- description: "Turns source-backed data, rankings, metrics, or lists into a concise analytical report.",
7226
- source: source("skills/data-report/SKILL.md"),
7790
+ name,
7791
+ description: STYLE_OPEN_DESIGN_SKILL_DESCRIPTIONS[slug],
7792
+ source: source(`skills/${slug}/SKILL.md`),
7793
+ targets: inferOpenDesignSkillTargets(slug),
7794
+ tags: slug.split("-").filter((tag) => {
7795
+ return tag.length > 1;
7796
+ }),
7797
+ triggers: [slug, name.toLowerCase()],
7798
+ ...outputKinds && primaryOutputKind ? {
7799
+ outputKinds,
7800
+ primaryOutputKind
7801
+ } : {},
7802
+ executorHints: ["skill-authored"],
7803
+ status: "experimental",
7804
+ priority: -90
7805
+ };
7806
+ }
7807
+ function inferOpenDesignTemplateTargets(slug) {
7808
+ const targets = [];
7809
+ if (/mobile|phone|app|onboarding|gamified/u.test(slug)) {
7810
+ addTarget(targets, "mobile-app-design");
7811
+ }
7812
+ if (/dashboard|admin|kanban|tracker|matrix|orbit|analytics/u.test(slug)) {
7813
+ addTarget(targets, "dashboard-design");
7814
+ addTarget(targets, "website");
7815
+ }
7816
+ if (/ppt|deck|slides|presentation|keynote/u.test(slug)) {
7817
+ addTarget(targets, "presentation");
7818
+ }
7819
+ if (/poster|image|sprite|wireframe|carousel|social|xhs|motion|video/u.test(slug)) {
7820
+ addTarget(targets, "image");
7821
+ addTarget(targets, "poster");
7822
+ addTarget(targets, "website");
7823
+ }
7824
+ if (/docs|doc|report|runbook|spec|invoice|email|notes|blog|guide|case/u.test(
7825
+ slug
7826
+ )) {
7827
+ addTarget(targets, "report");
7828
+ addTarget(targets, "docs-design");
7829
+ addTarget(targets, "website");
7830
+ }
7831
+ if (targets.length === 0) {
7832
+ return ["website", "presentation", "report"];
7833
+ }
7834
+ return targets;
7835
+ }
7836
+ function createOpenDesignTemplateEntry(slug, description) {
7837
+ const name = titleCaseOpenDesignSlug(slug);
7838
+ return {
7839
+ id: `od:template:${slug}`,
7840
+ kind: "template",
7841
+ name,
7842
+ description,
7843
+ source: source(`design-templates/${slug}`),
7844
+ targets: inferOpenDesignTemplateTargets(slug),
7845
+ tags: slug.split("-").filter((tag) => {
7846
+ return tag.length > 1;
7847
+ }),
7848
+ triggers: [slug, name.toLowerCase()],
7849
+ status: "experimental",
7850
+ priority: -90
7851
+ };
7852
+ }
7853
+ function createOpenDesignDesignSystemEntry(slug, description) {
7854
+ const name = titleCaseOpenDesignSlug(slug);
7855
+ return {
7856
+ id: `od:design-system:${slug}`,
7857
+ kind: "design-system",
7858
+ name,
7859
+ description,
7860
+ source: source(`design-systems/${slug}`),
7227
7861
  targets: [
7228
7862
  "presentation",
7229
7863
  "website",
7230
7864
  "dashboard-design",
7865
+ "mobile-app-design",
7866
+ "poster",
7231
7867
  "report",
7232
7868
  "docs-design"
7233
7869
  ],
7234
- tags: ["analysis", "data", "report", "ranking", "sources", "table"],
7235
- triggers: ["report", "top 10", "ranking", "metrics", "analysis"],
7236
- bestFor: ["source-backed reports", "ranked lists", "data summaries"],
7237
- status: "curated",
7238
- priority: 40
7239
- },
7870
+ tags: slug.split("-").filter((tag) => {
7871
+ return tag.length > 1;
7872
+ }),
7873
+ triggers: [slug, name.toLowerCase()],
7874
+ status: "experimental",
7875
+ priority: -90
7876
+ };
7877
+ }
7878
+ var OPEN_DESIGN_REGISTRY = [
7240
7879
  {
7241
7880
  id: "od:skill:article-magazine",
7242
7881
  kind: "skill",
@@ -7267,17 +7906,18 @@ var OPEN_DESIGN_REGISTRY = [
7267
7906
  status: "curated",
7268
7907
  priority: 16
7269
7908
  },
7909
+ ...STYLE_OPEN_DESIGN_SKILL_SLUGS.map(createOpenDesignSkillEntry),
7270
7910
  {
7271
7911
  id: "od:template:dashboard",
7272
7912
  kind: "template",
7273
7913
  name: "Dashboard",
7274
- description: "Dense operational dashboard layout for KPIs, lists, filters, and repeated scanning.",
7914
+ description: "Admin or analytics dashboard in a single HTML file with fixed sidebar, top bar, KPI cards, and one or two charts.",
7275
7915
  source: source("design-templates/dashboard"),
7276
7916
  targets: ["website", "dashboard-design", "report"],
7277
7917
  tags: ["dashboard", "analytics", "kpi", "metrics", "operations", "table"],
7278
7918
  triggers: ["dashboard", "analytics", "monitoring", "metrics", "ops"],
7279
7919
  bestFor: ["metric-heavy pages", "status surfaces", "operational summaries"],
7280
- compatibleWith: ["od:skill:data-report", "od:design-system:dashboard"],
7920
+ compatibleWith: ["od:design-system:dashboard"],
7281
7921
  status: "curated",
7282
7922
  priority: 36
7283
7923
  },
@@ -7285,13 +7925,13 @@ var OPEN_DESIGN_REGISTRY = [
7285
7925
  id: "od:template:finance-report",
7286
7926
  kind: "template",
7287
7927
  name: "Finance Report",
7288
- description: "Executive report layout with tables, callouts, trend blocks, and source notes.",
7928
+ description: "Quarterly or monthly financial report with masthead KPIs, revenue and burn charts, P&L summary, highlights, and outlook.",
7289
7929
  source: source("design-templates/finance-report"),
7290
7930
  targets: ["presentation", "website", "report"],
7291
7931
  tags: ["report", "finance", "executive", "table", "analysis", "sources"],
7292
7932
  triggers: ["report", "brief", "analysis", "top 10", "finance"],
7293
7933
  bestFor: ["source-backed reports", "executive summaries", "ranked lists"],
7294
- compatibleWith: ["od:skill:data-report", "od:design-system:dashboard"],
7934
+ compatibleWith: ["od:design-system:dashboard"],
7295
7935
  status: "curated",
7296
7936
  priority: 34
7297
7937
  },
@@ -7299,7 +7939,7 @@ var OPEN_DESIGN_REGISTRY = [
7299
7939
  id: "od:template:docs-page",
7300
7940
  kind: "template",
7301
7941
  name: "Docs Page",
7302
- description: "Documentation-style page layout for structured explanations, navigation, and examples.",
7942
+ description: "Documentation page with inline-start navigation, scrollable article body, and inline-end table of contents.",
7303
7943
  source: source("design-templates/docs-page"),
7304
7944
  targets: ["website", "docs-design", "report"],
7305
7945
  tags: ["docs", "explanation", "guide", "structured", "reference"],
@@ -7313,7 +7953,7 @@ var OPEN_DESIGN_REGISTRY = [
7313
7953
  id: "od:template:mobile-app",
7314
7954
  kind: "template",
7315
7955
  name: "Mobile App Design",
7316
- description: "Single-screen mobile UI design rendered in a realistic iPhone device frame.",
7956
+ description: "Mobile app screen rendered inside a pixel-accurate iPhone 15 Pro frame using reusable screen archetypes.",
7317
7957
  source: source("design-templates/mobile-app"),
7318
7958
  targets: ["mobile-app-design"],
7319
7959
  tags: ["mobile", "app", "ios", "design", "prototype", "phone"],
@@ -7334,16 +7974,13 @@ var OPEN_DESIGN_REGISTRY = [
7334
7974
  id: "od:template:html-ppt-graphify-dark-graph",
7335
7975
  kind: "template",
7336
7976
  name: "Graphify Dark Graph",
7337
- description: "Dark graph-heavy HTML presentation template for data stories and technical briefings.",
7977
+ description: "Dark knowledge-graph deck with midnight gradients, force-graph cover visuals, command-line highlights, and glass-morphism cards.",
7338
7978
  source: source("design-templates/html-ppt-graphify-dark-graph"),
7339
7979
  targets: ["presentation", "report"],
7340
7980
  tags: ["presentation", "dark", "graph", "data", "technical", "metrics"],
7341
7981
  triggers: ["deck", "presentation", "graph", "dark", "data story"],
7342
7982
  bestFor: ["data presentations", "technical executive briefings"],
7343
- compatibleWith: [
7344
- "od:skill:data-report",
7345
- "od:design-system:trading-terminal"
7346
- ],
7983
+ compatibleWith: ["od:design-system:trading-terminal"],
7347
7984
  status: "curated",
7348
7985
  priority: 32
7349
7986
  },
@@ -7351,7 +7988,7 @@ var OPEN_DESIGN_REGISTRY = [
7351
7988
  id: "od:template:html-ppt-zhangzara-retro-zine",
7352
7989
  kind: "template",
7353
7990
  name: "Zhangzara Retro Zine",
7354
- description: "Expressive retro editorial HTML presentation template with zine-like composition.",
7991
+ description: "Retro editorial zine presentation template with expressive composition, tactile paper energy, and bold magazine-like rhythm.",
7355
7992
  source: source("design-templates/html-ppt-zhangzara-retro-zine"),
7356
7993
  targets: ["presentation", "poster", "report"],
7357
7994
  tags: ["presentation", "retro", "zine", "editorial", "expressive"],
@@ -7372,13 +8009,13 @@ var OPEN_DESIGN_REGISTRY = [
7372
8009
  id: "od:template:weekly-update",
7373
8010
  kind: "template",
7374
8011
  name: "Weekly Update",
7375
- description: "Compact update deck/page structure for highlights, risks, next steps, and metrics.",
8012
+ description: "Single-file horizontal-swipe weekly team update deck for shipped work, in-flight work, blockers, metrics, and asks.",
7376
8013
  source: source("design-templates/weekly-update"),
7377
8014
  targets: ["presentation", "report", "docs-design"],
7378
8015
  tags: ["update", "status", "briefing", "report", "metrics"],
7379
8016
  triggers: ["weekly", "status", "update", "briefing"],
7380
8017
  bestFor: ["team updates", "status reports", "progress summaries"],
7381
- compatibleWith: ["od:skill:data-report", "od:design-system:dashboard"],
8018
+ compatibleWith: ["od:design-system:dashboard"],
7382
8019
  status: "curated",
7383
8020
  priority: 24
7384
8021
  },
@@ -7386,7 +8023,7 @@ var OPEN_DESIGN_REGISTRY = [
7386
8023
  id: "od:template:web-prototype-taste-editorial",
7387
8024
  kind: "template",
7388
8025
  name: "Taste Editorial Web Prototype",
7389
- description: "Editorial website prototype direction with image-led sections and strong copy hierarchy.",
8026
+ description: "Editorial-minimalist web prototype with warm monochrome canvas, serif display type, hairline borders, pastel chips, and ambient micro-motion.",
7390
8027
  source: source("design-templates/web-prototype-taste-editorial"),
7391
8028
  targets: ["website", "poster"],
7392
8029
  tags: ["website", "editorial", "brand", "visual", "prototype"],
@@ -7396,11 +8033,16 @@ var OPEN_DESIGN_REGISTRY = [
7396
8033
  status: "curated",
7397
8034
  priority: 30
7398
8035
  },
8036
+ ...Object.entries(ADDITIONAL_OPEN_DESIGN_TEMPLATE_DESCRIPTIONS).map(
8037
+ ([slug, description]) => {
8038
+ return createOpenDesignTemplateEntry(slug, description);
8039
+ }
8040
+ ),
7399
8041
  {
7400
8042
  id: "od:design-system:dashboard",
7401
8043
  kind: "design-system",
7402
8044
  name: "Dashboard",
7403
- description: "Quiet, dense interface system for dashboards, tables, filters, and repeat workflows.",
8045
+ description: "Dark cloud-platform aesthetic with modular grids, glass-like panels, and strong data hierarchy for productivity dashboards.",
7404
8046
  source: source("design-systems/dashboard"),
7405
8047
  targets: ["website", "dashboard-design", "report"],
7406
8048
  tags: ["dashboard", "neutral", "dense", "table", "operations", "charts"],
@@ -7413,7 +8055,7 @@ var OPEN_DESIGN_REGISTRY = [
7413
8055
  id: "od:design-system:trading-terminal",
7414
8056
  kind: "design-system",
7415
8057
  name: "Trading Terminal",
7416
- description: "Dark dense market-terminal aesthetic for charts, feeds, tables, and high information density.",
8058
+ description: "Bloomberg-style financial trading terminal: dark-only, data-dense, with cyan and coral buy/sell signals readable at a glance.",
7417
8059
  source: source("design-systems/trading-terminal"),
7418
8060
  targets: ["presentation", "website", "dashboard-design", "report"],
7419
8061
  tags: ["dark", "terminal", "finance", "data", "charts", "dense"],
@@ -7426,7 +8068,7 @@ var OPEN_DESIGN_REGISTRY = [
7426
8068
  id: "od:design-system:warm-editorial",
7427
8069
  kind: "design-system",
7428
8070
  name: "Warm Editorial",
7429
- description: "Warm editorial design system for readable narrative pages, zines, and reports.",
8071
+ description: "Serif-led magazine aesthetic with terracotta accents on warm off-white paper for readable narrative pages, zines, and reports.",
7430
8072
  source: source("design-systems/warm-editorial"),
7431
8073
  targets: ["presentation", "website", "poster", "report", "docs-design"],
7432
8074
  tags: ["warm", "editorial", "magazine", "narrative", "readable"],
@@ -7439,7 +8081,7 @@ var OPEN_DESIGN_REGISTRY = [
7439
8081
  id: "od:design-system:editorial",
7440
8082
  kind: "design-system",
7441
8083
  name: "Editorial",
7442
- description: "Clean editorial design system with strong typography, media framing, and section rhythm.",
8084
+ description: "Magazine-inspired editorial layout with refined serif typography, structured grids, and elegant reading experiences.",
7443
8085
  source: source("design-systems/editorial"),
7444
8086
  targets: ["presentation", "website", "poster", "report", "docs-design"],
7445
8087
  tags: ["editorial", "typography", "media", "brand", "article"],
@@ -7452,7 +8094,7 @@ var OPEN_DESIGN_REGISTRY = [
7452
8094
  id: "od:design-system:mono",
7453
8095
  kind: "design-system",
7454
8096
  name: "Mono",
7455
- description: "Minimal monospace-oriented system for documentation, technical pages, and precise reports.",
8097
+ description: "Monospace-driven, matrix-inspired design with high-contrast elements, compact density, and a hacker-chic aesthetic.",
7456
8098
  source: source("design-systems/mono"),
7457
8099
  targets: ["website", "docs-design", "report"],
7458
8100
  tags: ["mono", "docs", "technical", "minimal", "structured"],
@@ -7465,7 +8107,7 @@ var OPEN_DESIGN_REGISTRY = [
7465
8107
  id: "od:design-system:apple",
7466
8108
  kind: "design-system",
7467
8109
  name: "Apple",
7468
- description: "Apple-inspired interface system for polished mobile and product UI design.",
8110
+ description: "Consumer electronics design system with premium white space, SF Pro-style typography, and cinematic imagery.",
7469
8111
  source: source("design-systems/apple"),
7470
8112
  targets: ["mobile-app-design", "website"],
7471
8113
  tags: ["apple", "mobile", "ios", "clean", "product"],
@@ -7474,6 +8116,11 @@ var OPEN_DESIGN_REGISTRY = [
7474
8116
  status: "curated",
7475
8117
  priority: 34
7476
8118
  },
8119
+ ...Object.entries(ADDITIONAL_OPEN_DESIGN_DESIGN_SYSTEM_DESCRIPTIONS).map(
8120
+ ([slug, description]) => {
8121
+ return createOpenDesignDesignSystemEntry(slug, description);
8122
+ }
8123
+ ),
7477
8124
  {
7478
8125
  id: "vm0:image-style:notion-illustration",
7479
8126
  kind: "image-style",
@@ -7551,7 +8198,7 @@ var OPEN_DESIGN_REGISTRY = [
7551
8198
  ];
7552
8199
  function listImageStyles() {
7553
8200
  return OPEN_DESIGN_REGISTRY.filter((entry) => {
7554
- return entry.kind === "image-style" && entry.status !== "hidden";
8201
+ return entry.kind === "image-style";
7555
8202
  });
7556
8203
  }
7557
8204
  function findImageStyle(id) {
@@ -7602,12 +8249,11 @@ function scoreEntry(entry, target, prompt) {
7602
8249
  const normalizedPrompt = normalizeText(prompt);
7603
8250
  const promptTokens = new Set(tokenize(prompt));
7604
8251
  const targetScore = entry.targets.includes(target) ? 100 : 0;
7605
- const curationScore = entry.status === "curated" ? 20 : entry.status === "experimental" ? -20 : -1e3;
7606
- return targetScore + curationScore + (entry.priority ?? 0) + phraseScore(entry.triggers, normalizedPrompt, 40) + phraseScore(entry.bestFor, normalizedPrompt, 15) + tokenScore(entry.tags, promptTokens, 10) + tokenScore(entry.description.split(" "), promptTokens, 2);
8252
+ return targetScore + (entry.priority ?? 0) + phraseScore(entry.triggers, normalizedPrompt, 40) + phraseScore(entry.bestFor, normalizedPrompt, 15) + tokenScore(entry.tags, promptTokens, 10) + tokenScore(entry.description.split(" "), promptTokens, 2);
7607
8253
  }
7608
8254
  function selectByKind(kind, target, prompt, limit) {
7609
8255
  return OPEN_DESIGN_REGISTRY.filter((entry) => {
7610
- return entry.kind === kind && entry.status !== "hidden";
8256
+ return entry.kind === kind;
7611
8257
  }).map((entry) => {
7612
8258
  return { entry, score: scoreEntry(entry, target, prompt) };
7613
8259
  }).filter(({ score }) => {
@@ -10196,7 +10842,7 @@ function registerZeroCommands(prog, commands) {
10196
10842
  var program = new Command();
10197
10843
  program.name("zero").description(
10198
10844
  "Zero CLI \u2014 interact with the zero platform from inside the sandbox"
10199
- ).version("9.166.0").addHelpText("after", () => {
10845
+ ).version("9.167.1").addHelpText("after", () => {
10200
10846
  return buildZeroHelpText();
10201
10847
  });
10202
10848
  if (process.argv[1]?.endsWith("zero.js") || process.argv[1]?.endsWith("zero.ts") || process.argv[1]?.endsWith("zero")) {