@vm0/cli 9.243.4 → 9.244.0

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.
Files changed (91) hide show
  1. package/{agent-4S7KOIJ4.js → agent-LOS7AKCU.js} +5 -5
  2. package/{banking-QQB7QHID.js → banking-ELAMAKMK.js} +3 -3
  3. package/{chat-IMB35PI3.js → chat-YG3R7NRF.js} +4 -4
  4. package/{chunk-PZOUBIZV.js → chunk-5PSHCMVK.js} +2 -2
  5. package/{chunk-ZKZJZKG4.js → chunk-655COZGX.js} +2 -2
  6. package/{chunk-ZKZJZKG4.js.map → chunk-655COZGX.js.map} +1 -1
  7. package/{chunk-7SJUCM3V.js → chunk-6YMSNNZL.js} +7 -28
  8. package/{chunk-7SJUCM3V.js.map → chunk-6YMSNNZL.js.map} +1 -1
  9. package/{chunk-Z6V23A3S.js → chunk-7F5MBXAC.js} +2 -2
  10. package/{chunk-XTOBYDBQ.js → chunk-CRDV75VC.js} +22 -4
  11. package/{chunk-XTOBYDBQ.js.map → chunk-CRDV75VC.js.map} +1 -1
  12. package/{chunk-NXLXSVUU.js → chunk-GBT5XM5E.js} +3 -3
  13. package/{chunk-BBVWRRSM.js → chunk-GFSRDJ22.js} +2 -2
  14. package/{chunk-DO6BPJ4N.js → chunk-LGZ7BSEH.js} +40 -1
  15. package/{chunk-DO6BPJ4N.js.map → chunk-LGZ7BSEH.js.map} +1 -1
  16. package/{chunk-4GE6Q27F.js → chunk-LPGQJJFT.js} +2 -2
  17. package/{chunk-W6MYT6PM.js → chunk-RMUULDR3.js} +4 -4
  18. package/{chunk-CBSTQCOJ.js → chunk-U2L5CMFZ.js} +4 -4
  19. package/{computer-use-U7AG652E.js → computer-use-Z43CBWDW.js} +3 -3
  20. package/{connector-6WXDK3T7.js → connector-CNVDG5OD.js} +6 -6
  21. package/{credit-SROIQEHQ.js → credit-BURTPVOY.js} +4 -4
  22. package/{developer-support-7HLADR2C.js → developer-support-GLWBVZ3Z.js} +3 -3
  23. package/{doctor-LWO2OBWE.js → doctor-ET4TGFSY.js} +3 -3
  24. package/{generate-5TDZZ7FY.js → generate-3MOPGXX4.js} +5 -5
  25. package/{github-F6IDETZ6.js → github-6MS45YTS.js} +3 -3
  26. package/{goal-27IRUDVR.js → goal-ANRH7XK2.js} +3 -3
  27. package/{host-KBBWSYYF.js → host-VINF5EP2.js} +3 -3
  28. package/index.js +13 -13
  29. package/{logs-6DSJCTCJ.js → logs-RLGCHW7R.js} +6 -6
  30. package/{mail-MVVK3ME2.js → mail-KEYSQYKF.js} +5 -5
  31. package/{maps-N7L4MUDS.js → maps-T2QROPD7.js} +3 -3
  32. package/{model-QOSYOVVY.js → model-ZN5VYPRQ.js} +4 -4
  33. package/{model-provider-YVFW7PFR.js → model-provider-LOTRTTKC.js} +4 -4
  34. package/{org-TYSAKTKP.js → org-A2S6BGH7.js} +3 -3
  35. package/package.json +1 -1
  36. package/{phone-U6A6IM6S.js → phone-MZNKGTPL.js} +3 -3
  37. package/{preference-VUVIYY4Y.js → preference-XLQFESM4.js} +3 -3
  38. package/{resource-BTAFOZSH.js → resource-YQRJFEFT.js} +4 -4
  39. package/{scrape-D3QTUCWB.js → scrape-QAB5EMU5.js} +3 -3
  40. package/{search-DSYJX6ZX.js → search-BDKLNSKI.js} +6 -6
  41. package/{secret-U2LHG5EL.js → secret-M5JL4MJQ.js} +3 -3
  42. package/{slack-R5WCSMH7.js → slack-XZHDPRRF.js} +3 -3
  43. package/{teams-6PCHFQJC.js → teams-5FYGUYML.js} +3 -3
  44. package/{telegram-HMK35R5A.js → telegram-4PRTEXMI.js} +3 -3
  45. package/{variable-ZY34XJGO.js → variable-PWM66RAF.js} +3 -3
  46. package/{video-KH6XWKLP.js → video-RFPSFA6W.js} +2 -2
  47. package/{web-FPJKHTMU.js → web-WHR6KBM2.js} +3 -3
  48. package/{web-search-QGV3LKR7.js → web-search-5TVUPMYU.js} +3 -3
  49. package/{whoami-IQVDY4DS.js → whoami-MWXH7G4S.js} +5 -5
  50. package/{workflow-KR4WBJFU.js → workflow-EV6DZSUI.js} +3 -3
  51. package/zero.js +35 -35
  52. /package/{agent-4S7KOIJ4.js.map → agent-LOS7AKCU.js.map} +0 -0
  53. /package/{banking-QQB7QHID.js.map → banking-ELAMAKMK.js.map} +0 -0
  54. /package/{chat-IMB35PI3.js.map → chat-YG3R7NRF.js.map} +0 -0
  55. /package/{chunk-PZOUBIZV.js.map → chunk-5PSHCMVK.js.map} +0 -0
  56. /package/{chunk-Z6V23A3S.js.map → chunk-7F5MBXAC.js.map} +0 -0
  57. /package/{chunk-NXLXSVUU.js.map → chunk-GBT5XM5E.js.map} +0 -0
  58. /package/{chunk-BBVWRRSM.js.map → chunk-GFSRDJ22.js.map} +0 -0
  59. /package/{chunk-4GE6Q27F.js.map → chunk-LPGQJJFT.js.map} +0 -0
  60. /package/{chunk-W6MYT6PM.js.map → chunk-RMUULDR3.js.map} +0 -0
  61. /package/{chunk-CBSTQCOJ.js.map → chunk-U2L5CMFZ.js.map} +0 -0
  62. /package/{computer-use-U7AG652E.js.map → computer-use-Z43CBWDW.js.map} +0 -0
  63. /package/{connector-6WXDK3T7.js.map → connector-CNVDG5OD.js.map} +0 -0
  64. /package/{credit-SROIQEHQ.js.map → credit-BURTPVOY.js.map} +0 -0
  65. /package/{developer-support-7HLADR2C.js.map → developer-support-GLWBVZ3Z.js.map} +0 -0
  66. /package/{doctor-LWO2OBWE.js.map → doctor-ET4TGFSY.js.map} +0 -0
  67. /package/{generate-5TDZZ7FY.js.map → generate-3MOPGXX4.js.map} +0 -0
  68. /package/{github-F6IDETZ6.js.map → github-6MS45YTS.js.map} +0 -0
  69. /package/{goal-27IRUDVR.js.map → goal-ANRH7XK2.js.map} +0 -0
  70. /package/{host-KBBWSYYF.js.map → host-VINF5EP2.js.map} +0 -0
  71. /package/{logs-6DSJCTCJ.js.map → logs-RLGCHW7R.js.map} +0 -0
  72. /package/{mail-MVVK3ME2.js.map → mail-KEYSQYKF.js.map} +0 -0
  73. /package/{maps-N7L4MUDS.js.map → maps-T2QROPD7.js.map} +0 -0
  74. /package/{model-QOSYOVVY.js.map → model-ZN5VYPRQ.js.map} +0 -0
  75. /package/{model-provider-YVFW7PFR.js.map → model-provider-LOTRTTKC.js.map} +0 -0
  76. /package/{org-TYSAKTKP.js.map → org-A2S6BGH7.js.map} +0 -0
  77. /package/{phone-U6A6IM6S.js.map → phone-MZNKGTPL.js.map} +0 -0
  78. /package/{preference-VUVIYY4Y.js.map → preference-XLQFESM4.js.map} +0 -0
  79. /package/{resource-BTAFOZSH.js.map → resource-YQRJFEFT.js.map} +0 -0
  80. /package/{scrape-D3QTUCWB.js.map → scrape-QAB5EMU5.js.map} +0 -0
  81. /package/{search-DSYJX6ZX.js.map → search-BDKLNSKI.js.map} +0 -0
  82. /package/{secret-U2LHG5EL.js.map → secret-M5JL4MJQ.js.map} +0 -0
  83. /package/{slack-R5WCSMH7.js.map → slack-XZHDPRRF.js.map} +0 -0
  84. /package/{teams-6PCHFQJC.js.map → teams-5FYGUYML.js.map} +0 -0
  85. /package/{telegram-HMK35R5A.js.map → telegram-4PRTEXMI.js.map} +0 -0
  86. /package/{variable-ZY34XJGO.js.map → variable-PWM66RAF.js.map} +0 -0
  87. /package/{video-KH6XWKLP.js.map → video-RFPSFA6W.js.map} +0 -0
  88. /package/{web-FPJKHTMU.js.map → web-WHR6KBM2.js.map} +0 -0
  89. /package/{web-search-QGV3LKR7.js.map → web-search-5TVUPMYU.js.map} +0 -0
  90. /package/{whoami-IQVDY4DS.js.map → whoami-MWXH7G4S.js.map} +0 -0
  91. /package/{workflow-KR4WBJFU.js.map → workflow-EV6DZSUI.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/core/src/resource-registry.ts","../../../packages/core/src/website-template-items.ts"],"sourcesContent":["import {\n WEBSITE_TEMPLATE_ITEMS,\n findWebsiteTemplateItem,\n type WebsiteTemplateItem,\n} from \"./website-template-items\";\n\nexport type GenerationTarget =\n | \"image\"\n | \"presentation\"\n | \"website\"\n | \"dashboard-design\"\n | \"mobile-app-design\"\n | \"poster\"\n | \"intro-video\"\n | \"report\"\n | \"docs-design\";\n\nexport type GenerationOutputKind =\n | \"website\"\n | \"image\"\n | \"audio\"\n | \"video\"\n | \"presentation\"\n | \"report\"\n | \"poster\"\n | \"dashboard-design\"\n | \"mobile-app-design\"\n | \"docs-design\"\n | \"bundle\";\n\ntype ResourceKind =\n | \"skill\"\n | \"tool\"\n | \"template\"\n | \"design-system\"\n | \"color-system\"\n | \"image-style\"\n | \"audio-style\"\n | \"video-template\"\n | \"bundle-template\";\n\ninterface ResourceSourceRef {\n readonly path: string;\n readonly repo?: string;\n readonly ref?: string;\n readonly archive?: {\n readonly type: \"tar.gz\";\n readonly sha256: string;\n };\n}\n\nexport interface RegistryEntry {\n readonly id: string;\n readonly kind: ResourceKind;\n readonly name: string;\n readonly description: string;\n readonly desc?: string;\n readonly source: ResourceSourceRef;\n /**\n * Generation targets this entry applies to. Mandatory for `kind: \"template\"`\n * so we can filter templates per `generate` subcommand. Optional and unused\n * for other kinds — design systems apply to all HTML targets, image styles\n * apply only to image generation, and so on.\n */\n readonly targets?: readonly GenerationTarget[];\n}\n\nexport interface VideoTemplateRegistryEntry extends Omit<\n RegistryEntry,\n \"kind\" | \"source\"\n> {\n readonly kind: \"video-template\";\n readonly source: ResourceSourceRef & {\n readonly repo: string;\n readonly ref: string;\n };\n}\n\nexport interface ResourceCandidateSlice {\n readonly registryVersion: string;\n readonly source: {\n readonly repo: string;\n readonly ref: string;\n };\n readonly sources: readonly (\n | {\n readonly type?: \"git\";\n readonly repo: string;\n readonly ref: string;\n }\n | {\n readonly type: \"r2-archive\";\n readonly description: string;\n }\n )[];\n readonly candidates: {\n readonly skills: readonly RegistryEntry[];\n readonly templates: readonly RegistryEntry[];\n readonly designSystems: readonly RegistryEntry[];\n readonly imageStyles: readonly RegistryEntry[];\n readonly audioStyles: readonly RegistryEntry[];\n readonly videoTemplates: readonly VideoTemplateRegistryEntry[];\n readonly bundleTemplates: readonly RegistryEntry[];\n };\n}\n\nconst RESOURCE_REGISTRY_REPO = \"nexu-io/open-design\";\nconst RESOURCE_REGISTRY_COMMIT = \"3fb620af423534643677c7c6fae76be088fa770a\";\nconst VM0_SKILLS_REPO = \"vm0-ai/vm0-skills\";\nconst VM0_SKILLS_REF = \"main\";\nconst VIDEO_TEMPLATE_REGISTRY_SOURCE = {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n} as const;\n\nconst RESOURCE_REGISTRY_VERSION = \"v1\";\n\nfunction privateR2ArchiveSource(\n path: string,\n sha256: string,\n): ResourceSourceRef {\n return {\n path,\n archive: {\n type: \"tar.gz\",\n sha256,\n },\n };\n}\n\nconst PRESENTATION_RESOURCE_ARCHIVE_SHA256 = {\n colorSystemBauhausPrimary:\n \"f42a1d62462f24b1a411889f8011b07bd3f1bb1db82a339cc59cf5ab5be2f475\",\n colorSystemBerryPop:\n \"dfb63401d8991e2cc54acb2489eee937bce7e890991a2cc3a102447f39ed5539\",\n colorSystemCarnival:\n \"70d3721484929f0c841da5b0ecdb81889e81b5f37280607889c532cee1183f48\",\n colorSystemCitrusFresh:\n \"776e5e0f57f85b1896fe52cf9bc31a72a6e3a5e2f6629f5538abee022474b757\",\n colorSystemCoralStudio:\n \"d3a6f57fe02ac67530c005b011771dc48366155c537c35a04ed1c76d56d37b39\",\n colorSystemForestEditorial:\n \"359ebe14d8d3b3bd45a669402ef5f97223a67029e2ee6c6bab9f54af8a143ea6\",\n colorSystemGoldLuxe:\n \"0f9cabcf693ad4b6266bbaec2a4ec723a8292b759b8e342b180b79e48b485843\",\n colorSystemMauveDusk:\n \"de5abb4063c7abdba91efc3be2522130b51fe9bc1def51aa7fa05f3529b08588\",\n colorSystemMidnightMono:\n \"45db0976a10c24eede57bb38502d8a7d8ec5ad44456f32276d9b590760bb3875\",\n colorSystemMintTech:\n \"e66358f8ab1b8cb243a26540711add2343ede056b5218706074bbc75bc1089bc\",\n colorSystemMonoInk:\n \"851fc5dbf70fb4811362f6899ded96639e828b2efa82ae6ed716b4265eee712a\",\n colorSystemNordicFrost:\n \"b4d4920ec93bb39ddb7b9650f1c67567fdc4d19573011d573da14cb58e61e4d2\",\n colorSystemOceanDeep:\n \"b189e1454eb91bbf951753edf2cf9bd6a4e0317573dcb7b7bf002a9fef7165db\",\n colorSystemPopArt:\n \"076a4d943611abd05c1e2f5e2936901da38dbdf0b36f46aa7268e82f74b0a0af\",\n colorSystemPrism:\n \"059e0754eefc8bc2a49c3332ddabf65d8edb7d306d6d697929b367dbe2ea4768\",\n colorSystemSlateCorporate:\n \"4d8b502cb6ade2ec0490cfe9652e2c21477c2c67d5785f512135ba1b51694a13\",\n colorSystemSunsetMaroon:\n \"f57b3b2bc079f9c81d7cb6e394d0f3f098e3f971258de0dc6d3670e034c66467\",\n colorSystemTerracottaClay:\n \"f174828c51f50a0f8c6c91493920e232f16ba6ec8c08dd9a0f896aaade9fadee\",\n colorSystemWarmSand:\n \"b76919f0c5a3fe0a72586938e79eea81d90b6ab09701f7bef3fe9f50b94d757b\",\n} as const;\n\nfunction videoTemplateSource(\n path: string,\n): VideoTemplateRegistryEntry[\"source\"] {\n return {\n ...VIDEO_TEMPLATE_REGISTRY_SOURCE,\n path,\n };\n}\n\nconst VIDEO_TEMPLATE_REGISTRY: readonly VideoTemplateRegistryEntry[] = [\n {\n id: \"video-template:epic-grandeur\",\n kind: \"video-template\",\n name: \"Epic Grandeur\",\n description:\n \"Large-format epic cinematic video style with wide framing, aerial scale, golden backlight, and awe-struck tone.\",\n source: videoTemplateSource(\"video-template/epic-grandeur\"),\n },\n {\n id: \"video-template:gourmet-documentary\",\n kind: \"video-template\",\n name: \"Gourmet Documentary\",\n description:\n \"Sensory culinary-documentary video style with macro food texture, steam, warm backlight, and artisan hands.\",\n source: videoTemplateSource(\"video-template/gourmet-documentary\"),\n },\n {\n id: \"video-template:luxury-product\",\n kind: \"video-template\",\n name: \"Luxury Product Macro\",\n description:\n \"Dark luxury product macro video style with premium material detail, black studio, pinpoint highlights, and refined reveals.\",\n source: videoTemplateSource(\"video-template/luxury-product\"),\n },\n {\n id: \"video-template:shortform-viral\",\n kind: \"video-template\",\n name: \"Shortform Viral\",\n description:\n \"Short-form viral video style with vertical framing, fast hook, handheld creator energy, bright color, and quick rhythm.\",\n source: videoTemplateSource(\"video-template/shortform-viral\"),\n },\n {\n id: \"video-template:fashion-editorial\",\n kind: \"video-template\",\n name: \"Fashion Editorial\",\n description:\n \"High-fashion editorial video style with cold desaturated grade, strong silhouettes, luxury texture, and deliberate pose.\",\n source: videoTemplateSource(\"video-template/fashion-editorial\"),\n },\n {\n id: \"video-template:sports-performance-ad\",\n kind: \"video-template\",\n name: \"Sports Performance Ad\",\n description:\n \"Sports performance advertising video style with athlete effort, gear close-ups, impact rhythm, and dramatic rim light.\",\n source: videoTemplateSource(\"video-template/sports-performance-ad\"),\n },\n {\n id: \"video-template:japanese-wabi-sabi\",\n kind: \"video-template\",\n name: \"Japanese Wabi-Sabi\",\n description:\n \"Japanese wabi-sabi lifestyle video style with natural imperfection, warm soft light, negative space, and quiet mood.\",\n source: videoTemplateSource(\"video-template/japanese-wabi-sabi\"),\n },\n {\n id: \"video-template:hand-drawn-fantasy-anime\",\n kind: \"video-template\",\n name: \"Hand Drawn Fantasy Anime\",\n description:\n \"Hand-drawn fantasy animation video style with painterly 2D backgrounds, expressive characters, and gentle wonder.\",\n source: videoTemplateSource(\"video-template/hand-drawn-fantasy-anime\"),\n },\n {\n id: \"video-template:cyberpunk-anime\",\n kind: \"video-template\",\n name: \"Cyberpunk Anime\",\n description:\n \"2D cyberpunk anime video style with neon megacity atmosphere, rain-slick streets, cel shading, and melancholic mood.\",\n source: videoTemplateSource(\"video-template/cyberpunk-anime\"),\n },\n {\n id: \"video-template:chinese-ink-art\",\n kind: \"video-template\",\n name: \"Chinese Ink Painting\",\n description:\n \"Chinese ink-wash video style with monochrome brush texture, white space, mist, and calm classical-poetry mood.\",\n source: videoTemplateSource(\"video-template/chinese-ink-art\"),\n },\n];\n\nconst RESOURCE_REGISTRY: readonly RegistryEntry[] = [\n {\n id: \"skill:article-magazine\",\n kind: \"skill\",\n name: \"Article Magazine\",\n description:\n \"Shapes research or editorial material into a magazine-like narrative with strong hierarchy.\",\n source: { path: \"skills/article-magazine/SKILL.md\" },\n },\n {\n id: \"skill:design-brief\",\n kind: \"skill\",\n name: \"Design Brief\",\n description:\n \"Converts a product, brand, or feature request into a structured design brief.\",\n source: { path: \"skills/design-brief/SKILL.md\" },\n },\n {\n id: \"skill:8-bit-orbit-video-template\",\n kind: \"skill\",\n name: \"8 Bit Orbit Video Template\",\n description:\n \"HyperFrames-based video template for retro pixel deck motion design — multi-scene HTML-to-video composition with advanced transitions and ready-to-render default style.\",\n source: { path: \"skills/8-bit-orbit-video-template/SKILL.md\" },\n },\n {\n id: \"skill:after-hours-editorial-template\",\n kind: \"skill\",\n name: \"After Hours Editorial Template\",\n description:\n \"Luxury dark-editorial HyperFrames template for three-page cinematic storyboards — haute couture title cards and magazine chapter spreads with moody serif-led storytelling.\",\n source: { path: \"skills/after-hours-editorial-template/SKILL.md\" },\n },\n {\n id: \"skill:algorithmic-art\",\n kind: \"skill\",\n name: \"Algorithmic Art\",\n description:\n \"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.\",\n source: { path: \"skills/algorithmic-art/SKILL.md\" },\n },\n {\n id: \"skill:apple-hig\",\n kind: \"skill\",\n name: \"Apple HIG\",\n description:\n \"Apple Human Interface Guidelines as 14 agent skills covering platforms, foundations, components, patterns, inputs, and technologies for iOS, macOS, visionOS, watchOS, and tvOS.\",\n source: { path: \"skills/apple-hig/SKILL.md\" },\n },\n {\n id: \"skill:brainstorming\",\n kind: \"skill\",\n name: \"Brainstorming\",\n description:\n \"Transform rough ideas into fully-formed designs through structured questioning and alternative exploration. Useful early in concept work.\",\n source: { path: \"skills/brainstorming/SKILL.md\" },\n },\n {\n id: \"skill:brand-guidelines\",\n kind: \"skill\",\n name: \"Brand Guidelines\",\n description:\n \"Apply Anthropic's official brand colors and typography to artifacts for consistent visual identity and professional design standards. A reference for shaping your own.\",\n source: { path: \"skills/brand-guidelines/SKILL.md\" },\n },\n {\n id: \"skill:canvas-design\",\n kind: \"skill\",\n name: \"Canvas Design\",\n description:\n \"Create beautiful visual art in PNG and PDF documents using design philosophy and aesthetic principles for posters, illustrations, and static pieces.\",\n source: { path: \"skills/canvas-design/SKILL.md\" },\n },\n {\n id: \"skill:card-twitter\",\n kind: \"skill\",\n name: \"Card Twitter\",\n description: \"Twitter quote or data card designed to pair with a post.\",\n source: { path: \"skills/card-twitter/SKILL.md\" },\n },\n {\n id: \"skill:card-xiaohongshu\",\n kind: \"skill\",\n name: \"Card Xiaohongshu\",\n description:\n \"Xiaohongshu-style knowledge cards, arranged as a swipeable multi-card carousel.\",\n source: { path: \"skills/card-xiaohongshu/SKILL.md\" },\n },\n {\n id: \"skill:color-expert\",\n kind: \"skill\",\n name: \"Color Expert\",\n description:\n \"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.\",\n source: { path: \"skills/color-expert/SKILL.md\" },\n },\n {\n id: \"skill:creative-director\",\n kind: \"skill\",\n name: \"Creative Director\",\n description:\n \"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.\",\n source: { path: \"skills/creative-director/SKILL.md\" },\n },\n {\n id: \"skill:d3-visualization\",\n kind: \"skill\",\n name: \"D3 Visualization\",\n description:\n \"Teaches the agent to produce D3 charts and interactive data visualizations. Useful for editorial dashboards, reports, and explanatory graphics.\",\n source: { path: \"skills/d3-visualization/SKILL.md\" },\n },\n {\n id: \"skill:deck-guizang-editorial\",\n kind: \"skill\",\n name: \"Deck Guizang Editorial\",\n description:\n \"Editorial magazine meets e-ink: 10 layouts and 5 palettes (Ink, Indigo Porcelain, Forest Ink, Kraft Paper, Dune).\",\n source: { path: \"skills/deck-guizang-editorial/SKILL.md\" },\n },\n {\n id: \"skill:deck-open-slide-canvas\",\n kind: \"skill\",\n name: \"Deck Open Slide Canvas\",\n description:\n \"Locked 1920x1080 canvas deck with React component-level free composition, not bound to a fixed template.\",\n source: { path: \"skills/deck-open-slide-canvas/SKILL.md\" },\n },\n {\n id: \"skill:deck-swiss-international\",\n kind: \"skill\",\n name: \"Deck Swiss International\",\n description:\n \"16-column grid, one saturated accent, and 22 locked layouts (Klein Blue, Lemon, Mint, Safety Orange).\",\n source: { path: \"skills/deck-swiss-international/SKILL.md\" },\n },\n {\n id: \"skill:design-consultation\",\n kind: \"skill\",\n name: \"Design Consultation\",\n description:\n \"Build a complete design system from scratch with creative risks and realistic product mockups. Useful for kickoff workshops and brand-from-zero work.\",\n source: { path: \"skills/design-consultation/SKILL.md\" },\n },\n {\n id: \"skill:design-md\",\n kind: \"skill\",\n name: \"Design MD\",\n description:\n \"Create and manage DESIGN.md files. Useful for capturing design direction, tokens, and visual rules in a single source of truth.\",\n source: { path: \"skills/design-md/SKILL.md\" },\n },\n {\n id: \"skill:design-review\",\n kind: \"skill\",\n name: \"Design Review\",\n description:\n \"Designer Who Codes: visual audit then fixes with atomic commits and before/after screenshots. Useful for tightening shipped UI before launch.\",\n source: { path: \"skills/design-review/SKILL.md\" },\n },\n {\n id: \"skill:digits-fintech-swiss-template\",\n kind: \"skill\",\n name: \"Digits Fintech Swiss Template\",\n description:\n \"Swiss-grid fintech deck template in black / warm paper / neon-lime — strict modular layout, bold numeric cards, restrained motion, keyboard/click navigation.\",\n source: { path: \"skills/digits-fintech-swiss-template/SKILL.md\" },\n },\n {\n id: \"skill:doc-kami-parchment\",\n kind: \"skill\",\n name: \"DOC Kami Parchment\",\n description:\n \"Warm parchment canvas (#f5f4ed), monochrome ink-blue accent (#1B365D), one serif family, and editorial-grade typography.\",\n source: { path: \"skills/doc-kami-parchment/SKILL.md\" },\n },\n {\n id: \"skill:editorial-burgundy-principles-template\",\n kind: \"skill\",\n name: \"Editorial Burgundy Principles Template\",\n description:\n \"Editorial studio deck template in burgundy / blush / muted-gold — pill tags, large typographic statements, principle cards, guided keyboard/click navigation.\",\n source: { path: \"skills/editorial-burgundy-principles-template/SKILL.md\" },\n },\n {\n id: \"skill:enhance-prompt\",\n kind: \"skill\",\n name: \"Enhance Prompt\",\n description:\n \"Improve prompts with design specs and UI/UX vocabulary. Useful for design-to-code workflows and clarifying requests for visual output.\",\n source: { path: \"skills/enhance-prompt/SKILL.md\" },\n },\n {\n id: \"skill:faq-page\",\n kind: \"skill\",\n name: \"FAQ Page\",\n description:\n \"A Frequently Asked Questions (FAQ) page with collapsible accordion sections, search functionality, and category filtering.\",\n source: { path: \"skills/faq-page/SKILL.md\" },\n },\n {\n id: \"skill:field-notes-editorial-template\",\n kind: \"skill\",\n name: \"Field Notes Editorial Template\",\n description:\n \"Editorial Field Notes report template — soft paper background, serif hero typography, rounded pastel insight cards, retention chart panel. Premium magazine-style.\",\n source: { path: \"skills/field-notes-editorial-template/SKILL.md\" },\n },\n {\n id: \"skill:figma-create-design-system-rules\",\n kind: \"skill\",\n name: \"Figma Create Design System Rules\",\n description:\n \"Generate project-specific design system rules for Figma-to-code workflows. Useful for capturing tokens, naming, and lint rules in one source.\",\n source: { path: \"skills/figma-create-design-system-rules/SKILL.md\" },\n },\n {\n id: \"skill:figma-generate-design\",\n kind: \"skill\",\n name: \"Figma Generate Design\",\n description:\n \"Build or update screens in Figma from code or description using design system components. Translate app pages into Figma using design tokens.\",\n source: { path: \"skills/figma-generate-design/SKILL.md\" },\n },\n {\n id: \"skill:figma-generate-library\",\n kind: \"skill\",\n name: \"Figma Generate Library\",\n description:\n \"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.\",\n source: { path: \"skills/figma-generate-library/SKILL.md\" },\n },\n {\n id: \"skill:figma-implement-design\",\n kind: \"skill\",\n name: \"Figma Implement Design\",\n description:\n \"Translate Figma designs into production-ready code with 1:1 visual fidelity. Useful for handing off Figma frames straight to a frontend agent.\",\n source: { path: \"skills/figma-implement-design/SKILL.md\" },\n },\n {\n id: \"skill:flutter-animating-apps\",\n kind: \"skill\",\n name: \"Flutter Animating Apps\",\n description:\n \"Implement animated effects, transitions, and motion in Flutter apps. Useful for native iOS/Android motion design.\",\n source: { path: \"skills/flutter-animating-apps/SKILL.md\" },\n },\n {\n id: \"skill:frame-data-chart-nyt\",\n kind: \"skill\",\n name: \"Frame Data Chart Nyt\",\n description:\n \"NYT-newsroom typography, staggered reveal animation, and editorial-grade charts (line, bar, or range band).\",\n source: { path: \"skills/frame-data-chart-nyt/SKILL.md\" },\n },\n {\n id: \"skill:frame-flowchart-sticky\",\n kind: \"skill\",\n name: \"Frame Flowchart Sticky\",\n description:\n \"SVG curve connectors, sticky-note nodes, and cursor interaction with a whiteboard-brainstorm feel.\",\n source: { path: \"skills/frame-flowchart-sticky/SKILL.md\" },\n },\n {\n id: \"skill:frame-glitch-title\",\n kind: \"skill\",\n name: \"Frame Glitch Title\",\n description:\n \"Digital glitch, chromatic offset, and data-corruption title frame for video transitions or cyberpunk heroes.\",\n source: { path: \"skills/frame-glitch-title/SKILL.md\" },\n },\n {\n id: \"skill:frame-light-leak-cinema\",\n kind: \"skill\",\n name: \"Frame Light Leak Cinema\",\n description:\n \"Film light leaks, grain, 16:9 letterbox, and large serif type for cinematic openings or chapter cards.\",\n source: { path: \"skills/frame-light-leak-cinema/SKILL.md\" },\n },\n {\n id: \"skill:frame-liquid-bg-hero\",\n kind: \"skill\",\n name: \"Frame Liquid Bg Hero\",\n description:\n \"WebGL-style fluid displacement background with a quote overlay, suited to video intros, landing heroes, or posters.\",\n source: { path: \"skills/frame-liquid-bg-hero/SKILL.md\" },\n },\n {\n id: \"skill:frame-logo-outro\",\n kind: \"skill\",\n name: \"Frame Logo Outro\",\n description:\n \"Segmented logo assembly, glow bloom, and tagline reveal for video outros or brand closing frames.\",\n source: { path: \"skills/frame-logo-outro/SKILL.md\" },\n },\n {\n id: \"skill:frame-macos-notification\",\n kind: \"skill\",\n name: \"Frame Macos Notification\",\n description:\n \"Realistic macOS notification banner with app icon, title, and body, suited to video overlays or product teasers.\",\n source: { path: \"skills/frame-macos-notification/SKILL.md\" },\n },\n {\n id: \"skill:frontend-design\",\n kind: \"skill\",\n name: \"Frontend Design\",\n description:\n \"Frontend design and UI/UX development tools for shipping production-ready interfaces with strong typographic and layout discipline.\",\n source: { path: \"skills/frontend-design/SKILL.md\" },\n },\n {\n id: \"skill:frontend-dev\",\n kind: \"skill\",\n name: \"Frontend Dev\",\n description:\n \"Full-stack frontend with cinematic animations, AI-generated media via MiniMax API, and generative art. Useful for hero pages and showcase sites.\",\n source: { path: \"skills/frontend-dev/SKILL.md\" },\n },\n {\n id: \"skill:frontend-skill\",\n kind: \"skill\",\n name: \"Frontend Skill\",\n description:\n \"Create visually strong landing pages, websites, and app UIs with restrained composition. OpenAI's production frontend playbook.\",\n source: { path: \"skills/frontend-skill/SKILL.md\" },\n },\n {\n id: \"skill:frontend-slides\",\n kind: \"skill\",\n name: \"Frontend Slides\",\n description:\n \"Generate animation-rich HTML presentations with visual style previews. Useful for online keynotes, embedded talks, and interactive briefs.\",\n source: { path: \"skills/frontend-slides/SKILL.md\" },\n },\n {\n id: \"skill:gsap-core\",\n kind: \"skill\",\n name: \"GSAP Core\",\n description:\n \"Core GSAP API with gsap.to(), from(), fromTo(), easing, duration, stagger, and defaults. Production-grade web animation primitives.\",\n source: { path: \"skills/gsap-core/SKILL.md\" },\n },\n {\n id: \"skill:gsap-react\",\n kind: \"skill\",\n name: \"GSAP React\",\n description:\n \"GSAP React integration with useGSAP hook, refs, gsap.context(), cleanup, and SSR. Ships safe motion in React + Next.js apps.\",\n source: { path: \"skills/gsap-react/SKILL.md\" },\n },\n {\n id: \"skill:gsap-scrolltrigger\",\n kind: \"skill\",\n name: \"GSAP Scrolltrigger\",\n description:\n \"GSAP ScrollTrigger for scroll-linked animations, pinning, scrub, and refresh handling. Useful for editorial sites and product pages.\",\n source: { path: \"skills/gsap-scrolltrigger/SKILL.md\" },\n },\n {\n id: \"skill:gsap-timeline\",\n kind: \"skill\",\n name: \"GSAP Timeline\",\n description:\n \"GSAP Timelines with sequencing, position parameter, labels, nesting, and playback control. Useful for orchestrating multi-step motion sequences.\",\n source: { path: \"skills/gsap-timeline/SKILL.md\" },\n },\n {\n id: \"skill:hand-drawn-diagrams\",\n kind: \"skill\",\n name: \"Hand Drawn Diagrams\",\n description:\n \"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.\",\n source: { path: \"skills/hand-drawn-diagrams/SKILL.md\" },\n },\n {\n id: \"skill:hatch-pet\",\n kind: \"skill\",\n name: \"Hatch Pet\",\n description:\n \"Create, repair, validate, preview, and package Codex-compatible animated pet spritesheets with an 8x9 atlas, QA contact sheets, preview videos, and pet.json packaging.\",\n source: { path: \"skills/hatch-pet/SKILL.md\" },\n },\n {\n id: \"skill:html-ppt-retro-quarterly-review\",\n kind: \"skill\",\n name: \"HTML PPT Retro Quarterly Review\",\n description:\n \"Retro Quarterly Review template — bold blue + orange editorial with slab headlines, cream paper sections, structured grids, fast premium motion pacing in video mode.\",\n source: { path: \"skills/html-ppt-retro-quarterly-review/SKILL.md\" },\n },\n {\n id: \"skill:login-flow\",\n kind: \"skill\",\n name: \"Login Flow\",\n description: \"Mobile login and authentication flow screens.\",\n source: { path: \"skills/login-flow/SKILL.md\" },\n },\n {\n id: \"skill:mockup-device-3d\",\n kind: \"skill\",\n name: \"Mockup Device 3D\",\n description:\n \"Static iPhone and MacBook 3D-style showcase with real HTML embedded on screens, glass-lens refraction, and 360-degree turntable composition.\",\n source: { path: \"skills/mockup-device-3d/SKILL.md\" },\n },\n {\n id: \"skill:paywall-upgrade-cro\",\n kind: \"skill\",\n name: \"Paywall Upgrade Cro\",\n description:\n \"Design and optimize upgrade screens, paywalls, and upsell modals. Useful for SaaS conversion design and pricing-page experiments.\",\n source: { path: \"skills/paywall-upgrade-cro/SKILL.md\" },\n },\n {\n id: \"skill:plan-design-review\",\n kind: \"skill\",\n name: \"Plan Design Review\",\n description:\n \"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.\",\n source: { path: \"skills/plan-design-review/SKILL.md\" },\n },\n {\n id: \"skill:platform-design\",\n kind: \"skill\",\n name: \"Platform Design\",\n description:\n \"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.\",\n source: { path: \"skills/platform-design/SKILL.md\" },\n },\n {\n id: \"skill:poster-hero\",\n kind: \"skill\",\n name: \"Poster Hero\",\n description:\n \"Vertical poster or Moments-style share image with strong visual impact.\",\n source: { path: \"skills/poster-hero/SKILL.md\" },\n },\n {\n id: \"skill:ppt-keynote\",\n kind: \"skill\",\n name: \"PPT Keynote\",\n description:\n \"Apple Keynote-quality slides, one card per screen, with keyboard left/right navigation.\",\n source: { path: \"skills/ppt-keynote/SKILL.md\" },\n },\n {\n id: \"skill:release-notes-one-pager\",\n kind: \"skill\",\n name: \"Release Notes One Pager\",\n description:\n '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.',\n source: { path: \"skills/release-notes-one-pager/SKILL.md\" },\n },\n {\n id: \"skill:resume-modern\",\n kind: \"skill\",\n name: \"Resume Modern\",\n description:\n \"Modern minimal resume, single A4 page, ready for print or PDF export.\",\n source: { path: \"skills/resume-modern/SKILL.md\" },\n },\n {\n id: \"skill:screenshots-marketing\",\n kind: \"skill\",\n name: \"Screenshots Marketing\",\n description:\n \"Generate marketing screenshots with Playwright. Useful for landing-page hero shots, App Store screenshots, and changelog visuals.\",\n source: { path: \"skills/screenshots-marketing/SKILL.md\" },\n },\n {\n id: \"skill:shadcn-ui\",\n kind: \"skill\",\n name: \"Shadcn UI\",\n description:\n \"Build UI components with shadcn/ui. Pairs with the Stitch design loop to ship structured, accessible components quickly.\",\n source: { path: \"skills/shadcn-ui/SKILL.md\" },\n },\n {\n id: \"skill:shader-dev\",\n kind: \"skill\",\n name: \"Shader Dev\",\n description:\n \"GLSL shader techniques for ray marching, fluid simulation, particle systems, and procedural generation. Useful for hero visuals and motion stills.\",\n source: { path: \"skills/shader-dev/SKILL.md\" },\n },\n {\n id: \"skill:slack-gif-creator\",\n kind: \"skill\",\n name: \"Slack GIF Creator\",\n description:\n \"Create animated GIFs optimized for Slack with validators for size constraints and composable animation primitives.\",\n source: { path: \"skills/slack-gif-creator/SKILL.md\" },\n },\n {\n id: \"skill:slides\",\n kind: \"skill\",\n name: \"Slides\",\n description:\n \"Create and edit .pptx presentation decks with PptxGenJS. Useful for sales decks, kickoff briefs, and design-system showcases.\",\n source: { path: \"skills/slides/SKILL.md\" },\n },\n {\n id: \"skill:social-reddit-card\",\n kind: \"skill\",\n name: \"Social Reddit Card\",\n description:\n \"Realistic Reddit post card with vote rail and comment count, suited to video overlays or story sharing.\",\n source: { path: \"skills/social-reddit-card/SKILL.md\" },\n },\n {\n id: \"skill:social-spotify-card\",\n kind: \"skill\",\n name: \"Social Spotify Card\",\n description:\n \"Spotify Now Playing-style card with album art, progress bar, and playback controls, suited to video overlays or personal homepages.\",\n source: { path: \"skills/social-spotify-card/SKILL.md\" },\n },\n {\n id: \"skill:social-x-post-card\",\n kind: \"skill\",\n name: \"Social X Post Card\",\n description:\n \"Realistic X post card with engagement metrics (likes, reposts, views), suited to video overlays or shareable image cards.\",\n source: { path: \"skills/social-x-post-card/SKILL.md\" },\n },\n {\n id: \"skill:stitch-loop\",\n kind: \"skill\",\n name: \"Stitch Loop\",\n description:\n \"Iterative design-to-code feedback loop. Critique adjust ship cycle for tightening visual fidelity between brief and built UI.\",\n source: { path: \"skills/stitch-loop/SKILL.md\" },\n },\n {\n id: \"skill:swiftui-design\",\n kind: \"skill\",\n name: \"Swiftui Design\",\n description:\n \"SwiftUI skill - anti AI-slop rules, design direction advisor, brand asset protocol, and five-dimension review. Works with Claude Code, Cursor, Codex, and OpenCode.\",\n source: { path: \"skills/swiftui-design/SKILL.md\" },\n },\n {\n id: \"skill:swiss-creative-mode-template\",\n kind: \"skill\",\n name: \"Swiss Creative Mode Template\",\n description:\n \"Swiss-inspired creative-mode presentation template — bold editorial typography, high-contrast geometric cards, interactive slide navigation, theme switching, hotspot overlays.\",\n source: { path: \"skills/swiss-creative-mode-template/SKILL.md\" },\n },\n {\n id: \"skill:swiss-user-research-video-template\",\n kind: \"skill\",\n name: \"Swiss User Research Video Template\",\n description:\n \"Swiss-style user-research narrative template in warm-paper editorial aesthetics — minimalist typography, donut breakdowns, keyboard/click navigation, single-file HTML.\",\n source: { path: \"skills/swiss-user-research-video-template/SKILL.md\" },\n },\n {\n id: \"skill:taste-skill\",\n kind: \"skill\",\n name: \"Taste Skill\",\n description:\n \"High-agency frontend skill that gives AI good taste with tunable design variance, motion intensity, and visual density to stop generic UI slop.\",\n source: { path: \"skills/taste-skill/SKILL.md\" },\n },\n {\n id: \"skill:theme-factory\",\n kind: \"skill\",\n name: \"Theme Factory\",\n description:\n \"Apply professional font and color themes to artifacts including slides, docs, reports, and HTML landing pages. Ships 10 pre-set themes.\",\n source: { path: \"skills/theme-factory/SKILL.md\" },\n },\n {\n id: \"skill:threejs\",\n kind: \"skill\",\n name: \"Threejs\",\n description:\n \"Three.js skills for creating 3D elements and interactive experiences in the browser - scenes, materials, controls, and post-processing.\",\n source: { path: \"skills/threejs/SKILL.md\" },\n },\n {\n id: \"skill:ui-skills\",\n kind: \"skill\",\n name: \"UI Skills\",\n description:\n \"Opinionated, evolving constraints to guide agents when building interfaces. Useful for keeping output coherent across many small UI pieces.\",\n source: { path: \"skills/ui-skills/SKILL.md\" },\n },\n {\n id: \"skill:ui-ux-pro-max\",\n kind: \"skill\",\n name: \"UI UX Pro Max\",\n description:\n \"Catalog-only UI/UX Pro Max entry. The full upstream templates, data, and search workflow are not bundled in this registry.\",\n source: { path: \"skills/ui-ux-pro-max/SKILL.md\" },\n },\n {\n id: \"skill:vfx-text-cursor\",\n kind: \"skill\",\n name: \"VFX Text Cursor\",\n description:\n \"Cursor light trail, chromatic rays, and directional flares for word-by-word quote reveals in video intros.\",\n source: { path: \"skills/vfx-text-cursor/SKILL.md\" },\n },\n {\n id: \"skill:video-hyperframes\",\n kind: \"skill\",\n name: \"Video Hyperframes\",\n description:\n \"Hyperframes / Remotion-compatible continuous frame animation with autoplay support.\",\n source: { path: \"skills/video-hyperframes/SKILL.md\" },\n },\n {\n id: \"skill:web-design-guidelines\",\n kind: \"skill\",\n name: \"Web Design Guidelines\",\n description:\n \"Web design guidelines and standards by the Vercel engineering team. Covers layout, typography, color, motion, and accessibility for product UI.\",\n source: { path: \"skills/web-design-guidelines/SKILL.md\" },\n },\n {\n id: \"skill:weread-year-in-review-video-template\",\n kind: \"skill\",\n name: \"Weread Year In Review Video Template\",\n description:\n \"WeRead-inspired HyperFrames video template for vertical annual reading reports — warm paper texture, editorial Chinese typography, book-page metaphors, deterministic motion.\",\n source: { path: \"skills/weread-year-in-review-video-template/SKILL.md\" },\n },\n {\n id: \"skill:wpds\",\n kind: \"skill\",\n name: \"WPDS\",\n description:\n \"WordPress Design System. Apply WordPress's official design tokens, typography, and component patterns to themes and sites.\",\n source: { path: \"skills/wpds/SKILL.md\" },\n },\n {\n id: \"template:dashboard\",\n kind: \"template\",\n name: \"Dashboard\",\n description:\n \"Admin or analytics dashboard in a single HTML file with fixed sidebar, top bar, KPI cards, and one or two charts.\",\n source: { path: \"design-templates/dashboard\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:finance-report\",\n kind: \"template\",\n name: \"Finance Report\",\n description:\n \"Quarterly or monthly financial report with masthead KPIs, revenue and burn charts, P&L summary, highlights, and outlook.\",\n source: { path: \"design-templates/finance-report\" },\n targets: [\"report\"],\n },\n {\n id: \"template:docs-page\",\n kind: \"template\",\n name: \"Docs Page\",\n description:\n \"Documentation page with inline-start navigation, scrollable article body, and inline-end table of contents.\",\n source: { path: \"design-templates/docs-page\" },\n targets: [\"docs-design\"],\n },\n {\n id: \"template:mobile-app\",\n kind: \"template\",\n name: \"Mobile App Design\",\n description:\n \"Mobile app screen rendered inside a pixel-accurate iPhone 15 Pro frame using reusable screen archetypes.\",\n source: { path: \"design-templates/mobile-app\" },\n targets: [\"mobile-app-design\"],\n },\n\n {\n id: \"template:html-ppt-zhangzara-retro-zine\",\n kind: \"template\",\n name: \"Zhangzara Retro Zine\",\n description:\n \"Retro editorial zine presentation template with expressive composition, tactile paper energy, and bold magazine-like rhythm.\",\n source: { path: \"design-templates/html-ppt-zhangzara-retro-zine\" },\n targets: [\"poster\"],\n },\n {\n id: \"template:weekly-update\",\n kind: \"template\",\n name: \"Weekly Update\",\n description:\n \"Single-file horizontal-swipe weekly team update deck for shipped work, in-flight work, blockers, metrics, and asks.\",\n source: { path: \"design-templates/weekly-update\" },\n targets: [\"report\"],\n },\n {\n id: \"template:web-prototype-taste-editorial\",\n kind: \"template\",\n name: \"Taste Editorial Web Prototype\",\n description:\n \"Editorial-minimalist web prototype with warm monochrome canvas, serif display type, hairline borders, pastel chips, and ambient micro-motion.\",\n source: { path: \"design-templates/web-prototype-taste-editorial\" },\n targets: [\"website\"],\n },\n {\n id: \"template:audio-jingle\",\n kind: \"template\",\n name: \"Audio Jingle\",\n description:\n \"Audio generation skill — 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…\",\n source: { path: \"design-templates/audio-jingle\" },\n targets: [\"intro-video\"],\n },\n {\n id: \"template:blog-post\",\n kind: \"template\",\n name: \"Blog Post\",\n description:\n \"A long-form article / blog post — masthead, hero image placeholder, article body with figures and pull quotes, author byline, related posts.\",\n source: { path: \"design-templates/blog-post\" },\n targets: [\"website\"],\n },\n {\n id: \"template:clinical-case-report\",\n kind: \"template\",\n name: \"Clinical Case Report\",\n description:\n \"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.\",\n source: { path: \"design-templates/clinical-case-report\" },\n targets: [\"report\"],\n },\n {\n id: \"template:critique\",\n kind: \"template\",\n name: \"Critique\",\n description:\n \"Run a 5-dimension expert design review on any HTML artifact in the project — Philosophy / Visual hierarchy / Detail / Functionality / Innovation, each scored 0–10. Outputs a single self-contained HTML report with a radar chart, evidence…\",\n source: { path: \"design-templates/critique\" },\n targets: [\n \"website\",\n \"dashboard-design\",\n \"report\",\n \"docs-design\",\n \"poster\",\n \"mobile-app-design\",\n ],\n },\n {\n id: \"template:dating-web\",\n kind: \"template\",\n name: \"Dating Web\",\n description:\n \"A consumer-feeling dating / matchmaking dashboard — 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.\",\n source: { path: \"design-templates/dating-web\" },\n targets: [\"website\"],\n },\n {\n id: \"template:dcf-valuation\",\n kind: \"template\",\n name: \"Dcf Valuation\",\n description:\n \"Discounted cash flow valuation and intrinsic value analysis for public companies.\",\n source: { path: \"design-templates/dcf-valuation\" },\n targets: [\"report\"],\n },\n {\n id: \"template:digital-eguide\",\n kind: \"template\",\n name: \"Digital Eguide\",\n description:\n 'A two-spread digital e-guide preview — 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.',\n source: { path: \"design-templates/digital-eguide\" },\n targets: [\"website\", \"docs-design\"],\n },\n {\n id: \"template:email-marketing\",\n kind: \"template\",\n name: \"Email Marketing\",\n description:\n \"A brand product-launch email — 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).\",\n source: { path: \"design-templates/email-marketing\" },\n targets: [\"website\"],\n },\n {\n id: \"template:eng-runbook\",\n kind: \"template\",\n name: \"Eng Runbook\",\n description:\n \"An engineering runbook — service overview, alerts table, dashboards links, common procedures with copy-pasteable commands, on-call rotation, and an incident-response checklist.\",\n source: { path: \"design-templates/eng-runbook\" },\n targets: [\"docs-design\"],\n },\n {\n id: \"template:flowai-live-dashboard-template\",\n kind: \"template\",\n name: \"Flowai Live Dashboard Template\",\n description:\n \"FlowAI team-management dashboard — three tabs (Members, Details, Activity Log), KPI row, role chart, presence sparklines, contributor panel, light/dark, CSV export, single HTML.\",\n source: { path: \"design-templates/flowai-live-dashboard-template\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:gamified-app\",\n kind: \"template\",\n name: \"Gamified App\",\n description:\n \"A multi-frame gamified mobile-app prototype — 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 t…\",\n source: { path: \"design-templates/gamified-app\" },\n targets: [\"website\", \"mobile-app-design\"],\n },\n {\n id: \"template:github-dashboard\",\n kind: \"template\",\n name: \"Github Dashboard\",\n description:\n \"GitHub repository analytics dashboard — stars, forks, contributors, issues, pull requests, recent activity, and top contributors.\",\n source: { path: \"design-templates/github-dashboard\" },\n targets: [\"dashboard-design\"],\n },\n\n {\n id: \"template:hr-onboarding\",\n kind: \"template\",\n name: \"Hr Onboarding\",\n description:\n 'A new-hire onboarding plan as a single page — first week schedule, buddy + manager intro, learning track, equipment checklist, and \"you\\'re set when…\" outcomes.',\n source: { path: \"design-templates/hr-onboarding\" },\n targets: [\"docs-design\"],\n },\n\n {\n id: \"template:html-ppt-weekly-report\",\n kind: \"template\",\n name: \"HTML PPT Weekly Report\",\n description:\n \"Team weekly / status-update deck — corporate clarity, 8-cell KPI grid, shipped list, 8-week bar chart, next-week table. Use for 周报, business reviews, team status updates, and exec dashboards.\",\n source: { path: \"design-templates/html-ppt-weekly-report\" },\n targets: [\"report\"],\n },\n {\n id: \"template:html-ppt-xhs-pastel-card\",\n kind: \"template\",\n name: \"HTML PPT Xhs Pastel Card\",\n description:\n \"柔和马卡龙慢生活 deck — 奶油底 + 柔光 blob、Playfair 斜体 + sans 正文、28px 圆角马卡龙卡片、SVG donut 图、chip+page 顶栏。适合生活方式 / 个人成长 / 慢生活内容。\",\n source: { path: \"design-templates/html-ppt-xhs-pastel-card\" },\n targets: [\"poster\"],\n },\n {\n id: \"template:html-ppt-xhs-post\",\n kind: \"template\",\n name: \"HTML PPT Xhs Post\",\n description:\n \"小红书 / Instagram 风 9 页 3:4 竖版图文(810×1080)— 暖色 pastel、虚线 sticker 卡片、底部页码点点。\",\n source: { path: \"design-templates/html-ppt-xhs-post\" },\n targets: [\"poster\"],\n },\n {\n id: \"template:html-ppt-xhs-white-editorial\",\n kind: \"template\",\n name: \"HTML PPT Xhs White Editorial\",\n description:\n \"白底杂志风 deck — 纯白 + 顶部 10 色彩虹 bar、80-110px display 标题、紫→蓝→绿→橙→粉渐变文字、马卡龙软卡片组、黑底白字 .focus pill。小红书图文 + 横版 PPT 双用。\",\n source: { path: \"design-templates/html-ppt-xhs-white-editorial\" },\n targets: [\"poster\"],\n },\n\n {\n id: \"template:html-ppt-zhangzara-biennale-yellow\",\n kind: \"template\",\n name: \"HTML PPT Zhangzara Biennale Yellow\",\n description:\n \"Biennale Yellow — solar yellow on warm parchment with deep indigo serif and sun-glow gradients. For art-biennale posters, museum programmes, curatorial pitches, literary publications.\",\n source: { path: \"design-templates/html-ppt-zhangzara-biennale-yellow\" },\n targets: [\"poster\"],\n },\n\n {\n id: \"template:html-ppt-zhangzara-bold-poster\",\n kind: \"template\",\n name: \"HTML PPT Zhangzara Bold Poster\",\n description:\n \"Bold Poster — editorial poster aesthetic with massive Shrikhand display and a single fire-engine red accent. For magazine-cover brand manifestos and editorial / cultural pitches.\",\n source: { path: \"design-templates/html-ppt-zhangzara-bold-poster\" },\n targets: [\"poster\"],\n },\n\n {\n id: \"template:hyperframes\",\n kind: \"template\",\n name: \"Hyperframes\",\n description:\n \"HTML video composition skill — captions, voiceover, audio-reactive animation, scene transitions, and timing in HyperFrames HTML. For CLI commands see hyperframes-cli.\",\n source: { path: \"design-templates/hyperframes\" },\n targets: [\"intro-video\"],\n },\n {\n id: \"template:ib-pitch-book\",\n kind: \"template\",\n name: \"Ib Pitch Book\",\n description:\n \"Investment-banking pitch book — trading comps, precedent transactions, valuation football field, DCF sensitivity, strategic-options matrix. For Board / sell-side discussion materials.\",\n source: { path: \"design-templates/ib-pitch-book\" },\n targets: [\"report\"],\n },\n {\n id: \"template:image-poster\",\n kind: \"template\",\n name: \"Image Poster\",\n description:\n \"Single-image generation skill for posters, key art, and editorial illustrations. Defaults to gpt-image-2 but is provider-agnostic — the same workflow drives Flux, Imagen, or Midjourney via the active upstream tooling. Output is one or mo…\",\n source: { path: \"design-templates/image-poster\" },\n targets: [\"poster\"],\n },\n {\n id: \"template:invoice\",\n kind: \"template\",\n name: \"Invoice\",\n description:\n \"A printable invoice page — sender + recipient block, line items table, tax breakdown, totals, and payment instructions.\",\n source: { path: \"design-templates/invoice\" },\n targets: [\"report\"],\n },\n\n {\n id: \"template:kami-landing\",\n kind: \"template\",\n name: \"Kami Landing\",\n description:\n \"Produce a print-grade single-page kami (紙 / 纸) document — 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. Multili…\",\n source: { path: \"design-templates/kami-landing\" },\n targets: [\"website\"],\n },\n {\n id: \"template:kanban-board\",\n kind: \"template\",\n name: \"Kanban Board\",\n description:\n \"Kanban / task board with columns (To do / In progress / In review / Done), draggable-looking cards, assignee avatars, swimlanes, and a top filter bar.\",\n source: { path: \"design-templates/kanban-board\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:last30days\",\n kind: \"template\",\n name: \"Last30days\",\n description:\n \"Recent community and social trend research over the last 30 days.\",\n source: { path: \"design-templates/last30days\" },\n targets: [\"dashboard-design\", \"report\"],\n },\n {\n id: \"template:live-artifact\",\n kind: \"template\",\n name: \"Live Artifact\",\n description:\n \"Create refreshable, auditable artifacts backed by connector or local data. Trigger when the user asks for live dashboards, refreshable reports, synced views, or reusable data-backed artifacts.\",\n source: { path: \"design-templates/live-artifact\" },\n targets: [\"dashboard-design\", \"report\", \"website\"],\n },\n {\n id: \"template:live-dashboard\",\n kind: \"template\",\n name: \"Live Dashboard\",\n description:\n \"Notion-style team dashboard as a Live Artifact — KPIs, 7-day sparkline, activity feed, and a linked-database task table wired to Notion via Composio. Refreshable, with mock fallback.\",\n source: { path: \"design-templates/live-dashboard\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:magazine-poster\",\n kind: \"template\",\n name: \"Magazine Poster\",\n description:\n \"An editorial-style poster — 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 fu…\",\n source: { path: \"design-templates/magazine-poster\" },\n targets: [\"poster\"],\n },\n {\n id: \"template:meeting-notes\",\n kind: \"template\",\n name: \"Meeting Notes\",\n description:\n 'Meeting notes page — title bar with attendees, agenda checklist, decisions block, action items table with owners + dates, and a \"next meeting\" footer.',\n source: { path: \"design-templates/meeting-notes\" },\n targets: [\"docs-design\"],\n },\n {\n id: \"template:mobile-onboarding\",\n kind: \"template\",\n name: \"Mobile Onboarding\",\n description:\n \"A multi-screen mobile onboarding flow rendered as three phone frames side by side — splash, value-prop, sign-in. Status bar, swipe dots, primary CTA.\",\n source: { path: \"design-templates/mobile-onboarding\" },\n targets: [\"mobile-app-design\"],\n },\n {\n id: \"template:motion-frames\",\n kind: \"template\",\n name: \"Motion Frames\",\n description:\n \"A single-frame motion-design composition with looping CSS animations — 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.\",\n source: { path: \"design-templates/motion-frames\" },\n targets: [\"intro-video\"],\n },\n {\n id: \"template:open-design-landing\",\n kind: \"template\",\n name: \"Editorial Landing\",\n description:\n \"Single-page editorial landing site in the Atelier Zero visual language (Monocle / Apartamento / Études collage). Composes from a typed inputs.json with optional gpt-image-2 assets.\",\n source: { path: \"design-templates/open-design-landing\" },\n targets: [\"website\"],\n },\n\n {\n id: \"template:orbit-general\",\n kind: \"template\",\n name: \"Orbit General\",\n description:\n \"Open Orbit daily digest — pulls 24h activity from every connected connector (GitHub, Linear, Notion, Slack, …) into a bento-grid dashboard. Invoked by the Orbit scheduler.\",\n source: { path: \"design-templates/orbit-general\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:orbit-github\",\n kind: \"template\",\n name: \"Orbit Github\",\n description:\n \"Open Orbit GitHub digest — 24h of PRs, reviews, issues, CI, and merges rendered in GitHub's native Notifications + PR-diff visual language. Invoked by the Orbit scheduler.\",\n source: { path: \"design-templates/orbit-github\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:orbit-gmail\",\n kind: \"template\",\n name: \"Orbit Gmail\",\n description:\n \"Open Orbit Gmail digest — 24h of inbox activity (replies, mentions, cc, bulk) rendered as the Orbit Daily Digest email inside Gmail's reading view. Invoked by the Orbit scheduler.\",\n source: { path: \"design-templates/orbit-gmail\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:orbit-linear\",\n kind: \"template\",\n name: \"Orbit Linear\",\n description:\n \"Open Orbit Linear digest — 24h of issue movement, status changes, assignments, and cycle progress in Linear's native Inbox + cycle visual language. Invoked by the Orbit scheduler.\",\n source: { path: \"design-templates/orbit-linear\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:orbit-notion\",\n kind: \"template\",\n name: \"Orbit Notion\",\n description:\n \"Open Orbit Notion digest — 24h of doc edits, comments, mentions, and database row changes rendered as a native Notion page. Invoked by the Orbit scheduler.\",\n source: { path: \"design-templates/orbit-notion\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:pm-spec\",\n kind: \"template\",\n name: \"Pm Spec\",\n description:\n \"Product spec / PRD as a single page — problem, success metrics, scope, user stories, design notes, rollout plan, open questions.\",\n source: { path: \"design-templates/pm-spec\" },\n targets: [\"docs-design\"],\n },\n {\n id: \"template:pricing-page\",\n kind: \"template\",\n name: \"Pricing Page\",\n description:\n \"A standalone pricing page — header, plan tiers, feature comparison table, and an FAQ.\",\n source: { path: \"design-templates/pricing-page\" },\n targets: [\"website\"],\n },\n\n {\n id: \"template:saas-landing\",\n kind: \"template\",\n name: \"Saas Landing\",\n description:\n \"Single-page SaaS landing with hero, features, social proof, pricing, and CTA. Respects the active DESIGN.md color/typography/layout tokens.\",\n source: { path: \"design-templates/saas-landing\" },\n targets: [\"website\"],\n },\n\n {\n id: \"template:social-carousel\",\n kind: \"template\",\n name: \"Social Carousel\",\n description:\n 'A three-card social-media carousel laid out as 1080×1080 squares — three cinematic, on-brand panels with display headlines that connect across the series (\"onwards.\" → \"to the next one.\" → \"looking ahead.\"). Each card has a brand mark, a…',\n source: { path: \"design-templates/social-carousel\" },\n targets: [\"poster\"],\n },\n {\n id: \"template:social-media-dashboard\",\n kind: \"template\",\n name: \"Social Media Dashboard\",\n description:\n '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 w…',\n source: { path: \"design-templates/social-media-dashboard\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:social-media-matrix-tracker-template\",\n kind: \"template\",\n name: \"Social Media Matrix Tracker Template\",\n description: \"社媒矩阵数据追踪面板模板(Social Media Matrix Tracker)。\",\n source: { path: \"design-templates/social-media-matrix-tracker-template\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:sprite-animation\",\n kind: \"template\",\n name: \"Sprite Animation\",\n description:\n \"A pixel / sprite-style animated explainer slide — 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…\",\n source: { path: \"design-templates/sprite-animation\" },\n targets: [\"intro-video\"],\n },\n {\n id: \"template:team-okrs\",\n kind: \"template\",\n name: \"Team Okrs\",\n description:\n 'OKR tracker page — quarter banner, three objectives with their key results as progress bars, owner avatars, status pills, and a \"this quarter at a glance\" sidebar.',\n source: { path: \"design-templates/team-okrs\" },\n targets: [\"docs-design\", \"dashboard-design\"],\n },\n {\n id: \"template:trading-analysis-dashboard-template\",\n kind: \"template\",\n name: \"Trading Analysis Dashboard Template\",\n description:\n \"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.\",\n source: { path: \"design-templates/trading-analysis-dashboard-template\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:tweaks\",\n kind: \"template\",\n name: \"Tweaks\",\n description:\n \"Wrap any HTML artifact with a side panel of live, parameterized controls — accent color, type scale, density, motion, theme — that rewrite CSS custom properties in real time and persist to localStorage. Lets the user explore variants of…\",\n source: { path: \"design-templates/tweaks\" },\n targets: [\n \"website\",\n \"dashboard-design\",\n \"report\",\n \"docs-design\",\n \"poster\",\n \"mobile-app-design\",\n ],\n },\n {\n id: \"template:video-shortform\",\n kind: \"template\",\n name: \"Video Shortform\",\n description:\n \"Short-form video generation skill — 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 th…\",\n source: { path: \"design-templates/video-shortform\" },\n targets: [\"intro-video\"],\n },\n {\n id: \"template:waitlist-page\",\n kind: \"template\",\n name: \"Waitlist Page\",\n description:\n \"Minimal pre-launch landing with email capture, brand logo, and optional decorative layer. Reads DESIGN.md for colors, typography, and layout rules.\",\n source: { path: \"design-templates/waitlist-page\" },\n targets: [\"website\"],\n },\n {\n id: \"template:web-prototype\",\n kind: \"template\",\n name: \"Web Prototype\",\n description:\n \"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…\",\n source: { path: \"design-templates/web-prototype\" },\n targets: [\"website\"],\n },\n {\n id: \"template:web-prototype-taste-brutalist\",\n kind: \"template\",\n name: \"Web Prototype Taste Brutalist\",\n description:\n \"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` (Sw…\",\n source: { path: \"design-templates/web-prototype-taste-brutalist\" },\n targets: [\"website\"],\n },\n {\n id: \"template:web-prototype-taste-soft\",\n kind: \"template\",\n name: \"Web Prototype Taste Soft\",\n description:\n \"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–8 of `taste-skill`.\",\n source: { path: \"design-templates/web-prototype-taste-soft\" },\n targets: [\"website\"],\n },\n {\n id: \"template:wireframe-sketch\",\n kind: \"template\",\n name: \"Wireframe Sketch\",\n description:\n \"A hand-drawn wireframe exploration — 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 pixe…\",\n source: { path: \"design-templates/wireframe-sketch\" },\n targets: [\"website\", \"mobile-app-design\", \"dashboard-design\"],\n },\n {\n id: \"template:x-research\",\n kind: \"template\",\n name: \"X Research\",\n description:\n \"X/Twitter public sentiment research for recent market, company, product, or community discourse.\",\n source: { path: \"design-templates/x-research\" },\n targets: [\"report\"],\n },\n {\n id: \"design-system:dashboard\",\n kind: \"design-system\",\n name: \"Dashboard\",\n description:\n \"Dark cloud-platform aesthetic with modular grids, glass-like panels, and strong data hierarchy for productivity dashboards.\",\n source: { path: \"design-systems/dashboard\" },\n },\n {\n id: \"design-system:trading-terminal\",\n kind: \"design-system\",\n name: \"Trading Terminal\",\n description:\n \"Bloomberg-style financial trading terminal: dark-only, data-dense, with cyan and coral buy/sell signals readable at a glance.\",\n source: { path: \"design-systems/trading-terminal\" },\n },\n {\n id: \"design-system:warm-editorial\",\n kind: \"design-system\",\n name: \"Warm Editorial\",\n description:\n \"Serif-led magazine aesthetic with terracotta accents on warm off-white paper for readable narrative pages, zines, and reports.\",\n source: { path: \"design-systems/warm-editorial\" },\n },\n {\n id: \"design-system:editorial\",\n kind: \"design-system\",\n name: \"Editorial\",\n description:\n \"Magazine-inspired editorial layout with refined serif typography, structured grids, and elegant reading experiences.\",\n source: { path: \"design-systems/editorial\" },\n },\n {\n id: \"design-system:mono\",\n kind: \"design-system\",\n name: \"Mono\",\n description:\n \"Monospace-driven, matrix-inspired design with high-contrast elements, compact density, and a hacker-chic aesthetic.\",\n source: { path: \"design-systems/mono\" },\n },\n {\n id: \"design-system:apple\",\n kind: \"design-system\",\n name: \"Apple\",\n description:\n \"Consumer electronics design system with premium white space, SF Pro-style typography, and cinematic imagery.\",\n source: { path: \"design-systems/apple\" },\n },\n {\n id: \"design-system:agentic\",\n kind: \"design-system\",\n name: \"Agentic\",\n description:\n \"Conversational AI-first interface with minimal controls, clear outcomes, and delegated task flows for agentic workflows.\",\n source: { path: \"design-systems/agentic\" },\n },\n {\n id: \"design-system:airbnb\",\n kind: \"design-system\",\n name: \"Airbnb\",\n description:\n \"Travel marketplace. Warm coral accent, photography-driven, rounded UI.\",\n source: { path: \"design-systems/airbnb\" },\n },\n {\n id: \"design-system:airtable\",\n kind: \"design-system\",\n name: \"Airtable\",\n description:\n \"Spreadsheet-database hybrid. Colorful, friendly, structured data aesthetic.\",\n source: { path: \"design-systems/airtable\" },\n },\n {\n id: \"design-system:ant\",\n kind: \"design-system\",\n name: \"Ant\",\n description:\n \"Structured, enterprise-focused design system emphasizing clarity, consistency, and efficiency for data-dense web applications.\",\n source: { path: \"design-systems/ant\" },\n },\n {\n id: \"design-system:application\",\n kind: \"design-system\",\n name: \"Application\",\n description:\n \"App dashboard with purple-themed aesthetic, top-bar navigation, card-based layouts, and developer-first workflows.\",\n source: { path: \"design-systems/application\" },\n },\n {\n id: \"design-system:arc\",\n kind: \"design-system\",\n name: \"Arc\",\n description:\n '\"The browser that browses for you.\" Translucent surfaces, gradient warmth, sidebar-first layout.',\n source: { path: \"design-systems/arc\" },\n },\n {\n id: \"design-system:artistic\",\n kind: \"design-system\",\n name: \"Artistic\",\n description:\n \"High-contrast, expressive style with creative typography and bold color choices for visually striking interfaces.\",\n source: { path: \"design-systems/artistic\" },\n },\n {\n id: \"design-system:atelier-zero\",\n kind: \"design-system\",\n name: \"Atelier Zero\",\n description:\n \"A magazine-grade, collage-driven visual system: warm paper canvas, surreal.\",\n source: { path: \"design-systems/atelier-zero\" },\n },\n {\n id: \"design-system:bento\",\n kind: \"design-system\",\n name: \"Bento\",\n description:\n \"Modular grid layout with card-like blocks, clear hierarchy, soft spacing, and subtle visual contrast for organized, scannable interfaces.\",\n source: { path: \"design-systems/bento\" },\n },\n {\n id: \"design-system:binance\",\n kind: \"design-system\",\n name: \"Binance\",\n description:\n \"Crypto exchange. Bold yellow accent on monochrome, trading-floor urgency.\",\n source: { path: \"design-systems/binance\" },\n },\n {\n id: \"design-system:bmw\",\n kind: \"design-system\",\n name: \"Bmw\",\n description:\n \"Luxury automotive. Dark premium surfaces, precise German engineering aesthetic.\",\n source: { path: \"design-systems/bmw\" },\n },\n {\n id: \"design-system:bmw-m\",\n kind: \"design-system\",\n name: \"Bmw M\",\n description:\n \"Motorsport performance sub-brand. Near-black cockpit surfaces, BMW M tricolor accents, sharp engineering geometry.\",\n source: { path: \"design-systems/bmw-m\" },\n },\n {\n id: \"design-system:bold\",\n kind: \"design-system\",\n name: \"Bold\",\n description:\n \"Strong visual presence with heavyweight typography, high-contrast colors, and commanding layouts.\",\n source: { path: \"design-systems/bold\" },\n },\n {\n id: \"design-system:brutalism\",\n kind: \"design-system\",\n name: \"Brutalism\",\n description:\n \"Raw, anti-design aesthetic inspired by concrete architecture with unadorned elements, jarring layouts, and functional minimalism.\",\n source: { path: \"design-systems/brutalism\" },\n },\n {\n id: \"design-system:bugatti\",\n kind: \"design-system\",\n name: \"Bugatti\",\n description:\n \"Hypercar brand. Cinema-black canvas, monochrome austerity, monumental display type.\",\n source: { path: \"design-systems/bugatti\" },\n },\n {\n id: \"design-system:cafe\",\n kind: \"design-system\",\n name: \"Cafe\",\n description:\n \"Cozy cafe-inspired interface with warm tones, soft typography, and clean layouts for a relaxed browsing experience.\",\n source: { path: \"design-systems/cafe\" },\n },\n {\n id: \"design-system:cal\",\n kind: \"design-system\",\n name: \"Cal\",\n description:\n \"Open-source scheduling. Clean neutral UI, developer-oriented simplicity.\",\n source: { path: \"design-systems/cal\" },\n },\n {\n id: \"design-system:canva\",\n kind: \"design-system\",\n name: \"Canva\",\n description:\n \"Visual creation platform. Vivid purple-blue gradient, generous spacing, friendly geometry.\",\n source: { path: \"design-systems/canva\" },\n },\n {\n id: \"design-system:cisco\",\n kind: \"design-system\",\n name: \"Cisco\",\n description:\n \"Enterprise infrastructure brand. Dark trust surfaces, Cisco Blue signal, technical clarity.\",\n source: { path: \"design-systems/cisco\" },\n },\n {\n id: \"design-system:claude\",\n kind: \"design-system\",\n name: \"Claude\",\n description:\n \"Anthropic's AI assistant. Warm terracotta accent, clean editorial layout.\",\n source: { path: \"design-systems/claude\" },\n },\n {\n id: \"design-system:clay\",\n kind: \"design-system\",\n name: \"Clay\",\n description:\n \"Creative agency. Organic shapes, soft gradients, art-directed layout.\",\n source: { path: \"design-systems/clay\" },\n },\n {\n id: \"design-system:claymorphism\",\n kind: \"design-system\",\n name: \"Claymorphism\",\n description:\n \"Soft, rounded 3D-like shapes mimicking malleable clay with playful, puffy elements and colorful surfaces.\",\n source: { path: \"design-systems/claymorphism\" },\n },\n {\n id: \"design-system:clean\",\n kind: \"design-system\",\n name: \"Clean\",\n description:\n \"Simplicity-focused design with ample whitespace, legible typography, and a limited color palette to reduce visual clutter.\",\n source: { path: \"design-systems/clean\" },\n },\n {\n id: \"design-system:clickhouse\",\n kind: \"design-system\",\n name: \"Clickhouse\",\n description:\n \"Fast analytics database. Yellow-accented, technical documentation style.\",\n source: { path: \"design-systems/clickhouse\" },\n },\n {\n id: \"design-system:cohere\",\n kind: \"design-system\",\n name: \"Cohere\",\n description:\n \"Enterprise AI platform. Vibrant gradients, data-rich dashboard aesthetic.\",\n source: { path: \"design-systems/cohere\" },\n },\n {\n id: \"design-system:coinbase\",\n kind: \"design-system\",\n name: \"Coinbase\",\n description:\n \"Crypto exchange. Clean blue identity, trust-focused, institutional feel.\",\n source: { path: \"design-systems/coinbase\" },\n },\n {\n id: \"design-system:colorful\",\n kind: \"design-system\",\n name: \"Colorful\",\n description:\n \"Vibrant, high-contrast palettes and gradients for engaging, memorable, and modern user experiences.\",\n source: { path: \"design-systems/colorful\" },\n },\n {\n id: \"design-system:composio\",\n kind: \"design-system\",\n name: \"Composio\",\n description:\n \"Tool integration platform. Modern dark with colorful integration icons.\",\n source: { path: \"design-systems/composio\" },\n },\n {\n id: \"design-system:contemporary\",\n kind: \"design-system\",\n name: \"Contemporary\",\n description:\n \"Current-era minimalist design with bento grids, dark mode support, and high-performance accessible layouts.\",\n source: { path: \"design-systems/contemporary\" },\n },\n {\n id: \"design-system:corporate\",\n kind: \"design-system\",\n name: \"Corporate\",\n description:\n \"Professional, brand-aligned design with structured grids, minimalist layouts, and consistent enterprise patterns.\",\n source: { path: \"design-systems/corporate\" },\n },\n {\n id: \"design-system:cosmic\",\n kind: \"design-system\",\n name: \"Cosmic\",\n description:\n \"Futuristic sci-fi aesthetic with dark themes, vibrant neon accents, and immersive spatial elements.\",\n source: { path: \"design-systems/cosmic\" },\n },\n {\n id: \"design-system:creative\",\n kind: \"design-system\",\n name: \"Creative\",\n description:\n \"Playful, character-driven design with expressive typography and bold graphics for landing pages and creative projects.\",\n source: { path: \"design-systems/creative\" },\n },\n {\n id: \"design-system:cursor\",\n kind: \"design-system\",\n name: \"Cursor\",\n description:\n \"AI-first code editor. Sleek dark interface, gradient accents.\",\n source: { path: \"design-systems/cursor\" },\n },\n {\n id: \"design-system:default\",\n kind: \"design-system\",\n name: \"Default\",\n description: \"A clean, product-oriented default.\",\n source: { path: \"design-systems/default\" },\n },\n {\n id: \"design-system:discord\",\n kind: \"design-system\",\n name: \"Discord\",\n description:\n \"Voice / chat platform. Deep blurple, dark-first surfaces, playful accent moments.\",\n source: { path: \"design-systems/discord\" },\n },\n {\n id: \"design-system:dithered\",\n kind: \"design-system\",\n name: \"Dithered\",\n description:\n \"Dot-pattern rendering technique that simulates shades with a limited palette for nostalgic, retro, high-contrast visuals.\",\n source: { path: \"design-systems/dithered\" },\n },\n {\n id: \"design-system:doodle\",\n kind: \"design-system\",\n name: \"Doodle\",\n description:\n \"Hand-drawn, sketch-like style with doodles, handwritten fonts, and imperfect lines for a playful, informal feel.\",\n source: { path: \"design-systems/doodle\" },\n },\n {\n id: \"design-system:dramatic\",\n kind: \"design-system\",\n name: \"Dramatic\",\n description:\n \"High-contrast, theatrical design with bold layouts, immersive visuals, and unconventional compositions that command attention.\",\n source: { path: \"design-systems/dramatic\" },\n },\n {\n id: \"design-system:duolingo\",\n kind: \"design-system\",\n name: \"Duolingo\",\n description:\n \"Language-learning platform. Bright owl green, chunky shadows, gamified joy.\",\n source: { path: \"design-systems/duolingo\" },\n },\n {\n id: \"design-system:elegant\",\n kind: \"design-system\",\n name: \"Elegant\",\n description:\n \"Graceful, refined aesthetic with delicate typography, minimal palettes, and polished layouts that exude sophistication.\",\n source: { path: \"design-systems/elegant\" },\n },\n {\n id: \"design-system:elevenlabs\",\n kind: \"design-system\",\n name: \"Elevenlabs\",\n description:\n \"AI voice platform. Dark cinematic UI, audio-waveform aesthetics.\",\n source: { path: \"design-systems/elevenlabs\" },\n },\n {\n id: \"design-system:energetic\",\n kind: \"design-system\",\n name: \"Energetic\",\n description:\n \"Dynamic, vibrant style with thick borders, geometric shapes, high-contrast colors, and expressive typography conveying motion and vitality.\",\n source: { path: \"design-systems/energetic\" },\n },\n {\n id: \"design-system:enterprise\",\n kind: \"design-system\",\n name: \"Enterprise\",\n description:\n \"Clean, high-contrast enterprise design for data-driven workflows with intuitive drag-and-drop patterns and structured layouts.\",\n source: { path: \"design-systems/enterprise\" },\n },\n {\n id: \"design-system:expo\",\n kind: \"design-system\",\n name: \"Expo\",\n description:\n \"React Native platform. Dark theme, tight letter-spacing, code-centric.\",\n source: { path: \"design-systems/expo\" },\n },\n {\n id: \"design-system:expressive\",\n kind: \"design-system\",\n name: \"Expressive\",\n description:\n \"Vibrant, personality-driven design with bold colors, playful graphics, and dynamic layouts that balance creativity with structure.\",\n source: { path: \"design-systems/expressive\" },\n },\n {\n id: \"design-system:fantasy\",\n kind: \"design-system\",\n name: \"Fantasy\",\n description:\n \"Game-inspired fantasy aesthetic with bold, premium visuals, rich color palettes, and immersive thematic elements.\",\n source: { path: \"design-systems/fantasy\" },\n },\n {\n id: \"design-system:ferrari\",\n kind: \"design-system\",\n name: \"Ferrari\",\n description:\n \"Luxury automotive. Chiaroscuro editorial, Ferrari Red accents, cinematic black.\",\n source: { path: \"design-systems/ferrari\" },\n },\n {\n id: \"design-system:figma\",\n kind: \"design-system\",\n name: \"Figma\",\n description:\n \"Collaborative design tool. Vibrant multi-color, playful yet professional.\",\n source: { path: \"design-systems/figma\" },\n },\n {\n id: \"design-system:flat\",\n kind: \"design-system\",\n name: \"Flat\",\n description:\n \"Two-dimensional minimalist style with vibrant colors, clean typography, and no 3D effects for fast, user-friendly interfaces.\",\n source: { path: \"design-systems/flat\" },\n },\n {\n id: \"design-system:framer\",\n kind: \"design-system\",\n name: \"Framer\",\n description:\n \"Website builder. Bold black and blue, motion-first, design-forward.\",\n source: { path: \"design-systems/framer\" },\n },\n {\n id: \"design-system:friendly\",\n kind: \"design-system\",\n name: \"Friendly\",\n description:\n \"Approachable, intuitive design with rounded elements, ample whitespace, and soft pastel color palettes.\",\n source: { path: \"design-systems/friendly\" },\n },\n {\n id: \"design-system:futuristic\",\n kind: \"design-system\",\n name: \"Futuristic\",\n description:\n \"Forward-looking design with tech-inspired typography, modern layouts, and a sleek, innovation-driven aesthetic.\",\n source: { path: \"design-systems/futuristic\" },\n },\n {\n id: \"design-system:github\",\n kind: \"design-system\",\n name: \"Github\",\n description:\n \"Code-forward platform. Functional density, blue-on-white precision, Primer foundations.\",\n source: { path: \"design-systems/github\" },\n },\n {\n id: \"design-system:glassmorphism\",\n kind: \"design-system\",\n name: \"Glassmorphism\",\n description:\n \"Frosted glass effect with translucent layers, subtle blur, and luminous borders for depth and modern elegance.\",\n source: { path: \"design-systems/glassmorphism\" },\n },\n {\n id: \"design-system:gradient\",\n kind: \"design-system\",\n name: \"Gradient\",\n description:\n \"Smooth color transitions and gradient-rich surfaces for modern, playful interfaces with visual depth.\",\n source: { path: \"design-systems/gradient\" },\n },\n {\n id: \"design-system:hashicorp\",\n kind: \"design-system\",\n name: \"Hashicorp\",\n description:\n \"Infrastructure automation. Enterprise-clean, black and white.\",\n source: { path: \"design-systems/hashicorp\" },\n },\n {\n id: \"design-system:hud\",\n kind: \"design-system\",\n name: \"Hud\",\n description:\n \"Fighter jet / helicopter head-up display. Phosphor green on near-black, all-caps data overlays, angular geometry. Zero ambiguity at speed and altitude.\",\n source: { path: \"design-systems/hud\" },\n },\n {\n id: \"design-system:huggingface\",\n kind: \"design-system\",\n name: \"Huggingface\",\n description:\n \"ML community hub. Sunny yellow accent, monospace identity, cheerful and dense.\",\n source: { path: \"design-systems/huggingface\" },\n },\n {\n id: \"design-system:ibm\",\n kind: \"design-system\",\n name: \"Ibm\",\n description:\n \"Enterprise technology. Carbon design system, structured blue palette.\",\n source: { path: \"design-systems/ibm\" },\n },\n {\n id: \"design-system:intercom\",\n kind: \"design-system\",\n name: \"Intercom\",\n description:\n \"Customer messaging. Friendly blue palette, conversational UI patterns.\",\n source: { path: \"design-systems/intercom\" },\n },\n {\n id: \"design-system:kami\",\n kind: \"design-system\",\n name: \"Kami\",\n description:\n \"Editorial paper system: warm parchment canvas, ink-blue accent, serif-led hierarchy. Built for resumes, one-pagers, white papers, portfolios, slide decks — anything that should feel like high-quality print rather than UI. Multilingual by…\",\n source: { path: \"design-systems/kami\" },\n },\n {\n id: \"design-system:kraken\",\n kind: \"design-system\",\n name: \"Kraken\",\n description:\n \"Crypto trading. Purple-accented dark UI, data-dense dashboards.\",\n source: { path: \"design-systems/kraken\" },\n },\n {\n id: \"design-system:lamborghini\",\n kind: \"design-system\",\n name: \"Lamborghini\",\n description:\n \"Supercar brand. True black surfaces, gold accents, dramatic uppercase typography.\",\n source: { path: \"design-systems/lamborghini\" },\n },\n {\n id: \"design-system:levels\",\n kind: \"design-system\",\n name: \"Levels\",\n description:\n \"Conversion-focused design that removes friction and guides users toward action through clarity, trust, and speed.\",\n source: { path: \"design-systems/levels\" },\n },\n {\n id: \"design-system:linear-app\",\n kind: \"design-system\",\n name: \"Linear App\",\n description: \"Project management. Ultra-minimal, precise, purple accent.\",\n source: { path: \"design-systems/linear-app\" },\n },\n {\n id: \"design-system:lingo\",\n kind: \"design-system\",\n name: \"Lingo\",\n description:\n \"Playful, minimal design with bright colors, rounded shapes, tactile 3D borders, and friendly illustrations for approachable interfaces.\",\n source: { path: \"design-systems/lingo\" },\n },\n {\n id: \"design-system:loom\",\n kind: \"design-system\",\n name: \"Loom\",\n description:\n \"Loom async video. Purple primary, friendly surfaces, video-first layout. Clean and professional without being corporate.\",\n source: { path: \"design-systems/loom\" },\n },\n {\n id: \"design-system:lovable\",\n kind: \"design-system\",\n name: \"Lovable\",\n description:\n \"AI full-stack builder. Playful gradients, friendly dev aesthetic.\",\n source: { path: \"design-systems/lovable\" },\n },\n {\n id: \"design-system:luxury\",\n kind: \"design-system\",\n name: \"Luxury\",\n description:\n \"High-end dark aesthetic with bold headings, monochromatic palette, and premium feel for luxury brand experiences.\",\n source: { path: \"design-systems/luxury\" },\n },\n {\n id: \"design-system:mastercard\",\n kind: \"design-system\",\n name: \"Mastercard\",\n description:\n \"Global payments network. Warm cream canvas, orbital pill shapes, editorial warmth.\",\n source: { path: \"design-systems/mastercard\" },\n },\n {\n id: \"design-system:material\",\n kind: \"design-system\",\n name: \"Material\",\n description:\n \"Google's Material Design with layered surfaces, dynamic theming, built-in motion, and responsive cross-platform patterns.\",\n source: { path: \"design-systems/material\" },\n },\n {\n id: \"design-system:meta\",\n kind: \"design-system\",\n name: \"Meta\",\n description:\n \"Tech retail store. Photography-first, binary light/dark surfaces, Meta Blue CTAs.\",\n source: { path: \"design-systems/meta\" },\n },\n {\n id: \"design-system:minimal\",\n kind: \"design-system\",\n name: \"Minimal\",\n description:\n \"Stripped-back design emphasizing whitespace, clean typography, and restrained color for maximum clarity and focus.\",\n source: { path: \"design-systems/minimal\" },\n },\n {\n id: \"design-system:minimax\",\n kind: \"design-system\",\n name: \"Minimax\",\n description: \"AI model provider. Bold dark interface with neon accents.\",\n source: { path: \"design-systems/minimax\" },\n },\n {\n id: \"design-system:mintlify\",\n kind: \"design-system\",\n name: \"Mintlify\",\n description:\n \"Documentation platform. Clean, green-accented, reading-optimized.\",\n source: { path: \"design-systems/mintlify\" },\n },\n {\n id: \"design-system:miro\",\n kind: \"design-system\",\n name: \"Miro\",\n description:\n \"Visual collaboration. Bright yellow accent, infinite canvas aesthetic.\",\n source: { path: \"design-systems/miro\" },\n },\n {\n id: \"design-system:mission-control\",\n kind: \"design-system\",\n name: \"Mission Control\",\n description:\n \"Space/aerospace mission monitoring. Dark command center, amber telemetry, monospace precision. Functional clarity above all else.\",\n source: { path: \"design-systems/mission-control\" },\n },\n {\n id: \"design-system:mistral-ai\",\n kind: \"design-system\",\n name: \"Mistral AI\",\n description:\n \"Open-weight LLM provider. French-engineered minimalism, purple-toned.\",\n source: { path: \"design-systems/mistral-ai\" },\n },\n {\n id: \"design-system:modern\",\n kind: \"design-system\",\n name: \"Modern\",\n description:\n \"Contemporary editorial style with serif typography, minimal palettes, and clean layouts for polished digital products.\",\n source: { path: \"design-systems/modern\" },\n },\n {\n id: \"design-system:mongodb\",\n kind: \"design-system\",\n name: \"Mongodb\",\n description:\n \"Document database. Green leaf branding, developer documentation focus.\",\n source: { path: \"design-systems/mongodb\" },\n },\n {\n id: \"design-system:neobrutalism\",\n kind: \"design-system\",\n name: \"Neobrutalism\",\n description:\n \"Modern take on brutalism with bold borders, vivid accent colors, and raw, high-contrast layouts on warm surfaces.\",\n source: { path: \"design-systems/neobrutalism\" },\n },\n {\n id: \"design-system:neon\",\n kind: \"design-system\",\n name: \"Neon\",\n description:\n \"Electric neon glow effects with high-contrast color pairings for bold, attention-grabbing interfaces.\",\n source: { path: \"design-systems/neon\" },\n },\n {\n id: \"design-system:neumorphism\",\n kind: \"design-system\",\n name: \"Neumorphism\",\n description:\n \"Soft, extruded UI elements with inner and outer shadows on monochromatic surfaces for a tactile, embedded look.\",\n source: { path: \"design-systems/neumorphism\" },\n },\n {\n id: \"design-system:nike\",\n kind: \"design-system\",\n name: \"Nike\",\n description:\n \"Athletic retail. Monochrome UI, massive uppercase type, full-bleed photography.\",\n source: { path: \"design-systems/nike\" },\n },\n {\n id: \"design-system:notion\",\n kind: \"design-system\",\n name: \"Notion\",\n description:\n \"All-in-one workspace. Warm minimalism, serif headings, soft surfaces.\",\n source: { path: \"design-systems/notion\" },\n },\n {\n id: \"design-system:nvidia\",\n kind: \"design-system\",\n name: \"Nvidia\",\n description:\n \"GPU computing. Green-black energy, technical power aesthetic.\",\n source: { path: \"design-systems/nvidia\" },\n },\n {\n id: \"design-system:ollama\",\n kind: \"design-system\",\n name: \"Ollama\",\n description: \"Run LLMs locally. Terminal-first, monochrome simplicity.\",\n source: { path: \"design-systems/ollama\" },\n },\n {\n id: \"design-system:openai\",\n kind: \"design-system\",\n name: \"Openai\",\n description:\n \"Calm, near-monochrome system anchored in deep teal-black with generous white space and editorial typography.\",\n source: { path: \"design-systems/openai\" },\n },\n {\n id: \"design-system:opencode-ai\",\n kind: \"design-system\",\n name: \"Opencode AI\",\n description: \"AI coding platform. Developer-centric dark theme.\",\n source: { path: \"design-systems/opencode-ai\" },\n },\n {\n id: \"design-system:pacman\",\n kind: \"design-system\",\n name: \"Pacman\",\n description:\n \"Retro arcade-inspired design with pixel fonts, dotted borders, playful high-contrast colors, and 8-bit game aesthetics.\",\n source: { path: \"design-systems/pacman\" },\n },\n {\n id: \"design-system:paper\",\n kind: \"design-system\",\n name: \"Paper\",\n description:\n \"Paper-textured, print-inspired design with minimal colors, clean serif/sans typography, and tactile surface qualities.\",\n source: { path: \"design-systems/paper\" },\n },\n {\n id: \"color-system:bauhaus-primary\",\n kind: \"color-system\",\n name: \"Bauhaus Primary\",\n description: \"Color tokens for the Bauhaus Primary presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/bauhaus-primary\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemBauhausPrimary,\n ),\n },\n {\n id: \"color-system:berry-pop\",\n kind: \"color-system\",\n name: \"Berry Pop\",\n description: \"Color tokens for the Berry Pop presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/berry-pop\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemBerryPop,\n ),\n },\n {\n id: \"color-system:carnival\",\n kind: \"color-system\",\n name: \"Carnival\",\n description: \"Color tokens for the Carnival presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/carnival\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemCarnival,\n ),\n },\n {\n id: \"color-system:citrus-fresh\",\n kind: \"color-system\",\n name: \"Citrus Fresh\",\n description: \"Color tokens for the Citrus Fresh presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/citrus-fresh\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemCitrusFresh,\n ),\n },\n {\n id: \"color-system:coral-studio\",\n kind: \"color-system\",\n name: \"Coral Studio\",\n description: \"Color tokens for the Coral Studio presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/coral-studio\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemCoralStudio,\n ),\n },\n {\n id: \"color-system:forest-editorial\",\n kind: \"color-system\",\n name: \"Forest Editorial\",\n description: \"Color tokens for the Forest Editorial presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/forest-editorial\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemForestEditorial,\n ),\n },\n {\n id: \"color-system:gold-luxe\",\n kind: \"color-system\",\n name: \"Gold Luxe\",\n description: \"Color tokens for the Gold Luxe presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/gold-luxe\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemGoldLuxe,\n ),\n },\n {\n id: \"color-system:mauve-dusk\",\n kind: \"color-system\",\n name: \"Mauve Dusk\",\n description: \"Color tokens for the Mauve Dusk presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/mauve-dusk\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemMauveDusk,\n ),\n },\n {\n id: \"color-system:midnight-mono\",\n kind: \"color-system\",\n name: \"Midnight Mono\",\n description: \"Color tokens for the Midnight Mono presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/midnight-mono\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemMidnightMono,\n ),\n },\n {\n id: \"color-system:mint-tech\",\n kind: \"color-system\",\n name: \"Mint Tech\",\n description: \"Color tokens for the Mint Tech presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/mint-tech\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemMintTech,\n ),\n },\n {\n id: \"color-system:mono-ink\",\n kind: \"color-system\",\n name: \"Mono Ink\",\n description: \"Color tokens for the Mono Ink presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/mono-ink\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemMonoInk,\n ),\n },\n {\n id: \"color-system:nordic-frost\",\n kind: \"color-system\",\n name: \"Nordic Frost\",\n description: \"Color tokens for the Nordic Frost presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/nordic-frost\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemNordicFrost,\n ),\n },\n {\n id: \"color-system:ocean-deep\",\n kind: \"color-system\",\n name: \"Ocean Deep\",\n description: \"Color tokens for the Ocean Deep presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/ocean-deep\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemOceanDeep,\n ),\n },\n {\n id: \"color-system:pop-art\",\n kind: \"color-system\",\n name: \"Pop Art\",\n description: \"Color tokens for the Pop Art presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/pop-art\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemPopArt,\n ),\n },\n {\n id: \"color-system:prism\",\n kind: \"color-system\",\n name: \"Prism\",\n description: \"Color tokens for the Prism presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/prism\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemPrism,\n ),\n },\n {\n id: \"color-system:slate-corporate\",\n kind: \"color-system\",\n name: \"Slate Corporate\",\n description: \"Color tokens for the Slate Corporate presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/slate-corporate\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemSlateCorporate,\n ),\n },\n {\n id: \"color-system:sunset-maroon\",\n kind: \"color-system\",\n name: \"Sunset Maroon\",\n description: \"Color tokens for the Sunset Maroon presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/sunset-maroon\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemSunsetMaroon,\n ),\n },\n {\n id: \"color-system:terracotta-clay\",\n kind: \"color-system\",\n name: \"Terracotta Clay\",\n description: \"Color tokens for the Terracotta Clay presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/terracotta-clay\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemTerracottaClay,\n ),\n },\n {\n id: \"color-system:warm-sand\",\n kind: \"color-system\",\n name: \"Warm Sand\",\n description: \"Color tokens for the Warm Sand presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/warm-sand\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemWarmSand,\n ),\n },\n {\n id: \"design-system:perplexity\",\n kind: \"design-system\",\n name: \"Perplexity\",\n description:\n \"Conversational AI search engine. Deep-dark canvas, sharp typography, single violet accent, dense information hierarchy.\",\n source: { path: \"design-systems/perplexity\" },\n },\n {\n id: \"design-system:perspective\",\n kind: \"design-system\",\n name: \"Perspective\",\n description:\n \"Spatial depth design with isometric views, vanishing points, and layered elements that guide attention through 3D-like realism.\",\n source: { path: \"design-systems/perspective\" },\n },\n {\n id: \"design-system:pinterest\",\n kind: \"design-system\",\n name: \"Pinterest\",\n description: \"Visual discovery. Red accent, masonry grid, image-first.\",\n source: { path: \"design-systems/pinterest\" },\n },\n {\n id: \"design-system:playstation\",\n kind: \"design-system\",\n name: \"Playstation\",\n description:\n \"Gaming console retail. Three-surface channel layout, quiet-authority display type, cyan hover-scale.\",\n source: { path: \"design-systems/playstation\" },\n },\n {\n id: \"design-system:posthog\",\n kind: \"design-system\",\n name: \"Posthog\",\n description:\n \"Product analytics. Playful hedgehog branding, developer-friendly dark UI.\",\n source: { path: \"design-systems/posthog\" },\n },\n {\n id: \"design-system:premium\",\n kind: \"design-system\",\n name: \"Premium\",\n description:\n \"Apple-inspired premium aesthetic with precise spacing, modern typography, and a refined, polished visual language.\",\n source: { path: \"design-systems/premium\" },\n },\n {\n id: \"design-system:professional\",\n kind: \"design-system\",\n name: \"Professional\",\n description:\n \"Polished, business-ready design with modern typography, structured layouts, and a trustworthy visual identity.\",\n source: { path: \"design-systems/professional\" },\n },\n {\n id: \"design-system:publication\",\n kind: \"design-system\",\n name: \"Publication\",\n description:\n \"Print-inspired visual language for books, magazines, and reports with editorial grids and expressive typography.\",\n source: { path: \"design-systems/publication\" },\n },\n {\n id: \"design-system:raycast\",\n kind: \"design-system\",\n name: \"Raycast\",\n description:\n \"Productivity launcher. Sleek dark chrome, vibrant gradient accents.\",\n source: { path: \"design-systems/raycast\" },\n },\n {\n id: \"design-system:refined\",\n kind: \"design-system\",\n name: \"Refined\",\n description:\n \"Carefully curated, modern minimal style with elegant serif typography and understated, sophisticated palettes.\",\n source: { path: \"design-systems/refined\" },\n },\n {\n id: \"design-system:renault\",\n kind: \"design-system\",\n name: \"Renault\",\n description:\n \"French automotive. Vibrant aurora gradients, NouvelR typography, bold energy.\",\n source: { path: \"design-systems/renault\" },\n },\n {\n id: \"design-system:replicate\",\n kind: \"design-system\",\n name: \"Replicate\",\n description: \"Run ML models via API. Clean white canvas, code-forward.\",\n source: { path: \"design-systems/replicate\" },\n },\n {\n id: \"design-system:resend\",\n kind: \"design-system\",\n name: \"Resend\",\n description: \"Email API. Minimal dark theme, monospace accents.\",\n source: { path: \"design-systems/resend\" },\n },\n {\n id: \"design-system:retro\",\n kind: \"design-system\",\n name: \"Retro\",\n description:\n \"Throwback design with vintage-inspired typography, high-contrast retro palettes, and nostalgic visual elements.\",\n source: { path: \"design-systems/retro\" },\n },\n {\n id: \"design-system:revolut\",\n kind: \"design-system\",\n name: \"Revolut\",\n description:\n \"Digital banking. Sleek dark interface, gradient cards, fintech precision.\",\n source: { path: \"design-systems/revolut\" },\n },\n {\n id: \"design-system:runwayml\",\n kind: \"design-system\",\n name: \"Runwayml\",\n description: \"AI video generation. Cinematic dark UI, media-rich layout.\",\n source: { path: \"design-systems/runwayml\" },\n },\n {\n id: \"design-system:sanity\",\n kind: \"design-system\",\n name: \"Sanity\",\n description: \"Headless CMS. Red accent, content-first editorial layout.\",\n source: { path: \"design-systems/sanity\" },\n },\n {\n id: \"design-system:sentry\",\n kind: \"design-system\",\n name: \"Sentry\",\n description:\n \"Error monitoring. Dark dashboard, data-dense, pink-purple accent.\",\n source: { path: \"design-systems/sentry\" },\n },\n {\n id: \"design-system:shadcn\",\n kind: \"design-system\",\n name: \"Shadcn\",\n description:\n \"Shadcn/ui-inspired design with minimal, clean components, monochrome palette, and utility-first patterns.\",\n source: { path: \"design-systems/shadcn\" },\n },\n {\n id: \"design-system:shopify\",\n kind: \"design-system\",\n name: \"Shopify\",\n description:\n \"E-commerce platform. Dark-first cinematic, neon green accent, ultra-light type.\",\n source: { path: \"design-systems/shopify\" },\n },\n {\n id: \"design-system:simple\",\n kind: \"design-system\",\n name: \"Simple\",\n description:\n \"Straightforward, no-frills design with clean typography, neutral colors, and intuitive layouts that stay out of the way.\",\n source: { path: \"design-systems/simple\" },\n },\n {\n id: \"design-system:skeumorphism\",\n kind: \"design-system\",\n name: \"Skeumorphism\",\n description:\n \"Real-world mimicry with textured surfaces, 3D effects, and familiar physical metaphors for intuitive digital interfaces.\",\n source: { path: \"design-systems/skeumorphism\" },\n },\n {\n id: \"design-system:slack\",\n kind: \"design-system\",\n name: \"Slack\",\n description:\n \"Workplace communication platform. Aubergine-primary, multi-accent logo palette, light surfaces with dark sidebar, warm and approachable.\",\n source: { path: \"design-systems/slack\" },\n },\n {\n id: \"design-system:sleek\",\n kind: \"design-system\",\n name: \"Sleek\",\n description:\n \"Modern minimalist aesthetic with clean lines, intentional color palette, subtle interactions, and consistent spacing.\",\n source: { path: \"design-systems/sleek\" },\n },\n {\n id: \"design-system:spacex\",\n kind: \"design-system\",\n name: \"Spacex\",\n description:\n \"Space technology. Stark black and white, full-bleed imagery, futuristic.\",\n source: { path: \"design-systems/spacex\" },\n },\n {\n id: \"design-system:spacious\",\n kind: \"design-system\",\n name: \"Spacious\",\n description:\n \"Generous whitespace, consistent padding, and grid-based layouts for clean, readable, and breathing interfaces.\",\n source: { path: \"design-systems/spacious\" },\n },\n {\n id: \"design-system:spotify\",\n kind: \"design-system\",\n name: \"Spotify\",\n description:\n \"Music streaming. Vibrant green on dark, bold type, album-art-driven.\",\n source: { path: \"design-systems/spotify\" },\n },\n {\n id: \"design-system:starbucks\",\n kind: \"design-system\",\n name: \"Starbucks\",\n description:\n \"Global coffee retail brand. Four-tier green system, warm cream canvas, full-pill buttons.\",\n source: { path: \"design-systems/starbucks\" },\n },\n {\n id: \"design-system:storytelling\",\n kind: \"design-system\",\n name: \"Storytelling\",\n description:\n \"Narrative-driven design using visuals, copy, and interaction to guide users through engaging, emotionally resonant journeys.\",\n source: { path: \"design-systems/storytelling\" },\n },\n {\n id: \"design-system:stripe\",\n kind: \"design-system\",\n name: \"Stripe\",\n description:\n \"Payment infrastructure. Signature purple gradients, weight-300 elegance.\",\n source: { path: \"design-systems/stripe\" },\n },\n {\n id: \"design-system:supabase\",\n kind: \"design-system\",\n name: \"Supabase\",\n description:\n \"Open-source Firebase alternative. Dark emerald theme, code-first.\",\n source: { path: \"design-systems/supabase\" },\n },\n {\n id: \"design-system:superhuman\",\n kind: \"design-system\",\n name: \"Superhuman\",\n description:\n \"Fast email client. Premium dark UI, keyboard-first, purple glow.\",\n source: { path: \"design-systems/superhuman\" },\n },\n {\n id: \"design-system:tesla\",\n kind: \"design-system\",\n name: \"Tesla\",\n description:\n \"Electric automotive. Radical subtraction, full-viewport photography, near-zero UI.\",\n source: { path: \"design-systems/tesla\" },\n },\n {\n id: \"design-system:tetris\",\n kind: \"design-system\",\n name: \"Tetris\",\n description:\n \"Classic block-game inspired design with playful colors, bold display fonts, and compact, high-energy layouts.\",\n source: { path: \"design-systems/tetris\" },\n },\n {\n id: \"design-system:theverge\",\n kind: \"design-system\",\n name: \"Theverge\",\n description:\n \"Tech editorial media. Acid-mint and ultraviolet accents, Manuka display, rave-flyer story tiles.\",\n source: { path: \"design-systems/theverge\" },\n },\n {\n id: \"design-system:together-ai\",\n kind: \"design-system\",\n name: \"Together AI\",\n description:\n \"Open-source AI infrastructure. Technical, blueprint-style design.\",\n source: { path: \"design-systems/together-ai\" },\n },\n {\n id: \"design-system:totality-festival\",\n kind: \"design-system\",\n name: \"Totality Festival\",\n description:\n 'A cosmic-premium, glassmorphic dark system that captures the visceral awe of a solar eclipse — obsidian surfaces, amber \"corona\" highlights, and cyan atmospheric accents.',\n source: { path: \"design-systems/totality-festival\" },\n },\n {\n id: \"design-system:uber\",\n kind: \"design-system\",\n name: \"Uber\",\n description:\n \"Mobility platform. Bold black and white, tight type, urban energy.\",\n source: { path: \"design-systems/uber\" },\n },\n {\n id: \"design-system:urdu\",\n kind: \"design-system\",\n name: \"Urdu\",\n description:\n \"Urdu-first digital experiences with native RTL support,Nastaliq typography, and bilingual harmony.\",\n source: { path: \"design-systems/urdu\" },\n },\n {\n id: \"design-system:vercel\",\n kind: \"design-system\",\n name: \"Vercel\",\n description: \"Frontend deployment. Black and white precision, Geist font.\",\n source: { path: \"design-systems/vercel\" },\n },\n {\n id: \"design-system:vibrant\",\n kind: \"design-system\",\n name: \"Vibrant\",\n description:\n \"Lively, colorful design with bold playful typography, warm accents, and dynamic visual energy.\",\n source: { path: \"design-systems/vibrant\" },\n },\n {\n id: \"design-system:vintage\",\n kind: \"design-system\",\n name: \"Vintage\",\n description:\n \"1950s-1990s nostalgia with skeuomorphic touches, grainy textures, retro color palettes, and pixel-style typography.\",\n source: { path: \"design-systems/vintage\" },\n },\n {\n id: \"design-system:vodafone\",\n kind: \"design-system\",\n name: \"Vodafone\",\n description:\n \"Global telecom brand. Monumental uppercase display, Vodafone Red chapter bands.\",\n source: { path: \"design-systems/vodafone\" },\n },\n {\n id: \"design-system:voltagent\",\n kind: \"design-system\",\n name: \"Voltagent\",\n description:\n \"AI agent framework. Void-black canvas, emerald accent, terminal-native.\",\n source: { path: \"design-systems/voltagent\" },\n },\n {\n id: \"design-system:warp\",\n kind: \"design-system\",\n name: \"Warp\",\n description:\n \"Modern terminal. Dark IDE-like interface, block-based command UI.\",\n source: { path: \"design-systems/warp\" },\n },\n {\n id: \"design-system:webex\",\n kind: \"design-system\",\n name: \"Webex\",\n description:\n \"Collaboration platform. Momentum typography, blue action system, multi-user accent spectrum.\",\n source: { path: \"design-systems/webex\" },\n },\n {\n id: \"design-system:webflow\",\n kind: \"design-system\",\n name: \"Webflow\",\n description:\n \"Visual web builder. Blue-accented, polished marketing site aesthetic.\",\n source: { path: \"design-systems/webflow\" },\n },\n {\n id: \"design-system:wechat\",\n kind: \"design-system\",\n name: \"Wechat\",\n description:\n \"Brand visual language for WeChat Mini Programs, official accounts, and open ecosystem extensions.\",\n source: { path: \"design-systems/wechat\" },\n },\n {\n id: \"design-system:wired\",\n kind: \"design-system\",\n name: \"Wired\",\n description:\n \"Tech magazine. Paper-white broadsheet density, custom serif display, mono kickers, ink-blue links.\",\n source: { path: \"design-systems/wired\" },\n },\n {\n id: \"design-system:wise\",\n kind: \"design-system\",\n name: \"Wise\",\n description: \"Money transfer. Bright green accent, friendly and clear.\",\n source: { path: \"design-systems/wise\" },\n },\n {\n id: \"design-system:x-ai\",\n kind: \"design-system\",\n name: \"X AI\",\n description: \"Elon Musk's AI lab. Stark monochrome, futuristic minimalism.\",\n source: { path: \"design-systems/x-ai\" },\n },\n {\n id: \"design-system:xiaohongshu\",\n kind: \"design-system\",\n name: \"Xiaohongshu\",\n description:\n \"Lifestyle UGC social platform. Singular brand red, generous radius, content-first.\",\n source: { path: \"design-systems/xiaohongshu\" },\n },\n {\n id: \"design-system:zapier\",\n kind: \"design-system\",\n name: \"Zapier\",\n description:\n \"Automation platform. Warm orange, friendly illustration-driven.\",\n source: { path: \"design-systems/zapier\" },\n },\n {\n id: \"image-style:notion-illustration\",\n kind: \"image-style\",\n name: \"Notion Illustration\",\n description:\n \"Zero-native illustration style for hand-drawn product spot illustrations with simple ink contours and soft backgrounds.\",\n desc: 'Notion-editorial-style hand-drawn spot illustration. Black brush-pen ink on white, tapered confident strokes, solid-black curly hair, solid-black pants/shoes, 3/4 face turned toward viewer with closed-eye smile and soft nose hint, open breathing body outlines, and 1-3 supporting scene props + ambient marks that frame the moment. Trigger when user says /notion-illustration, asks for a \"Notion-style illustration\", \"Notion spot illustration\", or a new piece in this hand-drawn brush-pen Notion editorial style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/notion-illustration\",\n },\n },\n {\n id: \"image-style:vm0-illustration\",\n kind: \"image-style\",\n name: \"vm0 Illustration\",\n description:\n \"vm0 in-app spot illustration style with bold hand-drawn ink line art, white-filled interiors, and a soft rounded color backdrop.\",\n desc: \"Generate vm0-style vm0 in-app spot illustrations: bold hand-drawn ink line art with white-filled interiors, a soft rounded color backdrop, transparent output, and simple iconic metaphors for product states.\",\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/vm0-illustration\",\n },\n },\n {\n id: \"image-style:postcard-illustration\",\n kind: \"image-style\",\n name: \"Postcard Illustration\",\n description:\n \"Hand-drawn editorial postcard / travel-journal illustration with fine black ink linework, flat saturated gouache fills, sharp edges, dense small repeated ink patterns, paper-grain texture, sparse white speckles, and a tall portrait composition.\",\n desc: 'Hand-drawn editorial postcard illustration style. Fine black marker/pen ink linework over flat saturated gouache color fills with sharp edges, dense small repeated ink patterns on surfaces (rows of windows, shingle curves, hatching, stippling), subtle paper-grain background texture, tiny scattered white speckles (snow / petals / sparkle), and a tall portrait composition with a layered foreground-midground-background. Travel-journal / urban-sketcher aesthetic. Trigger when the user says /postcard-illustration, asks for a \"postcard illustration\", \"travel illustration\", \"urban sketcher style\", or briefs a palette + scene archetype + complexity.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/postcard-illustration\",\n },\n },\n {\n id: \"image-style:folk-storybook\",\n kind: \"image-style\",\n name: \"Folk Storybook Illustration\",\n description:\n \"Folk-art children's picture-book illustration — hand-painted gouache and watercolor scenes with anthropomorphic animal characters, closed-crescent-eye smiles, dusty muted folk palette, and decorative pattern surfaces.\",\n desc: \"Folk-art children's picture-book illustration style — hand-painted gouache/watercolor scene on aged paper, anthropomorphic animal characters with closed-crescent-eye smiles, dusty muted folk palette, decorative pattern surfaces (wallpaper, rugs, textiles), and a hushed lullaby mood. Trigger when users ask for a folk-art illustration, storybook scene, cozy animal illustration, or any new piece in this Eastern European picture-book style.\",\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/folk-storybook\",\n },\n },\n {\n id: \"image-style:papernook\",\n kind: \"image-style\",\n name: \"Papernook\",\n description:\n \"Hand-drawn editorial illustration set in a cozy cluttered personal-studio scene with warm cream paper, scratchy ink, painterly gouache fills, dot-eye character face, and dense edge-to-edge thematic props.\",\n desc: 'Hand-drawn editorial illustration in the spirit of a cluttered personal-studio scene. Loose scratchy black ink outlines that wobble, textured gouache fills with visible brush marks, warm cream paper background, simplified dot-eye character face, and a DENSE edge-to-edge composition where a centered character is orbited by thematic props that visually act out the scene metaphor. Default palette: dusty cornflower blue, soft coral pink, fresh sage green, charcoal, warm cream — no mustard, no burnt-orange. Trigger when user says /papernook, asks for a \"papernook illustration\", a \"cozy cluttered editorial scene\", a \"warm-cream desk scene\", or a new piece in this hand-drawn studio-clutter editorial style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/papernook\",\n },\n },\n {\n id: \"image-style:painterly-botanical\",\n kind: \"image-style\",\n name: \"Painterly Botanical\",\n description:\n \"Painterly watercolor + gouache portrait illustration with a single figure embraced by lush botanicals, closed-eye introspective expression, and a softly tinted paper-wash background.\",\n desc: 'Painterly watercolor + gouache portrait illustration. Single figure (closed eyes, contemplative) embraced by botanicals — leaves, blossoms, grasses. Translucent washes with visible pigment bleeds, sparse crisp ink line accents on key edges, tiny handwritten cursive signature in an upper corner, and a tinted paper-wash background (never pure white). Eight user axes drive composition: subject, hair, pose, botanicals, palette, background wash, complexity (L1/L2/L3), and format. Trigger when a brief describes a contemplative figure with foliage, a \"watercolor portrait\", a \"botanical embrace\", or asks for a piece in this painterly editorial style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/painterly-botanical\",\n },\n },\n {\n id: \"image-style:iso-scene\",\n kind: \"image-style\",\n name: \"Isometric Editorial Scene\",\n description:\n \"Isometric editorial-magazine scene illustration with ultra-fine hairline outlines, flat fills, a saturated monochromatic background, and a scene-as-metaphor composition built from theme-native props.\",\n desc: 'Isometric editorial-magazine scene illustration in a locked flat-vector style — ultra-fine hairline outlines, monochromatic saturated background filling the canvas, and a single composed scene whose props themselves embody the theme. Trigger when users say /iso-scene, ask for an \"isometric editorial illustration\", a \"scene illustration in the editorial machine style\", or brief with palette + scene archetype + complexity.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/iso-scene\",\n },\n },\n {\n id: \"image-style:inkdab\",\n kind: \"image-style\",\n name: \"Inkdab Illustration\",\n description:\n \"Brush-pen editorial illustration where a free-floating color dab is painted first, then loose black ink linework is drawn freely on top — never as an outline around the color. Scribbled hatched hair, open-outline bodies, pure white background.\",\n desc: 'Brush-pen editorial illustration style — a flat accent-color \"dab\" painted first, then loose black ink drawn freely on top. ONE flat accent-color shape per prop (painted-first, never outlined in black), black hand-wobbled ink on pure white background, scribbled hatched hair, open-outline bodies with zero fill, and one small solid-accent triangle floating freely as a recurring motif. Trigger when user says /inkdab, asks for an \"inkdab illustration\", a \"brush-pen illustration with a single accent color\", a \"free-floating color block illustration\", or briefs in the style of the included reference images.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/inkdab\",\n },\n },\n {\n id: \"image-style:riso-relic\",\n kind: \"image-style\",\n name: \"Riso Relic\",\n description:\n 'Pop-art retro risograph poster of a single nostalgic everyday object on a saturated single-hue field — bold black ink outlines, halftone grain, hand-drawn doodle accents, tiny \"SMALL OBJECTS IN TIME\" banner up top, chunky retro headline with offset drop-shadow at the bottom.',\n desc: 'Pop-art retro risograph poster of a single nostalgic everyday object — saturated single-color background, bold black ink outlines, halftone/riso grain, hand-drawn doodle accents (sparkles, squiggles, dots, music notes, lightning), tiny white \"SMALL OBJECTS IN TIME\" banner at top, chunky retro display headline at bottom with offset black drop-shadow. Trigger when user says /riso-relic, asks for a \"riso poster\", a \"small objects in time\" illustration, or any new piece in this nostalgic pop-art relic-object style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/riso-relic\",\n },\n },\n {\n id: \"image-style:inkstomp\",\n kind: \"image-style\",\n name: \"Inkstomp\",\n description:\n \"Loud indie-packaging poster style — full-bleed saturated flat color, a two-line hand-lettered headline, and one weird-cute black brush-ink character.\",\n desc: 'Inkstomp — a loud, hand-screened indie-packaging poster style. Full-bleed saturated flat color filling the entire canvas, a two-line hand-lettered headline (thin arched caps over chunky drop-shadowed display), and one weird-cute character drawn in thick uniform black brush ink. Trigger when the user says /inkstomp, asks for an \"inkstomp poster\", a \"Ray Fenwick / Hattie Stewart packaging poster\", an \"indie brush-ink flavor card\", or briefs in a \"palette + headline + character\" shape.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/inkstomp\",\n },\n },\n {\n id: \"image-style:folk-muse\",\n kind: \"image-style\",\n name: \"Folk Muse\",\n description:\n \"Flat folk-art gouache portrait style — a single contemplative chest-up figure framed by an asymmetric botanical surround, with painted irises, smooth flat hair, a hand against the cheek, and a patterned robe.\",\n desc: 'Flat folk-art gouache portrait illustration in the contemporary editorial style of Carson Ellis, Maja Tomljanovic, and Bodil Jane. A single chest-up figure with an elongated mannerist oval face, tiny almond half-lidded eyes, smooth flat hair, one hand pressed against the face, a patterned robe filling the lower frame, and an asymmetric botanical surround filling the background edge-to-edge. Hand-painted matte gouache texture, flat color blocks, no harsh outlines, no photorealism. Calm, slightly melancholic, contemplative mood. Trigger when the user says /folk-muse, asks for a \"folk-art portrait\", \"gouache portrait\", \"Carson Ellis style portrait\", or any new piece in this contemplative folk-portrait style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/folk-muse\",\n },\n },\n {\n id: \"image-style:sunlit-gouache\",\n kind: \"image-style\",\n name: \"Sunlit Gouache\",\n description:\n \"Bright pastel travel-painting illustration in opaque gouache on textured paper with chunky flat brushstrokes, vertical one-point perspective, and figures walking into warm sunlight.\",\n desc: 'Sunlit Gouache travel-painting illustration. Opaque gouache on textured paper, visible chunky flat brushstrokes with dry-brush highlights, locked six-color palette (cream, butter-yellow, sky-blue, sage-green, terracotta, one small red accent), vertical 2:3 one-point-perspective composition drawing the eye into a bright sunlit focal point, figures seen from behind walking into the scene, an overhead band of hanging elements (awning, prayer flags, catenary, bunting, lanterns) creating depth, dappled painterly reflections on the ground, airy optimistic warm mood. Trigger when user says /sunlit-gouache, asks for a \"sunlit gouache illustration\", \"painterly travel scene\", \"gouache café/market/temple/station scene\", or a new piece in this bright pastel painted-light style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/sunlit-gouache\",\n },\n },\n {\n id: \"image-style:mosaic-still-life\",\n kind: \"image-style\",\n name: \"Mosaic Still Life\",\n description:\n \"Editorial still-life illustration in a mosaic-tile + painterly hybrid style — tessellated ground/sky/wall surfaces with crisp painterly objects, an animal companion, and a patterned textile peeking through.\",\n desc: 'Mosaic-tile + painterly hybrid editorial illustration. Tessellated/pointillist mosaic surfaces (grass, sky, sand, walls, floors) anchor the scene, with crisp painterly still-life objects rendered ON TOP. Always features a still-life centerpiece on a table, an animal companion at the heart of the scene, and at least one patterned textile peeking through. Cozy, nostalgic, bucolic mood. Trigger when user says /mosaic-still-life, asks for a \"mosaic illustration\", \"mosaic-tile editorial illustration\", \"tessellated still life\", or briefs with a palette + scene + animal in this style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/mosaic-still-life\",\n },\n },\n {\n id: \"image-style:ink-mascot\",\n kind: \"image-style\",\n name: \"Ink Mascot\",\n description:\n \"Vintage editorial marketing card. Bold serif headline and short serif descriptor over a hand-drawn black-ink anthropomorphic mascot (stick limbs, chunky white sneakers) on a single solid saturated flat color background.\",\n desc: 'Generate a 3:5 portrait editorial marketing card in a locked vintage-textbook style. Bold serif headline plus an optional short serif descriptor sit on a single solid saturated flat color background (no gradient, no divider, no ground line). A hand-drawn black-ink anthropomorphic hero object — paint bucket, magnifying glass, envelope, notebook, funnel, megaphone, rocket, seedling, gift box, compass, etc. — stands with two thin stick arms, two stick legs, and chunky white sneakers with black laces (the signature detail). Crosshatch and stipple shading on rounded surfaces; floating ink doodles (sparkles, arrows, hearts, percent or dollar signs, motion lines) at the requested density. Dialable along six axes: concept, palette, hero object, action, doodle density (L1 minimal, L2 balanced, L3 packed), and type layout (A title-top, B headline-bottom, C headline-only, D big-word + tiny-descriptor). Trigger when user says /ink-mascot, asks for a \"marketing card illustration\", a \"retro editorial mascot poster\", or briefs with a marketing concept plus palette plus character.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/ink-mascot\",\n },\n },\n {\n id: \"image-style:sticker-sheet\",\n kind: \"image-style\",\n name: \"Sticker Sheet\",\n description:\n \"Hand-painted gouache sticker-sheet illustration with ~20 themed objects floating on white, punchy saturated palette, wobbly hand-drawn ink overlay, and tiny decorative marks on every item.\",\n desc: 'Sticker Sheet — hand-painted gouache sticker-sheet illustration. ~20 small floating themed objects on pure white, punchy saturated palette (coral, mustard, sage, dusty pink, navy, cream, warm brown), flat brushy gouache fills with wobbly hand-drawn ink linework and tiny decorative marks (dots, hatches, squiggles) on every object. Each object slightly tilted, no drop shadows, cheerful cozy lifestyle journal mood. Trigger when user says /sticker-sheet, asks for a \"sticker sheet illustration\", \"hand-painted gouache sticker pack\", \"themed object sheet\", or briefs with a scene theme + object count in this house style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/sticker-sheet\",\n },\n },\n {\n id: \"image-style:flat-poster\",\n kind: \"image-style\",\n name: \"Flat Poster\",\n description:\n \"Vertical flat-color editorial poster style — saturated solid background, one centered hand-drawn vector subject in bold deep-navy outlines with strict two-tone fill, headline pinned top-left, wordmark pinned bottom-right.\",\n desc: 'Flat Poster — a vertical flat-color editorial poster style for brand benefit cards, marketing posters, and in-app campaign visuals. Portrait 2:3 canvas filled edge-to-edge with one saturated hue; a single centered hand-drawn vector subject in deep-navy outlines with strict two-tone fill (pure white plus one darker bg-tint accent); a bold rounded sans-serif headline pinned top-left; a short wordmark (default VM0) pinned bottom-right; small floating accent marks around the subject; no body copy. Six creative dials: palette, subject archetype, composition preset, accent marks, headline voice, mood. Trigger when the user says /flat-poster, asks for a \"flat-color editorial poster\", a \"brand benefit card\", a \"marketing card in the bold outline + flat color style\", or briefs with a palette + subject + headline shape.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/flat-poster\",\n },\n },\n {\n id: \"image-style:mellow-pop\",\n kind: \"image-style\",\n name: \"Mellow Pop\",\n description:\n \"Chill flat-vector editorial poster of a serene recurring character on a fully saturated solid color background, with a signature pop of bright leaf-green and a scene-as-metaphor composition.\",\n desc: 'Mellow-pop flat-vector editorial illustration: a recurring chill character with closed-eye smile, tiny nose hint, and short dark bobbed hair, posed inside a scene-as-metaphor composition on a single fully saturated solid color background, with a signature pop of bright leaf-green woven into every piece (hero prop, plants, motifs, or sweater). Thin uniform black outlines, flat solid fills only, no gradients or texture. Five dials per brief: palette, scene metaphor, complexity (L1/L2/L3), pose, outfit accent. Trigger when user says /mellow-pop, asks for a \"mellow-pop illustration\", \"chill flat-vector poster\", or briefs with a scene metaphor + palette + complexity.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/mellow-pop\",\n },\n },\n {\n id: \"image-style:grainy-duotone\",\n kind: \"image-style\",\n name: \"Grainy Duotone\",\n description:\n \"Editorial spot illustration on a warm cream background — grainy charcoal-stippled hands, outline-free flat two-tone color blocks with internal patterns, and scattered ambient marks.\",\n desc: 'Grainy-duotone editorial spot illustration: warm cream off-white background, grainy charcoal-stippled hands (and occasional faces) drawn in textured black ink, paired with free-floating flat two-tone color blocks that carry NO outlines and are filled with internal patterns (grid, dots, spiral, hatching, squiggles, wavy lines), surrounded by scattered ambient marks (zigzags, triangles, x marks, circles, dashes). Square 1:1 scene-as-metaphor compositions. Five creative dials per brief: palette (two flat hues, e.g. teal+yellow / coral+sage / lavender+mustard / navy+peach / burgundy+dusty pink), elements (hand(s) + 1-3 props like flag, sprout, magnifier, balloons, ladder), scene archetype (Launch / Grow / Connect / Discover / Communicate / Reflect / Navigate / Care / Transform / Build), complexity (L1 minimal / L2 balanced / L3 rich), and mood (celebratory / calm / curious / reflective / determined / warm / quiet). Trigger when user says /grainy-duotone, asks for a \"grainy two-tone editorial illustration\", \"charcoal-stippled hand illustration\", \"duotone editorial spot\", or briefs with a scene metaphor + two-color palette + complexity.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/grainy-duotone\",\n },\n },\n {\n id: \"image-style:op-ed-cover\",\n kind: \"image-style\",\n name: \"Op-Ed Cover\",\n description:\n \"Editorial magazine op-ed cover — flat-vector scene with paper grain, elongated ink-line characters, muted retro palette, and a serif headline block in the lower-right.\",\n desc: 'Editorial magazine op-ed cover illustration. Flat-vector + paper-grain scene with expressive elongated ink-line characters, gentle painterly shading, 1950s-60s editorial mood, and a serif headline overlay block in the lower-right corner carrying a witty contrarian or declarative title with two short lines of italic body copy. 5-axis framework: palette (background + accent + ink), complexity (L1 single hero / L2 small ensemble / L3 busy crowd), scene metaphor (specific cultural microcosm), headline voice (declarative / pun / appreciative / contrarian), and headline block style (solid vs. translucent). Trigger when user says /op-ed-cover, asks for an \"editorial magazine illustration\", an \"op-ed cover\", a \"magazine essay illustration\", or a scene with a headline overlay in this style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/op-ed-cover\",\n },\n },\n {\n id: \"image-style:grain-poster\",\n kind: \"image-style\",\n name: \"Grain Poster\",\n description:\n \"Flat-vector editorial poster of a serene full-body figure with one hero prop — riso grain on a single textile, closed-eye smile + red cheek blush, muted limited palette.\",\n desc: 'Grain Poster — flat-vector editorial illustration of a serene full-body figure interacting with one hero prop (bicycle, bouquet, cat, book, skateboard, sun hat, guitar, dog leash). Closed-eye smile + single round red cheek blush + dark nose mark + solid black hair, silhouette-first (no inked outlines). Riso/halftone grain confined to exactly ONE textile element (skirt or trousers); every other surface is flat color. Muted single-hue background, generous negative space, no headlines or wordmarks. Six tunable dials: palette (cool-dawn · sunset-coral · twilight · forest-green · custom), mood, scene, cast, complexity (L1/L2/L3), framing. Strongest at L1 + side-profile + solo. Trigger when user says /grain-poster, asks for a \"flat-vector editorial poster\", \"riso-grain figure poster\", \"grainy editorial illustration\", or briefs with a scene + palette + cast in this house style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/grain-poster\",\n },\n },\n {\n id: \"image-style:light-pop-portrait\",\n kind: \"image-style\",\n name: \"Light Pop Portrait\",\n description:\n \"Light hand-drawn flat-vector single-character portrait on a fully saturated color block — chunky black hair, big shiny eyes, tiny red nose, pink five-point-star sparkle blush.\",\n desc: 'Light Pop Portrait — a hand-drawn flat-vector single-character portrait style for playful avatars, mood pieces, and editorial character cards. Square 1:1 canvas filled with one fully saturated background hue; a single child–tween character with chunky glossy-black hair (with one or two flyaway strands), big round shiny eyes (single white glint each, thin lashes above), tiny round red nose, expressive small mouth, and pink FIVE-POINT STAR sparkle blush on the cheeks (never solid dots). Thin delicate slightly-wavy hand-drawn contour lines, flat solid fills only, no gradients or texture, ~5-color palette per piece. Eight creative dials: expression, hairstyle, gender register, pose, palette, headwear, prop, outfit. Trigger when user says /light-pop-portrait, asks for a \"light pop portrait\", \"flat-vector character portrait\", \"saturated color-block character\", or briefs with expression + hairstyle + palette + prop.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/light-pop-portrait\",\n },\n },\n {\n id: \"image-style:endpaper\",\n kind: \"image-style\",\n name: \"Endpaper\",\n description:\n \"Riso-grain flat-vector collection of chill characters or objects scattered across a saturated solid color field, with two-tone interior shading and closed-eye sleepy faces.\",\n desc: 'Riso-grain flat-vector editorial collection illustration. Many small animals or objects scattered across a fully saturated solid color background — like the inside endpaper of a children\\'s picture book. Subtle riso/screenprint grain inside every fill, two-tone interior shading on every character (darker top + lighter belly), closed crescent-eye sleepy smiles with tiny dot noses, NO outlines on character bodies, loose hand-drawn line details on props (yarn spirals, leaf veins, pot stripes), scattered curated composition where characters overlap and touch the canvas edges. Five dials: background hue, cast (cats/dogs/foxes/birds/sea-creatures/houseplants/kitchen-objects/etc.), character palette (3–5 curated fills), density (L1 sparse / L2 balanced / L3 packed), prop vocabulary matched to cast. Trigger when user says /endpaper, asks for an \"endpaper illustration\", a \"scattered animal or object collection on saturated color\", a \"children\\'s-book endpaper scene\", or briefs with a cast + background hue + density + palette.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/endpaper\",\n },\n },\n {\n id: \"image-style:editorial-flatfolk\",\n kind: \"image-style\",\n name: \"Editorial Flatfolk\",\n description:\n \"Editorial hand-drawn naive book-illustration style — flat saturated color blocks, loose ink line overlay, paper grain, and a strong sense of place.\",\n desc: 'Editorial hand-drawn naive book-illustration style. Flat saturated color blocks with loose hand-drawn ink line work sitting ON TOP of the color, subtle paper grain across the canvas, simple ink hatching for sky / sun rays / rain / snow, and a strong sense of place built from tall narrow architecture and a one-point depth axis. Five dials per brief: palette (warm-primary, coastal-peach, jewel-night, winter-cool, autumn-rust, monsoon-twilight), scene metaphor (street, harbor, market, transit, park, square, interior, alpine-village), perspective (one-point street, frontal facade, low-angle hero, isometric, top-down), cast (solo wanderer, paired, small crowd, none), and light/weather (midday sun, golden hour, rain, snow, blue hour). Trigger when user says /editorial-flatfolk, asks for an \"editorial flat-folk illustration\", a \"saturated naive book-illustration scene\", a \"tall narrow row-house illustration\", or briefs a palette + scene metaphor + season.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/editorial-flatfolk\",\n },\n },\n {\n id: \"image-style:soft-vector\",\n kind: \"image-style\",\n name: \"Soft Vector\",\n description:\n \"Airy flat-vector spot illustration — square pale-blue canvas, thin ~1.5-2px dark-navy linework with intentionally open / unclosed outlines, flat fills, one muted accent hue, centered subject with breathing room.\",\n desc: 'Soft Vector — an airy flat-vector spot illustration style for in-app onboarding art, empty states, billing cards, and friendly UI moments. Square 1:1 canvas on a single flat pale-blue field #EEF1F5; thin uniform dark-navy outlines (~1.5-2px, rounded caps, NOT chunky); the signature lift comes from several intentionally OPEN / unclosed outlines per piece (mug rim gap, handle that doesn\\'t close, ground line ending in mid-air, cloud silhouette break, lamp arm fade, pot rim gap); strictly flat colour fills with no gradients or shading; one muted lead accent (mustard / lime-sage / warm-orange / violet) plus neutrals; subject centered at ~60-75% of canvas with generous breathing room; scattered thin-navy micro-marks (dots, plus signs, sparkles, or motion ticks). Six dials per brief: palette accent, scene metaphor, complexity (L1/L2/L3), cast, accent marks, action/mood. Trigger when user says /soft-vector, asks for a \"soft-vector illustration\", a \"friendly UI onboarding illustration\", a \"thin-line flat spot illustration\", or briefs a scene metaphor + palette + complexity in this house style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/soft-vector\",\n },\n },\n {\n id: \"image-style:loose-contour\",\n kind: \"image-style\",\n name: \"Loose Contour\",\n description:\n \"Flat editorial spot illustration — open teal contour lines, offset color blobs (printing-misregistration look), one ribbon line on warm cream paper.\",\n desc: 'Loose-contour flat editorial spot illustration: confident open-contour ink drawings in dark teal-green (#1e4d4a) over flat offset color blobs (printing-misregistration look) on warm cream paper (#f0ebdc), with exactly one continuous looping ribbon line of the same teal weaving through the scene. Tight 5-color palette: cream + teal + mustard + soft blue + coral. Lines are deliberately broken at joints and edges. Five dials per brief: scene metaphor, cast, complexity (L1/L2/L3), accent lead, ribbon path. Trigger when user says /loose-contour, asks for a \"loose-contour illustration\", \"offset-blob editorial illustration\", or \"cream paper ribbon-line scene\".',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/loose-contour\",\n },\n },\n {\n id: \"image-style:jade-blockprint\",\n kind: \"image-style\",\n name: \"Jade Blockprint\",\n description:\n \"Two-tone hand-drawn block-print spot illustration — accent color painted as free-floating shapes on white, with chunky black ink layered on top. Eight palettes.\",\n desc: 'Jade-blockprint two-pass hand-drawn block-print spot illustration: one accent color painted FIRST as free-floating shapes on pure white, then chunky black ink line art layered ON TOP. Color blobs have no perimeter outline — ink draws detail, hatching, and motion marks, never traces the colored shape. Wobbly variable-weight linework with occasional flooded black masses; tiny linocut speckle grain inside color fills. Eight named palettes (jade, coral, cobalt, plum, sage, rose, slate, terracotta) plus custom-hex override. Resolves vague briefs (growth, trust, freedom, fairness) into concrete scene metaphors via an internal synthesizer table before generating. Five dials per piece: palette, scene metaphor, complexity (L1 single object / L2 mini-scene / L3 vignette), motion marks, speckle density. Trigger when the user says /jade-blockprint, asks for a \"block-print illustration\", \"linocut spot illustration\", \"two-tone screen-print\", or briefs a metaphor for a blog cover or marketing card in this style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/jade-blockprint\",\n },\n },\n {\n id: \"image-style:shadow-pop\",\n kind: \"image-style\",\n name: \"Shadow Pop\",\n description:\n \"Bright flat-vector illustration with offset black shape shadows, white dashed stitching, palette confetti, and transparent PNG output.\",\n desc: 'Bright flat-vector editorial illustration style — every colored shape sits in front of an offset black silhouette of itself (the signature depth trick, no outlines on the fills), with white hand-drawn dashed stitching, scattered palette-colored sparkle confetti, and a fully transparent PNG background so the piece drops cleanly onto any surface. Five dials per brief — palette (default / berry-pop / tropical / citrus-cobalt), scene metaphor, complexity (L1 / L2 / L3), confetti density, and subject domain. Trigger when user says /shadow-pop, asks for a \"shadow-pop illustration\", a \"bright flat-vector illustration with offset shadow\", an \"in-app illustration with offset shadow trick\", or briefs in the style of the included reference images.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/shadow-pop\",\n },\n },\n {\n id: \"image-style:tiny-wanderer\",\n kind: \"image-style\",\n name: \"Tiny Wanderer\",\n description:\n \"Contemplative bande-dessinée landscape illustration — tiny human dwarfed by vast nature, ink hatching + flat color, vertical portrait canvas.\",\n desc: 'Contemplative bande-dessinée landscape illustration in a locked house style — a tiny human (or 2–3 figures) is dwarfed by a vast natural panorama, hand-drawn black ink contour + parallel/cross-hatching for clouds, rock walls, foliage, grass, and water texture, sitting on flat color blocks beneath the ink (no gradients, no airbrush). Restrained 3–5 color palette per piece including black ink, vertical portrait canvas (1024x1536, reads ~3:5). Always outdoor/wilderness. Moebius / Christophe Chabouté travel-sketchbook lineage, quiet wonder mood. Six dials per brief: palette family (sage-plains / sunset-warm / coastal-teal / cool-mist / autumn-rust / winter-pale / custom), landscape archetype (plains+clouds / mountain valley / river vista / rocky ridge / coastal cliffs / misty gorge / forest clearing / alpine pass / desert mesa / lakeshore), activity (walking / cycling / hiking / standing-and-gazing), solitude count (1 / 2 / 3), complexity (L1 single plane / L2 fore+mid / L3 full multi-plane vista), and weather/time (midday / golden hour / sunset / overcast / mist / blue hour). Trigger when user says /tiny-wanderer, asks for a \"tiny wanderer illustration\", \"bande-dessinée landscape\", \"Moebius-style travel illustration\", \"ink-hatched vertical landscape\", or briefs with a palette + landscape archetype + complexity in this house style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/tiny-wanderer\",\n },\n },\n {\n id: \"image-style:iberian-vignette\",\n kind: \"image-style\",\n name: \"Iberian Vignette\",\n description:\n \"Hand-drawn editorial vignette style — loose wobble ink, flat muted cream + burgundy + one accent (sage / mustard / dusty blue / terracotta), minimal abstract faces, observed Mediterranean composition with a serif Spanish wordmark at the bottom.\",\n desc: 'Iberian-vignette hand-drawn editorial illustration: loose hand-drawn ink linework with visible wobble and varied weight, flat muted color fills (no gradients, no shading, no texture) on a warm cream off-white background, burgundy/wine always present as the anchor color somewhere in the scene, exactly one secondary accent per piece (sage green / mustard yellow / dusty muted blue / terracotta-rust), minimal abstract faces (tiny dot or short-mark eyes, soft nose hint, almost no mouth), hair as flat color masses, warm sand skin tones, casually-observed body language (leaning, holding, mid-action, never stiffly posed), and a short Spanish serif lowercase wordmark anchored at the bottom center of the canvas. Always grounded by an architectural / scenic prop (stone arched doorway, tall arched window, balcony, sunlit courtyard, wooden counter, archway, stoop, open terrace). Six dials per brief: scene metaphor (trade shop, domestic moment, leisure ritual), cast (solo L1 / pair L2 / 3-4 figures L3), architectural prop, secondary accent (one only), wordmark (Spanish noun), complexity (L1/L2/L3). Trained on nano-banana-2 image-to-image with one of three locked anchor references (mañana / ritmo / familia). Trigger when user says /iberian-vignette, asks for an \"Iberian vignette illustration\", a \"Spanish editorial illustration\", a \"Mediterranean observed-moment scene\", or briefs a scene metaphor + cast + complexity in this hand-drawn editorial style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/iberian-vignette\",\n },\n },\n {\n id: \"image-style:cozy-parlor\",\n kind: \"image-style\",\n name: \"Cozy Parlor\",\n description:\n \"Hand-painted watercolor + ink-line scene — one anthropomorphic animal in a quiet domestic interior, clean cool-white paper, neutral palette with one hot accent pop.\",\n desc: \"Hand-painted watercolor + brushy black ink line on clean cool-white paper (no amber tint). ONE anthropomorphic animal mid-quiet-activity in a domestic interior. Closed-crescent-eye smile, minimal facial features, expression through posture. At least two patterned surfaces per piece. Cool/neutral palette lead (sage, slate-blue, cornflower, lavender, mint, dove-gray) with a single hot accent pop (cherry-red, mustard, magenta-pink) on one object. Six dials per brief — cast, activity, palette family, pattern motif stack, hot accent object, and complexity (L1/L2/L3). Trigger when user says /cozy-parlor, asks for a 'cozy parlor illustration', a 'watercolor animal scene', a 'picture-book interior', or a new piece in this neutral-palette watercolor style.\",\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/cozy-parlor\",\n },\n },\n {\n id: \"image-style:crowd-ink\",\n kind: \"image-style\",\n name: \"Crowd Ink\",\n description:\n \"Hand-drawn editorial crowd illustration — sketchy black ink contours over flat 3-color spot fills on pure white, scene-as-metaphor composition.\",\n desc: 'Hand-drawn editorial crowd illustration style — confident sketchy black ink contour lines with slightly irregular weight, flat 3-color spot fills sitting under or beside the ink lines (edges allowed to misregister slightly), on a PURE WHITE background (never cream). Fine-line backdrop drawn lighter than the foreground figures, scattered atmospheric marks in negative space (birds / leaves / steam / confetti / dots), and a scene-as-metaphor composition with a cast that varies per piece. Six dials per brief — palette (tested families: urban editorial / cool transit / warm natural / cozy interior), scene metaphor, complexity (L2 small group of 3–5 / L3 full crowd of 8–10), cast, backdrop, atmospheric motif. Trigger when the user says /crowd-ink, asks for a \"crowd-ink illustration\", \"editorial crowd scene\", \"hand-drawn ink-and-spot-color illustration\", \"New-Yorker-style crowd vignette\", or briefs with palette + scene metaphor + complexity level.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/crowd-ink\",\n },\n },\n {\n id: \"image-style:ink-storefront\",\n kind: \"image-style\",\n name: \"Ink Storefront\",\n description:\n \"Single-color hand-drawn ink fineliner illustration of a small storefront on warm cream paper — hand-lettered shop sign, foliage, and street props.\",\n desc: 'Boutique-poster illustration style — a single-color hand-drawn ink line drawing of a small storefront (café, boulangerie, florist, bookshop, ramen, wine bar, barber, record store, etc.) seen from street level on warm cream paper #f4ecd8. Locked frame: portrait 1024x1536, monochromatic ink with occasional double-stroke shadow under awnings and signs, a hand-lettered shop sign baked into the building, foliage and at least one small street prop (bike, A-frame chalkboard, planters, lanterns, café tables, dog/cat at the door), and a faint horizontal sidewalk line across the bottom. No solid color fills, no shading, no gradients. Seven dials per brief — ink color, shop name + subtitle, archetype, perspective (flat facade vs 3/4 corner), foreground props, foliage density, and complexity (L1 single facade / L2 small scene / L3 full vignette). Trigger when user says /ink-storefront, asks for a \"shopfront illustration\", \"storefront poster\", \"boutique fineliner illustration\", \"café line drawing\", or briefs with a shop name + ink color + archetype in this house style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/ink-storefront\",\n },\n },\n {\n id: \"image-style:chibi-hero\",\n kind: \"image-style\",\n name: \"Chibi Hero\",\n description:\n \"Chibi mobile-RPG mascot illustration — oversized-head super-deformed character, warm-dark hand-drawn outlines, cel-shaded flat fills, mid-action pose, transparent background.\",\n desc: 'Chibi mobile-RPG mascot illustration style — single full-body hero character with super-deformed proportions (head ~1:1 head-to-body ratio, head dominates the silhouette), bold warm dark brown outline (NOT pure black) of confident even weight, cel-shaded flat color fills with exactly one tier of subtle shadow per surface, always isolated on a transparent background with no scene or ground line. Pose is always mid-action and dynamic (sprint, lunge, mid-cast, low sneak, leap, raised prayer, mid-stumble) — never a static T-pose. Face is simplified and expressive (slit/narrow eyes by default, tiny mouth or none, no fine detail), 3/4 angle view at eye level. Square 1024x1024 canvas. Six dials per brief: archetype (ninja, mage, knight, ranger, alchemist, bard, cleric, rogue, monk, summoner, beastmaster, paladin, druid, necromancer), palette (warm earthy / cool arcane / forest scout / steel + crimson / tinkerer mustard + teal + copper / devout gold + ivory + cyan / desert ochre / ice wraith), hero prop (spear, longbow, staff, dual daggers, tome, hammer, sword + kite shield, smoking flask, lute, scythe, mace, war horn, summoning crystal), pose energy (the verb), outfit complexity (L1 simple tunic / L2 layered cloak + belt + 1-2 accessories / L3 full kit with pauldrons, pouches, sashes, scabbard, trinkets, goggles, capes), and mood (determined, fierce, stoic, focused, mischievous, gleeful, weary, smug, serene-focused). Trigger when user says /chibi-hero, asks for a \"chibi hero\", a \"chibi RPG mascot\", a \"pocket adventurer character\", a \"super-deformed hero illustration\", or briefs with an archetype + palette + weapon + pose in this style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/chibi-hero\",\n },\n },\n];\n\n// ── Presentation runbook packages ────────────────────────────────────────────\n// Self-contained per-template presentation packages (agent runbook + renderer)\n// uploaded to private R2 as one archive each. When a selected template ships one\n// of these, the agent pulls exactly that archive by template, then selects a\n// color system at runtime — no separate design system or color archive to\n// resolve. Templates without a package fall back to the legacy multi-resource\n// flow. These are intentionally NOT part of RESOURCE_REGISTRY so they never leak\n// into the legacy multi-resource candidate slice (selectResourceCandidates) or\n// listTemplates.\n\nexport interface PresentationRunbookPackage {\n /** Picker template id (the legacy `template:html-ppt-*` id the user selects). */\n readonly templateId: string;\n /** Pull id for the runbook archive; distinct from `templateId`. */\n readonly resourceId: string;\n /** Top-level directory inside the archive; also the runbook command prefix. */\n readonly slug: string;\n /** Default color-system token applied when the user selects no color system. */\n readonly defaultColorSystem: string;\n /** Display name (relocated onto the package so runbook resolution no longer\n * needs the legacy `template:html-ppt-*` registry entry). */\n readonly name: string;\n /** Template description (relocated from the legacy template entry). */\n readonly description: string;\n readonly source: ResourceSourceRef;\n}\n\n// Archive digests for uploaded private R2 presentation runbook packages. Keep\n// these in sync with the private R2 version ids served by the API download route.\nconst PRESENTATION_RUNBOOK_ARCHIVE_SHA256: Record<string, string> = {\n \"playful-launch\":\n \"78292a9a5c454e36a5255f22d147ac56f53c69538a4ac0897160239c2ca941e3\",\n bloom: \"7f05f31603d2ad3055b23147cc2b41e047c5969b6640502489b34bd33a837d62\",\n \"blueprint-academy\":\n \"d6f16dff7c2f7830b71a3d6ed3fd228f1de7a29fa7795e2a31afb9fc841a0f72\",\n \"botane-organic\":\n \"052c937dc4a9c6e7c528265d86210c15488b19710d22437b25fb1710853c8a6f\",\n \"business-data\":\n \"c3ca2128d7dbfb2e683bb0386d5335505c1f540160481da1c97aae9ff52a15ac\",\n crayon: \"1e698ca42b7a36dfa8a1ed6f45c2b25181bf1058c91207b934612a73701fae70\",\n \"creative-agency\":\n \"7c3b33353bd22b2a6dc0c50c7ed9d3d97b159199ad30aa61b2abeb46a931b6ec\",\n \"data-report\":\n \"11747371adb6561e25cd4c3095caf62f52840c4ee625d234478f7631b746a9b3\",\n \"editorial-magazine\":\n \"d1ae6492925d2e9ed7cc0acc1684c33fea6613b6bef34b21aa228f01fc76c5d7\",\n \"landing-consulting\":\n \"01323dcebc9413781ad518d86f6b6611c3fb39a8bfd6287b2abced7c9432b6c7\",\n lumina: \"38ae1652ababd62fbb2dcbc612a7a9458dae0b88283e09b34d113882f94ca063\",\n meridian: \"6d31c74008ea8f854da929edb135ecbc8410dc3790e9c5ff8d43681029c1ecff\",\n \"mosaic-geometric\":\n \"fd036b42ef323011f0a2c771ceb0bbc6cfb6fb29272633f4e187cd672a89d336\",\n \"neo-brutalism\":\n \"70ca020b00cd79abdb471e3145f2bd706c1a2978fdd5870e372565033f3a4ead\",\n nocturne: \"83d26dbd95a839310db7553b3a2e4dfe2cc3d9678d988fa864d4dd61f6941213\",\n \"pixel-glitch\":\n \"bf3f5312f2281490f592c8d1c02477e57632299ea93b9e3eef65fe1dc2236e29\",\n \"playful-pop\":\n \"1c84b4a0df81a8ca169ac30a589410b8d846af5900c38d08fb77688b2556a565\",\n prospectus:\n \"0dc2b86b15970312003f6a60a90b03c47729870a38f85ae79c89547cd1cb485d\",\n schoolhouse:\n \"44e95a44ac37174b6dec3e2a2b21c0fe7d6d9f83c254d86cff1779030d5b11ad\",\n \"sticker-scrapbook\":\n \"cddd7f14573af6aa922b2873658dc81fbcd45dfb42b84da8be9b8e0866874dab\",\n strata: \"39ebdffe9de88faebb6427d734927b57ebe69b9b98db5efbee59b5f7ab120cc6\",\n \"taped-consulting\":\n \"7b05540c82b410abd1f236ef8a42ff53601489a4a8531413983830d42cec614b\",\n vantage: \"096678c9f5bc1760b9f2c25bf10949296ddaa98511a2ecae2bc59528bd7969ed\",\n};\n\nfunction presentationRunbookArchiveSha256(slug: string): string {\n const sha256 = PRESENTATION_RUNBOOK_ARCHIVE_SHA256[slug];\n if (!sha256) {\n throw new Error(`Missing presentation runbook archive sha256 for ${slug}`);\n }\n return sha256;\n}\n\n// Each entry maps a picker template id to its runbook package slug (the\n// presentation-final directory name) and the renderer's default color token.\nconst PRESENTATION_RUNBOOK_PACKAGE_DEFS: readonly {\n readonly templateId: string;\n readonly slug: string;\n readonly defaultColorSystem: string;\n readonly name: string;\n readonly description: string;\n}[] = [\n {\n templateId: \"template:html-ppt-playful-launch\",\n slug: \"playful-launch\",\n defaultColorSystem: \"carnival\",\n name: \"Playful Launch Presentation\",\n description:\n \"15-slot HTML presentation structure for product and service launches with oversized headlines, color-field rhythm, recurring motifs, and required media slots.\",\n },\n {\n templateId: \"template:html-ppt-bloom-pitch\",\n slug: \"bloom\",\n defaultColorSystem: \"carnival\",\n name: \"Bloom Pitch Presentation\",\n description:\n \"15-slot playful investor-pitch presentation structure with oversized headlines, colour-field dividers, organic visuals, stat stacks, quote cards, and pricing cards.\",\n },\n {\n templateId: \"template:html-ppt-blueprint-academy\",\n slug: \"blueprint-academy\",\n defaultColorSystem: \"forest_editorial\",\n name: \"Blueprint Academy Presentation\",\n description:\n \"15-slot academic education presentation structure with blueprint grids, wire diagrams, matted photos, goal cards, process spines, stats, testimonials, and contact slides.\",\n },\n {\n templateId: \"template:html-ppt-botane-organic\",\n slug: \"botane-organic\",\n defaultColorSystem: \"mauve_dusk\",\n name: \"Botane Organic Presentation\",\n description:\n \"15-slot organic wellness deck with colour-block panels, circular media, side titles, icon cycles, and donut stats.\",\n },\n {\n templateId: \"template:html-ppt-business-data\",\n slug: \"business-data\",\n defaultColorSystem: \"berry_pop\",\n name: \"Business Data Presentation\",\n description:\n \"15-slot HTML presentation structure for metric-led business reports with big numbers, stat strips, bars, rings, photo squares, and dark/accent proof slides.\",\n },\n {\n templateId: \"template:html-ppt-crayon\",\n slug: \"crayon\",\n defaultColorSystem: \"prism\",\n name: \"Crayon Presentation\",\n description:\n \"Light 15-slot playful education deck with peripheral blobs, multi-colour marker titles, doodle sparks, colour-block cards, burst stats, quote cards, and rounded pricing cards.\",\n },\n {\n templateId: \"template:html-ppt-creative-agency\",\n slug: \"creative-agency\",\n defaultColorSystem: \"coral_studio\",\n name: \"Creative Agency Presentation\",\n description:\n \"Minimal modern 15-slot agency deck with generous whitespace, foliage sprigs, B&W photo blocks, sharp rectangles, team grids, icon services, process spine, and a big-stat impact band.\",\n },\n {\n templateId: \"template:html-ppt-data-report\",\n slug: \"data-report\",\n defaultColorSystem: \"prism\",\n name: \"Data Report Presentation\",\n description:\n \"Chart-led 15-page data report variant with saturated colour grounds, sharp outlines, frameless numbers, stacked/combo/area/line/doughnut/pie/bar/bubble charts, and data-first summary pages.\",\n },\n {\n templateId: \"template:html-ppt-editorial-magazine\",\n slug: \"editorial-magazine\",\n defaultColorSystem: \"warm_sand\",\n name: \"Editorial Magazine Presentation\",\n description:\n \"Restrained 15-slot magazine deck with masthead cover, dotted TOC, colour-block dividers, two-column editorial pages, roman/italic titles, running footer, stat boxes, quote rows, and editorial table.\",\n },\n {\n templateId: \"template:html-ppt-landing-consulting\",\n slug: \"landing-consulting\",\n defaultColorSystem: \"pop_art\",\n name: \"Landing Consulting Presentation\",\n description:\n \"Consulting deck dressed like a landing page, with persistent nav chrome, two-tone display titles, dashed circuit wires, marker emphasis, speech-bubble callouts, square photo blocks, frameless stats, and CTA rhythm.\",\n },\n {\n templateId: \"template:html-ppt-lumina\",\n slug: \"lumina\",\n defaultColorSystem: \"prism\",\n name: \"Lumina Presentation\",\n description:\n \"Sticker-tag creative studio deck with brush-letter title accents, asterisk punctuation, frame-edge chrome, sharp colour cells, photo blocks, stat bands, and agency-style 15-slot rhythm.\",\n },\n {\n templateId: \"template:html-ppt-meridian\",\n slug: \"meridian\",\n defaultColorSystem: \"slate_corporate\",\n name: \"Meridian Presentation\",\n description:\n \"15-slot professional data-agency presentation structure with flat nav chrome, sharp blocks, index numbers, stat matrices, bar charts, service blocks, and executive close.\",\n },\n {\n templateId: \"template:html-ppt-mosaic-geometric\",\n slug: \"mosaic-geometric\",\n defaultColorSystem: \"carnival\",\n name: \"Mosaic Geometric Presentation\",\n description:\n \"Bold modular geometric 15-slot pitch deck with Bauhaus mosaic tile clusters, dotted TOC, chapter dividers, framed icon services, process spine, gallery grid, segmented pie, burst stats, quote rows, and price cards.\",\n },\n {\n templateId: \"template:html-ppt-neo-brutalism\",\n slug: \"neo-brutalism\",\n defaultColorSystem: \"mono_ink\",\n name: \"Neo Brutalism Presentation\",\n description:\n \"Bold 15-slot brutalist business-plan deck with persistent nav chrome, CTA pairs, numbered circles, arch cards, and heavy framed content blocks.\",\n },\n {\n templateId: \"template:html-ppt-nocturne\",\n slug: \"nocturne\",\n defaultColorSystem: \"midnight_mono\",\n name: \"Nocturne Presentation\",\n description:\n \"Dark 15-slot data-keynote deck with rounded chart devices, frameless hero numbers, bento metrics, and clear text/data alternation.\",\n },\n {\n templateId: \"template:html-ppt-pixel-glitch\",\n slug: \"pixel-glitch\",\n defaultColorSystem: \"bauhaus_primary\",\n name: \"Pixel Glitch Presentation\",\n description:\n \"15-slot Y2K creative-studio presentation structure with pixel trails, glitch titles, sharp dividers, image blocks, ring charts, process spines, and bold proof pages.\",\n },\n {\n templateId: \"template:html-ppt-playful-pop\",\n slug: \"playful-pop\",\n defaultColorSystem: \"pop_art\",\n name: \"Playful Pop Presentation\",\n description:\n \"Loud 15-slot playful brand deck with neon-on-dark Pop Art colour, overlapping offset-shadow cards, organic blobs, corner dot grids, burst rosettes, pill chips, icon quads, process spine, photo gallery, quotes, and pricing.\",\n },\n {\n templateId: \"template:html-ppt-prospectus\",\n slug: \"prospectus\",\n defaultColorSystem: \"slate_corporate\",\n name: \"Prospectus Presentation\",\n description:\n \"15-slot corporate landing-page business-plan structure with persistent nav, colour-field stages, diagonal arrows, CTA clusters, flat charts, gantt timelines, and pricing tiers.\",\n },\n {\n templateId: \"template:html-ppt-schoolhouse\",\n slug: \"schoolhouse\",\n defaultColorSystem: \"bauhaus_primary\",\n name: \"Schoolhouse Presentation\",\n description:\n \"15-slot retro school-poster presentation structure with paper stages, stamp badges, index cards, ruled rows, stat bands, quote cards, and membership tiers.\",\n },\n {\n templateId: \"template:html-ppt-sticker-scrapbook\",\n slug: \"sticker-scrapbook\",\n defaultColorSystem: \"prism\",\n name: \"Sticker Scrapbook Presentation\",\n description:\n \"15-slot vibrant scrapbook presentation structure with sticker seals, spiral pads, agenda cards, doodle dividers, photo grids, stat stickers, quote cards, and pricing cards.\",\n },\n {\n templateId: \"template:html-ppt-strata\",\n slug: \"strata\",\n defaultColorSystem: \"mono_ink\",\n name: \"Strata Presentation\",\n description:\n \"15-slot Swiss-minimal agency presentation structure with giant caps, asterisk dividers, tile ramps, mono photo grids, frameless stats, quote cards, and pricing cards.\",\n },\n {\n templateId: \"template:html-ppt-taped-consulting\",\n slug: \"taped-consulting\",\n defaultColorSystem: \"slate_corporate\",\n name: \"Taped Consulting Presentation\",\n description:\n \"15-slot consulting presentation structure with taped photo clusters, inset frames, feature rows, process spines, big-number proof, quote cards, and pricing cards.\",\n },\n {\n templateId: \"template:html-ppt-vantage\",\n slug: \"vantage\",\n defaultColorSystem: \"slate_corporate\",\n name: \"Vantage Presentation\",\n description:\n \"15-slot business-proposal presentation structure with two-tone headings, corner indexes, square-pair motifs, split panels, frameless numbers, donut charts, and milestone lines.\",\n },\n];\n\nconst PRESENTATION_RUNBOOK_PACKAGES: readonly PresentationRunbookPackage[] =\n PRESENTATION_RUNBOOK_PACKAGE_DEFS.map((def) => {\n return {\n templateId: def.templateId,\n resourceId: `${def.templateId}-runbook`,\n slug: def.slug,\n defaultColorSystem: def.defaultColorSystem,\n name: def.name,\n description: def.description,\n source: privateR2ArchiveSource(\n def.slug,\n presentationRunbookArchiveSha256(def.slug),\n ),\n };\n });\n\nexport function listPresentationRunbookPackages(): readonly PresentationRunbookPackage[] {\n return PRESENTATION_RUNBOOK_PACKAGES;\n}\n\n/** Resolve the runbook package for a picker template id, if one exists. */\nexport function findPresentationRunbookPackage(\n templateId: string,\n): PresentationRunbookPackage | undefined {\n return PRESENTATION_RUNBOOK_PACKAGES.find((pkg) => {\n return pkg.templateId === templateId;\n });\n}\n\n/**\n * Resolve a runbook package archive by its pull resource id, shaped as a\n * RegistryEntry so the download route and `zero resource pull` can treat it like\n * any other private archive.\n */\nexport function findPresentationRunbookResource(\n resourceId: string,\n): RegistryEntry | undefined {\n const pkg = PRESENTATION_RUNBOOK_PACKAGES.find((entry) => {\n return entry.resourceId === resourceId;\n });\n if (!pkg) {\n return undefined;\n }\n // Name/description live on the package itself (relocated from the legacy\n // `template:html-ppt-*` registry entry) so this no longer depends on that\n // entry surviving. Only id and source diverge.\n return {\n id: pkg.resourceId,\n kind: \"template\",\n name: pkg.name,\n description: pkg.description,\n source: pkg.source,\n targets: [\"presentation\"],\n };\n}\n\n// ── Website template packages ────────────────────────────────────────────────\n// Self-contained website packages uploaded to private R2. Keep these pull-only\n// resources out of RESOURCE_REGISTRY so the feature-switched picker remains the\n// only user-facing catalog for built-in website templates.\n\nexport interface WebsiteTemplatePackage {\n /** Picker template id; this is also the pull id for website packages. */\n readonly templateId: WebsiteTemplateItem[\"templateId\"];\n readonly resourceId: WebsiteTemplateItem[\"resourceId\"];\n readonly slug: WebsiteTemplateItem[\"slug\"];\n readonly name: WebsiteTemplateItem[\"title\"];\n readonly description: WebsiteTemplateItem[\"description\"];\n readonly source: ResourceSourceRef;\n}\n\n// Archive digests for uploaded private R2 website template packages. Keep these\n// in sync with the private R2 version ids served by the API download route.\nconst WEBSITE_TEMPLATE_ARCHIVE_SHA256: Record<string, string> = {\n \"black-slabs\":\n \"8f30984e444283bf0322106a1099623346e153bc11d26e3044fbf61ef43514c3\",\n \"blueprint-grid\":\n \"97c2edd94467bc414f0d9fc27cafa048cb2a7aaba3df5159df519a2bb2b97a4e\",\n \"coastal-hotel\":\n \"9633475124da5728cbf99a7333b494f74842232faaf675bc7878a3ebcdf59bcb\",\n \"dot-matrix\":\n \"f489a51fb99d8fadff8712d0406df06ac1a530116ebe612ab3f8605daa2bcce2\",\n \"frame-stack\":\n \"4587e93da51652c0c16c2d0706e8437001305214e4e6b8b1c18a6538b3daa127\",\n \"frosted-scatter\":\n \"00e343ace0673ece5903a2b6abbad6bb960c17796e0cfa5cce0bcab7e6bcdd7b\",\n \"gallery-wall\":\n \"c90332053b24572feadecb3994925ed317957e1cb17b0080cfebc6f4d9e93bd1\",\n \"glass-bloom\":\n \"0c61488baa294fb13c58aa129e3ae99f0cd4ff9125459761a1b2c1390b860f93\",\n \"serif-stack\":\n \"cf5137a7b6788f4d7cb24bda358a8e1971c0e7ed026d50e6cf292f6bf0cd0c14\",\n \"sticker-pop\":\n \"2086113018279f28e23489cf7a0f3663c37a23210fb106c4ed48d8c19923f78f\",\n \"warm-cards\":\n \"2721c013f76e1b2eea09282269b33d7f143b7e83ee3e701e83a0fcf7773852dd\",\n};\n\nfunction websiteTemplateArchiveSha256(slug: string): string {\n const sha256 = WEBSITE_TEMPLATE_ARCHIVE_SHA256[slug];\n if (!sha256) {\n throw new Error(`Missing website template archive sha256 for ${slug}`);\n }\n return sha256;\n}\n\nconst WEBSITE_TEMPLATE_PACKAGES: readonly WebsiteTemplatePackage[] =\n WEBSITE_TEMPLATE_ITEMS.map((item) => {\n return {\n templateId: item.templateId,\n resourceId: item.resourceId,\n slug: item.sourcePath,\n name: item.title,\n description: item.description,\n source: privateR2ArchiveSource(\n item.sourcePath,\n websiteTemplateArchiveSha256(item.slug),\n ),\n };\n });\n\nfunction websiteTemplatePackageToRegistryEntry(\n pkg: WebsiteTemplatePackage,\n): RegistryEntry {\n return {\n id: pkg.resourceId,\n kind: \"template\",\n name: pkg.name,\n description: pkg.description,\n source: pkg.source,\n targets: [\"website\"],\n };\n}\n\nexport function listWebsiteTemplatePackages(): readonly WebsiteTemplatePackage[] {\n return WEBSITE_TEMPLATE_PACKAGES;\n}\n\nexport function findWebsiteTemplatePackage(\n templateId: string,\n): WebsiteTemplatePackage | undefined {\n const normalizedTemplateId =\n findWebsiteTemplateItem(templateId)?.templateId ?? templateId;\n return WEBSITE_TEMPLATE_PACKAGES.find((pkg) => {\n return pkg.templateId === normalizedTemplateId;\n });\n}\n\nexport function findWebsiteTemplateResource(\n resourceId: string,\n): RegistryEntry | undefined {\n const normalizedResourceId =\n findWebsiteTemplateItem(resourceId)?.resourceId ?? resourceId;\n const pkg = WEBSITE_TEMPLATE_PACKAGES.find((entry) => {\n return entry.resourceId === normalizedResourceId;\n });\n if (!pkg) {\n return undefined;\n }\n return websiteTemplatePackageToRegistryEntry(pkg);\n}\n\nconst COLOR_SYSTEM_ID_PREFIX = \"color-system:\";\n\n/**\n * Map a registry color-system id (`color-system:warm-sand`) to the snake_case\n * token the runbook deck JSON expects (`warm_sand`). Returns undefined when the\n * id is not a known color system.\n */\nexport function presentationColorSystemToken(\n colorSystemId: string,\n): string | undefined {\n if (!findColorSystem(colorSystemId)) {\n return undefined;\n }\n return colorSystemId\n .slice(COLOR_SYSTEM_ID_PREFIX.length)\n .replaceAll(\"-\", \"_\");\n}\n\n/**\n * Resolve the color-system token for a presentation runbook: an explicit color\n * system id must resolve to a known token; with none, the package's default\n * token is used. Returns `{ token }` or `{ error }`.\n */\nexport function resolvePresentationRunbookColorToken(\n runbookPackage: PresentationRunbookPackage,\n colorSystemId: string | undefined,\n): { readonly token: string } | { readonly error: \"unknown-color-system\" } {\n if (!colorSystemId) {\n return { token: runbookPackage.defaultColorSystem };\n }\n const token = presentationColorSystemToken(colorSystemId);\n if (!token) {\n return { error: \"unknown-color-system\" };\n }\n return { token };\n}\n\n/**\n * Shared runbook authoring instructions for a selected presentation template.\n * Used by both the chat generation-template prompt (API) and\n * `zero generate presentation --template` (CLI) so the two never drift.\n */\nexport function buildPresentationRunbookInstructionLines(args: {\n readonly runbookPackage: PresentationRunbookPackage;\n readonly colorSystemToken: string;\n}): readonly string[] {\n const { runbookPackage: pkg, colorSystemToken } = args;\n return [\n `Selected presentation template: ${pkg.name} (${pkg.templateId})`,\n `Color system token: ${colorSystemToken}`,\n \"\",\n \"To produce the presentation:\",\n `- Pull the package: zero resource pull ${pkg.resourceId} --dir ./generated/resources`,\n `- Follow ./generated/resources/${pkg.slug}/AGENT_RUNBOOK.md, running its commands from ./generated/resources. Set \"colorSystem\": \"${colorSystemToken}\" in the deck JSON.`,\n \"- Use the slide count the user asks for; if unspecified, default to 8 pages.\",\n \"- Build the deck static-first: the final index.html must contain every slide element and all user-visible slide content, with the first slide visible before JavaScript runs.\",\n \"- Do not store slide content in JavaScript data or use JavaScript to create, inject, fetch, hydrate, or replace slide content. JavaScript may only progressively enhance the existing DOM for navigation, controls, themes, or animation.\",\n \"- Host the finished deck: zero host <output-dir> --site <slug> --artifact-kind presentation-html\",\n \"- Return only the generated HTML deck as the final deliverable.\",\n ];\n}\n\nfunction filterByKind(kind: ResourceKind): readonly RegistryEntry[] {\n return RESOURCE_REGISTRY.filter((entry) => {\n return entry.kind === kind;\n });\n}\n\nexport function listImageStyles(): readonly RegistryEntry[] {\n return filterByKind(\"image-style\");\n}\n\nexport function listSkills(): readonly RegistryEntry[] {\n return filterByKind(\"skill\");\n}\n\nexport function findSkill(id: string): RegistryEntry | undefined {\n return listSkills().find((entry) => {\n return entry.id === id;\n });\n}\n\nexport function listTools(): readonly RegistryEntry[] {\n return filterByKind(\"tool\");\n}\n\nexport function findTool(id: string): RegistryEntry | undefined {\n return listTools().find((entry) => {\n return entry.id === id;\n });\n}\n\nexport function findImageStyle(id: string): RegistryEntry | undefined {\n return listImageStyles().find((entry) => {\n return entry.id === id;\n });\n}\n\nconst VIDEO_TEMPLATE_ID_ALIASES: Readonly<Record<string, string>> = {\n \"athletic-motivation\": \"video-template:sports-performance-ad\",\n \"video-template:athletic-motivation\": \"video-template:sports-performance-ad\",\n \"imax-epic-cinematic\": \"video-template:epic-grandeur\",\n \"video-template:imax-epic-cinematic\": \"video-template:epic-grandeur\",\n \"luxury-watch-product\": \"video-template:luxury-product\",\n \"video-template:luxury-watch-product\": \"video-template:luxury-product\",\n};\n\nexport function canonicalizeVideoTemplateId(id: string): string {\n const alias = VIDEO_TEMPLATE_ID_ALIASES[id];\n if (alias) {\n return alias;\n }\n if (id.startsWith(\"video-template:\")) {\n return id;\n }\n return `video-template:${id}`;\n}\n\nexport function listVideoTemplates(): readonly VideoTemplateRegistryEntry[] {\n return VIDEO_TEMPLATE_REGISTRY;\n}\n\nexport function findVideoTemplate(\n id: string,\n): VideoTemplateRegistryEntry | undefined {\n const canonicalId = canonicalizeVideoTemplateId(id);\n return listVideoTemplates().find((entry) => {\n return entry.id === canonicalId;\n });\n}\n\nexport function listDesignSystems(): readonly RegistryEntry[] {\n return filterByKind(\"design-system\");\n}\n\nexport function findDesignSystem(id: string): RegistryEntry | undefined {\n return listDesignSystems().find((entry) => {\n return entry.id === id;\n });\n}\n\nexport function listColorSystems(): readonly RegistryEntry[] {\n return filterByKind(\"color-system\");\n}\n\nexport function findColorSystem(id: string): RegistryEntry | undefined {\n return listColorSystems().find((entry) => {\n return entry.id === id;\n });\n}\n\nexport function listTemplates(\n target?: GenerationTarget,\n): readonly RegistryEntry[] {\n const all = filterByKind(\"template\");\n if (target === undefined) {\n return all;\n }\n const filtered = all.filter((entry) => {\n return entry.targets?.includes(target) ?? false;\n });\n if (target !== \"website\") {\n return filtered;\n }\n const websitePackageEntries = WEBSITE_TEMPLATE_PACKAGES.map(\n websiteTemplatePackageToRegistryEntry,\n ).filter((entry) => {\n return !filtered.some((template) => {\n return template.id === entry.id;\n });\n });\n return [...filtered, ...websitePackageEntries];\n}\n\nexport function findTemplate(id: string): RegistryEntry | undefined {\n return filterByKind(\"template\").find((entry) => {\n return entry.id === id;\n });\n}\n\nexport function toGenerationTarget(value: string): GenerationTarget {\n if (value === \"dashboard\") {\n return \"dashboard-design\";\n }\n\n if (value === \"docs\") {\n return \"docs-design\";\n }\n\n if (value === \"mobile-app\") {\n return \"mobile-app-design\";\n }\n\n return value as GenerationTarget;\n}\n\nexport function selectResourceCandidates(\n target?: GenerationTarget,\n): ResourceCandidateSlice {\n return {\n registryVersion: RESOURCE_REGISTRY_VERSION,\n source: {\n repo: RESOURCE_REGISTRY_REPO,\n ref: RESOURCE_REGISTRY_COMMIT,\n },\n sources: [\n {\n repo: RESOURCE_REGISTRY_REPO,\n ref: RESOURCE_REGISTRY_COMMIT,\n },\n {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n },\n {\n type: \"r2-archive\",\n description:\n \"Private R2-backed resource archives resolved through authenticated `zero resource pull` requests\",\n },\n ],\n candidates: {\n skills: listSkills(),\n templates: listTemplates(target),\n designSystems: filterByKind(\"design-system\"),\n imageStyles: filterByKind(\"image-style\"),\n audioStyles: filterByKind(\"audio-style\"),\n videoTemplates: listVideoTemplates(),\n bundleTemplates: filterByKind(\"bundle-template\"),\n },\n };\n}\n","export interface WebsiteTemplateItem {\n readonly id: `website-template:${string}`;\n readonly slug: string;\n readonly title: string;\n readonly description: string;\n readonly templateId: `template:${string}`;\n readonly resourceId: `template:${string}`;\n readonly previewKind: \"iframe\";\n readonly previewUrl: string;\n readonly previewImageUrl: string;\n readonly sourcePath: string;\n readonly target: \"website\";\n}\n\n// Curated user-facing website picker catalog. Keep this separate from the\n// generic Open Design website registry so feature-switched users only see vm0\n// built-in R2-backed website templates.\nconst WEBSITE_TEMPLATE_PREVIEW_BASE_URL =\n \"https://static.vm0.io/vm0/artifact-templates/website/website-studio-v2-20260708-5f944f83\";\n\nexport const WEBSITE_TEMPLATE_ITEMS: readonly WebsiteTemplateItem[] = [\n {\n id: \"website-template:black-slabs\",\n slug: \"black-slabs\",\n title: \"Black Slabs\",\n description:\n \"High-contrast editorial website template with monolithic typography, full-bleed showcase panels, metric cards, and electric-indigo accents.\",\n templateId: \"template:black-slabs\",\n resourceId: \"template:black-slabs\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/black-slabs-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/black-slabs-preview-480x270.webp`,\n sourcePath: \"black-slabs\",\n target: \"website\",\n },\n {\n id: \"website-template:blueprint-grid\",\n slug: \"blueprint-grid\",\n title: \"Blueprint Grid\",\n description:\n \"Blueprint-inspired website template with oversized uppercase type, mono labels, ruled editorial grids, and cobalt navigation details.\",\n templateId: \"template:blueprint-grid\",\n resourceId: \"template:blueprint-grid\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/blueprint-grid-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/blueprint-grid-preview-480x270.webp`,\n sourcePath: \"blueprint-grid\",\n target: \"website\",\n },\n {\n id: \"website-template:coastal-hotel\",\n slug: \"coastal-hotel\",\n title: \"Coastal Hotel\",\n description:\n \"Hospitality website template with a crest-style hero, postcard cards, coastal contour details, hairline lists, and travel editorial motion.\",\n templateId: \"template:coastal-hotel\",\n resourceId: \"template:coastal-hotel\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/coastal-hotel-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/coastal-hotel-preview-480x270.webp`,\n sourcePath: \"coastal-hotel\",\n target: \"website\",\n },\n {\n id: \"website-template:dot-matrix\",\n slug: \"dot-matrix\",\n title: \"Dot Matrix\",\n description:\n \"Kinetic website template with LED dot-matrix imagery, an oversized organic wordmark, numbered service indexing, and scrolling tag marquees.\",\n templateId: \"template:dot-matrix\",\n resourceId: \"template:dot-matrix\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/dot-matrix-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/dot-matrix-preview-960x540.webp`,\n sourcePath: \"dot-matrix\",\n target: \"website\",\n },\n {\n id: \"website-template:frame-stack\",\n slug: \"frame-stack\",\n title: \"Frame Stack\",\n description:\n \"Architectural website template with full-bleed connected frames, coordinate labels, axon-style hero blocks, and stacked scroll sections.\",\n templateId: \"template:frame-stack\",\n resourceId: \"template:frame-stack\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/frame-stack-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/frame-stack-preview-480x270.webp`,\n sourcePath: \"frame-stack\",\n target: \"website\",\n },\n {\n id: \"website-template:frosted-scatter\",\n slug: \"frosted-scatter\",\n title: \"Frosted Scatter\",\n description:\n \"Frosted-glass website template with scattered parallax photography, a flashlight grid cursor, line-by-line copy, and oversized numeric storytelling.\",\n templateId: \"template:frosted-scatter\",\n resourceId: \"template:frosted-scatter\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/frosted-scatter-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/frosted-scatter-preview-960x540.webp`,\n sourcePath: \"frosted-scatter\",\n target: \"website\",\n },\n {\n id: \"website-template:gallery-wall\",\n slug: \"gallery-wall\",\n title: \"Gallery Wall\",\n description:\n \"Art-forward website template with cream canvas, painterly texture, framed artwork modules, accession labels, and serif editorial rhythm.\",\n templateId: \"template:gallery-wall\",\n resourceId: \"template:gallery-wall\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/gallery-wall-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/gallery-wall-preview-480x270.webp`,\n sourcePath: \"gallery-wall\",\n target: \"website\",\n },\n {\n id: \"website-template:glass-bloom\",\n slug: \"glass-bloom\",\n title: \"Glass Bloom\",\n description:\n \"Soft glassmorphism website template with frosted panels, blooming gradient light, italic serif accents, and pinned device storytelling.\",\n templateId: \"template:glass-bloom\",\n resourceId: \"template:glass-bloom\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/glass-bloom-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/glass-bloom-preview-480x270.webp`,\n sourcePath: \"glass-bloom\",\n target: \"website\",\n },\n {\n id: \"website-template:serif-stack\",\n slug: \"serif-stack\",\n title: \"Serif Stack\",\n description:\n \"Minimal serif website template with stacked cover sections, playful gravity tag clouds, scattered photos, and a characterful footer.\",\n templateId: \"template:serif-stack\",\n resourceId: \"template:serif-stack\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/serif-stack-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/serif-stack-preview-480x270.webp`,\n sourcePath: \"serif-stack\",\n target: \"website\",\n },\n {\n id: \"website-template:sticker-pop\",\n slug: \"sticker-pop\",\n title: \"Sticker Pop\",\n description:\n \"Playful website template with sticker cards, outlined serif type, warm cream palette, circular imagery, and sticky story panels.\",\n templateId: \"template:sticker-pop\",\n resourceId: \"template:sticker-pop\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/sticker-pop-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/sticker-pop-preview-480x270.webp`,\n sourcePath: \"sticker-pop\",\n target: \"website\",\n },\n {\n id: \"website-template:warm-cards\",\n slug: \"warm-cards\",\n title: \"Warm Cards\",\n description:\n \"Playful website template with a numbered color-block sidebar, soft full-screen cards, image-led hero, ticker content, and oversized footer wordmark.\",\n templateId: \"template:warm-cards\",\n resourceId: \"template:warm-cards\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/warm-cards-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/warm-cards-preview-480x270.webp`,\n sourcePath: \"warm-cards\",\n target: \"website\",\n },\n];\n\nexport function findWebsiteTemplateItem(\n id: string,\n): WebsiteTemplateItem | undefined {\n return WEBSITE_TEMPLATE_ITEMS.find((item) => {\n return (\n item.id === id ||\n item.slug === id ||\n item.templateId === id ||\n item.resourceId === id\n );\n });\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../packages/core/src/resource-registry.ts","../../../packages/core/src/website-template-items.ts"],"sourcesContent":["import {\n WEBSITE_TEMPLATE_ITEMS,\n findWebsiteTemplateItem,\n type WebsiteTemplateItem,\n} from \"./website-template-items\";\n\nexport type GenerationTarget =\n | \"image\"\n | \"presentation\"\n | \"website\"\n | \"dashboard-design\"\n | \"mobile-app-design\"\n | \"poster\"\n | \"intro-video\"\n | \"report\"\n | \"docs-design\";\n\nexport type GenerationOutputKind =\n | \"website\"\n | \"image\"\n | \"audio\"\n | \"video\"\n | \"presentation\"\n | \"report\"\n | \"poster\"\n | \"dashboard-design\"\n | \"mobile-app-design\"\n | \"docs-design\"\n | \"bundle\";\n\ntype ResourceKind =\n | \"skill\"\n | \"tool\"\n | \"template\"\n | \"design-system\"\n | \"color-system\"\n | \"image-style\"\n | \"audio-style\"\n | \"video-template\"\n | \"bundle-template\";\n\ninterface ResourceSourceRef {\n readonly path: string;\n readonly repo?: string;\n readonly ref?: string;\n readonly archive?: {\n readonly type: \"tar.gz\";\n readonly sha256: string;\n };\n}\n\nexport interface RegistryEntry {\n readonly id: string;\n readonly kind: ResourceKind;\n readonly name: string;\n readonly description: string;\n readonly desc?: string;\n readonly source: ResourceSourceRef;\n /**\n * Generation targets this entry applies to. Mandatory for `kind: \"template\"`\n * so we can filter templates per `generate` subcommand. Optional and unused\n * for other kinds — design systems apply to all HTML targets, image styles\n * apply only to image generation, and so on.\n */\n readonly targets?: readonly GenerationTarget[];\n}\n\nexport interface VideoTemplateRegistryEntry extends Omit<\n RegistryEntry,\n \"kind\" | \"source\"\n> {\n readonly kind: \"video-template\";\n readonly source: ResourceSourceRef & {\n readonly repo: string;\n readonly ref: string;\n };\n}\n\nexport interface ResourceCandidateSlice {\n readonly registryVersion: string;\n readonly source: {\n readonly repo: string;\n readonly ref: string;\n };\n readonly sources: readonly (\n | {\n readonly type?: \"git\";\n readonly repo: string;\n readonly ref: string;\n }\n | {\n readonly type: \"r2-archive\";\n readonly description: string;\n }\n )[];\n readonly candidates: {\n readonly skills: readonly RegistryEntry[];\n readonly templates: readonly RegistryEntry[];\n readonly designSystems: readonly RegistryEntry[];\n readonly imageStyles: readonly RegistryEntry[];\n readonly audioStyles: readonly RegistryEntry[];\n readonly videoTemplates: readonly VideoTemplateRegistryEntry[];\n readonly bundleTemplates: readonly RegistryEntry[];\n };\n}\n\nconst RESOURCE_REGISTRY_REPO = \"nexu-io/open-design\";\nconst RESOURCE_REGISTRY_COMMIT = \"3fb620af423534643677c7c6fae76be088fa770a\";\nconst VM0_SKILLS_REPO = \"vm0-ai/vm0-skills\";\nconst VM0_SKILLS_REF = \"main\";\nconst VIDEO_TEMPLATE_REGISTRY_SOURCE = {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n} as const;\n\nconst RESOURCE_REGISTRY_VERSION = \"v1\";\n\nfunction privateR2ArchiveSource(\n path: string,\n sha256: string,\n): ResourceSourceRef {\n return {\n path,\n archive: {\n type: \"tar.gz\",\n sha256,\n },\n };\n}\n\nconst PRESENTATION_RESOURCE_ARCHIVE_SHA256 = {\n colorSystemBauhausPrimary:\n \"f42a1d62462f24b1a411889f8011b07bd3f1bb1db82a339cc59cf5ab5be2f475\",\n colorSystemBerryPop:\n \"dfb63401d8991e2cc54acb2489eee937bce7e890991a2cc3a102447f39ed5539\",\n colorSystemCarnival:\n \"70d3721484929f0c841da5b0ecdb81889e81b5f37280607889c532cee1183f48\",\n colorSystemCitrusFresh:\n \"776e5e0f57f85b1896fe52cf9bc31a72a6e3a5e2f6629f5538abee022474b757\",\n colorSystemCoralStudio:\n \"d3a6f57fe02ac67530c005b011771dc48366155c537c35a04ed1c76d56d37b39\",\n colorSystemForestEditorial:\n \"359ebe14d8d3b3bd45a669402ef5f97223a67029e2ee6c6bab9f54af8a143ea6\",\n colorSystemGoldLuxe:\n \"0f9cabcf693ad4b6266bbaec2a4ec723a8292b759b8e342b180b79e48b485843\",\n colorSystemMauveDusk:\n \"de5abb4063c7abdba91efc3be2522130b51fe9bc1def51aa7fa05f3529b08588\",\n colorSystemMidnightMono:\n \"45db0976a10c24eede57bb38502d8a7d8ec5ad44456f32276d9b590760bb3875\",\n colorSystemMintTech:\n \"e66358f8ab1b8cb243a26540711add2343ede056b5218706074bbc75bc1089bc\",\n colorSystemMonoInk:\n \"851fc5dbf70fb4811362f6899ded96639e828b2efa82ae6ed716b4265eee712a\",\n colorSystemNordicFrost:\n \"b4d4920ec93bb39ddb7b9650f1c67567fdc4d19573011d573da14cb58e61e4d2\",\n colorSystemOceanDeep:\n \"b189e1454eb91bbf951753edf2cf9bd6a4e0317573dcb7b7bf002a9fef7165db\",\n colorSystemPopArt:\n \"076a4d943611abd05c1e2f5e2936901da38dbdf0b36f46aa7268e82f74b0a0af\",\n colorSystemPrism:\n \"059e0754eefc8bc2a49c3332ddabf65d8edb7d306d6d697929b367dbe2ea4768\",\n colorSystemSlateCorporate:\n \"4d8b502cb6ade2ec0490cfe9652e2c21477c2c67d5785f512135ba1b51694a13\",\n colorSystemSunsetMaroon:\n \"f57b3b2bc079f9c81d7cb6e394d0f3f098e3f971258de0dc6d3670e034c66467\",\n colorSystemTerracottaClay:\n \"f174828c51f50a0f8c6c91493920e232f16ba6ec8c08dd9a0f896aaade9fadee\",\n colorSystemWarmSand:\n \"b76919f0c5a3fe0a72586938e79eea81d90b6ab09701f7bef3fe9f50b94d757b\",\n} as const;\n\nfunction videoTemplateSource(\n path: string,\n): VideoTemplateRegistryEntry[\"source\"] {\n return {\n ...VIDEO_TEMPLATE_REGISTRY_SOURCE,\n path,\n };\n}\n\nconst VIDEO_TEMPLATE_REGISTRY: readonly VideoTemplateRegistryEntry[] = [\n {\n id: \"video-template:epic-grandeur\",\n kind: \"video-template\",\n name: \"Epic Grandeur\",\n description:\n \"Large-format epic cinematic video style with wide framing, aerial scale, golden backlight, and awe-struck tone.\",\n source: videoTemplateSource(\"video-template/epic-grandeur\"),\n },\n {\n id: \"video-template:gourmet-documentary\",\n kind: \"video-template\",\n name: \"Gourmet Documentary\",\n description:\n \"Sensory culinary-documentary video style with macro food texture, steam, warm backlight, and artisan hands.\",\n source: videoTemplateSource(\"video-template/gourmet-documentary\"),\n },\n {\n id: \"video-template:luxury-product\",\n kind: \"video-template\",\n name: \"Luxury Product Macro\",\n description:\n \"Dark luxury product macro video style with premium material detail, black studio, pinpoint highlights, and refined reveals.\",\n source: videoTemplateSource(\"video-template/luxury-product\"),\n },\n {\n id: \"video-template:shortform-viral\",\n kind: \"video-template\",\n name: \"Shortform Viral\",\n description:\n \"Short-form viral video style with vertical framing, fast hook, handheld creator energy, bright color, and quick rhythm.\",\n source: videoTemplateSource(\"video-template/shortform-viral\"),\n },\n {\n id: \"video-template:fashion-editorial\",\n kind: \"video-template\",\n name: \"Fashion Editorial\",\n description:\n \"High-fashion editorial video style with cold desaturated grade, strong silhouettes, luxury texture, and deliberate pose.\",\n source: videoTemplateSource(\"video-template/fashion-editorial\"),\n },\n {\n id: \"video-template:sports-performance-ad\",\n kind: \"video-template\",\n name: \"Sports Performance Ad\",\n description:\n \"Sports performance advertising video style with athlete effort, gear close-ups, impact rhythm, and dramatic rim light.\",\n source: videoTemplateSource(\"video-template/sports-performance-ad\"),\n },\n {\n id: \"video-template:japanese-wabi-sabi\",\n kind: \"video-template\",\n name: \"Japanese Wabi-Sabi\",\n description:\n \"Japanese wabi-sabi lifestyle video style with natural imperfection, warm soft light, negative space, and quiet mood.\",\n source: videoTemplateSource(\"video-template/japanese-wabi-sabi\"),\n },\n {\n id: \"video-template:hand-drawn-fantasy-anime\",\n kind: \"video-template\",\n name: \"Hand Drawn Fantasy Anime\",\n description:\n \"Hand-drawn fantasy animation video style with painterly 2D backgrounds, expressive characters, and gentle wonder.\",\n source: videoTemplateSource(\"video-template/hand-drawn-fantasy-anime\"),\n },\n {\n id: \"video-template:cyberpunk-anime\",\n kind: \"video-template\",\n name: \"Cyberpunk Anime\",\n description:\n \"2D cyberpunk anime video style with neon megacity atmosphere, rain-slick streets, cel shading, and melancholic mood.\",\n source: videoTemplateSource(\"video-template/cyberpunk-anime\"),\n },\n {\n id: \"video-template:chinese-ink-art\",\n kind: \"video-template\",\n name: \"Chinese Ink Painting\",\n description:\n \"Chinese ink-wash video style with monochrome brush texture, white space, mist, and calm classical-poetry mood.\",\n source: videoTemplateSource(\"video-template/chinese-ink-art\"),\n },\n];\n\nconst RESOURCE_REGISTRY: readonly RegistryEntry[] = [\n {\n id: \"skill:article-magazine\",\n kind: \"skill\",\n name: \"Article Magazine\",\n description:\n \"Shapes research or editorial material into a magazine-like narrative with strong hierarchy.\",\n source: { path: \"skills/article-magazine/SKILL.md\" },\n },\n {\n id: \"skill:design-brief\",\n kind: \"skill\",\n name: \"Design Brief\",\n description:\n \"Converts a product, brand, or feature request into a structured design brief.\",\n source: { path: \"skills/design-brief/SKILL.md\" },\n },\n {\n id: \"skill:8-bit-orbit-video-template\",\n kind: \"skill\",\n name: \"8 Bit Orbit Video Template\",\n description:\n \"HyperFrames-based video template for retro pixel deck motion design — multi-scene HTML-to-video composition with advanced transitions and ready-to-render default style.\",\n source: { path: \"skills/8-bit-orbit-video-template/SKILL.md\" },\n },\n {\n id: \"skill:after-hours-editorial-template\",\n kind: \"skill\",\n name: \"After Hours Editorial Template\",\n description:\n \"Luxury dark-editorial HyperFrames template for three-page cinematic storyboards — haute couture title cards and magazine chapter spreads with moody serif-led storytelling.\",\n source: { path: \"skills/after-hours-editorial-template/SKILL.md\" },\n },\n {\n id: \"skill:algorithmic-art\",\n kind: \"skill\",\n name: \"Algorithmic Art\",\n description:\n \"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.\",\n source: { path: \"skills/algorithmic-art/SKILL.md\" },\n },\n {\n id: \"skill:apple-hig\",\n kind: \"skill\",\n name: \"Apple HIG\",\n description:\n \"Apple Human Interface Guidelines as 14 agent skills covering platforms, foundations, components, patterns, inputs, and technologies for iOS, macOS, visionOS, watchOS, and tvOS.\",\n source: { path: \"skills/apple-hig/SKILL.md\" },\n },\n {\n id: \"skill:brainstorming\",\n kind: \"skill\",\n name: \"Brainstorming\",\n description:\n \"Transform rough ideas into fully-formed designs through structured questioning and alternative exploration. Useful early in concept work.\",\n source: { path: \"skills/brainstorming/SKILL.md\" },\n },\n {\n id: \"skill:brand-guidelines\",\n kind: \"skill\",\n name: \"Brand Guidelines\",\n description:\n \"Apply Anthropic's official brand colors and typography to artifacts for consistent visual identity and professional design standards. A reference for shaping your own.\",\n source: { path: \"skills/brand-guidelines/SKILL.md\" },\n },\n {\n id: \"skill:canvas-design\",\n kind: \"skill\",\n name: \"Canvas Design\",\n description:\n \"Create beautiful visual art in PNG and PDF documents using design philosophy and aesthetic principles for posters, illustrations, and static pieces.\",\n source: { path: \"skills/canvas-design/SKILL.md\" },\n },\n {\n id: \"skill:card-twitter\",\n kind: \"skill\",\n name: \"Card Twitter\",\n description: \"Twitter quote or data card designed to pair with a post.\",\n source: { path: \"skills/card-twitter/SKILL.md\" },\n },\n {\n id: \"skill:card-xiaohongshu\",\n kind: \"skill\",\n name: \"Card Xiaohongshu\",\n description:\n \"Xiaohongshu-style knowledge cards, arranged as a swipeable multi-card carousel.\",\n source: { path: \"skills/card-xiaohongshu/SKILL.md\" },\n },\n {\n id: \"skill:color-expert\",\n kind: \"skill\",\n name: \"Color Expert\",\n description:\n \"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.\",\n source: { path: \"skills/color-expert/SKILL.md\" },\n },\n {\n id: \"skill:creative-director\",\n kind: \"skill\",\n name: \"Creative Director\",\n description:\n \"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.\",\n source: { path: \"skills/creative-director/SKILL.md\" },\n },\n {\n id: \"skill:d3-visualization\",\n kind: \"skill\",\n name: \"D3 Visualization\",\n description:\n \"Teaches the agent to produce D3 charts and interactive data visualizations. Useful for editorial dashboards, reports, and explanatory graphics.\",\n source: { path: \"skills/d3-visualization/SKILL.md\" },\n },\n {\n id: \"skill:deck-guizang-editorial\",\n kind: \"skill\",\n name: \"Deck Guizang Editorial\",\n description:\n \"Editorial magazine meets e-ink: 10 layouts and 5 palettes (Ink, Indigo Porcelain, Forest Ink, Kraft Paper, Dune).\",\n source: { path: \"skills/deck-guizang-editorial/SKILL.md\" },\n },\n {\n id: \"skill:deck-open-slide-canvas\",\n kind: \"skill\",\n name: \"Deck Open Slide Canvas\",\n description:\n \"Locked 1920x1080 canvas deck with React component-level free composition, not bound to a fixed template.\",\n source: { path: \"skills/deck-open-slide-canvas/SKILL.md\" },\n },\n {\n id: \"skill:deck-swiss-international\",\n kind: \"skill\",\n name: \"Deck Swiss International\",\n description:\n \"16-column grid, one saturated accent, and 22 locked layouts (Klein Blue, Lemon, Mint, Safety Orange).\",\n source: { path: \"skills/deck-swiss-international/SKILL.md\" },\n },\n {\n id: \"skill:design-consultation\",\n kind: \"skill\",\n name: \"Design Consultation\",\n description:\n \"Build a complete design system from scratch with creative risks and realistic product mockups. Useful for kickoff workshops and brand-from-zero work.\",\n source: { path: \"skills/design-consultation/SKILL.md\" },\n },\n {\n id: \"skill:design-md\",\n kind: \"skill\",\n name: \"Design MD\",\n description:\n \"Create and manage DESIGN.md files. Useful for capturing design direction, tokens, and visual rules in a single source of truth.\",\n source: { path: \"skills/design-md/SKILL.md\" },\n },\n {\n id: \"skill:design-review\",\n kind: \"skill\",\n name: \"Design Review\",\n description:\n \"Designer Who Codes: visual audit then fixes with atomic commits and before/after screenshots. Useful for tightening shipped UI before launch.\",\n source: { path: \"skills/design-review/SKILL.md\" },\n },\n {\n id: \"skill:digits-fintech-swiss-template\",\n kind: \"skill\",\n name: \"Digits Fintech Swiss Template\",\n description:\n \"Swiss-grid fintech deck template in black / warm paper / neon-lime — strict modular layout, bold numeric cards, restrained motion, keyboard/click navigation.\",\n source: { path: \"skills/digits-fintech-swiss-template/SKILL.md\" },\n },\n {\n id: \"skill:doc-kami-parchment\",\n kind: \"skill\",\n name: \"DOC Kami Parchment\",\n description:\n \"Warm parchment canvas (#f5f4ed), monochrome ink-blue accent (#1B365D), one serif family, and editorial-grade typography.\",\n source: { path: \"skills/doc-kami-parchment/SKILL.md\" },\n },\n {\n id: \"skill:editorial-burgundy-principles-template\",\n kind: \"skill\",\n name: \"Editorial Burgundy Principles Template\",\n description:\n \"Editorial studio deck template in burgundy / blush / muted-gold — pill tags, large typographic statements, principle cards, guided keyboard/click navigation.\",\n source: { path: \"skills/editorial-burgundy-principles-template/SKILL.md\" },\n },\n {\n id: \"skill:enhance-prompt\",\n kind: \"skill\",\n name: \"Enhance Prompt\",\n description:\n \"Improve prompts with design specs and UI/UX vocabulary. Useful for design-to-code workflows and clarifying requests for visual output.\",\n source: { path: \"skills/enhance-prompt/SKILL.md\" },\n },\n {\n id: \"skill:faq-page\",\n kind: \"skill\",\n name: \"FAQ Page\",\n description:\n \"A Frequently Asked Questions (FAQ) page with collapsible accordion sections, search functionality, and category filtering.\",\n source: { path: \"skills/faq-page/SKILL.md\" },\n },\n {\n id: \"skill:field-notes-editorial-template\",\n kind: \"skill\",\n name: \"Field Notes Editorial Template\",\n description:\n \"Editorial Field Notes report template — soft paper background, serif hero typography, rounded pastel insight cards, retention chart panel. Premium magazine-style.\",\n source: { path: \"skills/field-notes-editorial-template/SKILL.md\" },\n },\n {\n id: \"skill:figma-create-design-system-rules\",\n kind: \"skill\",\n name: \"Figma Create Design System Rules\",\n description:\n \"Generate project-specific design system rules for Figma-to-code workflows. Useful for capturing tokens, naming, and lint rules in one source.\",\n source: { path: \"skills/figma-create-design-system-rules/SKILL.md\" },\n },\n {\n id: \"skill:figma-generate-design\",\n kind: \"skill\",\n name: \"Figma Generate Design\",\n description:\n \"Build or update screens in Figma from code or description using design system components. Translate app pages into Figma using design tokens.\",\n source: { path: \"skills/figma-generate-design/SKILL.md\" },\n },\n {\n id: \"skill:figma-generate-library\",\n kind: \"skill\",\n name: \"Figma Generate Library\",\n description:\n \"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.\",\n source: { path: \"skills/figma-generate-library/SKILL.md\" },\n },\n {\n id: \"skill:figma-implement-design\",\n kind: \"skill\",\n name: \"Figma Implement Design\",\n description:\n \"Translate Figma designs into production-ready code with 1:1 visual fidelity. Useful for handing off Figma frames straight to a frontend agent.\",\n source: { path: \"skills/figma-implement-design/SKILL.md\" },\n },\n {\n id: \"skill:flutter-animating-apps\",\n kind: \"skill\",\n name: \"Flutter Animating Apps\",\n description:\n \"Implement animated effects, transitions, and motion in Flutter apps. Useful for native iOS/Android motion design.\",\n source: { path: \"skills/flutter-animating-apps/SKILL.md\" },\n },\n {\n id: \"skill:frame-data-chart-nyt\",\n kind: \"skill\",\n name: \"Frame Data Chart Nyt\",\n description:\n \"NYT-newsroom typography, staggered reveal animation, and editorial-grade charts (line, bar, or range band).\",\n source: { path: \"skills/frame-data-chart-nyt/SKILL.md\" },\n },\n {\n id: \"skill:frame-flowchart-sticky\",\n kind: \"skill\",\n name: \"Frame Flowchart Sticky\",\n description:\n \"SVG curve connectors, sticky-note nodes, and cursor interaction with a whiteboard-brainstorm feel.\",\n source: { path: \"skills/frame-flowchart-sticky/SKILL.md\" },\n },\n {\n id: \"skill:frame-glitch-title\",\n kind: \"skill\",\n name: \"Frame Glitch Title\",\n description:\n \"Digital glitch, chromatic offset, and data-corruption title frame for video transitions or cyberpunk heroes.\",\n source: { path: \"skills/frame-glitch-title/SKILL.md\" },\n },\n {\n id: \"skill:frame-light-leak-cinema\",\n kind: \"skill\",\n name: \"Frame Light Leak Cinema\",\n description:\n \"Film light leaks, grain, 16:9 letterbox, and large serif type for cinematic openings or chapter cards.\",\n source: { path: \"skills/frame-light-leak-cinema/SKILL.md\" },\n },\n {\n id: \"skill:frame-liquid-bg-hero\",\n kind: \"skill\",\n name: \"Frame Liquid Bg Hero\",\n description:\n \"WebGL-style fluid displacement background with a quote overlay, suited to video intros, landing heroes, or posters.\",\n source: { path: \"skills/frame-liquid-bg-hero/SKILL.md\" },\n },\n {\n id: \"skill:frame-logo-outro\",\n kind: \"skill\",\n name: \"Frame Logo Outro\",\n description:\n \"Segmented logo assembly, glow bloom, and tagline reveal for video outros or brand closing frames.\",\n source: { path: \"skills/frame-logo-outro/SKILL.md\" },\n },\n {\n id: \"skill:frame-macos-notification\",\n kind: \"skill\",\n name: \"Frame Macos Notification\",\n description:\n \"Realistic macOS notification banner with app icon, title, and body, suited to video overlays or product teasers.\",\n source: { path: \"skills/frame-macos-notification/SKILL.md\" },\n },\n {\n id: \"skill:frontend-design\",\n kind: \"skill\",\n name: \"Frontend Design\",\n description:\n \"Frontend design and UI/UX development tools for shipping production-ready interfaces with strong typographic and layout discipline.\",\n source: { path: \"skills/frontend-design/SKILL.md\" },\n },\n {\n id: \"skill:frontend-dev\",\n kind: \"skill\",\n name: \"Frontend Dev\",\n description:\n \"Full-stack frontend with cinematic animations, AI-generated media via MiniMax API, and generative art. Useful for hero pages and showcase sites.\",\n source: { path: \"skills/frontend-dev/SKILL.md\" },\n },\n {\n id: \"skill:frontend-skill\",\n kind: \"skill\",\n name: \"Frontend Skill\",\n description:\n \"Create visually strong landing pages, websites, and app UIs with restrained composition. OpenAI's production frontend playbook.\",\n source: { path: \"skills/frontend-skill/SKILL.md\" },\n },\n {\n id: \"skill:frontend-slides\",\n kind: \"skill\",\n name: \"Frontend Slides\",\n description:\n \"Generate animation-rich HTML presentations with visual style previews. Useful for online keynotes, embedded talks, and interactive briefs.\",\n source: { path: \"skills/frontend-slides/SKILL.md\" },\n },\n {\n id: \"skill:gsap-core\",\n kind: \"skill\",\n name: \"GSAP Core\",\n description:\n \"Core GSAP API with gsap.to(), from(), fromTo(), easing, duration, stagger, and defaults. Production-grade web animation primitives.\",\n source: { path: \"skills/gsap-core/SKILL.md\" },\n },\n {\n id: \"skill:gsap-react\",\n kind: \"skill\",\n name: \"GSAP React\",\n description:\n \"GSAP React integration with useGSAP hook, refs, gsap.context(), cleanup, and SSR. Ships safe motion in React + Next.js apps.\",\n source: { path: \"skills/gsap-react/SKILL.md\" },\n },\n {\n id: \"skill:gsap-scrolltrigger\",\n kind: \"skill\",\n name: \"GSAP Scrolltrigger\",\n description:\n \"GSAP ScrollTrigger for scroll-linked animations, pinning, scrub, and refresh handling. Useful for editorial sites and product pages.\",\n source: { path: \"skills/gsap-scrolltrigger/SKILL.md\" },\n },\n {\n id: \"skill:gsap-timeline\",\n kind: \"skill\",\n name: \"GSAP Timeline\",\n description:\n \"GSAP Timelines with sequencing, position parameter, labels, nesting, and playback control. Useful for orchestrating multi-step motion sequences.\",\n source: { path: \"skills/gsap-timeline/SKILL.md\" },\n },\n {\n id: \"skill:hand-drawn-diagrams\",\n kind: \"skill\",\n name: \"Hand Drawn Diagrams\",\n description:\n \"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.\",\n source: { path: \"skills/hand-drawn-diagrams/SKILL.md\" },\n },\n {\n id: \"skill:hatch-pet\",\n kind: \"skill\",\n name: \"Hatch Pet\",\n description:\n \"Create, repair, validate, preview, and package Codex-compatible animated pet spritesheets with an 8x9 atlas, QA contact sheets, preview videos, and pet.json packaging.\",\n source: { path: \"skills/hatch-pet/SKILL.md\" },\n },\n {\n id: \"skill:html-ppt-retro-quarterly-review\",\n kind: \"skill\",\n name: \"HTML PPT Retro Quarterly Review\",\n description:\n \"Retro Quarterly Review template — bold blue + orange editorial with slab headlines, cream paper sections, structured grids, fast premium motion pacing in video mode.\",\n source: { path: \"skills/html-ppt-retro-quarterly-review/SKILL.md\" },\n },\n {\n id: \"skill:login-flow\",\n kind: \"skill\",\n name: \"Login Flow\",\n description: \"Mobile login and authentication flow screens.\",\n source: { path: \"skills/login-flow/SKILL.md\" },\n },\n {\n id: \"skill:mockup-device-3d\",\n kind: \"skill\",\n name: \"Mockup Device 3D\",\n description:\n \"Static iPhone and MacBook 3D-style showcase with real HTML embedded on screens, glass-lens refraction, and 360-degree turntable composition.\",\n source: { path: \"skills/mockup-device-3d/SKILL.md\" },\n },\n {\n id: \"skill:paywall-upgrade-cro\",\n kind: \"skill\",\n name: \"Paywall Upgrade Cro\",\n description:\n \"Design and optimize upgrade screens, paywalls, and upsell modals. Useful for SaaS conversion design and pricing-page experiments.\",\n source: { path: \"skills/paywall-upgrade-cro/SKILL.md\" },\n },\n {\n id: \"skill:plan-design-review\",\n kind: \"skill\",\n name: \"Plan Design Review\",\n description:\n \"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.\",\n source: { path: \"skills/plan-design-review/SKILL.md\" },\n },\n {\n id: \"skill:platform-design\",\n kind: \"skill\",\n name: \"Platform Design\",\n description:\n \"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.\",\n source: { path: \"skills/platform-design/SKILL.md\" },\n },\n {\n id: \"skill:poster-hero\",\n kind: \"skill\",\n name: \"Poster Hero\",\n description:\n \"Vertical poster or Moments-style share image with strong visual impact.\",\n source: { path: \"skills/poster-hero/SKILL.md\" },\n },\n {\n id: \"skill:ppt-keynote\",\n kind: \"skill\",\n name: \"PPT Keynote\",\n description:\n \"Apple Keynote-quality slides, one card per screen, with keyboard left/right navigation.\",\n source: { path: \"skills/ppt-keynote/SKILL.md\" },\n },\n {\n id: \"skill:release-notes-one-pager\",\n kind: \"skill\",\n name: \"Release Notes One Pager\",\n description:\n '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.',\n source: { path: \"skills/release-notes-one-pager/SKILL.md\" },\n },\n {\n id: \"skill:resume-modern\",\n kind: \"skill\",\n name: \"Resume Modern\",\n description:\n \"Modern minimal resume, single A4 page, ready for print or PDF export.\",\n source: { path: \"skills/resume-modern/SKILL.md\" },\n },\n {\n id: \"skill:screenshots-marketing\",\n kind: \"skill\",\n name: \"Screenshots Marketing\",\n description:\n \"Generate marketing screenshots with Playwright. Useful for landing-page hero shots, App Store screenshots, and changelog visuals.\",\n source: { path: \"skills/screenshots-marketing/SKILL.md\" },\n },\n {\n id: \"skill:shadcn-ui\",\n kind: \"skill\",\n name: \"Shadcn UI\",\n description:\n \"Build UI components with shadcn/ui. Pairs with the Stitch design loop to ship structured, accessible components quickly.\",\n source: { path: \"skills/shadcn-ui/SKILL.md\" },\n },\n {\n id: \"skill:shader-dev\",\n kind: \"skill\",\n name: \"Shader Dev\",\n description:\n \"GLSL shader techniques for ray marching, fluid simulation, particle systems, and procedural generation. Useful for hero visuals and motion stills.\",\n source: { path: \"skills/shader-dev/SKILL.md\" },\n },\n {\n id: \"skill:slack-gif-creator\",\n kind: \"skill\",\n name: \"Slack GIF Creator\",\n description:\n \"Create animated GIFs optimized for Slack with validators for size constraints and composable animation primitives.\",\n source: { path: \"skills/slack-gif-creator/SKILL.md\" },\n },\n {\n id: \"skill:slides\",\n kind: \"skill\",\n name: \"Slides\",\n description:\n \"Create and edit .pptx presentation decks with PptxGenJS. Useful for sales decks, kickoff briefs, and design-system showcases.\",\n source: { path: \"skills/slides/SKILL.md\" },\n },\n {\n id: \"skill:social-reddit-card\",\n kind: \"skill\",\n name: \"Social Reddit Card\",\n description:\n \"Realistic Reddit post card with vote rail and comment count, suited to video overlays or story sharing.\",\n source: { path: \"skills/social-reddit-card/SKILL.md\" },\n },\n {\n id: \"skill:social-spotify-card\",\n kind: \"skill\",\n name: \"Social Spotify Card\",\n description:\n \"Spotify Now Playing-style card with album art, progress bar, and playback controls, suited to video overlays or personal homepages.\",\n source: { path: \"skills/social-spotify-card/SKILL.md\" },\n },\n {\n id: \"skill:social-x-post-card\",\n kind: \"skill\",\n name: \"Social X Post Card\",\n description:\n \"Realistic X post card with engagement metrics (likes, reposts, views), suited to video overlays or shareable image cards.\",\n source: { path: \"skills/social-x-post-card/SKILL.md\" },\n },\n {\n id: \"skill:stitch-loop\",\n kind: \"skill\",\n name: \"Stitch Loop\",\n description:\n \"Iterative design-to-code feedback loop. Critique adjust ship cycle for tightening visual fidelity between brief and built UI.\",\n source: { path: \"skills/stitch-loop/SKILL.md\" },\n },\n {\n id: \"skill:swiftui-design\",\n kind: \"skill\",\n name: \"Swiftui Design\",\n description:\n \"SwiftUI skill - anti AI-slop rules, design direction advisor, brand asset protocol, and five-dimension review. Works with Claude Code, Cursor, Codex, and OpenCode.\",\n source: { path: \"skills/swiftui-design/SKILL.md\" },\n },\n {\n id: \"skill:swiss-creative-mode-template\",\n kind: \"skill\",\n name: \"Swiss Creative Mode Template\",\n description:\n \"Swiss-inspired creative-mode presentation template — bold editorial typography, high-contrast geometric cards, interactive slide navigation, theme switching, hotspot overlays.\",\n source: { path: \"skills/swiss-creative-mode-template/SKILL.md\" },\n },\n {\n id: \"skill:swiss-user-research-video-template\",\n kind: \"skill\",\n name: \"Swiss User Research Video Template\",\n description:\n \"Swiss-style user-research narrative template in warm-paper editorial aesthetics — minimalist typography, donut breakdowns, keyboard/click navigation, single-file HTML.\",\n source: { path: \"skills/swiss-user-research-video-template/SKILL.md\" },\n },\n {\n id: \"skill:taste-skill\",\n kind: \"skill\",\n name: \"Taste Skill\",\n description:\n \"High-agency frontend skill that gives AI good taste with tunable design variance, motion intensity, and visual density to stop generic UI slop.\",\n source: { path: \"skills/taste-skill/SKILL.md\" },\n },\n {\n id: \"skill:theme-factory\",\n kind: \"skill\",\n name: \"Theme Factory\",\n description:\n \"Apply professional font and color themes to artifacts including slides, docs, reports, and HTML landing pages. Ships 10 pre-set themes.\",\n source: { path: \"skills/theme-factory/SKILL.md\" },\n },\n {\n id: \"skill:threejs\",\n kind: \"skill\",\n name: \"Threejs\",\n description:\n \"Three.js skills for creating 3D elements and interactive experiences in the browser - scenes, materials, controls, and post-processing.\",\n source: { path: \"skills/threejs/SKILL.md\" },\n },\n {\n id: \"skill:ui-skills\",\n kind: \"skill\",\n name: \"UI Skills\",\n description:\n \"Opinionated, evolving constraints to guide agents when building interfaces. Useful for keeping output coherent across many small UI pieces.\",\n source: { path: \"skills/ui-skills/SKILL.md\" },\n },\n {\n id: \"skill:ui-ux-pro-max\",\n kind: \"skill\",\n name: \"UI UX Pro Max\",\n description:\n \"Catalog-only UI/UX Pro Max entry. The full upstream templates, data, and search workflow are not bundled in this registry.\",\n source: { path: \"skills/ui-ux-pro-max/SKILL.md\" },\n },\n {\n id: \"skill:vfx-text-cursor\",\n kind: \"skill\",\n name: \"VFX Text Cursor\",\n description:\n \"Cursor light trail, chromatic rays, and directional flares for word-by-word quote reveals in video intros.\",\n source: { path: \"skills/vfx-text-cursor/SKILL.md\" },\n },\n {\n id: \"skill:video-hyperframes\",\n kind: \"skill\",\n name: \"Video Hyperframes\",\n description:\n \"Hyperframes / Remotion-compatible continuous frame animation with autoplay support.\",\n source: { path: \"skills/video-hyperframes/SKILL.md\" },\n },\n {\n id: \"skill:web-design-guidelines\",\n kind: \"skill\",\n name: \"Web Design Guidelines\",\n description:\n \"Web design guidelines and standards by the Vercel engineering team. Covers layout, typography, color, motion, and accessibility for product UI.\",\n source: { path: \"skills/web-design-guidelines/SKILL.md\" },\n },\n {\n id: \"skill:weread-year-in-review-video-template\",\n kind: \"skill\",\n name: \"Weread Year In Review Video Template\",\n description:\n \"WeRead-inspired HyperFrames video template for vertical annual reading reports — warm paper texture, editorial Chinese typography, book-page metaphors, deterministic motion.\",\n source: { path: \"skills/weread-year-in-review-video-template/SKILL.md\" },\n },\n {\n id: \"skill:wpds\",\n kind: \"skill\",\n name: \"WPDS\",\n description:\n \"WordPress Design System. Apply WordPress's official design tokens, typography, and component patterns to themes and sites.\",\n source: { path: \"skills/wpds/SKILL.md\" },\n },\n {\n id: \"template:dashboard\",\n kind: \"template\",\n name: \"Dashboard\",\n description:\n \"Admin or analytics dashboard in a single HTML file with fixed sidebar, top bar, KPI cards, and one or two charts.\",\n source: { path: \"design-templates/dashboard\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:finance-report\",\n kind: \"template\",\n name: \"Finance Report\",\n description:\n \"Quarterly or monthly financial report with masthead KPIs, revenue and burn charts, P&L summary, highlights, and outlook.\",\n source: { path: \"design-templates/finance-report\" },\n targets: [\"report\"],\n },\n {\n id: \"template:docs-page\",\n kind: \"template\",\n name: \"Docs Page\",\n description:\n \"Documentation page with inline-start navigation, scrollable article body, and inline-end table of contents.\",\n source: { path: \"design-templates/docs-page\" },\n targets: [\"docs-design\"],\n },\n {\n id: \"template:mobile-app\",\n kind: \"template\",\n name: \"Mobile App Design\",\n description:\n \"Mobile app screen rendered inside a pixel-accurate iPhone 15 Pro frame using reusable screen archetypes.\",\n source: { path: \"design-templates/mobile-app\" },\n targets: [\"mobile-app-design\"],\n },\n\n {\n id: \"template:html-ppt-zhangzara-retro-zine\",\n kind: \"template\",\n name: \"Zhangzara Retro Zine\",\n description:\n \"Retro editorial zine presentation template with expressive composition, tactile paper energy, and bold magazine-like rhythm.\",\n source: { path: \"design-templates/html-ppt-zhangzara-retro-zine\" },\n targets: [\"poster\"],\n },\n {\n id: \"template:weekly-update\",\n kind: \"template\",\n name: \"Weekly Update\",\n description:\n \"Single-file horizontal-swipe weekly team update deck for shipped work, in-flight work, blockers, metrics, and asks.\",\n source: { path: \"design-templates/weekly-update\" },\n targets: [\"report\"],\n },\n {\n id: \"template:web-prototype-taste-editorial\",\n kind: \"template\",\n name: \"Taste Editorial Web Prototype\",\n description:\n \"Editorial-minimalist web prototype with warm monochrome canvas, serif display type, hairline borders, pastel chips, and ambient micro-motion.\",\n source: { path: \"design-templates/web-prototype-taste-editorial\" },\n targets: [\"website\"],\n },\n {\n id: \"template:audio-jingle\",\n kind: \"template\",\n name: \"Audio Jingle\",\n description:\n \"Audio generation skill — 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…\",\n source: { path: \"design-templates/audio-jingle\" },\n targets: [\"intro-video\"],\n },\n {\n id: \"template:blog-post\",\n kind: \"template\",\n name: \"Blog Post\",\n description:\n \"A long-form article / blog post — masthead, hero image placeholder, article body with figures and pull quotes, author byline, related posts.\",\n source: { path: \"design-templates/blog-post\" },\n targets: [\"website\"],\n },\n {\n id: \"template:clinical-case-report\",\n kind: \"template\",\n name: \"Clinical Case Report\",\n description:\n \"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.\",\n source: { path: \"design-templates/clinical-case-report\" },\n targets: [\"report\"],\n },\n {\n id: \"template:critique\",\n kind: \"template\",\n name: \"Critique\",\n description:\n \"Run a 5-dimension expert design review on any HTML artifact in the project — Philosophy / Visual hierarchy / Detail / Functionality / Innovation, each scored 0–10. Outputs a single self-contained HTML report with a radar chart, evidence…\",\n source: { path: \"design-templates/critique\" },\n targets: [\n \"website\",\n \"dashboard-design\",\n \"report\",\n \"docs-design\",\n \"poster\",\n \"mobile-app-design\",\n ],\n },\n {\n id: \"template:dating-web\",\n kind: \"template\",\n name: \"Dating Web\",\n description:\n \"A consumer-feeling dating / matchmaking dashboard — 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.\",\n source: { path: \"design-templates/dating-web\" },\n targets: [\"website\"],\n },\n {\n id: \"template:dcf-valuation\",\n kind: \"template\",\n name: \"Dcf Valuation\",\n description:\n \"Discounted cash flow valuation and intrinsic value analysis for public companies.\",\n source: { path: \"design-templates/dcf-valuation\" },\n targets: [\"report\"],\n },\n {\n id: \"template:digital-eguide\",\n kind: \"template\",\n name: \"Digital Eguide\",\n description:\n 'A two-spread digital e-guide preview — 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.',\n source: { path: \"design-templates/digital-eguide\" },\n targets: [\"website\", \"docs-design\"],\n },\n {\n id: \"template:email-marketing\",\n kind: \"template\",\n name: \"Email Marketing\",\n description:\n \"A brand product-launch email — 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).\",\n source: { path: \"design-templates/email-marketing\" },\n targets: [\"website\"],\n },\n {\n id: \"template:eng-runbook\",\n kind: \"template\",\n name: \"Eng Runbook\",\n description:\n \"An engineering runbook — service overview, alerts table, dashboards links, common procedures with copy-pasteable commands, on-call rotation, and an incident-response checklist.\",\n source: { path: \"design-templates/eng-runbook\" },\n targets: [\"docs-design\"],\n },\n {\n id: \"template:flowai-live-dashboard-template\",\n kind: \"template\",\n name: \"Flowai Live Dashboard Template\",\n description:\n \"FlowAI team-management dashboard — three tabs (Members, Details, Activity Log), KPI row, role chart, presence sparklines, contributor panel, light/dark, CSV export, single HTML.\",\n source: { path: \"design-templates/flowai-live-dashboard-template\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:gamified-app\",\n kind: \"template\",\n name: \"Gamified App\",\n description:\n \"A multi-frame gamified mobile-app prototype — 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 t…\",\n source: { path: \"design-templates/gamified-app\" },\n targets: [\"website\", \"mobile-app-design\"],\n },\n {\n id: \"template:github-dashboard\",\n kind: \"template\",\n name: \"Github Dashboard\",\n description:\n \"GitHub repository analytics dashboard — stars, forks, contributors, issues, pull requests, recent activity, and top contributors.\",\n source: { path: \"design-templates/github-dashboard\" },\n targets: [\"dashboard-design\"],\n },\n\n {\n id: \"template:hr-onboarding\",\n kind: \"template\",\n name: \"Hr Onboarding\",\n description:\n 'A new-hire onboarding plan as a single page — first week schedule, buddy + manager intro, learning track, equipment checklist, and \"you\\'re set when…\" outcomes.',\n source: { path: \"design-templates/hr-onboarding\" },\n targets: [\"docs-design\"],\n },\n\n {\n id: \"template:html-ppt-weekly-report\",\n kind: \"template\",\n name: \"HTML PPT Weekly Report\",\n description:\n \"Team weekly / status-update deck — corporate clarity, 8-cell KPI grid, shipped list, 8-week bar chart, next-week table. Use for 周报, business reviews, team status updates, and exec dashboards.\",\n source: { path: \"design-templates/html-ppt-weekly-report\" },\n targets: [\"report\"],\n },\n {\n id: \"template:html-ppt-xhs-pastel-card\",\n kind: \"template\",\n name: \"HTML PPT Xhs Pastel Card\",\n description:\n \"柔和马卡龙慢生活 deck — 奶油底 + 柔光 blob、Playfair 斜体 + sans 正文、28px 圆角马卡龙卡片、SVG donut 图、chip+page 顶栏。适合生活方式 / 个人成长 / 慢生活内容。\",\n source: { path: \"design-templates/html-ppt-xhs-pastel-card\" },\n targets: [\"poster\"],\n },\n {\n id: \"template:html-ppt-xhs-post\",\n kind: \"template\",\n name: \"HTML PPT Xhs Post\",\n description:\n \"小红书 / Instagram 风 9 页 3:4 竖版图文(810×1080)— 暖色 pastel、虚线 sticker 卡片、底部页码点点。\",\n source: { path: \"design-templates/html-ppt-xhs-post\" },\n targets: [\"poster\"],\n },\n {\n id: \"template:html-ppt-xhs-white-editorial\",\n kind: \"template\",\n name: \"HTML PPT Xhs White Editorial\",\n description:\n \"白底杂志风 deck — 纯白 + 顶部 10 色彩虹 bar、80-110px display 标题、紫→蓝→绿→橙→粉渐变文字、马卡龙软卡片组、黑底白字 .focus pill。小红书图文 + 横版 PPT 双用。\",\n source: { path: \"design-templates/html-ppt-xhs-white-editorial\" },\n targets: [\"poster\"],\n },\n\n {\n id: \"template:html-ppt-zhangzara-biennale-yellow\",\n kind: \"template\",\n name: \"HTML PPT Zhangzara Biennale Yellow\",\n description:\n \"Biennale Yellow — solar yellow on warm parchment with deep indigo serif and sun-glow gradients. For art-biennale posters, museum programmes, curatorial pitches, literary publications.\",\n source: { path: \"design-templates/html-ppt-zhangzara-biennale-yellow\" },\n targets: [\"poster\"],\n },\n\n {\n id: \"template:html-ppt-zhangzara-bold-poster\",\n kind: \"template\",\n name: \"HTML PPT Zhangzara Bold Poster\",\n description:\n \"Bold Poster — editorial poster aesthetic with massive Shrikhand display and a single fire-engine red accent. For magazine-cover brand manifestos and editorial / cultural pitches.\",\n source: { path: \"design-templates/html-ppt-zhangzara-bold-poster\" },\n targets: [\"poster\"],\n },\n\n {\n id: \"template:hyperframes\",\n kind: \"template\",\n name: \"Hyperframes\",\n description:\n \"HTML video composition skill — captions, voiceover, audio-reactive animation, scene transitions, and timing in HyperFrames HTML. For CLI commands see hyperframes-cli.\",\n source: { path: \"design-templates/hyperframes\" },\n targets: [\"intro-video\"],\n },\n {\n id: \"template:ib-pitch-book\",\n kind: \"template\",\n name: \"Ib Pitch Book\",\n description:\n \"Investment-banking pitch book — trading comps, precedent transactions, valuation football field, DCF sensitivity, strategic-options matrix. For Board / sell-side discussion materials.\",\n source: { path: \"design-templates/ib-pitch-book\" },\n targets: [\"report\"],\n },\n {\n id: \"template:image-poster\",\n kind: \"template\",\n name: \"Image Poster\",\n description:\n \"Single-image generation skill for posters, key art, and editorial illustrations. Defaults to gpt-image-2 but is provider-agnostic — the same workflow drives Flux, Imagen, or Midjourney via the active upstream tooling. Output is one or mo…\",\n source: { path: \"design-templates/image-poster\" },\n targets: [\"poster\"],\n },\n {\n id: \"template:invoice\",\n kind: \"template\",\n name: \"Invoice\",\n description:\n \"A printable invoice page — sender + recipient block, line items table, tax breakdown, totals, and payment instructions.\",\n source: { path: \"design-templates/invoice\" },\n targets: [\"report\"],\n },\n\n {\n id: \"template:kami-landing\",\n kind: \"template\",\n name: \"Kami Landing\",\n description:\n \"Produce a print-grade single-page kami (紙 / 纸) document — 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. Multili…\",\n source: { path: \"design-templates/kami-landing\" },\n targets: [\"website\"],\n },\n {\n id: \"template:kanban-board\",\n kind: \"template\",\n name: \"Kanban Board\",\n description:\n \"Kanban / task board with columns (To do / In progress / In review / Done), draggable-looking cards, assignee avatars, swimlanes, and a top filter bar.\",\n source: { path: \"design-templates/kanban-board\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:last30days\",\n kind: \"template\",\n name: \"Last30days\",\n description:\n \"Recent community and social trend research over the last 30 days.\",\n source: { path: \"design-templates/last30days\" },\n targets: [\"dashboard-design\", \"report\"],\n },\n {\n id: \"template:live-artifact\",\n kind: \"template\",\n name: \"Live Artifact\",\n description:\n \"Create refreshable, auditable artifacts backed by connector or local data. Trigger when the user asks for live dashboards, refreshable reports, synced views, or reusable data-backed artifacts.\",\n source: { path: \"design-templates/live-artifact\" },\n targets: [\"dashboard-design\", \"report\", \"website\"],\n },\n {\n id: \"template:live-dashboard\",\n kind: \"template\",\n name: \"Live Dashboard\",\n description:\n \"Notion-style team dashboard as a Live Artifact — KPIs, 7-day sparkline, activity feed, and a linked-database task table wired to Notion via Composio. Refreshable, with mock fallback.\",\n source: { path: \"design-templates/live-dashboard\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:magazine-poster\",\n kind: \"template\",\n name: \"Magazine Poster\",\n description:\n \"An editorial-style poster — 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 fu…\",\n source: { path: \"design-templates/magazine-poster\" },\n targets: [\"poster\"],\n },\n {\n id: \"template:meeting-notes\",\n kind: \"template\",\n name: \"Meeting Notes\",\n description:\n 'Meeting notes page — title bar with attendees, agenda checklist, decisions block, action items table with owners + dates, and a \"next meeting\" footer.',\n source: { path: \"design-templates/meeting-notes\" },\n targets: [\"docs-design\"],\n },\n {\n id: \"template:mobile-onboarding\",\n kind: \"template\",\n name: \"Mobile Onboarding\",\n description:\n \"A multi-screen mobile onboarding flow rendered as three phone frames side by side — splash, value-prop, sign-in. Status bar, swipe dots, primary CTA.\",\n source: { path: \"design-templates/mobile-onboarding\" },\n targets: [\"mobile-app-design\"],\n },\n {\n id: \"template:motion-frames\",\n kind: \"template\",\n name: \"Motion Frames\",\n description:\n \"A single-frame motion-design composition with looping CSS animations — 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.\",\n source: { path: \"design-templates/motion-frames\" },\n targets: [\"intro-video\"],\n },\n {\n id: \"template:open-design-landing\",\n kind: \"template\",\n name: \"Editorial Landing\",\n description:\n \"Single-page editorial landing site in the Atelier Zero visual language (Monocle / Apartamento / Études collage). Composes from a typed inputs.json with optional gpt-image-2 assets.\",\n source: { path: \"design-templates/open-design-landing\" },\n targets: [\"website\"],\n },\n\n {\n id: \"template:orbit-general\",\n kind: \"template\",\n name: \"Orbit General\",\n description:\n \"Open Orbit daily digest — pulls 24h activity from every connected connector (GitHub, Linear, Notion, Slack, …) into a bento-grid dashboard. Invoked by the Orbit scheduler.\",\n source: { path: \"design-templates/orbit-general\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:orbit-github\",\n kind: \"template\",\n name: \"Orbit Github\",\n description:\n \"Open Orbit GitHub digest — 24h of PRs, reviews, issues, CI, and merges rendered in GitHub's native Notifications + PR-diff visual language. Invoked by the Orbit scheduler.\",\n source: { path: \"design-templates/orbit-github\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:orbit-gmail\",\n kind: \"template\",\n name: \"Orbit Gmail\",\n description:\n \"Open Orbit Gmail digest — 24h of inbox activity (replies, mentions, cc, bulk) rendered as the Orbit Daily Digest email inside Gmail's reading view. Invoked by the Orbit scheduler.\",\n source: { path: \"design-templates/orbit-gmail\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:orbit-linear\",\n kind: \"template\",\n name: \"Orbit Linear\",\n description:\n \"Open Orbit Linear digest — 24h of issue movement, status changes, assignments, and cycle progress in Linear's native Inbox + cycle visual language. Invoked by the Orbit scheduler.\",\n source: { path: \"design-templates/orbit-linear\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:orbit-notion\",\n kind: \"template\",\n name: \"Orbit Notion\",\n description:\n \"Open Orbit Notion digest — 24h of doc edits, comments, mentions, and database row changes rendered as a native Notion page. Invoked by the Orbit scheduler.\",\n source: { path: \"design-templates/orbit-notion\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:pm-spec\",\n kind: \"template\",\n name: \"Pm Spec\",\n description:\n \"Product spec / PRD as a single page — problem, success metrics, scope, user stories, design notes, rollout plan, open questions.\",\n source: { path: \"design-templates/pm-spec\" },\n targets: [\"docs-design\"],\n },\n {\n id: \"template:pricing-page\",\n kind: \"template\",\n name: \"Pricing Page\",\n description:\n \"A standalone pricing page — header, plan tiers, feature comparison table, and an FAQ.\",\n source: { path: \"design-templates/pricing-page\" },\n targets: [\"website\"],\n },\n\n {\n id: \"template:saas-landing\",\n kind: \"template\",\n name: \"Saas Landing\",\n description:\n \"Single-page SaaS landing with hero, features, social proof, pricing, and CTA. Respects the active DESIGN.md color/typography/layout tokens.\",\n source: { path: \"design-templates/saas-landing\" },\n targets: [\"website\"],\n },\n\n {\n id: \"template:social-carousel\",\n kind: \"template\",\n name: \"Social Carousel\",\n description:\n 'A three-card social-media carousel laid out as 1080×1080 squares — three cinematic, on-brand panels with display headlines that connect across the series (\"onwards.\" → \"to the next one.\" → \"looking ahead.\"). Each card has a brand mark, a…',\n source: { path: \"design-templates/social-carousel\" },\n targets: [\"poster\"],\n },\n {\n id: \"template:social-media-dashboard\",\n kind: \"template\",\n name: \"Social Media Dashboard\",\n description:\n '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 w…',\n source: { path: \"design-templates/social-media-dashboard\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:social-media-matrix-tracker-template\",\n kind: \"template\",\n name: \"Social Media Matrix Tracker Template\",\n description: \"社媒矩阵数据追踪面板模板(Social Media Matrix Tracker)。\",\n source: { path: \"design-templates/social-media-matrix-tracker-template\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:sprite-animation\",\n kind: \"template\",\n name: \"Sprite Animation\",\n description:\n \"A pixel / sprite-style animated explainer slide — 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…\",\n source: { path: \"design-templates/sprite-animation\" },\n targets: [\"intro-video\"],\n },\n {\n id: \"template:team-okrs\",\n kind: \"template\",\n name: \"Team Okrs\",\n description:\n 'OKR tracker page — quarter banner, three objectives with their key results as progress bars, owner avatars, status pills, and a \"this quarter at a glance\" sidebar.',\n source: { path: \"design-templates/team-okrs\" },\n targets: [\"docs-design\", \"dashboard-design\"],\n },\n {\n id: \"template:trading-analysis-dashboard-template\",\n kind: \"template\",\n name: \"Trading Analysis Dashboard Template\",\n description:\n \"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.\",\n source: { path: \"design-templates/trading-analysis-dashboard-template\" },\n targets: [\"dashboard-design\"],\n },\n {\n id: \"template:tweaks\",\n kind: \"template\",\n name: \"Tweaks\",\n description:\n \"Wrap any HTML artifact with a side panel of live, parameterized controls — accent color, type scale, density, motion, theme — that rewrite CSS custom properties in real time and persist to localStorage. Lets the user explore variants of…\",\n source: { path: \"design-templates/tweaks\" },\n targets: [\n \"website\",\n \"dashboard-design\",\n \"report\",\n \"docs-design\",\n \"poster\",\n \"mobile-app-design\",\n ],\n },\n {\n id: \"template:video-shortform\",\n kind: \"template\",\n name: \"Video Shortform\",\n description:\n \"Short-form video generation skill — 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 th…\",\n source: { path: \"design-templates/video-shortform\" },\n targets: [\"intro-video\"],\n },\n {\n id: \"template:waitlist-page\",\n kind: \"template\",\n name: \"Waitlist Page\",\n description:\n \"Minimal pre-launch landing with email capture, brand logo, and optional decorative layer. Reads DESIGN.md for colors, typography, and layout rules.\",\n source: { path: \"design-templates/waitlist-page\" },\n targets: [\"website\"],\n },\n {\n id: \"template:web-prototype\",\n kind: \"template\",\n name: \"Web Prototype\",\n description:\n \"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…\",\n source: { path: \"design-templates/web-prototype\" },\n targets: [\"website\"],\n },\n {\n id: \"template:web-prototype-taste-brutalist\",\n kind: \"template\",\n name: \"Web Prototype Taste Brutalist\",\n description:\n \"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` (Sw…\",\n source: { path: \"design-templates/web-prototype-taste-brutalist\" },\n targets: [\"website\"],\n },\n {\n id: \"template:web-prototype-taste-soft\",\n kind: \"template\",\n name: \"Web Prototype Taste Soft\",\n description:\n \"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–8 of `taste-skill`.\",\n source: { path: \"design-templates/web-prototype-taste-soft\" },\n targets: [\"website\"],\n },\n {\n id: \"template:wireframe-sketch\",\n kind: \"template\",\n name: \"Wireframe Sketch\",\n description:\n \"A hand-drawn wireframe exploration — 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 pixe…\",\n source: { path: \"design-templates/wireframe-sketch\" },\n targets: [\"website\", \"mobile-app-design\", \"dashboard-design\"],\n },\n {\n id: \"template:x-research\",\n kind: \"template\",\n name: \"X Research\",\n description:\n \"X/Twitter public sentiment research for recent market, company, product, or community discourse.\",\n source: { path: \"design-templates/x-research\" },\n targets: [\"report\"],\n },\n {\n id: \"design-system:dashboard\",\n kind: \"design-system\",\n name: \"Dashboard\",\n description:\n \"Dark cloud-platform aesthetic with modular grids, glass-like panels, and strong data hierarchy for productivity dashboards.\",\n source: { path: \"design-systems/dashboard\" },\n },\n {\n id: \"design-system:trading-terminal\",\n kind: \"design-system\",\n name: \"Trading Terminal\",\n description:\n \"Bloomberg-style financial trading terminal: dark-only, data-dense, with cyan and coral buy/sell signals readable at a glance.\",\n source: { path: \"design-systems/trading-terminal\" },\n },\n {\n id: \"design-system:warm-editorial\",\n kind: \"design-system\",\n name: \"Warm Editorial\",\n description:\n \"Serif-led magazine aesthetic with terracotta accents on warm off-white paper for readable narrative pages, zines, and reports.\",\n source: { path: \"design-systems/warm-editorial\" },\n },\n {\n id: \"design-system:editorial\",\n kind: \"design-system\",\n name: \"Editorial\",\n description:\n \"Magazine-inspired editorial layout with refined serif typography, structured grids, and elegant reading experiences.\",\n source: { path: \"design-systems/editorial\" },\n },\n {\n id: \"design-system:mono\",\n kind: \"design-system\",\n name: \"Mono\",\n description:\n \"Monospace-driven, matrix-inspired design with high-contrast elements, compact density, and a hacker-chic aesthetic.\",\n source: { path: \"design-systems/mono\" },\n },\n {\n id: \"design-system:apple\",\n kind: \"design-system\",\n name: \"Apple\",\n description:\n \"Consumer electronics design system with premium white space, SF Pro-style typography, and cinematic imagery.\",\n source: { path: \"design-systems/apple\" },\n },\n {\n id: \"design-system:agentic\",\n kind: \"design-system\",\n name: \"Agentic\",\n description:\n \"Conversational AI-first interface with minimal controls, clear outcomes, and delegated task flows for agentic workflows.\",\n source: { path: \"design-systems/agentic\" },\n },\n {\n id: \"design-system:airbnb\",\n kind: \"design-system\",\n name: \"Airbnb\",\n description:\n \"Travel marketplace. Warm coral accent, photography-driven, rounded UI.\",\n source: { path: \"design-systems/airbnb\" },\n },\n {\n id: \"design-system:airtable\",\n kind: \"design-system\",\n name: \"Airtable\",\n description:\n \"Spreadsheet-database hybrid. Colorful, friendly, structured data aesthetic.\",\n source: { path: \"design-systems/airtable\" },\n },\n {\n id: \"design-system:ant\",\n kind: \"design-system\",\n name: \"Ant\",\n description:\n \"Structured, enterprise-focused design system emphasizing clarity, consistency, and efficiency for data-dense web applications.\",\n source: { path: \"design-systems/ant\" },\n },\n {\n id: \"design-system:application\",\n kind: \"design-system\",\n name: \"Application\",\n description:\n \"App dashboard with purple-themed aesthetic, top-bar navigation, card-based layouts, and developer-first workflows.\",\n source: { path: \"design-systems/application\" },\n },\n {\n id: \"design-system:arc\",\n kind: \"design-system\",\n name: \"Arc\",\n description:\n '\"The browser that browses for you.\" Translucent surfaces, gradient warmth, sidebar-first layout.',\n source: { path: \"design-systems/arc\" },\n },\n {\n id: \"design-system:artistic\",\n kind: \"design-system\",\n name: \"Artistic\",\n description:\n \"High-contrast, expressive style with creative typography and bold color choices for visually striking interfaces.\",\n source: { path: \"design-systems/artistic\" },\n },\n {\n id: \"design-system:atelier-zero\",\n kind: \"design-system\",\n name: \"Atelier Zero\",\n description:\n \"A magazine-grade, collage-driven visual system: warm paper canvas, surreal.\",\n source: { path: \"design-systems/atelier-zero\" },\n },\n {\n id: \"design-system:bento\",\n kind: \"design-system\",\n name: \"Bento\",\n description:\n \"Modular grid layout with card-like blocks, clear hierarchy, soft spacing, and subtle visual contrast for organized, scannable interfaces.\",\n source: { path: \"design-systems/bento\" },\n },\n {\n id: \"design-system:binance\",\n kind: \"design-system\",\n name: \"Binance\",\n description:\n \"Crypto exchange. Bold yellow accent on monochrome, trading-floor urgency.\",\n source: { path: \"design-systems/binance\" },\n },\n {\n id: \"design-system:bmw\",\n kind: \"design-system\",\n name: \"Bmw\",\n description:\n \"Luxury automotive. Dark premium surfaces, precise German engineering aesthetic.\",\n source: { path: \"design-systems/bmw\" },\n },\n {\n id: \"design-system:bmw-m\",\n kind: \"design-system\",\n name: \"Bmw M\",\n description:\n \"Motorsport performance sub-brand. Near-black cockpit surfaces, BMW M tricolor accents, sharp engineering geometry.\",\n source: { path: \"design-systems/bmw-m\" },\n },\n {\n id: \"design-system:bold\",\n kind: \"design-system\",\n name: \"Bold\",\n description:\n \"Strong visual presence with heavyweight typography, high-contrast colors, and commanding layouts.\",\n source: { path: \"design-systems/bold\" },\n },\n {\n id: \"design-system:brutalism\",\n kind: \"design-system\",\n name: \"Brutalism\",\n description:\n \"Raw, anti-design aesthetic inspired by concrete architecture with unadorned elements, jarring layouts, and functional minimalism.\",\n source: { path: \"design-systems/brutalism\" },\n },\n {\n id: \"design-system:bugatti\",\n kind: \"design-system\",\n name: \"Bugatti\",\n description:\n \"Hypercar brand. Cinema-black canvas, monochrome austerity, monumental display type.\",\n source: { path: \"design-systems/bugatti\" },\n },\n {\n id: \"design-system:cafe\",\n kind: \"design-system\",\n name: \"Cafe\",\n description:\n \"Cozy cafe-inspired interface with warm tones, soft typography, and clean layouts for a relaxed browsing experience.\",\n source: { path: \"design-systems/cafe\" },\n },\n {\n id: \"design-system:cal\",\n kind: \"design-system\",\n name: \"Cal\",\n description:\n \"Open-source scheduling. Clean neutral UI, developer-oriented simplicity.\",\n source: { path: \"design-systems/cal\" },\n },\n {\n id: \"design-system:canva\",\n kind: \"design-system\",\n name: \"Canva\",\n description:\n \"Visual creation platform. Vivid purple-blue gradient, generous spacing, friendly geometry.\",\n source: { path: \"design-systems/canva\" },\n },\n {\n id: \"design-system:cisco\",\n kind: \"design-system\",\n name: \"Cisco\",\n description:\n \"Enterprise infrastructure brand. Dark trust surfaces, Cisco Blue signal, technical clarity.\",\n source: { path: \"design-systems/cisco\" },\n },\n {\n id: \"design-system:claude\",\n kind: \"design-system\",\n name: \"Claude\",\n description:\n \"Anthropic's AI assistant. Warm terracotta accent, clean editorial layout.\",\n source: { path: \"design-systems/claude\" },\n },\n {\n id: \"design-system:clay\",\n kind: \"design-system\",\n name: \"Clay\",\n description:\n \"Creative agency. Organic shapes, soft gradients, art-directed layout.\",\n source: { path: \"design-systems/clay\" },\n },\n {\n id: \"design-system:claymorphism\",\n kind: \"design-system\",\n name: \"Claymorphism\",\n description:\n \"Soft, rounded 3D-like shapes mimicking malleable clay with playful, puffy elements and colorful surfaces.\",\n source: { path: \"design-systems/claymorphism\" },\n },\n {\n id: \"design-system:clean\",\n kind: \"design-system\",\n name: \"Clean\",\n description:\n \"Simplicity-focused design with ample whitespace, legible typography, and a limited color palette to reduce visual clutter.\",\n source: { path: \"design-systems/clean\" },\n },\n {\n id: \"design-system:clickhouse\",\n kind: \"design-system\",\n name: \"Clickhouse\",\n description:\n \"Fast analytics database. Yellow-accented, technical documentation style.\",\n source: { path: \"design-systems/clickhouse\" },\n },\n {\n id: \"design-system:cohere\",\n kind: \"design-system\",\n name: \"Cohere\",\n description:\n \"Enterprise AI platform. Vibrant gradients, data-rich dashboard aesthetic.\",\n source: { path: \"design-systems/cohere\" },\n },\n {\n id: \"design-system:coinbase\",\n kind: \"design-system\",\n name: \"Coinbase\",\n description:\n \"Crypto exchange. Clean blue identity, trust-focused, institutional feel.\",\n source: { path: \"design-systems/coinbase\" },\n },\n {\n id: \"design-system:colorful\",\n kind: \"design-system\",\n name: \"Colorful\",\n description:\n \"Vibrant, high-contrast palettes and gradients for engaging, memorable, and modern user experiences.\",\n source: { path: \"design-systems/colorful\" },\n },\n {\n id: \"design-system:composio\",\n kind: \"design-system\",\n name: \"Composio\",\n description:\n \"Tool integration platform. Modern dark with colorful integration icons.\",\n source: { path: \"design-systems/composio\" },\n },\n {\n id: \"design-system:contemporary\",\n kind: \"design-system\",\n name: \"Contemporary\",\n description:\n \"Current-era minimalist design with bento grids, dark mode support, and high-performance accessible layouts.\",\n source: { path: \"design-systems/contemporary\" },\n },\n {\n id: \"design-system:corporate\",\n kind: \"design-system\",\n name: \"Corporate\",\n description:\n \"Professional, brand-aligned design with structured grids, minimalist layouts, and consistent enterprise patterns.\",\n source: { path: \"design-systems/corporate\" },\n },\n {\n id: \"design-system:cosmic\",\n kind: \"design-system\",\n name: \"Cosmic\",\n description:\n \"Futuristic sci-fi aesthetic with dark themes, vibrant neon accents, and immersive spatial elements.\",\n source: { path: \"design-systems/cosmic\" },\n },\n {\n id: \"design-system:creative\",\n kind: \"design-system\",\n name: \"Creative\",\n description:\n \"Playful, character-driven design with expressive typography and bold graphics for landing pages and creative projects.\",\n source: { path: \"design-systems/creative\" },\n },\n {\n id: \"design-system:cursor\",\n kind: \"design-system\",\n name: \"Cursor\",\n description:\n \"AI-first code editor. Sleek dark interface, gradient accents.\",\n source: { path: \"design-systems/cursor\" },\n },\n {\n id: \"design-system:default\",\n kind: \"design-system\",\n name: \"Default\",\n description: \"A clean, product-oriented default.\",\n source: { path: \"design-systems/default\" },\n },\n {\n id: \"design-system:discord\",\n kind: \"design-system\",\n name: \"Discord\",\n description:\n \"Voice / chat platform. Deep blurple, dark-first surfaces, playful accent moments.\",\n source: { path: \"design-systems/discord\" },\n },\n {\n id: \"design-system:dithered\",\n kind: \"design-system\",\n name: \"Dithered\",\n description:\n \"Dot-pattern rendering technique that simulates shades with a limited palette for nostalgic, retro, high-contrast visuals.\",\n source: { path: \"design-systems/dithered\" },\n },\n {\n id: \"design-system:doodle\",\n kind: \"design-system\",\n name: \"Doodle\",\n description:\n \"Hand-drawn, sketch-like style with doodles, handwritten fonts, and imperfect lines for a playful, informal feel.\",\n source: { path: \"design-systems/doodle\" },\n },\n {\n id: \"design-system:dramatic\",\n kind: \"design-system\",\n name: \"Dramatic\",\n description:\n \"High-contrast, theatrical design with bold layouts, immersive visuals, and unconventional compositions that command attention.\",\n source: { path: \"design-systems/dramatic\" },\n },\n {\n id: \"design-system:duolingo\",\n kind: \"design-system\",\n name: \"Duolingo\",\n description:\n \"Language-learning platform. Bright owl green, chunky shadows, gamified joy.\",\n source: { path: \"design-systems/duolingo\" },\n },\n {\n id: \"design-system:elegant\",\n kind: \"design-system\",\n name: \"Elegant\",\n description:\n \"Graceful, refined aesthetic with delicate typography, minimal palettes, and polished layouts that exude sophistication.\",\n source: { path: \"design-systems/elegant\" },\n },\n {\n id: \"design-system:elevenlabs\",\n kind: \"design-system\",\n name: \"Elevenlabs\",\n description:\n \"AI voice platform. Dark cinematic UI, audio-waveform aesthetics.\",\n source: { path: \"design-systems/elevenlabs\" },\n },\n {\n id: \"design-system:energetic\",\n kind: \"design-system\",\n name: \"Energetic\",\n description:\n \"Dynamic, vibrant style with thick borders, geometric shapes, high-contrast colors, and expressive typography conveying motion and vitality.\",\n source: { path: \"design-systems/energetic\" },\n },\n {\n id: \"design-system:enterprise\",\n kind: \"design-system\",\n name: \"Enterprise\",\n description:\n \"Clean, high-contrast enterprise design for data-driven workflows with intuitive drag-and-drop patterns and structured layouts.\",\n source: { path: \"design-systems/enterprise\" },\n },\n {\n id: \"design-system:expo\",\n kind: \"design-system\",\n name: \"Expo\",\n description:\n \"React Native platform. Dark theme, tight letter-spacing, code-centric.\",\n source: { path: \"design-systems/expo\" },\n },\n {\n id: \"design-system:expressive\",\n kind: \"design-system\",\n name: \"Expressive\",\n description:\n \"Vibrant, personality-driven design with bold colors, playful graphics, and dynamic layouts that balance creativity with structure.\",\n source: { path: \"design-systems/expressive\" },\n },\n {\n id: \"design-system:fantasy\",\n kind: \"design-system\",\n name: \"Fantasy\",\n description:\n \"Game-inspired fantasy aesthetic with bold, premium visuals, rich color palettes, and immersive thematic elements.\",\n source: { path: \"design-systems/fantasy\" },\n },\n {\n id: \"design-system:ferrari\",\n kind: \"design-system\",\n name: \"Ferrari\",\n description:\n \"Luxury automotive. Chiaroscuro editorial, Ferrari Red accents, cinematic black.\",\n source: { path: \"design-systems/ferrari\" },\n },\n {\n id: \"design-system:figma\",\n kind: \"design-system\",\n name: \"Figma\",\n description:\n \"Collaborative design tool. Vibrant multi-color, playful yet professional.\",\n source: { path: \"design-systems/figma\" },\n },\n {\n id: \"design-system:flat\",\n kind: \"design-system\",\n name: \"Flat\",\n description:\n \"Two-dimensional minimalist style with vibrant colors, clean typography, and no 3D effects for fast, user-friendly interfaces.\",\n source: { path: \"design-systems/flat\" },\n },\n {\n id: \"design-system:framer\",\n kind: \"design-system\",\n name: \"Framer\",\n description:\n \"Website builder. Bold black and blue, motion-first, design-forward.\",\n source: { path: \"design-systems/framer\" },\n },\n {\n id: \"design-system:friendly\",\n kind: \"design-system\",\n name: \"Friendly\",\n description:\n \"Approachable, intuitive design with rounded elements, ample whitespace, and soft pastel color palettes.\",\n source: { path: \"design-systems/friendly\" },\n },\n {\n id: \"design-system:futuristic\",\n kind: \"design-system\",\n name: \"Futuristic\",\n description:\n \"Forward-looking design with tech-inspired typography, modern layouts, and a sleek, innovation-driven aesthetic.\",\n source: { path: \"design-systems/futuristic\" },\n },\n {\n id: \"design-system:github\",\n kind: \"design-system\",\n name: \"Github\",\n description:\n \"Code-forward platform. Functional density, blue-on-white precision, Primer foundations.\",\n source: { path: \"design-systems/github\" },\n },\n {\n id: \"design-system:glassmorphism\",\n kind: \"design-system\",\n name: \"Glassmorphism\",\n description:\n \"Frosted glass effect with translucent layers, subtle blur, and luminous borders for depth and modern elegance.\",\n source: { path: \"design-systems/glassmorphism\" },\n },\n {\n id: \"design-system:gradient\",\n kind: \"design-system\",\n name: \"Gradient\",\n description:\n \"Smooth color transitions and gradient-rich surfaces for modern, playful interfaces with visual depth.\",\n source: { path: \"design-systems/gradient\" },\n },\n {\n id: \"design-system:hashicorp\",\n kind: \"design-system\",\n name: \"Hashicorp\",\n description:\n \"Infrastructure automation. Enterprise-clean, black and white.\",\n source: { path: \"design-systems/hashicorp\" },\n },\n {\n id: \"design-system:hud\",\n kind: \"design-system\",\n name: \"Hud\",\n description:\n \"Fighter jet / helicopter head-up display. Phosphor green on near-black, all-caps data overlays, angular geometry. Zero ambiguity at speed and altitude.\",\n source: { path: \"design-systems/hud\" },\n },\n {\n id: \"design-system:huggingface\",\n kind: \"design-system\",\n name: \"Huggingface\",\n description:\n \"ML community hub. Sunny yellow accent, monospace identity, cheerful and dense.\",\n source: { path: \"design-systems/huggingface\" },\n },\n {\n id: \"design-system:ibm\",\n kind: \"design-system\",\n name: \"Ibm\",\n description:\n \"Enterprise technology. Carbon design system, structured blue palette.\",\n source: { path: \"design-systems/ibm\" },\n },\n {\n id: \"design-system:intercom\",\n kind: \"design-system\",\n name: \"Intercom\",\n description:\n \"Customer messaging. Friendly blue palette, conversational UI patterns.\",\n source: { path: \"design-systems/intercom\" },\n },\n {\n id: \"design-system:kami\",\n kind: \"design-system\",\n name: \"Kami\",\n description:\n \"Editorial paper system: warm parchment canvas, ink-blue accent, serif-led hierarchy. Built for resumes, one-pagers, white papers, portfolios, slide decks — anything that should feel like high-quality print rather than UI. Multilingual by…\",\n source: { path: \"design-systems/kami\" },\n },\n {\n id: \"design-system:kraken\",\n kind: \"design-system\",\n name: \"Kraken\",\n description:\n \"Crypto trading. Purple-accented dark UI, data-dense dashboards.\",\n source: { path: \"design-systems/kraken\" },\n },\n {\n id: \"design-system:lamborghini\",\n kind: \"design-system\",\n name: \"Lamborghini\",\n description:\n \"Supercar brand. True black surfaces, gold accents, dramatic uppercase typography.\",\n source: { path: \"design-systems/lamborghini\" },\n },\n {\n id: \"design-system:levels\",\n kind: \"design-system\",\n name: \"Levels\",\n description:\n \"Conversion-focused design that removes friction and guides users toward action through clarity, trust, and speed.\",\n source: { path: \"design-systems/levels\" },\n },\n {\n id: \"design-system:linear-app\",\n kind: \"design-system\",\n name: \"Linear App\",\n description: \"Project management. Ultra-minimal, precise, purple accent.\",\n source: { path: \"design-systems/linear-app\" },\n },\n {\n id: \"design-system:lingo\",\n kind: \"design-system\",\n name: \"Lingo\",\n description:\n \"Playful, minimal design with bright colors, rounded shapes, tactile 3D borders, and friendly illustrations for approachable interfaces.\",\n source: { path: \"design-systems/lingo\" },\n },\n {\n id: \"design-system:loom\",\n kind: \"design-system\",\n name: \"Loom\",\n description:\n \"Loom async video. Purple primary, friendly surfaces, video-first layout. Clean and professional without being corporate.\",\n source: { path: \"design-systems/loom\" },\n },\n {\n id: \"design-system:lovable\",\n kind: \"design-system\",\n name: \"Lovable\",\n description:\n \"AI full-stack builder. Playful gradients, friendly dev aesthetic.\",\n source: { path: \"design-systems/lovable\" },\n },\n {\n id: \"design-system:luxury\",\n kind: \"design-system\",\n name: \"Luxury\",\n description:\n \"High-end dark aesthetic with bold headings, monochromatic palette, and premium feel for luxury brand experiences.\",\n source: { path: \"design-systems/luxury\" },\n },\n {\n id: \"design-system:mastercard\",\n kind: \"design-system\",\n name: \"Mastercard\",\n description:\n \"Global payments network. Warm cream canvas, orbital pill shapes, editorial warmth.\",\n source: { path: \"design-systems/mastercard\" },\n },\n {\n id: \"design-system:material\",\n kind: \"design-system\",\n name: \"Material\",\n description:\n \"Google's Material Design with layered surfaces, dynamic theming, built-in motion, and responsive cross-platform patterns.\",\n source: { path: \"design-systems/material\" },\n },\n {\n id: \"design-system:meta\",\n kind: \"design-system\",\n name: \"Meta\",\n description:\n \"Tech retail store. Photography-first, binary light/dark surfaces, Meta Blue CTAs.\",\n source: { path: \"design-systems/meta\" },\n },\n {\n id: \"design-system:minimal\",\n kind: \"design-system\",\n name: \"Minimal\",\n description:\n \"Stripped-back design emphasizing whitespace, clean typography, and restrained color for maximum clarity and focus.\",\n source: { path: \"design-systems/minimal\" },\n },\n {\n id: \"design-system:minimax\",\n kind: \"design-system\",\n name: \"Minimax\",\n description: \"AI model provider. Bold dark interface with neon accents.\",\n source: { path: \"design-systems/minimax\" },\n },\n {\n id: \"design-system:mintlify\",\n kind: \"design-system\",\n name: \"Mintlify\",\n description:\n \"Documentation platform. Clean, green-accented, reading-optimized.\",\n source: { path: \"design-systems/mintlify\" },\n },\n {\n id: \"design-system:miro\",\n kind: \"design-system\",\n name: \"Miro\",\n description:\n \"Visual collaboration. Bright yellow accent, infinite canvas aesthetic.\",\n source: { path: \"design-systems/miro\" },\n },\n {\n id: \"design-system:mission-control\",\n kind: \"design-system\",\n name: \"Mission Control\",\n description:\n \"Space/aerospace mission monitoring. Dark command center, amber telemetry, monospace precision. Functional clarity above all else.\",\n source: { path: \"design-systems/mission-control\" },\n },\n {\n id: \"design-system:mistral-ai\",\n kind: \"design-system\",\n name: \"Mistral AI\",\n description:\n \"Open-weight LLM provider. French-engineered minimalism, purple-toned.\",\n source: { path: \"design-systems/mistral-ai\" },\n },\n {\n id: \"design-system:modern\",\n kind: \"design-system\",\n name: \"Modern\",\n description:\n \"Contemporary editorial style with serif typography, minimal palettes, and clean layouts for polished digital products.\",\n source: { path: \"design-systems/modern\" },\n },\n {\n id: \"design-system:mongodb\",\n kind: \"design-system\",\n name: \"Mongodb\",\n description:\n \"Document database. Green leaf branding, developer documentation focus.\",\n source: { path: \"design-systems/mongodb\" },\n },\n {\n id: \"design-system:neobrutalism\",\n kind: \"design-system\",\n name: \"Neobrutalism\",\n description:\n \"Modern take on brutalism with bold borders, vivid accent colors, and raw, high-contrast layouts on warm surfaces.\",\n source: { path: \"design-systems/neobrutalism\" },\n },\n {\n id: \"design-system:neon\",\n kind: \"design-system\",\n name: \"Neon\",\n description:\n \"Electric neon glow effects with high-contrast color pairings for bold, attention-grabbing interfaces.\",\n source: { path: \"design-systems/neon\" },\n },\n {\n id: \"design-system:neumorphism\",\n kind: \"design-system\",\n name: \"Neumorphism\",\n description:\n \"Soft, extruded UI elements with inner and outer shadows on monochromatic surfaces for a tactile, embedded look.\",\n source: { path: \"design-systems/neumorphism\" },\n },\n {\n id: \"design-system:nike\",\n kind: \"design-system\",\n name: \"Nike\",\n description:\n \"Athletic retail. Monochrome UI, massive uppercase type, full-bleed photography.\",\n source: { path: \"design-systems/nike\" },\n },\n {\n id: \"design-system:notion\",\n kind: \"design-system\",\n name: \"Notion\",\n description:\n \"All-in-one workspace. Warm minimalism, serif headings, soft surfaces.\",\n source: { path: \"design-systems/notion\" },\n },\n {\n id: \"design-system:nvidia\",\n kind: \"design-system\",\n name: \"Nvidia\",\n description:\n \"GPU computing. Green-black energy, technical power aesthetic.\",\n source: { path: \"design-systems/nvidia\" },\n },\n {\n id: \"design-system:ollama\",\n kind: \"design-system\",\n name: \"Ollama\",\n description: \"Run LLMs locally. Terminal-first, monochrome simplicity.\",\n source: { path: \"design-systems/ollama\" },\n },\n {\n id: \"design-system:openai\",\n kind: \"design-system\",\n name: \"Openai\",\n description:\n \"Calm, near-monochrome system anchored in deep teal-black with generous white space and editorial typography.\",\n source: { path: \"design-systems/openai\" },\n },\n {\n id: \"design-system:opencode-ai\",\n kind: \"design-system\",\n name: \"Opencode AI\",\n description: \"AI coding platform. Developer-centric dark theme.\",\n source: { path: \"design-systems/opencode-ai\" },\n },\n {\n id: \"design-system:pacman\",\n kind: \"design-system\",\n name: \"Pacman\",\n description:\n \"Retro arcade-inspired design with pixel fonts, dotted borders, playful high-contrast colors, and 8-bit game aesthetics.\",\n source: { path: \"design-systems/pacman\" },\n },\n {\n id: \"design-system:paper\",\n kind: \"design-system\",\n name: \"Paper\",\n description:\n \"Paper-textured, print-inspired design with minimal colors, clean serif/sans typography, and tactile surface qualities.\",\n source: { path: \"design-systems/paper\" },\n },\n {\n id: \"color-system:bauhaus-primary\",\n kind: \"color-system\",\n name: \"Bauhaus Primary\",\n description: \"Color tokens for the Bauhaus Primary presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/bauhaus-primary\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemBauhausPrimary,\n ),\n },\n {\n id: \"color-system:berry-pop\",\n kind: \"color-system\",\n name: \"Berry Pop\",\n description: \"Color tokens for the Berry Pop presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/berry-pop\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemBerryPop,\n ),\n },\n {\n id: \"color-system:carnival\",\n kind: \"color-system\",\n name: \"Carnival\",\n description: \"Color tokens for the Carnival presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/carnival\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemCarnival,\n ),\n },\n {\n id: \"color-system:citrus-fresh\",\n kind: \"color-system\",\n name: \"Citrus Fresh\",\n description: \"Color tokens for the Citrus Fresh presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/citrus-fresh\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemCitrusFresh,\n ),\n },\n {\n id: \"color-system:coral-studio\",\n kind: \"color-system\",\n name: \"Coral Studio\",\n description: \"Color tokens for the Coral Studio presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/coral-studio\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemCoralStudio,\n ),\n },\n {\n id: \"color-system:forest-editorial\",\n kind: \"color-system\",\n name: \"Forest Editorial\",\n description: \"Color tokens for the Forest Editorial presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/forest-editorial\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemForestEditorial,\n ),\n },\n {\n id: \"color-system:gold-luxe\",\n kind: \"color-system\",\n name: \"Gold Luxe\",\n description: \"Color tokens for the Gold Luxe presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/gold-luxe\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemGoldLuxe,\n ),\n },\n {\n id: \"color-system:mauve-dusk\",\n kind: \"color-system\",\n name: \"Mauve Dusk\",\n description: \"Color tokens for the Mauve Dusk presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/mauve-dusk\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemMauveDusk,\n ),\n },\n {\n id: \"color-system:midnight-mono\",\n kind: \"color-system\",\n name: \"Midnight Mono\",\n description: \"Color tokens for the Midnight Mono presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/midnight-mono\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemMidnightMono,\n ),\n },\n {\n id: \"color-system:mint-tech\",\n kind: \"color-system\",\n name: \"Mint Tech\",\n description: \"Color tokens for the Mint Tech presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/mint-tech\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemMintTech,\n ),\n },\n {\n id: \"color-system:mono-ink\",\n kind: \"color-system\",\n name: \"Mono Ink\",\n description: \"Color tokens for the Mono Ink presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/mono-ink\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemMonoInk,\n ),\n },\n {\n id: \"color-system:nordic-frost\",\n kind: \"color-system\",\n name: \"Nordic Frost\",\n description: \"Color tokens for the Nordic Frost presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/nordic-frost\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemNordicFrost,\n ),\n },\n {\n id: \"color-system:ocean-deep\",\n kind: \"color-system\",\n name: \"Ocean Deep\",\n description: \"Color tokens for the Ocean Deep presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/ocean-deep\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemOceanDeep,\n ),\n },\n {\n id: \"color-system:pop-art\",\n kind: \"color-system\",\n name: \"Pop Art\",\n description: \"Color tokens for the Pop Art presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/pop-art\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemPopArt,\n ),\n },\n {\n id: \"color-system:prism\",\n kind: \"color-system\",\n name: \"Prism\",\n description: \"Color tokens for the Prism presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/prism\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemPrism,\n ),\n },\n {\n id: \"color-system:slate-corporate\",\n kind: \"color-system\",\n name: \"Slate Corporate\",\n description: \"Color tokens for the Slate Corporate presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/slate-corporate\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemSlateCorporate,\n ),\n },\n {\n id: \"color-system:sunset-maroon\",\n kind: \"color-system\",\n name: \"Sunset Maroon\",\n description: \"Color tokens for the Sunset Maroon presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/sunset-maroon\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemSunsetMaroon,\n ),\n },\n {\n id: \"color-system:terracotta-clay\",\n kind: \"color-system\",\n name: \"Terracotta Clay\",\n description: \"Color tokens for the Terracotta Clay presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/terracotta-clay\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemTerracottaClay,\n ),\n },\n {\n id: \"color-system:warm-sand\",\n kind: \"color-system\",\n name: \"Warm Sand\",\n description: \"Color tokens for the Warm Sand presentation palette.\",\n source: privateR2ArchiveSource(\n \"presentation-color-system/warm-sand\",\n PRESENTATION_RESOURCE_ARCHIVE_SHA256.colorSystemWarmSand,\n ),\n },\n {\n id: \"design-system:perplexity\",\n kind: \"design-system\",\n name: \"Perplexity\",\n description:\n \"Conversational AI search engine. Deep-dark canvas, sharp typography, single violet accent, dense information hierarchy.\",\n source: { path: \"design-systems/perplexity\" },\n },\n {\n id: \"design-system:perspective\",\n kind: \"design-system\",\n name: \"Perspective\",\n description:\n \"Spatial depth design with isometric views, vanishing points, and layered elements that guide attention through 3D-like realism.\",\n source: { path: \"design-systems/perspective\" },\n },\n {\n id: \"design-system:pinterest\",\n kind: \"design-system\",\n name: \"Pinterest\",\n description: \"Visual discovery. Red accent, masonry grid, image-first.\",\n source: { path: \"design-systems/pinterest\" },\n },\n {\n id: \"design-system:playstation\",\n kind: \"design-system\",\n name: \"Playstation\",\n description:\n \"Gaming console retail. Three-surface channel layout, quiet-authority display type, cyan hover-scale.\",\n source: { path: \"design-systems/playstation\" },\n },\n {\n id: \"design-system:posthog\",\n kind: \"design-system\",\n name: \"Posthog\",\n description:\n \"Product analytics. Playful hedgehog branding, developer-friendly dark UI.\",\n source: { path: \"design-systems/posthog\" },\n },\n {\n id: \"design-system:premium\",\n kind: \"design-system\",\n name: \"Premium\",\n description:\n \"Apple-inspired premium aesthetic with precise spacing, modern typography, and a refined, polished visual language.\",\n source: { path: \"design-systems/premium\" },\n },\n {\n id: \"design-system:professional\",\n kind: \"design-system\",\n name: \"Professional\",\n description:\n \"Polished, business-ready design with modern typography, structured layouts, and a trustworthy visual identity.\",\n source: { path: \"design-systems/professional\" },\n },\n {\n id: \"design-system:publication\",\n kind: \"design-system\",\n name: \"Publication\",\n description:\n \"Print-inspired visual language for books, magazines, and reports with editorial grids and expressive typography.\",\n source: { path: \"design-systems/publication\" },\n },\n {\n id: \"design-system:raycast\",\n kind: \"design-system\",\n name: \"Raycast\",\n description:\n \"Productivity launcher. Sleek dark chrome, vibrant gradient accents.\",\n source: { path: \"design-systems/raycast\" },\n },\n {\n id: \"design-system:refined\",\n kind: \"design-system\",\n name: \"Refined\",\n description:\n \"Carefully curated, modern minimal style with elegant serif typography and understated, sophisticated palettes.\",\n source: { path: \"design-systems/refined\" },\n },\n {\n id: \"design-system:renault\",\n kind: \"design-system\",\n name: \"Renault\",\n description:\n \"French automotive. Vibrant aurora gradients, NouvelR typography, bold energy.\",\n source: { path: \"design-systems/renault\" },\n },\n {\n id: \"design-system:replicate\",\n kind: \"design-system\",\n name: \"Replicate\",\n description: \"Run ML models via API. Clean white canvas, code-forward.\",\n source: { path: \"design-systems/replicate\" },\n },\n {\n id: \"design-system:resend\",\n kind: \"design-system\",\n name: \"Resend\",\n description: \"Email API. Minimal dark theme, monospace accents.\",\n source: { path: \"design-systems/resend\" },\n },\n {\n id: \"design-system:retro\",\n kind: \"design-system\",\n name: \"Retro\",\n description:\n \"Throwback design with vintage-inspired typography, high-contrast retro palettes, and nostalgic visual elements.\",\n source: { path: \"design-systems/retro\" },\n },\n {\n id: \"design-system:revolut\",\n kind: \"design-system\",\n name: \"Revolut\",\n description:\n \"Digital banking. Sleek dark interface, gradient cards, fintech precision.\",\n source: { path: \"design-systems/revolut\" },\n },\n {\n id: \"design-system:runwayml\",\n kind: \"design-system\",\n name: \"Runwayml\",\n description: \"AI video generation. Cinematic dark UI, media-rich layout.\",\n source: { path: \"design-systems/runwayml\" },\n },\n {\n id: \"design-system:sanity\",\n kind: \"design-system\",\n name: \"Sanity\",\n description: \"Headless CMS. Red accent, content-first editorial layout.\",\n source: { path: \"design-systems/sanity\" },\n },\n {\n id: \"design-system:sentry\",\n kind: \"design-system\",\n name: \"Sentry\",\n description:\n \"Error monitoring. Dark dashboard, data-dense, pink-purple accent.\",\n source: { path: \"design-systems/sentry\" },\n },\n {\n id: \"design-system:shadcn\",\n kind: \"design-system\",\n name: \"Shadcn\",\n description:\n \"Shadcn/ui-inspired design with minimal, clean components, monochrome palette, and utility-first patterns.\",\n source: { path: \"design-systems/shadcn\" },\n },\n {\n id: \"design-system:shopify\",\n kind: \"design-system\",\n name: \"Shopify\",\n description:\n \"E-commerce platform. Dark-first cinematic, neon green accent, ultra-light type.\",\n source: { path: \"design-systems/shopify\" },\n },\n {\n id: \"design-system:simple\",\n kind: \"design-system\",\n name: \"Simple\",\n description:\n \"Straightforward, no-frills design with clean typography, neutral colors, and intuitive layouts that stay out of the way.\",\n source: { path: \"design-systems/simple\" },\n },\n {\n id: \"design-system:skeumorphism\",\n kind: \"design-system\",\n name: \"Skeumorphism\",\n description:\n \"Real-world mimicry with textured surfaces, 3D effects, and familiar physical metaphors for intuitive digital interfaces.\",\n source: { path: \"design-systems/skeumorphism\" },\n },\n {\n id: \"design-system:slack\",\n kind: \"design-system\",\n name: \"Slack\",\n description:\n \"Workplace communication platform. Aubergine-primary, multi-accent logo palette, light surfaces with dark sidebar, warm and approachable.\",\n source: { path: \"design-systems/slack\" },\n },\n {\n id: \"design-system:sleek\",\n kind: \"design-system\",\n name: \"Sleek\",\n description:\n \"Modern minimalist aesthetic with clean lines, intentional color palette, subtle interactions, and consistent spacing.\",\n source: { path: \"design-systems/sleek\" },\n },\n {\n id: \"design-system:spacex\",\n kind: \"design-system\",\n name: \"Spacex\",\n description:\n \"Space technology. Stark black and white, full-bleed imagery, futuristic.\",\n source: { path: \"design-systems/spacex\" },\n },\n {\n id: \"design-system:spacious\",\n kind: \"design-system\",\n name: \"Spacious\",\n description:\n \"Generous whitespace, consistent padding, and grid-based layouts for clean, readable, and breathing interfaces.\",\n source: { path: \"design-systems/spacious\" },\n },\n {\n id: \"design-system:spotify\",\n kind: \"design-system\",\n name: \"Spotify\",\n description:\n \"Music streaming. Vibrant green on dark, bold type, album-art-driven.\",\n source: { path: \"design-systems/spotify\" },\n },\n {\n id: \"design-system:starbucks\",\n kind: \"design-system\",\n name: \"Starbucks\",\n description:\n \"Global coffee retail brand. Four-tier green system, warm cream canvas, full-pill buttons.\",\n source: { path: \"design-systems/starbucks\" },\n },\n {\n id: \"design-system:storytelling\",\n kind: \"design-system\",\n name: \"Storytelling\",\n description:\n \"Narrative-driven design using visuals, copy, and interaction to guide users through engaging, emotionally resonant journeys.\",\n source: { path: \"design-systems/storytelling\" },\n },\n {\n id: \"design-system:stripe\",\n kind: \"design-system\",\n name: \"Stripe\",\n description:\n \"Payment infrastructure. Signature purple gradients, weight-300 elegance.\",\n source: { path: \"design-systems/stripe\" },\n },\n {\n id: \"design-system:supabase\",\n kind: \"design-system\",\n name: \"Supabase\",\n description:\n \"Open-source Firebase alternative. Dark emerald theme, code-first.\",\n source: { path: \"design-systems/supabase\" },\n },\n {\n id: \"design-system:superhuman\",\n kind: \"design-system\",\n name: \"Superhuman\",\n description:\n \"Fast email client. Premium dark UI, keyboard-first, purple glow.\",\n source: { path: \"design-systems/superhuman\" },\n },\n {\n id: \"design-system:tesla\",\n kind: \"design-system\",\n name: \"Tesla\",\n description:\n \"Electric automotive. Radical subtraction, full-viewport photography, near-zero UI.\",\n source: { path: \"design-systems/tesla\" },\n },\n {\n id: \"design-system:tetris\",\n kind: \"design-system\",\n name: \"Tetris\",\n description:\n \"Classic block-game inspired design with playful colors, bold display fonts, and compact, high-energy layouts.\",\n source: { path: \"design-systems/tetris\" },\n },\n {\n id: \"design-system:theverge\",\n kind: \"design-system\",\n name: \"Theverge\",\n description:\n \"Tech editorial media. Acid-mint and ultraviolet accents, Manuka display, rave-flyer story tiles.\",\n source: { path: \"design-systems/theverge\" },\n },\n {\n id: \"design-system:together-ai\",\n kind: \"design-system\",\n name: \"Together AI\",\n description:\n \"Open-source AI infrastructure. Technical, blueprint-style design.\",\n source: { path: \"design-systems/together-ai\" },\n },\n {\n id: \"design-system:totality-festival\",\n kind: \"design-system\",\n name: \"Totality Festival\",\n description:\n 'A cosmic-premium, glassmorphic dark system that captures the visceral awe of a solar eclipse — obsidian surfaces, amber \"corona\" highlights, and cyan atmospheric accents.',\n source: { path: \"design-systems/totality-festival\" },\n },\n {\n id: \"design-system:uber\",\n kind: \"design-system\",\n name: \"Uber\",\n description:\n \"Mobility platform. Bold black and white, tight type, urban energy.\",\n source: { path: \"design-systems/uber\" },\n },\n {\n id: \"design-system:urdu\",\n kind: \"design-system\",\n name: \"Urdu\",\n description:\n \"Urdu-first digital experiences with native RTL support,Nastaliq typography, and bilingual harmony.\",\n source: { path: \"design-systems/urdu\" },\n },\n {\n id: \"design-system:vercel\",\n kind: \"design-system\",\n name: \"Vercel\",\n description: \"Frontend deployment. Black and white precision, Geist font.\",\n source: { path: \"design-systems/vercel\" },\n },\n {\n id: \"design-system:vibrant\",\n kind: \"design-system\",\n name: \"Vibrant\",\n description:\n \"Lively, colorful design with bold playful typography, warm accents, and dynamic visual energy.\",\n source: { path: \"design-systems/vibrant\" },\n },\n {\n id: \"design-system:vintage\",\n kind: \"design-system\",\n name: \"Vintage\",\n description:\n \"1950s-1990s nostalgia with skeuomorphic touches, grainy textures, retro color palettes, and pixel-style typography.\",\n source: { path: \"design-systems/vintage\" },\n },\n {\n id: \"design-system:vodafone\",\n kind: \"design-system\",\n name: \"Vodafone\",\n description:\n \"Global telecom brand. Monumental uppercase display, Vodafone Red chapter bands.\",\n source: { path: \"design-systems/vodafone\" },\n },\n {\n id: \"design-system:voltagent\",\n kind: \"design-system\",\n name: \"Voltagent\",\n description:\n \"AI agent framework. Void-black canvas, emerald accent, terminal-native.\",\n source: { path: \"design-systems/voltagent\" },\n },\n {\n id: \"design-system:warp\",\n kind: \"design-system\",\n name: \"Warp\",\n description:\n \"Modern terminal. Dark IDE-like interface, block-based command UI.\",\n source: { path: \"design-systems/warp\" },\n },\n {\n id: \"design-system:webex\",\n kind: \"design-system\",\n name: \"Webex\",\n description:\n \"Collaboration platform. Momentum typography, blue action system, multi-user accent spectrum.\",\n source: { path: \"design-systems/webex\" },\n },\n {\n id: \"design-system:webflow\",\n kind: \"design-system\",\n name: \"Webflow\",\n description:\n \"Visual web builder. Blue-accented, polished marketing site aesthetic.\",\n source: { path: \"design-systems/webflow\" },\n },\n {\n id: \"design-system:wechat\",\n kind: \"design-system\",\n name: \"Wechat\",\n description:\n \"Brand visual language for WeChat Mini Programs, official accounts, and open ecosystem extensions.\",\n source: { path: \"design-systems/wechat\" },\n },\n {\n id: \"design-system:wired\",\n kind: \"design-system\",\n name: \"Wired\",\n description:\n \"Tech magazine. Paper-white broadsheet density, custom serif display, mono kickers, ink-blue links.\",\n source: { path: \"design-systems/wired\" },\n },\n {\n id: \"design-system:wise\",\n kind: \"design-system\",\n name: \"Wise\",\n description: \"Money transfer. Bright green accent, friendly and clear.\",\n source: { path: \"design-systems/wise\" },\n },\n {\n id: \"design-system:x-ai\",\n kind: \"design-system\",\n name: \"X AI\",\n description: \"Elon Musk's AI lab. Stark monochrome, futuristic minimalism.\",\n source: { path: \"design-systems/x-ai\" },\n },\n {\n id: \"design-system:xiaohongshu\",\n kind: \"design-system\",\n name: \"Xiaohongshu\",\n description:\n \"Lifestyle UGC social platform. Singular brand red, generous radius, content-first.\",\n source: { path: \"design-systems/xiaohongshu\" },\n },\n {\n id: \"design-system:zapier\",\n kind: \"design-system\",\n name: \"Zapier\",\n description:\n \"Automation platform. Warm orange, friendly illustration-driven.\",\n source: { path: \"design-systems/zapier\" },\n },\n {\n id: \"image-style:notion-illustration\",\n kind: \"image-style\",\n name: \"Notion Illustration\",\n description:\n \"Zero-native illustration style for hand-drawn product spot illustrations with simple ink contours and soft backgrounds.\",\n desc: 'Notion-editorial-style hand-drawn spot illustration. Black brush-pen ink on white, tapered confident strokes, solid-black curly hair, solid-black pants/shoes, 3/4 face turned toward viewer with closed-eye smile and soft nose hint, open breathing body outlines, and 1-3 supporting scene props + ambient marks that frame the moment. Trigger when user says /notion-illustration, asks for a \"Notion-style illustration\", \"Notion spot illustration\", or a new piece in this hand-drawn brush-pen Notion editorial style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/notion-illustration\",\n },\n },\n {\n id: \"image-style:vm0-illustration\",\n kind: \"image-style\",\n name: \"vm0 Illustration\",\n description:\n \"vm0 in-app spot illustration style with bold hand-drawn ink line art, white-filled interiors, and a soft rounded color backdrop.\",\n desc: \"Generate vm0-style vm0 in-app spot illustrations: bold hand-drawn ink line art with white-filled interiors, a soft rounded color backdrop, transparent output, and simple iconic metaphors for product states.\",\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/vm0-illustration\",\n },\n },\n {\n id: \"image-style:postcard-illustration\",\n kind: \"image-style\",\n name: \"Postcard Illustration\",\n description:\n \"Hand-drawn editorial postcard / travel-journal illustration with fine black ink linework, flat saturated gouache fills, sharp edges, dense small repeated ink patterns, paper-grain texture, sparse white speckles, and a tall portrait composition.\",\n desc: 'Hand-drawn editorial postcard illustration style. Fine black marker/pen ink linework over flat saturated gouache color fills with sharp edges, dense small repeated ink patterns on surfaces (rows of windows, shingle curves, hatching, stippling), subtle paper-grain background texture, tiny scattered white speckles (snow / petals / sparkle), and a tall portrait composition with a layered foreground-midground-background. Travel-journal / urban-sketcher aesthetic. Trigger when the user says /postcard-illustration, asks for a \"postcard illustration\", \"travel illustration\", \"urban sketcher style\", or briefs a palette + scene archetype + complexity.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/postcard-illustration\",\n },\n },\n {\n id: \"image-style:folk-storybook\",\n kind: \"image-style\",\n name: \"Folk Storybook Illustration\",\n description:\n \"Folk-art children's picture-book illustration — hand-painted gouache and watercolor scenes with anthropomorphic animal characters, closed-crescent-eye smiles, dusty muted folk palette, and decorative pattern surfaces.\",\n desc: \"Folk-art children's picture-book illustration style — hand-painted gouache/watercolor scene on aged paper, anthropomorphic animal characters with closed-crescent-eye smiles, dusty muted folk palette, decorative pattern surfaces (wallpaper, rugs, textiles), and a hushed lullaby mood. Trigger when users ask for a folk-art illustration, storybook scene, cozy animal illustration, or any new piece in this Eastern European picture-book style.\",\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/folk-storybook\",\n },\n },\n {\n id: \"image-style:papernook\",\n kind: \"image-style\",\n name: \"Papernook\",\n description:\n \"Hand-drawn editorial illustration set in a cozy cluttered personal-studio scene with warm cream paper, scratchy ink, painterly gouache fills, dot-eye character face, and dense edge-to-edge thematic props.\",\n desc: 'Hand-drawn editorial illustration in the spirit of a cluttered personal-studio scene. Loose scratchy black ink outlines that wobble, textured gouache fills with visible brush marks, warm cream paper background, simplified dot-eye character face, and a DENSE edge-to-edge composition where a centered character is orbited by thematic props that visually act out the scene metaphor. Default palette: dusty cornflower blue, soft coral pink, fresh sage green, charcoal, warm cream — no mustard, no burnt-orange. Trigger when user says /papernook, asks for a \"papernook illustration\", a \"cozy cluttered editorial scene\", a \"warm-cream desk scene\", or a new piece in this hand-drawn studio-clutter editorial style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/papernook\",\n },\n },\n {\n id: \"image-style:painterly-botanical\",\n kind: \"image-style\",\n name: \"Painterly Botanical\",\n description:\n \"Painterly watercolor + gouache portrait illustration with a single figure embraced by lush botanicals, closed-eye introspective expression, and a softly tinted paper-wash background.\",\n desc: 'Painterly watercolor + gouache portrait illustration. Single figure (closed eyes, contemplative) embraced by botanicals — leaves, blossoms, grasses. Translucent washes with visible pigment bleeds, sparse crisp ink line accents on key edges, tiny handwritten cursive signature in an upper corner, and a tinted paper-wash background (never pure white). Eight user axes drive composition: subject, hair, pose, botanicals, palette, background wash, complexity (L1/L2/L3), and format. Trigger when a brief describes a contemplative figure with foliage, a \"watercolor portrait\", a \"botanical embrace\", or asks for a piece in this painterly editorial style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/painterly-botanical\",\n },\n },\n {\n id: \"image-style:iso-scene\",\n kind: \"image-style\",\n name: \"Isometric Editorial Scene\",\n description:\n \"Isometric editorial-magazine scene illustration with ultra-fine hairline outlines, flat fills, a saturated monochromatic background, and a scene-as-metaphor composition built from theme-native props.\",\n desc: 'Isometric editorial-magazine scene illustration in a locked flat-vector style — ultra-fine hairline outlines, monochromatic saturated background filling the canvas, and a single composed scene whose props themselves embody the theme. Trigger when users say /iso-scene, ask for an \"isometric editorial illustration\", a \"scene illustration in the editorial machine style\", or brief with palette + scene archetype + complexity.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/iso-scene\",\n },\n },\n {\n id: \"image-style:inkdab\",\n kind: \"image-style\",\n name: \"Inkdab Illustration\",\n description:\n \"Brush-pen editorial illustration where a free-floating color dab is painted first, then loose black ink linework is drawn freely on top — never as an outline around the color. Scribbled hatched hair, open-outline bodies, pure white background.\",\n desc: 'Brush-pen editorial illustration style — a flat accent-color \"dab\" painted first, then loose black ink drawn freely on top. ONE flat accent-color shape per prop (painted-first, never outlined in black), black hand-wobbled ink on pure white background, scribbled hatched hair, open-outline bodies with zero fill, and one small solid-accent triangle floating freely as a recurring motif. Trigger when user says /inkdab, asks for an \"inkdab illustration\", a \"brush-pen illustration with a single accent color\", a \"free-floating color block illustration\", or briefs in the style of the included reference images.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/inkdab\",\n },\n },\n {\n id: \"image-style:riso-relic\",\n kind: \"image-style\",\n name: \"Riso Relic\",\n description:\n 'Pop-art retro risograph poster of a single nostalgic everyday object on a saturated single-hue field — bold black ink outlines, halftone grain, hand-drawn doodle accents, tiny \"SMALL OBJECTS IN TIME\" banner up top, chunky retro headline with offset drop-shadow at the bottom.',\n desc: 'Pop-art retro risograph poster of a single nostalgic everyday object — saturated single-color background, bold black ink outlines, halftone/riso grain, hand-drawn doodle accents (sparkles, squiggles, dots, music notes, lightning), tiny white \"SMALL OBJECTS IN TIME\" banner at top, chunky retro display headline at bottom with offset black drop-shadow. Trigger when user says /riso-relic, asks for a \"riso poster\", a \"small objects in time\" illustration, or any new piece in this nostalgic pop-art relic-object style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/riso-relic\",\n },\n },\n {\n id: \"image-style:inkstomp\",\n kind: \"image-style\",\n name: \"Inkstomp\",\n description:\n \"Loud indie-packaging poster style — full-bleed saturated flat color, a two-line hand-lettered headline, and one weird-cute black brush-ink character.\",\n desc: 'Inkstomp — a loud, hand-screened indie-packaging poster style. Full-bleed saturated flat color filling the entire canvas, a two-line hand-lettered headline (thin arched caps over chunky drop-shadowed display), and one weird-cute character drawn in thick uniform black brush ink. Trigger when the user says /inkstomp, asks for an \"inkstomp poster\", a \"Ray Fenwick / Hattie Stewart packaging poster\", an \"indie brush-ink flavor card\", or briefs in a \"palette + headline + character\" shape.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/inkstomp\",\n },\n },\n {\n id: \"image-style:folk-muse\",\n kind: \"image-style\",\n name: \"Folk Muse\",\n description:\n \"Flat folk-art gouache portrait style — a single contemplative chest-up figure framed by an asymmetric botanical surround, with painted irises, smooth flat hair, a hand against the cheek, and a patterned robe.\",\n desc: 'Flat folk-art gouache portrait illustration in the contemporary editorial style of Carson Ellis, Maja Tomljanovic, and Bodil Jane. A single chest-up figure with an elongated mannerist oval face, tiny almond half-lidded eyes, smooth flat hair, one hand pressed against the face, a patterned robe filling the lower frame, and an asymmetric botanical surround filling the background edge-to-edge. Hand-painted matte gouache texture, flat color blocks, no harsh outlines, no photorealism. Calm, slightly melancholic, contemplative mood. Trigger when the user says /folk-muse, asks for a \"folk-art portrait\", \"gouache portrait\", \"Carson Ellis style portrait\", or any new piece in this contemplative folk-portrait style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/folk-muse\",\n },\n },\n {\n id: \"image-style:sunlit-gouache\",\n kind: \"image-style\",\n name: \"Sunlit Gouache\",\n description:\n \"Bright pastel travel-painting illustration in opaque gouache on textured paper with chunky flat brushstrokes, vertical one-point perspective, and figures walking into warm sunlight.\",\n desc: 'Sunlit Gouache travel-painting illustration. Opaque gouache on textured paper, visible chunky flat brushstrokes with dry-brush highlights, locked six-color palette (cream, butter-yellow, sky-blue, sage-green, terracotta, one small red accent), vertical 2:3 one-point-perspective composition drawing the eye into a bright sunlit focal point, figures seen from behind walking into the scene, an overhead band of hanging elements (awning, prayer flags, catenary, bunting, lanterns) creating depth, dappled painterly reflections on the ground, airy optimistic warm mood. Trigger when user says /sunlit-gouache, asks for a \"sunlit gouache illustration\", \"painterly travel scene\", \"gouache café/market/temple/station scene\", or a new piece in this bright pastel painted-light style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/sunlit-gouache\",\n },\n },\n {\n id: \"image-style:mosaic-still-life\",\n kind: \"image-style\",\n name: \"Mosaic Still Life\",\n description:\n \"Editorial still-life illustration in a mosaic-tile + painterly hybrid style — tessellated ground/sky/wall surfaces with crisp painterly objects, an animal companion, and a patterned textile peeking through.\",\n desc: 'Mosaic-tile + painterly hybrid editorial illustration. Tessellated/pointillist mosaic surfaces (grass, sky, sand, walls, floors) anchor the scene, with crisp painterly still-life objects rendered ON TOP. Always features a still-life centerpiece on a table, an animal companion at the heart of the scene, and at least one patterned textile peeking through. Cozy, nostalgic, bucolic mood. Trigger when user says /mosaic-still-life, asks for a \"mosaic illustration\", \"mosaic-tile editorial illustration\", \"tessellated still life\", or briefs with a palette + scene + animal in this style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/mosaic-still-life\",\n },\n },\n {\n id: \"image-style:ink-mascot\",\n kind: \"image-style\",\n name: \"Ink Mascot\",\n description:\n \"Vintage editorial marketing card. Bold serif headline and short serif descriptor over a hand-drawn black-ink anthropomorphic mascot (stick limbs, chunky white sneakers) on a single solid saturated flat color background.\",\n desc: 'Generate a 3:5 portrait editorial marketing card in a locked vintage-textbook style. Bold serif headline plus an optional short serif descriptor sit on a single solid saturated flat color background (no gradient, no divider, no ground line). A hand-drawn black-ink anthropomorphic hero object — paint bucket, magnifying glass, envelope, notebook, funnel, megaphone, rocket, seedling, gift box, compass, etc. — stands with two thin stick arms, two stick legs, and chunky white sneakers with black laces (the signature detail). Crosshatch and stipple shading on rounded surfaces; floating ink doodles (sparkles, arrows, hearts, percent or dollar signs, motion lines) at the requested density. Dialable along six axes: concept, palette, hero object, action, doodle density (L1 minimal, L2 balanced, L3 packed), and type layout (A title-top, B headline-bottom, C headline-only, D big-word + tiny-descriptor). Trigger when user says /ink-mascot, asks for a \"marketing card illustration\", a \"retro editorial mascot poster\", or briefs with a marketing concept plus palette plus character.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/ink-mascot\",\n },\n },\n {\n id: \"image-style:sticker-sheet\",\n kind: \"image-style\",\n name: \"Sticker Sheet\",\n description:\n \"Hand-painted gouache sticker-sheet illustration with ~20 themed objects floating on white, punchy saturated palette, wobbly hand-drawn ink overlay, and tiny decorative marks on every item.\",\n desc: 'Sticker Sheet — hand-painted gouache sticker-sheet illustration. ~20 small floating themed objects on pure white, punchy saturated palette (coral, mustard, sage, dusty pink, navy, cream, warm brown), flat brushy gouache fills with wobbly hand-drawn ink linework and tiny decorative marks (dots, hatches, squiggles) on every object. Each object slightly tilted, no drop shadows, cheerful cozy lifestyle journal mood. Trigger when user says /sticker-sheet, asks for a \"sticker sheet illustration\", \"hand-painted gouache sticker pack\", \"themed object sheet\", or briefs with a scene theme + object count in this house style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/sticker-sheet\",\n },\n },\n {\n id: \"image-style:flat-poster\",\n kind: \"image-style\",\n name: \"Flat Poster\",\n description:\n \"Vertical flat-color editorial poster style — saturated solid background, one centered hand-drawn vector subject in bold deep-navy outlines with strict two-tone fill, headline pinned top-left, wordmark pinned bottom-right.\",\n desc: 'Flat Poster — a vertical flat-color editorial poster style for brand benefit cards, marketing posters, and in-app campaign visuals. Portrait 2:3 canvas filled edge-to-edge with one saturated hue; a single centered hand-drawn vector subject in deep-navy outlines with strict two-tone fill (pure white plus one darker bg-tint accent); a bold rounded sans-serif headline pinned top-left; a short wordmark (default VM0) pinned bottom-right; small floating accent marks around the subject; no body copy. Six creative dials: palette, subject archetype, composition preset, accent marks, headline voice, mood. Trigger when the user says /flat-poster, asks for a \"flat-color editorial poster\", a \"brand benefit card\", a \"marketing card in the bold outline + flat color style\", or briefs with a palette + subject + headline shape.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/flat-poster\",\n },\n },\n {\n id: \"image-style:mellow-pop\",\n kind: \"image-style\",\n name: \"Mellow Pop\",\n description:\n \"Chill flat-vector editorial poster of a serene recurring character on a fully saturated solid color background, with a signature pop of bright leaf-green and a scene-as-metaphor composition.\",\n desc: 'Mellow-pop flat-vector editorial illustration: a recurring chill character with closed-eye smile, tiny nose hint, and short dark bobbed hair, posed inside a scene-as-metaphor composition on a single fully saturated solid color background, with a signature pop of bright leaf-green woven into every piece (hero prop, plants, motifs, or sweater). Thin uniform black outlines, flat solid fills only, no gradients or texture. Five dials per brief: palette, scene metaphor, complexity (L1/L2/L3), pose, outfit accent. Trigger when user says /mellow-pop, asks for a \"mellow-pop illustration\", \"chill flat-vector poster\", or briefs with a scene metaphor + palette + complexity.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/mellow-pop\",\n },\n },\n {\n id: \"image-style:grainy-duotone\",\n kind: \"image-style\",\n name: \"Grainy Duotone\",\n description:\n \"Editorial spot illustration on a warm cream background — grainy charcoal-stippled hands, outline-free flat two-tone color blocks with internal patterns, and scattered ambient marks.\",\n desc: 'Grainy-duotone editorial spot illustration: warm cream off-white background, grainy charcoal-stippled hands (and occasional faces) drawn in textured black ink, paired with free-floating flat two-tone color blocks that carry NO outlines and are filled with internal patterns (grid, dots, spiral, hatching, squiggles, wavy lines), surrounded by scattered ambient marks (zigzags, triangles, x marks, circles, dashes). Square 1:1 scene-as-metaphor compositions. Five creative dials per brief: palette (two flat hues, e.g. teal+yellow / coral+sage / lavender+mustard / navy+peach / burgundy+dusty pink), elements (hand(s) + 1-3 props like flag, sprout, magnifier, balloons, ladder), scene archetype (Launch / Grow / Connect / Discover / Communicate / Reflect / Navigate / Care / Transform / Build), complexity (L1 minimal / L2 balanced / L3 rich), and mood (celebratory / calm / curious / reflective / determined / warm / quiet). Trigger when user says /grainy-duotone, asks for a \"grainy two-tone editorial illustration\", \"charcoal-stippled hand illustration\", \"duotone editorial spot\", or briefs with a scene metaphor + two-color palette + complexity.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/grainy-duotone\",\n },\n },\n {\n id: \"image-style:op-ed-cover\",\n kind: \"image-style\",\n name: \"Op-Ed Cover\",\n description:\n \"Editorial magazine op-ed cover — flat-vector scene with paper grain, elongated ink-line characters, muted retro palette, and a serif headline block in the lower-right.\",\n desc: 'Editorial magazine op-ed cover illustration. Flat-vector + paper-grain scene with expressive elongated ink-line characters, gentle painterly shading, 1950s-60s editorial mood, and a serif headline overlay block in the lower-right corner carrying a witty contrarian or declarative title with two short lines of italic body copy. 5-axis framework: palette (background + accent + ink), complexity (L1 single hero / L2 small ensemble / L3 busy crowd), scene metaphor (specific cultural microcosm), headline voice (declarative / pun / appreciative / contrarian), and headline block style (solid vs. translucent). Trigger when user says /op-ed-cover, asks for an \"editorial magazine illustration\", an \"op-ed cover\", a \"magazine essay illustration\", or a scene with a headline overlay in this style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/op-ed-cover\",\n },\n },\n {\n id: \"image-style:grain-poster\",\n kind: \"image-style\",\n name: \"Grain Poster\",\n description:\n \"Flat-vector editorial poster of a serene full-body figure with one hero prop — riso grain on a single textile, closed-eye smile + red cheek blush, muted limited palette.\",\n desc: 'Grain Poster — flat-vector editorial illustration of a serene full-body figure interacting with one hero prop (bicycle, bouquet, cat, book, skateboard, sun hat, guitar, dog leash). Closed-eye smile + single round red cheek blush + dark nose mark + solid black hair, silhouette-first (no inked outlines). Riso/halftone grain confined to exactly ONE textile element (skirt or trousers); every other surface is flat color. Muted single-hue background, generous negative space, no headlines or wordmarks. Six tunable dials: palette (cool-dawn · sunset-coral · twilight · forest-green · custom), mood, scene, cast, complexity (L1/L2/L3), framing. Strongest at L1 + side-profile + solo. Trigger when user says /grain-poster, asks for a \"flat-vector editorial poster\", \"riso-grain figure poster\", \"grainy editorial illustration\", or briefs with a scene + palette + cast in this house style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/grain-poster\",\n },\n },\n {\n id: \"image-style:light-pop-portrait\",\n kind: \"image-style\",\n name: \"Light Pop Portrait\",\n description:\n \"Light hand-drawn flat-vector single-character portrait on a fully saturated color block — chunky black hair, big shiny eyes, tiny red nose, pink five-point-star sparkle blush.\",\n desc: 'Light Pop Portrait — a hand-drawn flat-vector single-character portrait style for playful avatars, mood pieces, and editorial character cards. Square 1:1 canvas filled with one fully saturated background hue; a single child–tween character with chunky glossy-black hair (with one or two flyaway strands), big round shiny eyes (single white glint each, thin lashes above), tiny round red nose, expressive small mouth, and pink FIVE-POINT STAR sparkle blush on the cheeks (never solid dots). Thin delicate slightly-wavy hand-drawn contour lines, flat solid fills only, no gradients or texture, ~5-color palette per piece. Eight creative dials: expression, hairstyle, gender register, pose, palette, headwear, prop, outfit. Trigger when user says /light-pop-portrait, asks for a \"light pop portrait\", \"flat-vector character portrait\", \"saturated color-block character\", or briefs with expression + hairstyle + palette + prop.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/light-pop-portrait\",\n },\n },\n {\n id: \"image-style:endpaper\",\n kind: \"image-style\",\n name: \"Endpaper\",\n description:\n \"Riso-grain flat-vector collection of chill characters or objects scattered across a saturated solid color field, with two-tone interior shading and closed-eye sleepy faces.\",\n desc: 'Riso-grain flat-vector editorial collection illustration. Many small animals or objects scattered across a fully saturated solid color background — like the inside endpaper of a children\\'s picture book. Subtle riso/screenprint grain inside every fill, two-tone interior shading on every character (darker top + lighter belly), closed crescent-eye sleepy smiles with tiny dot noses, NO outlines on character bodies, loose hand-drawn line details on props (yarn spirals, leaf veins, pot stripes), scattered curated composition where characters overlap and touch the canvas edges. Five dials: background hue, cast (cats/dogs/foxes/birds/sea-creatures/houseplants/kitchen-objects/etc.), character palette (3–5 curated fills), density (L1 sparse / L2 balanced / L3 packed), prop vocabulary matched to cast. Trigger when user says /endpaper, asks for an \"endpaper illustration\", a \"scattered animal or object collection on saturated color\", a \"children\\'s-book endpaper scene\", or briefs with a cast + background hue + density + palette.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/endpaper\",\n },\n },\n {\n id: \"image-style:editorial-flatfolk\",\n kind: \"image-style\",\n name: \"Editorial Flatfolk\",\n description:\n \"Editorial hand-drawn naive book-illustration style — flat saturated color blocks, loose ink line overlay, paper grain, and a strong sense of place.\",\n desc: 'Editorial hand-drawn naive book-illustration style. Flat saturated color blocks with loose hand-drawn ink line work sitting ON TOP of the color, subtle paper grain across the canvas, simple ink hatching for sky / sun rays / rain / snow, and a strong sense of place built from tall narrow architecture and a one-point depth axis. Five dials per brief: palette (warm-primary, coastal-peach, jewel-night, winter-cool, autumn-rust, monsoon-twilight), scene metaphor (street, harbor, market, transit, park, square, interior, alpine-village), perspective (one-point street, frontal facade, low-angle hero, isometric, top-down), cast (solo wanderer, paired, small crowd, none), and light/weather (midday sun, golden hour, rain, snow, blue hour). Trigger when user says /editorial-flatfolk, asks for an \"editorial flat-folk illustration\", a \"saturated naive book-illustration scene\", a \"tall narrow row-house illustration\", or briefs a palette + scene metaphor + season.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/editorial-flatfolk\",\n },\n },\n {\n id: \"image-style:soft-vector\",\n kind: \"image-style\",\n name: \"Soft Vector\",\n description:\n \"Airy flat-vector spot illustration — square pale-blue canvas, thin ~1.5-2px dark-navy linework with intentionally open / unclosed outlines, flat fills, one muted accent hue, centered subject with breathing room.\",\n desc: 'Soft Vector — an airy flat-vector spot illustration style for in-app onboarding art, empty states, billing cards, and friendly UI moments. Square 1:1 canvas on a single flat pale-blue field #EEF1F5; thin uniform dark-navy outlines (~1.5-2px, rounded caps, NOT chunky); the signature lift comes from several intentionally OPEN / unclosed outlines per piece (mug rim gap, handle that doesn\\'t close, ground line ending in mid-air, cloud silhouette break, lamp arm fade, pot rim gap); strictly flat colour fills with no gradients or shading; one muted lead accent (mustard / lime-sage / warm-orange / violet) plus neutrals; subject centered at ~60-75% of canvas with generous breathing room; scattered thin-navy micro-marks (dots, plus signs, sparkles, or motion ticks). Six dials per brief: palette accent, scene metaphor, complexity (L1/L2/L3), cast, accent marks, action/mood. Trigger when user says /soft-vector, asks for a \"soft-vector illustration\", a \"friendly UI onboarding illustration\", a \"thin-line flat spot illustration\", or briefs a scene metaphor + palette + complexity in this house style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/soft-vector\",\n },\n },\n {\n id: \"image-style:loose-contour\",\n kind: \"image-style\",\n name: \"Loose Contour\",\n description:\n \"Flat editorial spot illustration — open teal contour lines, offset color blobs (printing-misregistration look), one ribbon line on warm cream paper.\",\n desc: 'Loose-contour flat editorial spot illustration: confident open-contour ink drawings in dark teal-green (#1e4d4a) over flat offset color blobs (printing-misregistration look) on warm cream paper (#f0ebdc), with exactly one continuous looping ribbon line of the same teal weaving through the scene. Tight 5-color palette: cream + teal + mustard + soft blue + coral. Lines are deliberately broken at joints and edges. Five dials per brief: scene metaphor, cast, complexity (L1/L2/L3), accent lead, ribbon path. Trigger when user says /loose-contour, asks for a \"loose-contour illustration\", \"offset-blob editorial illustration\", or \"cream paper ribbon-line scene\".',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/loose-contour\",\n },\n },\n {\n id: \"image-style:jade-blockprint\",\n kind: \"image-style\",\n name: \"Jade Blockprint\",\n description:\n \"Two-tone hand-drawn block-print spot illustration — accent color painted as free-floating shapes on white, with chunky black ink layered on top. Eight palettes.\",\n desc: 'Jade-blockprint two-pass hand-drawn block-print spot illustration: one accent color painted FIRST as free-floating shapes on pure white, then chunky black ink line art layered ON TOP. Color blobs have no perimeter outline — ink draws detail, hatching, and motion marks, never traces the colored shape. Wobbly variable-weight linework with occasional flooded black masses; tiny linocut speckle grain inside color fills. Eight named palettes (jade, coral, cobalt, plum, sage, rose, slate, terracotta) plus custom-hex override. Resolves vague briefs (growth, trust, freedom, fairness) into concrete scene metaphors via an internal synthesizer table before generating. Five dials per piece: palette, scene metaphor, complexity (L1 single object / L2 mini-scene / L3 vignette), motion marks, speckle density. Trigger when the user says /jade-blockprint, asks for a \"block-print illustration\", \"linocut spot illustration\", \"two-tone screen-print\", or briefs a metaphor for a blog cover or marketing card in this style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/jade-blockprint\",\n },\n },\n {\n id: \"image-style:shadow-pop\",\n kind: \"image-style\",\n name: \"Shadow Pop\",\n description:\n \"Bright flat-vector illustration with offset black shape shadows, white dashed stitching, palette confetti, and transparent PNG output.\",\n desc: 'Bright flat-vector editorial illustration style — every colored shape sits in front of an offset black silhouette of itself (the signature depth trick, no outlines on the fills), with white hand-drawn dashed stitching, scattered palette-colored sparkle confetti, and a fully transparent PNG background so the piece drops cleanly onto any surface. Five dials per brief — palette (default / berry-pop / tropical / citrus-cobalt), scene metaphor, complexity (L1 / L2 / L3), confetti density, and subject domain. Trigger when user says /shadow-pop, asks for a \"shadow-pop illustration\", a \"bright flat-vector illustration with offset shadow\", an \"in-app illustration with offset shadow trick\", or briefs in the style of the included reference images.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/shadow-pop\",\n },\n },\n {\n id: \"image-style:tiny-wanderer\",\n kind: \"image-style\",\n name: \"Tiny Wanderer\",\n description:\n \"Contemplative bande-dessinée landscape illustration — tiny human dwarfed by vast nature, ink hatching + flat color, vertical portrait canvas.\",\n desc: 'Contemplative bande-dessinée landscape illustration in a locked house style — a tiny human (or 2–3 figures) is dwarfed by a vast natural panorama, hand-drawn black ink contour + parallel/cross-hatching for clouds, rock walls, foliage, grass, and water texture, sitting on flat color blocks beneath the ink (no gradients, no airbrush). Restrained 3–5 color palette per piece including black ink, vertical portrait canvas (1024x1536, reads ~3:5). Always outdoor/wilderness. Moebius / Christophe Chabouté travel-sketchbook lineage, quiet wonder mood. Six dials per brief: palette family (sage-plains / sunset-warm / coastal-teal / cool-mist / autumn-rust / winter-pale / custom), landscape archetype (plains+clouds / mountain valley / river vista / rocky ridge / coastal cliffs / misty gorge / forest clearing / alpine pass / desert mesa / lakeshore), activity (walking / cycling / hiking / standing-and-gazing), solitude count (1 / 2 / 3), complexity (L1 single plane / L2 fore+mid / L3 full multi-plane vista), and weather/time (midday / golden hour / sunset / overcast / mist / blue hour). Trigger when user says /tiny-wanderer, asks for a \"tiny wanderer illustration\", \"bande-dessinée landscape\", \"Moebius-style travel illustration\", \"ink-hatched vertical landscape\", or briefs with a palette + landscape archetype + complexity in this house style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/tiny-wanderer\",\n },\n },\n {\n id: \"image-style:iberian-vignette\",\n kind: \"image-style\",\n name: \"Iberian Vignette\",\n description:\n \"Hand-drawn editorial vignette style — loose wobble ink, flat muted cream + burgundy + one accent (sage / mustard / dusty blue / terracotta), minimal abstract faces, observed Mediterranean composition with a serif Spanish wordmark at the bottom.\",\n desc: 'Iberian-vignette hand-drawn editorial illustration: loose hand-drawn ink linework with visible wobble and varied weight, flat muted color fills (no gradients, no shading, no texture) on a warm cream off-white background, burgundy/wine always present as the anchor color somewhere in the scene, exactly one secondary accent per piece (sage green / mustard yellow / dusty muted blue / terracotta-rust), minimal abstract faces (tiny dot or short-mark eyes, soft nose hint, almost no mouth), hair as flat color masses, warm sand skin tones, casually-observed body language (leaning, holding, mid-action, never stiffly posed), and a short Spanish serif lowercase wordmark anchored at the bottom center of the canvas. Always grounded by an architectural / scenic prop (stone arched doorway, tall arched window, balcony, sunlit courtyard, wooden counter, archway, stoop, open terrace). Six dials per brief: scene metaphor (trade shop, domestic moment, leisure ritual), cast (solo L1 / pair L2 / 3-4 figures L3), architectural prop, secondary accent (one only), wordmark (Spanish noun), complexity (L1/L2/L3). Trained on nano-banana-2 image-to-image with one of three locked anchor references (mañana / ritmo / familia). Trigger when user says /iberian-vignette, asks for an \"Iberian vignette illustration\", a \"Spanish editorial illustration\", a \"Mediterranean observed-moment scene\", or briefs a scene metaphor + cast + complexity in this hand-drawn editorial style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/iberian-vignette\",\n },\n },\n {\n id: \"image-style:cozy-parlor\",\n kind: \"image-style\",\n name: \"Cozy Parlor\",\n description:\n \"Hand-painted watercolor + ink-line scene — one anthropomorphic animal in a quiet domestic interior, clean cool-white paper, neutral palette with one hot accent pop.\",\n desc: \"Hand-painted watercolor + brushy black ink line on clean cool-white paper (no amber tint). ONE anthropomorphic animal mid-quiet-activity in a domestic interior. Closed-crescent-eye smile, minimal facial features, expression through posture. At least two patterned surfaces per piece. Cool/neutral palette lead (sage, slate-blue, cornflower, lavender, mint, dove-gray) with a single hot accent pop (cherry-red, mustard, magenta-pink) on one object. Six dials per brief — cast, activity, palette family, pattern motif stack, hot accent object, and complexity (L1/L2/L3). Trigger when user says /cozy-parlor, asks for a 'cozy parlor illustration', a 'watercolor animal scene', a 'picture-book interior', or a new piece in this neutral-palette watercolor style.\",\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/cozy-parlor\",\n },\n },\n {\n id: \"image-style:crowd-ink\",\n kind: \"image-style\",\n name: \"Crowd Ink\",\n description:\n \"Hand-drawn editorial crowd illustration — sketchy black ink contours over flat 3-color spot fills on pure white, scene-as-metaphor composition.\",\n desc: 'Hand-drawn editorial crowd illustration style — confident sketchy black ink contour lines with slightly irregular weight, flat 3-color spot fills sitting under or beside the ink lines (edges allowed to misregister slightly), on a PURE WHITE background (never cream). Fine-line backdrop drawn lighter than the foreground figures, scattered atmospheric marks in negative space (birds / leaves / steam / confetti / dots), and a scene-as-metaphor composition with a cast that varies per piece. Six dials per brief — palette (tested families: urban editorial / cool transit / warm natural / cozy interior), scene metaphor, complexity (L2 small group of 3–5 / L3 full crowd of 8–10), cast, backdrop, atmospheric motif. Trigger when the user says /crowd-ink, asks for a \"crowd-ink illustration\", \"editorial crowd scene\", \"hand-drawn ink-and-spot-color illustration\", \"New-Yorker-style crowd vignette\", or briefs with palette + scene metaphor + complexity level.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/crowd-ink\",\n },\n },\n {\n id: \"image-style:ink-storefront\",\n kind: \"image-style\",\n name: \"Ink Storefront\",\n description:\n \"Single-color hand-drawn ink fineliner illustration of a small storefront on warm cream paper — hand-lettered shop sign, foliage, and street props.\",\n desc: 'Boutique-poster illustration style — a single-color hand-drawn ink line drawing of a small storefront (café, boulangerie, florist, bookshop, ramen, wine bar, barber, record store, etc.) seen from street level on warm cream paper #f4ecd8. Locked frame: portrait 1024x1536, monochromatic ink with occasional double-stroke shadow under awnings and signs, a hand-lettered shop sign baked into the building, foliage and at least one small street prop (bike, A-frame chalkboard, planters, lanterns, café tables, dog/cat at the door), and a faint horizontal sidewalk line across the bottom. No solid color fills, no shading, no gradients. Seven dials per brief — ink color, shop name + subtitle, archetype, perspective (flat facade vs 3/4 corner), foreground props, foliage density, and complexity (L1 single facade / L2 small scene / L3 full vignette). Trigger when user says /ink-storefront, asks for a \"shopfront illustration\", \"storefront poster\", \"boutique fineliner illustration\", \"café line drawing\", or briefs with a shop name + ink color + archetype in this house style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/ink-storefront\",\n },\n },\n {\n id: \"image-style:chibi-hero\",\n kind: \"image-style\",\n name: \"Chibi Hero\",\n description:\n \"Chibi mobile-RPG mascot illustration — oversized-head super-deformed character, warm-dark hand-drawn outlines, cel-shaded flat fills, mid-action pose, transparent background.\",\n desc: 'Chibi mobile-RPG mascot illustration style — single full-body hero character with super-deformed proportions (head ~1:1 head-to-body ratio, head dominates the silhouette), bold warm dark brown outline (NOT pure black) of confident even weight, cel-shaded flat color fills with exactly one tier of subtle shadow per surface, always isolated on a transparent background with no scene or ground line. Pose is always mid-action and dynamic (sprint, lunge, mid-cast, low sneak, leap, raised prayer, mid-stumble) — never a static T-pose. Face is simplified and expressive (slit/narrow eyes by default, tiny mouth or none, no fine detail), 3/4 angle view at eye level. Square 1024x1024 canvas. Six dials per brief: archetype (ninja, mage, knight, ranger, alchemist, bard, cleric, rogue, monk, summoner, beastmaster, paladin, druid, necromancer), palette (warm earthy / cool arcane / forest scout / steel + crimson / tinkerer mustard + teal + copper / devout gold + ivory + cyan / desert ochre / ice wraith), hero prop (spear, longbow, staff, dual daggers, tome, hammer, sword + kite shield, smoking flask, lute, scythe, mace, war horn, summoning crystal), pose energy (the verb), outfit complexity (L1 simple tunic / L2 layered cloak + belt + 1-2 accessories / L3 full kit with pauldrons, pouches, sashes, scabbard, trinkets, goggles, capes), and mood (determined, fierce, stoic, focused, mischievous, gleeful, weary, smug, serene-focused). Trigger when user says /chibi-hero, asks for a \"chibi hero\", a \"chibi RPG mascot\", a \"pocket adventurer character\", a \"super-deformed hero illustration\", or briefs with an archetype + palette + weapon + pose in this style.',\n source: {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n path: \"illustration-template/chibi-hero\",\n },\n },\n];\n\n// ── Presentation runbook packages ────────────────────────────────────────────\n// Self-contained per-template presentation packages (agent runbook + renderer)\n// uploaded to private R2 as one archive each. When a selected template ships one\n// of these, the agent pulls exactly that archive by template, then selects a\n// color system at runtime — no separate design system or color archive to\n// resolve. Templates without a package fall back to the legacy multi-resource\n// flow. These are intentionally NOT part of RESOURCE_REGISTRY so they never leak\n// into the legacy multi-resource candidate slice (selectResourceCandidates) or\n// listTemplates.\n\nexport interface PresentationRunbookPackage {\n /** Picker template id (the legacy `template:html-ppt-*` id the user selects). */\n readonly templateId: string;\n /** Pull id for the runbook archive; distinct from `templateId`. */\n readonly resourceId: string;\n /** Top-level directory inside the archive; also the runbook command prefix. */\n readonly slug: string;\n /** Default color-system token applied when the user selects no color system. */\n readonly defaultColorSystem: string;\n /** Display name (relocated onto the package so runbook resolution no longer\n * needs the legacy `template:html-ppt-*` registry entry). */\n readonly name: string;\n /** Template description (relocated from the legacy template entry). */\n readonly description: string;\n readonly source: ResourceSourceRef;\n}\n\n// Archive digests for uploaded private R2 presentation runbook packages. Keep\n// these in sync with the private R2 version ids served by the API download route.\nconst PRESENTATION_RUNBOOK_ARCHIVE_SHA256: Record<string, string> = {\n \"playful-launch\":\n \"78292a9a5c454e36a5255f22d147ac56f53c69538a4ac0897160239c2ca941e3\",\n bloom: \"7f05f31603d2ad3055b23147cc2b41e047c5969b6640502489b34bd33a837d62\",\n \"blueprint-academy\":\n \"d6f16dff7c2f7830b71a3d6ed3fd228f1de7a29fa7795e2a31afb9fc841a0f72\",\n \"botane-organic\":\n \"052c937dc4a9c6e7c528265d86210c15488b19710d22437b25fb1710853c8a6f\",\n \"business-data\":\n \"c3ca2128d7dbfb2e683bb0386d5335505c1f540160481da1c97aae9ff52a15ac\",\n crayon: \"1e698ca42b7a36dfa8a1ed6f45c2b25181bf1058c91207b934612a73701fae70\",\n \"creative-agency\":\n \"7c3b33353bd22b2a6dc0c50c7ed9d3d97b159199ad30aa61b2abeb46a931b6ec\",\n \"data-report\":\n \"11747371adb6561e25cd4c3095caf62f52840c4ee625d234478f7631b746a9b3\",\n \"editorial-magazine\":\n \"d1ae6492925d2e9ed7cc0acc1684c33fea6613b6bef34b21aa228f01fc76c5d7\",\n \"landing-consulting\":\n \"01323dcebc9413781ad518d86f6b6611c3fb39a8bfd6287b2abced7c9432b6c7\",\n lumina: \"38ae1652ababd62fbb2dcbc612a7a9458dae0b88283e09b34d113882f94ca063\",\n meridian: \"6d31c74008ea8f854da929edb135ecbc8410dc3790e9c5ff8d43681029c1ecff\",\n \"mosaic-geometric\":\n \"fd036b42ef323011f0a2c771ceb0bbc6cfb6fb29272633f4e187cd672a89d336\",\n \"neo-brutalism\":\n \"70ca020b00cd79abdb471e3145f2bd706c1a2978fdd5870e372565033f3a4ead\",\n nocturne: \"83d26dbd95a839310db7553b3a2e4dfe2cc3d9678d988fa864d4dd61f6941213\",\n \"pixel-glitch\":\n \"bf3f5312f2281490f592c8d1c02477e57632299ea93b9e3eef65fe1dc2236e29\",\n \"playful-pop\":\n \"1c84b4a0df81a8ca169ac30a589410b8d846af5900c38d08fb77688b2556a565\",\n prospectus:\n \"0dc2b86b15970312003f6a60a90b03c47729870a38f85ae79c89547cd1cb485d\",\n schoolhouse:\n \"44e95a44ac37174b6dec3e2a2b21c0fe7d6d9f83c254d86cff1779030d5b11ad\",\n \"sticker-scrapbook\":\n \"cddd7f14573af6aa922b2873658dc81fbcd45dfb42b84da8be9b8e0866874dab\",\n strata: \"39ebdffe9de88faebb6427d734927b57ebe69b9b98db5efbee59b5f7ab120cc6\",\n \"taped-consulting\":\n \"7b05540c82b410abd1f236ef8a42ff53601489a4a8531413983830d42cec614b\",\n vantage: \"096678c9f5bc1760b9f2c25bf10949296ddaa98511a2ecae2bc59528bd7969ed\",\n};\n\nfunction presentationRunbookArchiveSha256(slug: string): string {\n const sha256 = PRESENTATION_RUNBOOK_ARCHIVE_SHA256[slug];\n if (!sha256) {\n throw new Error(`Missing presentation runbook archive sha256 for ${slug}`);\n }\n return sha256;\n}\n\n// Each entry maps a picker template id to its runbook package slug (the\n// presentation-final directory name) and the renderer's default color token.\nconst PRESENTATION_RUNBOOK_PACKAGE_DEFS: readonly {\n readonly templateId: string;\n readonly slug: string;\n readonly defaultColorSystem: string;\n readonly name: string;\n readonly description: string;\n}[] = [\n {\n templateId: \"template:html-ppt-playful-launch\",\n slug: \"playful-launch\",\n defaultColorSystem: \"carnival\",\n name: \"Playful Launch Presentation\",\n description:\n \"15-slot HTML presentation structure for product and service launches with oversized headlines, color-field rhythm, recurring motifs, and required media slots.\",\n },\n {\n templateId: \"template:html-ppt-bloom-pitch\",\n slug: \"bloom\",\n defaultColorSystem: \"carnival\",\n name: \"Bloom Pitch Presentation\",\n description:\n \"15-slot playful investor-pitch presentation structure with oversized headlines, colour-field dividers, organic visuals, stat stacks, quote cards, and pricing cards.\",\n },\n {\n templateId: \"template:html-ppt-blueprint-academy\",\n slug: \"blueprint-academy\",\n defaultColorSystem: \"forest_editorial\",\n name: \"Blueprint Academy Presentation\",\n description:\n \"15-slot academic education presentation structure with blueprint grids, wire diagrams, matted photos, goal cards, process spines, stats, testimonials, and contact slides.\",\n },\n {\n templateId: \"template:html-ppt-botane-organic\",\n slug: \"botane-organic\",\n defaultColorSystem: \"mauve_dusk\",\n name: \"Botane Organic Presentation\",\n description:\n \"15-slot organic wellness deck with colour-block panels, circular media, side titles, icon cycles, and donut stats.\",\n },\n {\n templateId: \"template:html-ppt-business-data\",\n slug: \"business-data\",\n defaultColorSystem: \"berry_pop\",\n name: \"Business Data Presentation\",\n description:\n \"15-slot HTML presentation structure for metric-led business reports with big numbers, stat strips, bars, rings, photo squares, and dark/accent proof slides.\",\n },\n {\n templateId: \"template:html-ppt-crayon\",\n slug: \"crayon\",\n defaultColorSystem: \"prism\",\n name: \"Crayon Presentation\",\n description:\n \"Light 15-slot playful education deck with peripheral blobs, multi-colour marker titles, doodle sparks, colour-block cards, burst stats, quote cards, and rounded pricing cards.\",\n },\n {\n templateId: \"template:html-ppt-creative-agency\",\n slug: \"creative-agency\",\n defaultColorSystem: \"coral_studio\",\n name: \"Creative Agency Presentation\",\n description:\n \"Minimal modern 15-slot agency deck with generous whitespace, foliage sprigs, B&W photo blocks, sharp rectangles, team grids, icon services, process spine, and a big-stat impact band.\",\n },\n {\n templateId: \"template:html-ppt-data-report\",\n slug: \"data-report\",\n defaultColorSystem: \"prism\",\n name: \"Data Report Presentation\",\n description:\n \"Chart-led 15-page data report variant with saturated colour grounds, sharp outlines, frameless numbers, stacked/combo/area/line/doughnut/pie/bar/bubble charts, and data-first summary pages.\",\n },\n {\n templateId: \"template:html-ppt-editorial-magazine\",\n slug: \"editorial-magazine\",\n defaultColorSystem: \"warm_sand\",\n name: \"Editorial Magazine Presentation\",\n description:\n \"Restrained 15-slot magazine deck with masthead cover, dotted TOC, colour-block dividers, two-column editorial pages, roman/italic titles, running footer, stat boxes, quote rows, and editorial table.\",\n },\n {\n templateId: \"template:html-ppt-landing-consulting\",\n slug: \"landing-consulting\",\n defaultColorSystem: \"pop_art\",\n name: \"Landing Consulting Presentation\",\n description:\n \"Consulting deck dressed like a landing page, with persistent nav chrome, two-tone display titles, dashed circuit wires, marker emphasis, speech-bubble callouts, square photo blocks, frameless stats, and CTA rhythm.\",\n },\n {\n templateId: \"template:html-ppt-lumina\",\n slug: \"lumina\",\n defaultColorSystem: \"prism\",\n name: \"Lumina Presentation\",\n description:\n \"Sticker-tag creative studio deck with brush-letter title accents, asterisk punctuation, frame-edge chrome, sharp colour cells, photo blocks, stat bands, and agency-style 15-slot rhythm.\",\n },\n {\n templateId: \"template:html-ppt-meridian\",\n slug: \"meridian\",\n defaultColorSystem: \"slate_corporate\",\n name: \"Meridian Presentation\",\n description:\n \"15-slot professional data-agency presentation structure with flat nav chrome, sharp blocks, index numbers, stat matrices, bar charts, service blocks, and executive close.\",\n },\n {\n templateId: \"template:html-ppt-mosaic-geometric\",\n slug: \"mosaic-geometric\",\n defaultColorSystem: \"carnival\",\n name: \"Mosaic Geometric Presentation\",\n description:\n \"Bold modular geometric 15-slot pitch deck with Bauhaus mosaic tile clusters, dotted TOC, chapter dividers, framed icon services, process spine, gallery grid, segmented pie, burst stats, quote rows, and price cards.\",\n },\n {\n templateId: \"template:html-ppt-neo-brutalism\",\n slug: \"neo-brutalism\",\n defaultColorSystem: \"mono_ink\",\n name: \"Neo Brutalism Presentation\",\n description:\n \"Bold 15-slot brutalist business-plan deck with persistent nav chrome, CTA pairs, numbered circles, arch cards, and heavy framed content blocks.\",\n },\n {\n templateId: \"template:html-ppt-nocturne\",\n slug: \"nocturne\",\n defaultColorSystem: \"midnight_mono\",\n name: \"Nocturne Presentation\",\n description:\n \"Dark 15-slot data-keynote deck with rounded chart devices, frameless hero numbers, bento metrics, and clear text/data alternation.\",\n },\n {\n templateId: \"template:html-ppt-pixel-glitch\",\n slug: \"pixel-glitch\",\n defaultColorSystem: \"bauhaus_primary\",\n name: \"Pixel Glitch Presentation\",\n description:\n \"15-slot Y2K creative-studio presentation structure with pixel trails, glitch titles, sharp dividers, image blocks, ring charts, process spines, and bold proof pages.\",\n },\n {\n templateId: \"template:html-ppt-playful-pop\",\n slug: \"playful-pop\",\n defaultColorSystem: \"pop_art\",\n name: \"Playful Pop Presentation\",\n description:\n \"Loud 15-slot playful brand deck with neon-on-dark Pop Art colour, overlapping offset-shadow cards, organic blobs, corner dot grids, burst rosettes, pill chips, icon quads, process spine, photo gallery, quotes, and pricing.\",\n },\n {\n templateId: \"template:html-ppt-prospectus\",\n slug: \"prospectus\",\n defaultColorSystem: \"slate_corporate\",\n name: \"Prospectus Presentation\",\n description:\n \"15-slot corporate landing-page business-plan structure with persistent nav, colour-field stages, diagonal arrows, CTA clusters, flat charts, gantt timelines, and pricing tiers.\",\n },\n {\n templateId: \"template:html-ppt-schoolhouse\",\n slug: \"schoolhouse\",\n defaultColorSystem: \"bauhaus_primary\",\n name: \"Schoolhouse Presentation\",\n description:\n \"15-slot retro school-poster presentation structure with paper stages, stamp badges, index cards, ruled rows, stat bands, quote cards, and membership tiers.\",\n },\n {\n templateId: \"template:html-ppt-sticker-scrapbook\",\n slug: \"sticker-scrapbook\",\n defaultColorSystem: \"prism\",\n name: \"Sticker Scrapbook Presentation\",\n description:\n \"15-slot vibrant scrapbook presentation structure with sticker seals, spiral pads, agenda cards, doodle dividers, photo grids, stat stickers, quote cards, and pricing cards.\",\n },\n {\n templateId: \"template:html-ppt-strata\",\n slug: \"strata\",\n defaultColorSystem: \"mono_ink\",\n name: \"Strata Presentation\",\n description:\n \"15-slot Swiss-minimal agency presentation structure with giant caps, asterisk dividers, tile ramps, mono photo grids, frameless stats, quote cards, and pricing cards.\",\n },\n {\n templateId: \"template:html-ppt-taped-consulting\",\n slug: \"taped-consulting\",\n defaultColorSystem: \"slate_corporate\",\n name: \"Taped Consulting Presentation\",\n description:\n \"15-slot consulting presentation structure with taped photo clusters, inset frames, feature rows, process spines, big-number proof, quote cards, and pricing cards.\",\n },\n {\n templateId: \"template:html-ppt-vantage\",\n slug: \"vantage\",\n defaultColorSystem: \"slate_corporate\",\n name: \"Vantage Presentation\",\n description:\n \"15-slot business-proposal presentation structure with two-tone headings, corner indexes, square-pair motifs, split panels, frameless numbers, donut charts, and milestone lines.\",\n },\n];\n\nconst PRESENTATION_RUNBOOK_PACKAGES: readonly PresentationRunbookPackage[] =\n PRESENTATION_RUNBOOK_PACKAGE_DEFS.map((def) => {\n return {\n templateId: def.templateId,\n resourceId: `${def.templateId}-runbook`,\n slug: def.slug,\n defaultColorSystem: def.defaultColorSystem,\n name: def.name,\n description: def.description,\n source: privateR2ArchiveSource(\n def.slug,\n presentationRunbookArchiveSha256(def.slug),\n ),\n };\n });\n\nexport function listPresentationRunbookPackages(): readonly PresentationRunbookPackage[] {\n return PRESENTATION_RUNBOOK_PACKAGES;\n}\n\n/** Resolve the runbook package for a picker template id, if one exists. */\nexport function findPresentationRunbookPackage(\n templateId: string,\n): PresentationRunbookPackage | undefined {\n return PRESENTATION_RUNBOOK_PACKAGES.find((pkg) => {\n return pkg.templateId === templateId;\n });\n}\n\n/**\n * Resolve a runbook package archive by its pull resource id, shaped as a\n * RegistryEntry so the download route and `zero resource pull` can treat it like\n * any other private archive.\n */\nexport function findPresentationRunbookResource(\n resourceId: string,\n): RegistryEntry | undefined {\n const pkg = PRESENTATION_RUNBOOK_PACKAGES.find((entry) => {\n return entry.resourceId === resourceId;\n });\n if (!pkg) {\n return undefined;\n }\n // Name/description live on the package itself (relocated from the legacy\n // `template:html-ppt-*` registry entry) so this no longer depends on that\n // entry surviving. Only id and source diverge.\n return {\n id: pkg.resourceId,\n kind: \"template\",\n name: pkg.name,\n description: pkg.description,\n source: pkg.source,\n targets: [\"presentation\"],\n };\n}\n\n// ── Website template packages ────────────────────────────────────────────────\n// Self-contained website packages uploaded to private R2. Keep these pull-only\n// resources out of RESOURCE_REGISTRY so the feature-switched picker remains the\n// only user-facing catalog for built-in website templates.\n\nexport interface WebsiteTemplatePackage {\n /** Picker template id; this is also the pull id for website packages. */\n readonly templateId: WebsiteTemplateItem[\"templateId\"];\n readonly resourceId: WebsiteTemplateItem[\"resourceId\"];\n readonly slug: WebsiteTemplateItem[\"slug\"];\n readonly name: WebsiteTemplateItem[\"title\"];\n readonly description: WebsiteTemplateItem[\"description\"];\n readonly source: ResourceSourceRef;\n}\n\n// Archive digests for uploaded private R2 website template packages. Keep these\n// in sync with the private R2 version ids served by the API download route.\nconst WEBSITE_TEMPLATE_ARCHIVE_SHA256: Record<string, string> = {\n \"black-slabs\":\n \"8f30984e444283bf0322106a1099623346e153bc11d26e3044fbf61ef43514c3\",\n \"blueprint-grid\":\n \"97c2edd94467bc414f0d9fc27cafa048cb2a7aaba3df5159df519a2bb2b97a4e\",\n \"coastal-hotel\":\n \"9633475124da5728cbf99a7333b494f74842232faaf675bc7878a3ebcdf59bcb\",\n \"dot-matrix\":\n \"f489a51fb99d8fadff8712d0406df06ac1a530116ebe612ab3f8605daa2bcce2\",\n \"frame-stack\":\n \"4587e93da51652c0c16c2d0706e8437001305214e4e6b8b1c18a6538b3daa127\",\n \"frosted-scatter\":\n \"00e343ace0673ece5903a2b6abbad6bb960c17796e0cfa5cce0bcab7e6bcdd7b\",\n \"gallery-wall\":\n \"c90332053b24572feadecb3994925ed317957e1cb17b0080cfebc6f4d9e93bd1\",\n \"glass-bloom\":\n \"0c61488baa294fb13c58aa129e3ae99f0cd4ff9125459761a1b2c1390b860f93\",\n \"serif-stack\":\n \"cf5137a7b6788f4d7cb24bda358a8e1971c0e7ed026d50e6cf292f6bf0cd0c14\",\n \"sticker-pop\":\n \"2086113018279f28e23489cf7a0f3663c37a23210fb106c4ed48d8c19923f78f\",\n \"warm-cards\":\n \"2721c013f76e1b2eea09282269b33d7f143b7e83ee3e701e83a0fcf7773852dd\",\n};\n\nfunction websiteTemplateArchiveSha256(slug: string): string {\n const sha256 = WEBSITE_TEMPLATE_ARCHIVE_SHA256[slug];\n if (!sha256) {\n throw new Error(`Missing website template archive sha256 for ${slug}`);\n }\n return sha256;\n}\n\nconst WEBSITE_TEMPLATE_PACKAGES: readonly WebsiteTemplatePackage[] =\n WEBSITE_TEMPLATE_ITEMS.map((item) => {\n return {\n templateId: item.templateId,\n resourceId: item.resourceId,\n slug: item.sourcePath,\n name: item.title,\n description: item.description,\n source: privateR2ArchiveSource(\n item.sourcePath,\n websiteTemplateArchiveSha256(item.slug),\n ),\n };\n });\n\nconst WEBSITE_TEMPLATE_V2_ARCHIVE_SHA256: Record<string, string> = {\n \"black-slabs\":\n \"0f12d8408536ce4e0178129db5ceecc3b7d77605eaff76bff8fab04fd6193c22\",\n \"blueprint-grid\":\n \"38737948531b22ab5ae03c537464b948b48e139ca0362ea68e9dd3daaf6760b6\",\n \"coastal-hotel\":\n \"5c8650684d247143e010859d957c58c3c77d2b4e3a5540dbb4c4961cc2d70d54\",\n \"dot-matrix\":\n \"20931f59434fea45e2772dd4a2a7790572f65b3514b84bfbb245968618f0ad44\",\n \"frame-stack\":\n \"628139021e196f12e06723d899d299a89dc16696870fede38fc9864b6ffff9c1\",\n \"frosted-scatter\":\n \"3b0fab9f9f52434f37686377793dae2e467e818e48b85b6696f862d9e8e23232\",\n \"gallery-wall\":\n \"df998b7ca480d24665b49e6c07f4e29eb8f26f3916ed3b8051f41e47535588ab\",\n \"glass-bloom\":\n \"b66ec9fda392e13a8f0c71c842cc0b2e655695cf60d7dd28e8db3b322ba35596\",\n \"serif-stack\":\n \"0641c65b035abab0b53d3b345178688f1b4091083d1b7c574b640537b49ef3e5\",\n \"sticker-pop\":\n \"4b076e69118268108e550322cdfe9befd91378bee5d28bf73627df54ccbaacbd\",\n \"warm-cards\":\n \"20f0a7fa09bf2653b55fb0323b050accaa565817587d105b98ada03243b75bf3\",\n};\n\nfunction websiteTemplateV2ArchiveSha256(slug: string): string {\n const sha256 = WEBSITE_TEMPLATE_V2_ARCHIVE_SHA256[slug];\n if (!sha256) {\n throw new Error(`Missing website template v2 archive sha256 for ${slug}`);\n }\n return sha256;\n}\n\n// Keep refreshed packages outside the picker-backed list. The API selects\n// these additive resource ids behind WebsiteTemplateV2 while released clients\n// and users outside the rollout continue pulling the original package ids.\nconst WEBSITE_TEMPLATE_V2_PACKAGES: readonly WebsiteTemplatePackage[] =\n WEBSITE_TEMPLATE_ITEMS.map((item) => {\n return {\n templateId: `${item.templateId}-v2`,\n resourceId: `${item.resourceId}-v2`,\n slug: item.sourcePath,\n name: item.title,\n description: item.description,\n source: privateR2ArchiveSource(\n item.sourcePath,\n websiteTemplateV2ArchiveSha256(item.slug),\n ),\n };\n });\n\nfunction websiteTemplatePackageToRegistryEntry(\n pkg: WebsiteTemplatePackage,\n): RegistryEntry {\n return {\n id: pkg.resourceId,\n kind: \"template\",\n name: pkg.name,\n description: pkg.description,\n source: pkg.source,\n targets: [\"website\"],\n };\n}\n\nexport function listWebsiteTemplatePackages(): readonly WebsiteTemplatePackage[] {\n return WEBSITE_TEMPLATE_PACKAGES;\n}\n\nexport function findWebsiteTemplatePackage(\n templateId: string,\n): WebsiteTemplatePackage | undefined {\n const directPackage = [\n ...WEBSITE_TEMPLATE_PACKAGES,\n ...WEBSITE_TEMPLATE_V2_PACKAGES,\n ].find((pkg) => {\n return pkg.templateId === templateId || pkg.resourceId === templateId;\n });\n if (directPackage) {\n return directPackage;\n }\n const normalizedTemplateId =\n findWebsiteTemplateItem(templateId)?.templateId ?? templateId;\n return WEBSITE_TEMPLATE_PACKAGES.find((pkg) => {\n return pkg.templateId === normalizedTemplateId;\n });\n}\n\nexport function findWebsiteTemplateResource(\n resourceId: string,\n): RegistryEntry | undefined {\n const directPackage = WEBSITE_TEMPLATE_V2_PACKAGES.find((pkg) => {\n return pkg.resourceId === resourceId;\n });\n if (directPackage) {\n return websiteTemplatePackageToRegistryEntry(directPackage);\n }\n const normalizedResourceId =\n findWebsiteTemplateItem(resourceId)?.resourceId ?? resourceId;\n const pkg = WEBSITE_TEMPLATE_PACKAGES.find((entry) => {\n return entry.resourceId === normalizedResourceId;\n });\n if (!pkg) {\n return undefined;\n }\n return websiteTemplatePackageToRegistryEntry(pkg);\n}\n\nconst COLOR_SYSTEM_ID_PREFIX = \"color-system:\";\n\n/**\n * Map a registry color-system id (`color-system:warm-sand`) to the snake_case\n * token the runbook deck JSON expects (`warm_sand`). Returns undefined when the\n * id is not a known color system.\n */\nexport function presentationColorSystemToken(\n colorSystemId: string,\n): string | undefined {\n if (!findColorSystem(colorSystemId)) {\n return undefined;\n }\n return colorSystemId\n .slice(COLOR_SYSTEM_ID_PREFIX.length)\n .replaceAll(\"-\", \"_\");\n}\n\n/**\n * Resolve the color-system token for a presentation runbook: an explicit color\n * system id must resolve to a known token; with none, the package's default\n * token is used. Returns `{ token }` or `{ error }`.\n */\nexport function resolvePresentationRunbookColorToken(\n runbookPackage: PresentationRunbookPackage,\n colorSystemId: string | undefined,\n): { readonly token: string } | { readonly error: \"unknown-color-system\" } {\n if (!colorSystemId) {\n return { token: runbookPackage.defaultColorSystem };\n }\n const token = presentationColorSystemToken(colorSystemId);\n if (!token) {\n return { error: \"unknown-color-system\" };\n }\n return { token };\n}\n\n/**\n * Shared runbook authoring instructions for a selected presentation template.\n * Used by both the chat generation-template prompt (API) and\n * `zero generate presentation --template` (CLI) so the two never drift.\n */\nexport function buildPresentationRunbookInstructionLines(args: {\n readonly runbookPackage: PresentationRunbookPackage;\n readonly colorSystemToken: string;\n}): readonly string[] {\n const { runbookPackage: pkg, colorSystemToken } = args;\n return [\n `Selected presentation template: ${pkg.name} (${pkg.templateId})`,\n `Color system token: ${colorSystemToken}`,\n \"\",\n \"To produce the presentation:\",\n `- Pull the package: zero resource pull ${pkg.resourceId} --dir ./generated/resources`,\n `- Follow ./generated/resources/${pkg.slug}/AGENT_RUNBOOK.md, running its commands from ./generated/resources. Set \"colorSystem\": \"${colorSystemToken}\" in the deck JSON.`,\n \"- Use the slide count the user asks for; if unspecified, default to 8 pages.\",\n \"- Build the deck static-first: the final index.html must contain every slide element and all user-visible slide content, with the first slide visible before JavaScript runs.\",\n \"- Do not store slide content in JavaScript data or use JavaScript to create, inject, fetch, hydrate, or replace slide content. JavaScript may only progressively enhance the existing DOM for navigation, controls, themes, or animation.\",\n \"- Host the finished deck: zero host <output-dir> --site <slug> --artifact-kind presentation-html\",\n \"- Return only the generated HTML deck as the final deliverable.\",\n ];\n}\n\nfunction filterByKind(kind: ResourceKind): readonly RegistryEntry[] {\n return RESOURCE_REGISTRY.filter((entry) => {\n return entry.kind === kind;\n });\n}\n\nexport function listImageStyles(): readonly RegistryEntry[] {\n return filterByKind(\"image-style\");\n}\n\nexport function listSkills(): readonly RegistryEntry[] {\n return filterByKind(\"skill\");\n}\n\nexport function findSkill(id: string): RegistryEntry | undefined {\n return listSkills().find((entry) => {\n return entry.id === id;\n });\n}\n\nexport function listTools(): readonly RegistryEntry[] {\n return filterByKind(\"tool\");\n}\n\nexport function findTool(id: string): RegistryEntry | undefined {\n return listTools().find((entry) => {\n return entry.id === id;\n });\n}\n\nexport function findImageStyle(id: string): RegistryEntry | undefined {\n return listImageStyles().find((entry) => {\n return entry.id === id;\n });\n}\n\nconst VIDEO_TEMPLATE_ID_ALIASES: Readonly<Record<string, string>> = {\n \"athletic-motivation\": \"video-template:sports-performance-ad\",\n \"video-template:athletic-motivation\": \"video-template:sports-performance-ad\",\n \"imax-epic-cinematic\": \"video-template:epic-grandeur\",\n \"video-template:imax-epic-cinematic\": \"video-template:epic-grandeur\",\n \"luxury-watch-product\": \"video-template:luxury-product\",\n \"video-template:luxury-watch-product\": \"video-template:luxury-product\",\n};\n\nexport function canonicalizeVideoTemplateId(id: string): string {\n const alias = VIDEO_TEMPLATE_ID_ALIASES[id];\n if (alias) {\n return alias;\n }\n if (id.startsWith(\"video-template:\")) {\n return id;\n }\n return `video-template:${id}`;\n}\n\nexport function listVideoTemplates(): readonly VideoTemplateRegistryEntry[] {\n return VIDEO_TEMPLATE_REGISTRY;\n}\n\nexport function findVideoTemplate(\n id: string,\n): VideoTemplateRegistryEntry | undefined {\n const canonicalId = canonicalizeVideoTemplateId(id);\n return listVideoTemplates().find((entry) => {\n return entry.id === canonicalId;\n });\n}\n\nexport function listDesignSystems(): readonly RegistryEntry[] {\n return filterByKind(\"design-system\");\n}\n\nexport function findDesignSystem(id: string): RegistryEntry | undefined {\n return listDesignSystems().find((entry) => {\n return entry.id === id;\n });\n}\n\nexport function listColorSystems(): readonly RegistryEntry[] {\n return filterByKind(\"color-system\");\n}\n\nexport function findColorSystem(id: string): RegistryEntry | undefined {\n return listColorSystems().find((entry) => {\n return entry.id === id;\n });\n}\n\nexport function listTemplates(\n target?: GenerationTarget,\n): readonly RegistryEntry[] {\n const all = filterByKind(\"template\");\n if (target === undefined) {\n return all;\n }\n const filtered = all.filter((entry) => {\n return entry.targets?.includes(target) ?? false;\n });\n if (target !== \"website\") {\n return filtered;\n }\n const websitePackageEntries = WEBSITE_TEMPLATE_PACKAGES.map(\n websiteTemplatePackageToRegistryEntry,\n ).filter((entry) => {\n return !filtered.some((template) => {\n return template.id === entry.id;\n });\n });\n return [...filtered, ...websitePackageEntries];\n}\n\nexport function findTemplate(id: string): RegistryEntry | undefined {\n return filterByKind(\"template\").find((entry) => {\n return entry.id === id;\n });\n}\n\nexport function toGenerationTarget(value: string): GenerationTarget {\n if (value === \"dashboard\") {\n return \"dashboard-design\";\n }\n\n if (value === \"docs\") {\n return \"docs-design\";\n }\n\n if (value === \"mobile-app\") {\n return \"mobile-app-design\";\n }\n\n return value as GenerationTarget;\n}\n\nexport function selectResourceCandidates(\n target?: GenerationTarget,\n): ResourceCandidateSlice {\n return {\n registryVersion: RESOURCE_REGISTRY_VERSION,\n source: {\n repo: RESOURCE_REGISTRY_REPO,\n ref: RESOURCE_REGISTRY_COMMIT,\n },\n sources: [\n {\n repo: RESOURCE_REGISTRY_REPO,\n ref: RESOURCE_REGISTRY_COMMIT,\n },\n {\n repo: VM0_SKILLS_REPO,\n ref: VM0_SKILLS_REF,\n },\n {\n type: \"r2-archive\",\n description:\n \"Private R2-backed resource archives resolved through authenticated `zero resource pull` requests\",\n },\n ],\n candidates: {\n skills: listSkills(),\n templates: listTemplates(target),\n designSystems: filterByKind(\"design-system\"),\n imageStyles: filterByKind(\"image-style\"),\n audioStyles: filterByKind(\"audio-style\"),\n videoTemplates: listVideoTemplates(),\n bundleTemplates: filterByKind(\"bundle-template\"),\n },\n };\n}\n","export interface WebsiteTemplateItem {\n readonly id: `website-template:${string}`;\n readonly slug: string;\n readonly title: string;\n readonly description: string;\n readonly templateId: `template:${string}`;\n readonly resourceId: `template:${string}`;\n readonly previewKind: \"iframe\";\n readonly previewUrl: string;\n readonly previewImageUrl: string;\n readonly sourcePath: string;\n readonly target: \"website\";\n}\n\n// Curated user-facing website picker catalog. Keep this separate from the\n// generic Open Design website registry so feature-switched users only see vm0\n// built-in R2-backed website templates.\nconst WEBSITE_TEMPLATE_PREVIEW_BASE_URL =\n \"https://static.vm0.io/vm0/artifact-templates/website/website-studio-v2-20260708-5f944f83\";\n\nexport const WEBSITE_TEMPLATE_ITEMS: readonly WebsiteTemplateItem[] = [\n {\n id: \"website-template:black-slabs\",\n slug: \"black-slabs\",\n title: \"Black Slabs\",\n description:\n \"High-contrast editorial website template with monolithic typography, full-bleed showcase panels, metric cards, and electric-indigo accents.\",\n templateId: \"template:black-slabs\",\n resourceId: \"template:black-slabs\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/black-slabs-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/black-slabs-preview-480x270.webp`,\n sourcePath: \"black-slabs\",\n target: \"website\",\n },\n {\n id: \"website-template:blueprint-grid\",\n slug: \"blueprint-grid\",\n title: \"Blueprint Grid\",\n description:\n \"Blueprint-inspired website template with oversized uppercase type, mono labels, ruled editorial grids, and cobalt navigation details.\",\n templateId: \"template:blueprint-grid\",\n resourceId: \"template:blueprint-grid\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/blueprint-grid-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/blueprint-grid-preview-480x270.webp`,\n sourcePath: \"blueprint-grid\",\n target: \"website\",\n },\n {\n id: \"website-template:coastal-hotel\",\n slug: \"coastal-hotel\",\n title: \"Coastal Hotel\",\n description:\n \"Hospitality website template with a crest-style hero, postcard cards, coastal contour details, hairline lists, and travel editorial motion.\",\n templateId: \"template:coastal-hotel\",\n resourceId: \"template:coastal-hotel\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/coastal-hotel-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/coastal-hotel-preview-480x270.webp`,\n sourcePath: \"coastal-hotel\",\n target: \"website\",\n },\n {\n id: \"website-template:dot-matrix\",\n slug: \"dot-matrix\",\n title: \"Dot Matrix\",\n description:\n \"Kinetic website template with LED dot-matrix imagery, an oversized organic wordmark, numbered service indexing, and scrolling tag marquees.\",\n templateId: \"template:dot-matrix\",\n resourceId: \"template:dot-matrix\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/dot-matrix-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/dot-matrix-preview-960x540.webp`,\n sourcePath: \"dot-matrix\",\n target: \"website\",\n },\n {\n id: \"website-template:frame-stack\",\n slug: \"frame-stack\",\n title: \"Frame Stack\",\n description:\n \"Architectural website template with full-bleed connected frames, coordinate labels, axon-style hero blocks, and stacked scroll sections.\",\n templateId: \"template:frame-stack\",\n resourceId: \"template:frame-stack\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/frame-stack-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/frame-stack-preview-480x270.webp`,\n sourcePath: \"frame-stack\",\n target: \"website\",\n },\n {\n id: \"website-template:frosted-scatter\",\n slug: \"frosted-scatter\",\n title: \"Frosted Scatter\",\n description:\n \"Frosted-glass website template with scattered parallax photography, a flashlight grid cursor, line-by-line copy, and oversized numeric storytelling.\",\n templateId: \"template:frosted-scatter\",\n resourceId: \"template:frosted-scatter\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/frosted-scatter-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/frosted-scatter-preview-960x540.webp`,\n sourcePath: \"frosted-scatter\",\n target: \"website\",\n },\n {\n id: \"website-template:gallery-wall\",\n slug: \"gallery-wall\",\n title: \"Gallery Wall\",\n description:\n \"Art-forward website template with cream canvas, painterly texture, framed artwork modules, accession labels, and serif editorial rhythm.\",\n templateId: \"template:gallery-wall\",\n resourceId: \"template:gallery-wall\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/gallery-wall-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/gallery-wall-preview-480x270.webp`,\n sourcePath: \"gallery-wall\",\n target: \"website\",\n },\n {\n id: \"website-template:glass-bloom\",\n slug: \"glass-bloom\",\n title: \"Glass Bloom\",\n description:\n \"Soft glassmorphism website template with frosted panels, blooming gradient light, italic serif accents, and pinned device storytelling.\",\n templateId: \"template:glass-bloom\",\n resourceId: \"template:glass-bloom\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/glass-bloom-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/glass-bloom-preview-480x270.webp`,\n sourcePath: \"glass-bloom\",\n target: \"website\",\n },\n {\n id: \"website-template:serif-stack\",\n slug: \"serif-stack\",\n title: \"Serif Stack\",\n description:\n \"Minimal serif website template with stacked cover sections, playful gravity tag clouds, scattered photos, and a characterful footer.\",\n templateId: \"template:serif-stack\",\n resourceId: \"template:serif-stack\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/serif-stack-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/serif-stack-preview-480x270.webp`,\n sourcePath: \"serif-stack\",\n target: \"website\",\n },\n {\n id: \"website-template:sticker-pop\",\n slug: \"sticker-pop\",\n title: \"Sticker Pop\",\n description:\n \"Playful website template with sticker cards, outlined serif type, warm cream palette, circular imagery, and sticky story panels.\",\n templateId: \"template:sticker-pop\",\n resourceId: \"template:sticker-pop\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/sticker-pop-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/sticker-pop-preview-480x270.webp`,\n sourcePath: \"sticker-pop\",\n target: \"website\",\n },\n {\n id: \"website-template:warm-cards\",\n slug: \"warm-cards\",\n title: \"Warm Cards\",\n description:\n \"Playful website template with a numbered color-block sidebar, soft full-screen cards, image-led hero, ticker content, and oversized footer wordmark.\",\n templateId: \"template:warm-cards\",\n resourceId: \"template:warm-cards\",\n previewKind: \"iframe\",\n previewUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/warm-cards-example.html`,\n previewImageUrl: `${WEBSITE_TEMPLATE_PREVIEW_BASE_URL}/warm-cards-preview-480x270.webp`,\n sourcePath: \"warm-cards\",\n target: \"website\",\n },\n];\n\nexport function findWebsiteTemplateItem(\n id: string,\n): WebsiteTemplateItem | undefined {\n return WEBSITE_TEMPLATE_ITEMS.find((item) => {\n return (\n item.id === id ||\n item.slug === id ||\n item.templateId === id ||\n item.resourceId === id\n );\n });\n}\n"],"mappings":"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","names":["pkg"]}