@openpresentation/opf 0.1.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.
- package/LICENSE +21 -0
- package/README.md +103 -0
- package/dist/catalogs.d.ts +33933 -0
- package/dist/catalogs.js +19113 -0
- package/dist/catalogs.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +25815 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas.d.ts +12361 -0
- package/dist/schemas.js +6266 -0
- package/dist/schemas.js.map +1 -0
- package/dist/spec/catalogs/audiences/all-hands.json +23 -0
- package/dist/spec/catalogs/audiences/board.json +22 -0
- package/dist/spec/catalogs/audiences/candidates.json +23 -0
- package/dist/spec/catalogs/audiences/customers.json +23 -0
- package/dist/spec/catalogs/audiences/engineering-team.json +23 -0
- package/dist/spec/catalogs/audiences/executives.json +23 -0
- package/dist/spec/catalogs/audiences/index.json +67 -0
- package/dist/spec/catalogs/audiences/investors.json +23 -0
- package/dist/spec/catalogs/audiences/marketing-team.json +23 -0
- package/dist/spec/catalogs/audiences/regulators.json +23 -0
- package/dist/spec/catalogs/audiences/sales-team.json +23 -0
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar-2x.json +90 -0
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar-3x.json +102 -0
- package/dist/spec/catalogs/chart-types/100pct-bullet-bar.json +78 -0
- package/dist/spec/catalogs/chart-types/100pct-bullet-column-2x.json +90 -0
- package/dist/spec/catalogs/chart-types/100pct-bullet-column-3x.json +102 -0
- package/dist/spec/catalogs/chart-types/100pct-bullet-column.json +78 -0
- package/dist/spec/catalogs/chart-types/100pct-progress-bar.json +99 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-area-2x.json +100 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-area-3x.json +122 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-bar-2x.json +83 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-bar-3x.json +99 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-column-2x.json +89 -0
- package/dist/spec/catalogs/chart-types/100pct-stacked-column-3x.json +107 -0
- package/dist/spec/catalogs/chart-types/area.json +77 -0
- package/dist/spec/catalogs/chart-types/australia.json +70 -0
- package/dist/spec/catalogs/chart-types/bar.json +67 -0
- package/dist/spec/catalogs/chart-types/box-and-whisker-2x.json +130 -0
- package/dist/spec/catalogs/chart-types/box-and-whisker-3x.json +162 -0
- package/dist/spec/catalogs/chart-types/box-and-whisker.json +98 -0
- package/dist/spec/catalogs/chart-types/bullet-bar-2x.json +88 -0
- package/dist/spec/catalogs/chart-types/bullet-bar-3x.json +100 -0
- package/dist/spec/catalogs/chart-types/bullet-bar.json +76 -0
- package/dist/spec/catalogs/chart-types/bullet-column-2x.json +88 -0
- package/dist/spec/catalogs/chart-types/bullet-column-3x.json +100 -0
- package/dist/spec/catalogs/chart-types/bullet-column.json +76 -0
- package/dist/spec/catalogs/chart-types/canada.json +80 -0
- package/dist/spec/catalogs/chart-types/clustered-bar-2x.json +83 -0
- package/dist/spec/catalogs/chart-types/clustered-column.json +89 -0
- package/dist/spec/catalogs/chart-types/column.json +71 -0
- package/dist/spec/catalogs/chart-types/dot-plot-2x.json +98 -0
- package/dist/spec/catalogs/chart-types/dot-plot-3x.json +123 -0
- package/dist/spec/catalogs/chart-types/dot-plot-4x.json +148 -0
- package/dist/spec/catalogs/chart-types/dot-plot-5x.json +173 -0
- package/dist/spec/catalogs/chart-types/dot-plot-6x.json +198 -0
- package/dist/spec/catalogs/chart-types/dot-plot.json +73 -0
- package/dist/spec/catalogs/chart-types/doughnut.json +57 -0
- package/dist/spec/catalogs/chart-types/dumbbell.json +119 -0
- package/dist/spec/catalogs/chart-types/filled-radar.json +70 -0
- package/dist/spec/catalogs/chart-types/funnel.json +64 -0
- package/dist/spec/catalogs/chart-types/histogram.json +145 -0
- package/dist/spec/catalogs/chart-types/index.json +843 -0
- package/dist/spec/catalogs/chart-types/line-2x.json +99 -0
- package/dist/spec/catalogs/chart-types/line-3x.json +121 -0
- package/dist/spec/catalogs/chart-types/line-with-high-low-and-markers.json +143 -0
- package/dist/spec/catalogs/chart-types/line-with-high-low.json +143 -0
- package/dist/spec/catalogs/chart-types/line-with-markers-2x.json +100 -0
- package/dist/spec/catalogs/chart-types/line-with-markers-3x.json +122 -0
- package/dist/spec/catalogs/chart-types/line-with-markers.json +78 -0
- package/dist/spec/catalogs/chart-types/line.json +77 -0
- package/dist/spec/catalogs/chart-types/pareto.json +163 -0
- package/dist/spec/catalogs/chart-types/pie.json +57 -0
- package/dist/spec/catalogs/chart-types/radar-with-markers.json +70 -0
- package/dist/spec/catalogs/chart-types/radar.json +70 -0
- package/dist/spec/catalogs/chart-types/scatter.json +91 -0
- package/dist/spec/catalogs/chart-types/sparkline-2x.json +137 -0
- package/dist/spec/catalogs/chart-types/sparkline-3x.json +173 -0
- package/dist/spec/catalogs/chart-types/sparkline-4x.json +209 -0
- package/dist/spec/catalogs/chart-types/sparkline-5x.json +245 -0
- package/dist/spec/catalogs/chart-types/sparkline-6x.json +281 -0
- package/dist/spec/catalogs/chart-types/sparkline.json +101 -0
- package/dist/spec/catalogs/chart-types/stacked-area-2x.json +100 -0
- package/dist/spec/catalogs/chart-types/stacked-area-3x.json +122 -0
- package/dist/spec/catalogs/chart-types/stacked-bar-2x.json +83 -0
- package/dist/spec/catalogs/chart-types/stacked-bar-3x.json +99 -0
- package/dist/spec/catalogs/chart-types/stacked-column-2x.json +89 -0
- package/dist/spec/catalogs/chart-types/stacked-column-3x.json +107 -0
- package/dist/spec/catalogs/chart-types/stacked-line-2x.json +100 -0
- package/dist/spec/catalogs/chart-types/stacked-line-3x.json +122 -0
- package/dist/spec/catalogs/chart-types/stacked-line-with-markers-2x.json +101 -0
- package/dist/spec/catalogs/chart-types/stacked-line-with-markers-3x.json +123 -0
- package/dist/spec/catalogs/chart-types/treemap-2x.json +95 -0
- package/dist/spec/catalogs/chart-types/treemap-3x.json +116 -0
- package/dist/spec/catalogs/chart-types/treemap.json +66 -0
- package/dist/spec/catalogs/chart-types/united-kindom.json +62 -0
- package/dist/spec/catalogs/chart-types/united-states.json +76 -0
- package/dist/spec/catalogs/chart-types/waterfall.json +70 -0
- package/dist/spec/catalogs/chart-types/world.json +82 -0
- package/dist/spec/catalogs/color-schemes/black-and-white.json +17 -0
- package/dist/spec/catalogs/color-schemes/bold-red.json +17 -0
- package/dist/spec/catalogs/color-schemes/boost.json +17 -0
- package/dist/spec/catalogs/color-schemes/burnt-orange.json +17 -0
- package/dist/spec/catalogs/color-schemes/cool-horizon.json +17 -0
- package/dist/spec/catalogs/color-schemes/corporate-blue.json +17 -0
- package/dist/spec/catalogs/color-schemes/deep-purple.json +17 -0
- package/dist/spec/catalogs/color-schemes/forest-green.json +17 -0
- package/dist/spec/catalogs/color-schemes/golden-yellow.json +17 -0
- package/dist/spec/catalogs/color-schemes/index.json +77 -0
- package/dist/spec/catalogs/color-schemes/luxury.json +17 -0
- package/dist/spec/catalogs/color-schemes/pastel-red.json +17 -0
- package/dist/spec/catalogs/color-schemes/slate-gray.json +17 -0
- package/dist/spec/catalogs/color-schemes/steel-blue.json +17 -0
- package/dist/spec/catalogs/color-schemes/vibes.json +17 -0
- package/dist/spec/catalogs/font-schemes/angsana-new.json +14 -0
- package/dist/spec/catalogs/font-schemes/aparajita.json +15 -0
- package/dist/spec/catalogs/font-schemes/aptos.json +12 -0
- package/dist/spec/catalogs/font-schemes/arabic-typesetting.json +14 -0
- package/dist/spec/catalogs/font-schemes/arial.json +12 -0
- package/dist/spec/catalogs/font-schemes/batang.json +14 -0
- package/dist/spec/catalogs/font-schemes/bookman.json +12 -0
- package/dist/spec/catalogs/font-schemes/calibri.json +12 -0
- package/dist/spec/catalogs/font-schemes/century-schoolbook.json +12 -0
- package/dist/spec/catalogs/font-schemes/consolas.json +12 -0
- package/dist/spec/catalogs/font-schemes/constantia.json +12 -0
- package/dist/spec/catalogs/font-schemes/courier-new.json +12 -0
- package/dist/spec/catalogs/font-schemes/daunpenh.json +14 -0
- package/dist/spec/catalogs/font-schemes/david.json +14 -0
- package/dist/spec/catalogs/font-schemes/dilleniaupc.json +14 -0
- package/dist/spec/catalogs/font-schemes/fangsong.json +14 -0
- package/dist/spec/catalogs/font-schemes/garamond.json +12 -0
- package/dist/spec/catalogs/font-schemes/gautami.json +14 -0
- package/dist/spec/catalogs/font-schemes/georgia.json +12 -0
- package/dist/spec/catalogs/font-schemes/gisha.json +15 -0
- package/dist/spec/catalogs/font-schemes/grandview.json +12 -0
- package/dist/spec/catalogs/font-schemes/gungsuh.json +14 -0
- package/dist/spec/catalogs/font-schemes/impact.json +12 -0
- package/dist/spec/catalogs/font-schemes/index.json +452 -0
- package/dist/spec/catalogs/font-schemes/kalinga.json +14 -0
- package/dist/spec/catalogs/font-schemes/kartika.json +14 -0
- package/dist/spec/catalogs/font-schemes/khmer-ui.json +14 -0
- package/dist/spec/catalogs/font-schemes/latha.json +14 -0
- package/dist/spec/catalogs/font-schemes/lucida-sans.json +12 -0
- package/dist/spec/catalogs/font-schemes/malgun-gothic.json +14 -0
- package/dist/spec/catalogs/font-schemes/mangal.json +17 -0
- package/dist/spec/catalogs/font-schemes/meiryo.json +14 -0
- package/dist/spec/catalogs/font-schemes/microsoft-jhenghei.json +14 -0
- package/dist/spec/catalogs/font-schemes/microsoft-yahei.json +17 -0
- package/dist/spec/catalogs/font-schemes/mingliu.json +14 -0
- package/dist/spec/catalogs/font-schemes/miriam.json +14 -0
- package/dist/spec/catalogs/font-schemes/montserrat.json +12 -0
- package/dist/spec/catalogs/font-schemes/ms-mincho.json +14 -0
- package/dist/spec/catalogs/font-schemes/nirmala-ui.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-naksh-arabic.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-nastaliq-urdu.json +15 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-arabic.json +16 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-armenian.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-bengali.json +15 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-devangari.json +15 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-ethiopic.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-georgian.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-gujarati.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-gurmukhi.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-hebrew.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-jp.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-kannada.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-khmer.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-kr.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-malayalam.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-mongolian.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-oriya.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-sc.json +17 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-tamil.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-tc.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-telugu.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans-thai.json +14 -0
- package/dist/spec/catalogs/font-schemes/noto-sans.json +17 -0
- package/dist/spec/catalogs/font-schemes/nyala.json +14 -0
- package/dist/spec/catalogs/font-schemes/open-sans.json +12 -0
- package/dist/spec/catalogs/font-schemes/pmingliu.json +14 -0
- package/dist/spec/catalogs/font-schemes/poppins.json +12 -0
- package/dist/spec/catalogs/font-schemes/pt-serif.json +12 -0
- package/dist/spec/catalogs/font-schemes/raavi.json +14 -0
- package/dist/spec/catalogs/font-schemes/raleway.json +12 -0
- package/dist/spec/catalogs/font-schemes/roboto.json +12 -0
- package/dist/spec/catalogs/font-schemes/rockwell.json +12 -0
- package/dist/spec/catalogs/font-schemes/sakkal-majalla.json +16 -0
- package/dist/spec/catalogs/font-schemes/seaford.json +12 -0
- package/dist/spec/catalogs/font-schemes/segoe-ui-light.json +12 -0
- package/dist/spec/catalogs/font-schemes/segoe-ui.json +12 -0
- package/dist/spec/catalogs/font-schemes/shonar-bangla.json +15 -0
- package/dist/spec/catalogs/font-schemes/shruti.json +14 -0
- package/dist/spec/catalogs/font-schemes/simsun.json +14 -0
- package/dist/spec/catalogs/font-schemes/skeena.json +12 -0
- package/dist/spec/catalogs/font-schemes/sylfaen.json +15 -0
- package/dist/spec/catalogs/font-schemes/tahoma.json +12 -0
- package/dist/spec/catalogs/font-schemes/tenorite.json +12 -0
- package/dist/spec/catalogs/font-schemes/times-new-roman.json +12 -0
- package/dist/spec/catalogs/font-schemes/traditional-arabic.json +16 -0
- package/dist/spec/catalogs/font-schemes/trebuchet-ms.json +12 -0
- package/dist/spec/catalogs/font-schemes/tunga.json +14 -0
- package/dist/spec/catalogs/font-schemes/verdana.json +12 -0
- package/dist/spec/catalogs/font-schemes/vrinda.json +14 -0
- package/dist/spec/catalogs/font-schemes/yu-gothic.json +14 -0
- package/dist/spec/catalogs/languages/afrikaans.json +9 -0
- package/dist/spec/catalogs/languages/albanian.json +9 -0
- package/dist/spec/catalogs/languages/amharic.json +9 -0
- package/dist/spec/catalogs/languages/arabic.json +9 -0
- package/dist/spec/catalogs/languages/armenian.json +9 -0
- package/dist/spec/catalogs/languages/aymara.json +9 -0
- package/dist/spec/catalogs/languages/azerbaijani.json +9 -0
- package/dist/spec/catalogs/languages/bengali.json +9 -0
- package/dist/spec/catalogs/languages/berber-latin.json +9 -0
- package/dist/spec/catalogs/languages/bosnian-latin.json +9 -0
- package/dist/spec/catalogs/languages/bulgarian.json +9 -0
- package/dist/spec/catalogs/languages/catalan.json +9 -0
- package/dist/spec/catalogs/languages/cebuano.json +9 -0
- package/dist/spec/catalogs/languages/chinese-simplified.json +9 -0
- package/dist/spec/catalogs/languages/chinese-traditional.json +9 -0
- package/dist/spec/catalogs/languages/chittagonian.json +9 -0
- package/dist/spec/catalogs/languages/croatian.json +9 -0
- package/dist/spec/catalogs/languages/czech.json +9 -0
- package/dist/spec/catalogs/languages/danish.json +9 -0
- package/dist/spec/catalogs/languages/dutch.json +9 -0
- package/dist/spec/catalogs/languages/english-au.json +9 -0
- package/dist/spec/catalogs/languages/english-ca.json +9 -0
- package/dist/spec/catalogs/languages/english-gb.json +9 -0
- package/dist/spec/catalogs/languages/english-in.json +9 -0
- package/dist/spec/catalogs/languages/english-us.json +9 -0
- package/dist/spec/catalogs/languages/english.json +9 -0
- package/dist/spec/catalogs/languages/estonian.json +9 -0
- package/dist/spec/catalogs/languages/filipino.json +9 -0
- package/dist/spec/catalogs/languages/finnish.json +9 -0
- package/dist/spec/catalogs/languages/french.json +9 -0
- package/dist/spec/catalogs/languages/fulfulde.json +9 -0
- package/dist/spec/catalogs/languages/galician.json +9 -0
- package/dist/spec/catalogs/languages/georgian.json +9 -0
- package/dist/spec/catalogs/languages/german.json +9 -0
- package/dist/spec/catalogs/languages/greek.json +9 -0
- package/dist/spec/catalogs/languages/gujarati.json +9 -0
- package/dist/spec/catalogs/languages/hausa.json +9 -0
- package/dist/spec/catalogs/languages/hebrew.json +9 -0
- package/dist/spec/catalogs/languages/hindi.json +9 -0
- package/dist/spec/catalogs/languages/hungarian.json +9 -0
- package/dist/spec/catalogs/languages/igbo.json +9 -0
- package/dist/spec/catalogs/languages/index.json +565 -0
- package/dist/spec/catalogs/languages/indonesian.json +9 -0
- package/dist/spec/catalogs/languages/italian.json +9 -0
- package/dist/spec/catalogs/languages/japanese.json +9 -0
- package/dist/spec/catalogs/languages/kannada.json +9 -0
- package/dist/spec/catalogs/languages/kazakh.json +9 -0
- package/dist/spec/catalogs/languages/khmer.json +9 -0
- package/dist/spec/catalogs/languages/kinyarwanda.json +9 -0
- package/dist/spec/catalogs/languages/korean.json +9 -0
- package/dist/spec/catalogs/languages/kurmanji.json +9 -0
- package/dist/spec/catalogs/languages/latvian.json +9 -0
- package/dist/spec/catalogs/languages/lithuanian.json +9 -0
- package/dist/spec/catalogs/languages/macedonian.json +9 -0
- package/dist/spec/catalogs/languages/malagasy.json +9 -0
- package/dist/spec/catalogs/languages/malay.json +9 -0
- package/dist/spec/catalogs/languages/malayalam.json +9 -0
- package/dist/spec/catalogs/languages/maori.json +9 -0
- package/dist/spec/catalogs/languages/marathi.json +9 -0
- package/dist/spec/catalogs/languages/mongolian.json +9 -0
- package/dist/spec/catalogs/languages/nepali.json +9 -0
- package/dist/spec/catalogs/languages/norwegian.json +9 -0
- package/dist/spec/catalogs/languages/odia.json +9 -0
- package/dist/spec/catalogs/languages/oromo.json +9 -0
- package/dist/spec/catalogs/languages/pashto.json +9 -0
- package/dist/spec/catalogs/languages/persian.json +9 -0
- package/dist/spec/catalogs/languages/polish.json +9 -0
- package/dist/spec/catalogs/languages/portuguese.json +9 -0
- package/dist/spec/catalogs/languages/punjabi-gurmukhi.json +9 -0
- package/dist/spec/catalogs/languages/punjabi-shahmukhi.json +9 -0
- package/dist/spec/catalogs/languages/romanian.json +9 -0
- package/dist/spec/catalogs/languages/russian.json +9 -0
- package/dist/spec/catalogs/languages/serbian-cyrillic.json +9 -0
- package/dist/spec/catalogs/languages/serbian-latin.json +9 -0
- package/dist/spec/catalogs/languages/shona.json +9 -0
- package/dist/spec/catalogs/languages/slovak.json +9 -0
- package/dist/spec/catalogs/languages/slovenian.json +9 -0
- package/dist/spec/catalogs/languages/somali.json +9 -0
- package/dist/spec/catalogs/languages/spanish.json +9 -0
- package/dist/spec/catalogs/languages/swahili.json +9 -0
- package/dist/spec/catalogs/languages/swedish.json +9 -0
- package/dist/spec/catalogs/languages/tagalog.json +9 -0
- package/dist/spec/catalogs/languages/tajik.json +9 -0
- package/dist/spec/catalogs/languages/tamil.json +9 -0
- package/dist/spec/catalogs/languages/telugu.json +9 -0
- package/dist/spec/catalogs/languages/thai.json +9 -0
- package/dist/spec/catalogs/languages/turkish.json +9 -0
- package/dist/spec/catalogs/languages/ukrainian.json +9 -0
- package/dist/spec/catalogs/languages/urdu.json +9 -0
- package/dist/spec/catalogs/languages/uzbek-latin.json +9 -0
- package/dist/spec/catalogs/languages/vietnamese-quoc-ngu.json +9 -0
- package/dist/spec/catalogs/languages/xhosa.json +9 -0
- package/dist/spec/catalogs/languages/yoruba.json +9 -0
- package/dist/spec/catalogs/languages/zulu.json +9 -0
- package/dist/spec/catalogs/layouts/blank.json +6 -0
- package/dist/spec/catalogs/layouts/chart-1x.json +16 -0
- package/dist/spec/catalogs/layouts/chart-2x.json +22 -0
- package/dist/spec/catalogs/layouts/chart-3x.json +28 -0
- package/dist/spec/catalogs/layouts/code-1x.json +16 -0
- package/dist/spec/catalogs/layouts/extract/canonical.json +487 -0
- package/dist/spec/catalogs/layouts/image-1x.json +16 -0
- package/dist/spec/catalogs/layouts/image-2x.json +22 -0
- package/dist/spec/catalogs/layouts/image-3x.json +28 -0
- package/dist/spec/catalogs/layouts/image-bleed.json +10 -0
- package/dist/spec/catalogs/layouts/index.json +147 -0
- package/dist/spec/catalogs/layouts/list-1x.json +13 -0
- package/dist/spec/catalogs/layouts/list-2x.json +16 -0
- package/dist/spec/catalogs/layouts/list-3x.json +19 -0
- package/dist/spec/catalogs/layouts/list-4x.json +22 -0
- package/dist/spec/catalogs/layouts/list-5x.json +25 -0
- package/dist/spec/catalogs/layouts/list-6x.json +28 -0
- package/dist/spec/catalogs/layouts/media-1x.json +16 -0
- package/dist/spec/catalogs/layouts/number-1x.json +13 -0
- package/dist/spec/catalogs/layouts/number-2x.json +16 -0
- package/dist/spec/catalogs/layouts/number-3x.json +19 -0
- package/dist/spec/catalogs/layouts/number-4x.json +22 -0
- package/dist/spec/catalogs/layouts/number-5x.json +25 -0
- package/dist/spec/catalogs/layouts/number-6x.json +28 -0
- package/dist/spec/catalogs/layouts/table-1x.json +16 -0
- package/dist/spec/catalogs/layouts/text-1x.json +13 -0
- package/dist/spec/catalogs/layouts/text-2x.json +16 -0
- package/dist/spec/catalogs/layouts/text-3x.json +19 -0
- package/dist/spec/catalogs/layouts/title-subtitle.json +13 -0
- package/dist/spec/catalogs/layouts/title.json +10 -0
- package/dist/spec/catalogs/narratives/board-meeting.json +192 -0
- package/dist/spec/catalogs/narratives/business-narrative.json +87 -0
- package/dist/spec/catalogs/narratives/business-review.json +119 -0
- package/dist/spec/catalogs/narratives/capacity-planning.json +88 -0
- package/dist/spec/catalogs/narratives/challenge-resolution.json +80 -0
- package/dist/spec/catalogs/narratives/classic-story.json +78 -0
- package/dist/spec/catalogs/narratives/company-intro.json +96 -0
- package/dist/spec/catalogs/narratives/conference-talk.json +54 -0
- package/dist/spec/catalogs/narratives/early-startup-pitch.json +119 -0
- package/dist/spec/catalogs/narratives/educate.json +95 -0
- package/dist/spec/catalogs/narratives/employee-review.json +87 -0
- package/dist/spec/catalogs/narratives/failure-analysis.json +104 -0
- package/dist/spec/catalogs/narratives/focus.json +120 -0
- package/dist/spec/catalogs/narratives/golden-circle.json +50 -0
- package/dist/spec/catalogs/narratives/index.json +358 -0
- package/dist/spec/catalogs/narratives/innovation.json +96 -0
- package/dist/spec/catalogs/narratives/justice.json +112 -0
- package/dist/spec/catalogs/narratives/marketing-strategy.json +111 -0
- package/dist/spec/catalogs/narratives/performance-improvement-plan.json +87 -0
- package/dist/spec/catalogs/narratives/performance-review.json +111 -0
- package/dist/spec/catalogs/narratives/persuade.json +94 -0
- package/dist/spec/catalogs/narratives/persuasive-sales.json +87 -0
- package/dist/spec/catalogs/narratives/pitch-deck.json +107 -0
- package/dist/spec/catalogs/narratives/problem-solution.json +61 -0
- package/dist/spec/catalogs/narratives/product-launch.json +104 -0
- package/dist/spec/catalogs/narratives/project-proposal.json +104 -0
- package/dist/spec/catalogs/narratives/qbr.json +85 -0
- package/dist/spec/catalogs/narratives/rags-to-riches.json +80 -0
- package/dist/spec/catalogs/narratives/reveal.json +87 -0
- package/dist/spec/catalogs/narratives/scqa.json +55 -0
- package/dist/spec/catalogs/narratives/status-update.json +72 -0
- package/dist/spec/catalogs/narratives/strategic-advisory.json +85 -0
- package/dist/spec/catalogs/narratives/strategic-narrative.json +61 -0
- package/dist/spec/catalogs/narratives/survey-analysis.json +104 -0
- package/dist/spec/catalogs/narratives/survival-story.json +103 -0
- package/dist/spec/catalogs/narratives/transformation-arc.json +50 -0
- package/dist/spec/catalogs/narratives/trend-analysis.json +79 -0
- package/dist/spec/catalogs/narratives/underdog-victory.json +87 -0
- package/dist/spec/catalogs/narratives/venture-pitch.json +109 -0
- package/dist/spec/catalogs/narratives/weekly-progress.json +103 -0
- package/dist/spec/catalogs/purposes/align.json +16 -0
- package/dist/spec/catalogs/purposes/decide.json +16 -0
- package/dist/spec/catalogs/purposes/educate.json +16 -0
- package/dist/spec/catalogs/purposes/index.json +61 -0
- package/dist/spec/catalogs/purposes/inform.json +16 -0
- package/dist/spec/catalogs/purposes/persuade.json +16 -0
- package/dist/spec/catalogs/purposes/pitch.json +16 -0
- package/dist/spec/catalogs/purposes/plan.json +16 -0
- package/dist/spec/catalogs/purposes/report.json +16 -0
- package/dist/spec/catalogs/purposes/sell.json +16 -0
- package/dist/spec/catalogs/social-platforms/bluesky.json +14 -0
- package/dist/spec/catalogs/social-platforms/facebook.json +14 -0
- package/dist/spec/catalogs/social-platforms/github.json +15 -0
- package/dist/spec/catalogs/social-platforms/index.json +68 -0
- package/dist/spec/catalogs/social-platforms/instagram.json +13 -0
- package/dist/spec/catalogs/social-platforms/linkedin.json +15 -0
- package/dist/spec/catalogs/social-platforms/mastodon.json +14 -0
- package/dist/spec/catalogs/social-platforms/threads.json +13 -0
- package/dist/spec/catalogs/social-platforms/tiktok.json +14 -0
- package/dist/spec/catalogs/social-platforms/x.json +14 -0
- package/dist/spec/catalogs/social-platforms/youtube.json +14 -0
- package/dist/spec/catalogs/themes/bold.json +13 -0
- package/dist/spec/catalogs/themes/classic.json +13 -0
- package/dist/spec/catalogs/themes/dark.json +13 -0
- package/dist/spec/catalogs/themes/index.json +31 -0
- package/dist/spec/catalogs/themes/minimal.json +13 -0
- package/dist/spec/catalogs/tones/authoritative.json +31 -0
- package/dist/spec/catalogs/tones/casual.json +31 -0
- package/dist/spec/catalogs/tones/conversational.json +31 -0
- package/dist/spec/catalogs/tones/formal.json +31 -0
- package/dist/spec/catalogs/tones/index.json +49 -0
- package/dist/spec/catalogs/tones/inspirational.json +31 -0
- package/dist/spec/catalogs/tones/persuasive.json +32 -0
- package/dist/spec/catalogs/tones/technical.json +31 -0
- package/dist/spec/openapi.yaml +776 -0
- package/dist/spec/reference/engine-defaults.json +35 -0
- package/dist/spec/schemas/audience.schema.json +156 -0
- package/dist/spec/schemas/chart-type.schema.json +537 -0
- package/dist/spec/schemas/color-scheme.schema.json +200 -0
- package/dist/spec/schemas/font-scheme.schema.json +174 -0
- package/dist/spec/schemas/language.schema.json +158 -0
- package/dist/spec/schemas/layout.schema.json +280 -0
- package/dist/spec/schemas/narrative.schema.json +207 -0
- package/dist/spec/schemas/opf.schema.json +2537 -0
- package/dist/spec/schemas/purpose.schema.json +92 -0
- package/dist/spec/schemas/social-platform.schema.json +184 -0
- package/dist/spec/schemas/theme.schema.json +168 -0
- package/dist/spec/schemas/tone.schema.json +146 -0
- package/dist/types.d.ts +1102 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/validator-Be5EzqAt.d.ts +2700 -0
- package/dist/validator.d.ts +3 -0
- package/dist/validator.js +6694 -0
- package/dist/validator.js.map +1 -0
- package/package.json +80 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
+
"id": "marketing-strategy",
|
|
4
|
+
"name": "Marketing Strategy",
|
|
5
|
+
"summary": "Comprehensive go-to-market strategy arc structured around the 4Ps. Use for category launches, annual marketing plans, and any deck where the audience needs to see customer, market, competition, and tactics in one coherent picture.",
|
|
6
|
+
"audienceFit": [
|
|
7
|
+
"marketing-leaders",
|
|
8
|
+
"executives",
|
|
9
|
+
"cross-functional-partners"
|
|
10
|
+
],
|
|
11
|
+
"durationRange": {
|
|
12
|
+
"minMinutes": 30,
|
|
13
|
+
"maxMinutes": 60
|
|
14
|
+
},
|
|
15
|
+
"tags": [
|
|
16
|
+
"go-to-market",
|
|
17
|
+
"marketing",
|
|
18
|
+
"strategy",
|
|
19
|
+
"planning"
|
|
20
|
+
],
|
|
21
|
+
"beats": [
|
|
22
|
+
{
|
|
23
|
+
"id": "introduction",
|
|
24
|
+
"name": "Introduction",
|
|
25
|
+
"description": "Open by establishing the product or service this strategy is for, and what window of time it covers. One slide that tells the audience exactly which world they're being asked to weigh in on.",
|
|
26
|
+
"instructions": "Establish product/service specifics",
|
|
27
|
+
"slideType": "text",
|
|
28
|
+
"layoutHint": "text-1x-left"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "objective",
|
|
32
|
+
"name": "Objective",
|
|
33
|
+
"description": "State the marketing goals in measurable terms: revenue, pipeline, awareness, share. Two or three goals, ranked. Goals without ranking get equal energy and equal mediocrity.",
|
|
34
|
+
"instructions": "Share marketing goals",
|
|
35
|
+
"slideType": "text",
|
|
36
|
+
"layoutHint": "text-1x-left"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "customer",
|
|
40
|
+
"name": "Customer",
|
|
41
|
+
"description": "Detail the target audience. Segments, jobs-to-be-done, decision criteria, where they live in the buying cycle. Specificity here is the foundation everything else stands on.",
|
|
42
|
+
"instructions": "Detail target audience",
|
|
43
|
+
"slideType": "text",
|
|
44
|
+
"layoutHint": "text-1x-left"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "market",
|
|
48
|
+
"name": "Market",
|
|
49
|
+
"description": "Describe the market landscape: size, growth, segments, behavioral trends. Use external data for credibility and your own research for nuance. Show how the market is changing, not just how big it is.",
|
|
50
|
+
"instructions": "Discuss market landscape",
|
|
51
|
+
"slideType": "text",
|
|
52
|
+
"layoutHint": "text-1x-left"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "competition",
|
|
56
|
+
"name": "Competition",
|
|
57
|
+
"description": "Map the competitive set honestly. Direct, indirect, and substitutes. A 2x2 or feature-comparison framework helps; what matters is that the audience trusts your read of the field.",
|
|
58
|
+
"instructions": "Analyze competitive environment",
|
|
59
|
+
"slideType": "text",
|
|
60
|
+
"layoutHint": "text-1x-left"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "strategy",
|
|
64
|
+
"name": "Strategy",
|
|
65
|
+
"description": "Articulate the marketing approach in one sentence and a single supporting frame. Positioning, primary motion, where you choose to play and not play. Clarity here is what makes the tactics that follow coherent.",
|
|
66
|
+
"instructions": "Elaborate marketing approach",
|
|
67
|
+
"slideType": "text",
|
|
68
|
+
"layoutHint": "text-1x-left"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "product",
|
|
72
|
+
"name": "Product",
|
|
73
|
+
"description": "Highlight the unique value the product brings to the strategy. Lead with the customer outcome; tie it directly back to the customer beat. Avoid feature soup.",
|
|
74
|
+
"instructions": "Highlight unique value",
|
|
75
|
+
"slideType": "text",
|
|
76
|
+
"layoutHint": "text-1x-left"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"id": "price",
|
|
80
|
+
"name": "Price",
|
|
81
|
+
"description": "Justify pricing and packaging. Show the logic — cost-plus, value-based, competitor-anchored — and the levers you'll use over the period. Price decisions are strategy decisions.",
|
|
82
|
+
"instructions": "Justify pricing strategy",
|
|
83
|
+
"slideType": "text",
|
|
84
|
+
"layoutHint": "text-1x-left"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"id": "place",
|
|
88
|
+
"name": "Place",
|
|
89
|
+
"description": "Describe distribution channels and the role each plays. Direct, partner, marketplace, retail. Channel mix is often where strategies quietly succeed or fail.",
|
|
90
|
+
"instructions": "Discuss distribution channels",
|
|
91
|
+
"slideType": "text",
|
|
92
|
+
"layoutHint": "text-1x-left"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "promotion",
|
|
96
|
+
"name": "Promotion",
|
|
97
|
+
"description": "Reveal the campaign and content tactics that bring the strategy to market. Pair each tactic with the audience and metric it serves. Avoid listing channels for their own sake.",
|
|
98
|
+
"instructions": "Reveal promotional tactics",
|
|
99
|
+
"slideType": "text",
|
|
100
|
+
"layoutHint": "text-1x-left"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"id": "summary",
|
|
104
|
+
"name": "Summary",
|
|
105
|
+
"description": "Recap the strategy in a single page: customer, position, motion, expected outcome. End with the decision or commitment you need from the audience.",
|
|
106
|
+
"layoutHint": "title-left",
|
|
107
|
+
"instructions": "Recap key points",
|
|
108
|
+
"slideType": "text"
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
+
"id": "performance-improvement-plan",
|
|
4
|
+
"name": "Performance Improvement Plan",
|
|
5
|
+
"summary": "Structured PIP arc that helps a struggling employee see expectations clearly, understand the gap, and walk into a credible improvement path. Designed to be respectful, specific, and outcome-focused — not punitive.",
|
|
6
|
+
"audienceFit": [
|
|
7
|
+
"employee",
|
|
8
|
+
"manager",
|
|
9
|
+
"hr-partner"
|
|
10
|
+
],
|
|
11
|
+
"durationRange": {
|
|
12
|
+
"minMinutes": 30,
|
|
13
|
+
"maxMinutes": 60
|
|
14
|
+
},
|
|
15
|
+
"tags": [
|
|
16
|
+
"workforce",
|
|
17
|
+
"hr",
|
|
18
|
+
"performance",
|
|
19
|
+
"manager"
|
|
20
|
+
],
|
|
21
|
+
"beats": [
|
|
22
|
+
{
|
|
23
|
+
"id": "introduction",
|
|
24
|
+
"name": "Introduction",
|
|
25
|
+
"description": "Begin respectfully and set a constructive tone. Be clear about what this conversation is and isn't. The opening shouldn't catastrophize or sugarcoat — clarity is kinder than either.",
|
|
26
|
+
"instructions": "Begin respectfully and positively",
|
|
27
|
+
"slideType": "text",
|
|
28
|
+
"layoutHint": "text-1x-left"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "set-expectations",
|
|
32
|
+
"name": "Set Expectations",
|
|
33
|
+
"description": "Detail the level of performance expected in the role. Specific behaviors, deliverables, and standards. Expectations the employee can't quote back are expectations they can't meet.",
|
|
34
|
+
"instructions": "Detail desired performance",
|
|
35
|
+
"slideType": "text",
|
|
36
|
+
"layoutHint": "text-1x-left"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "identify-problems",
|
|
40
|
+
"name": "Identify Problems",
|
|
41
|
+
"description": "Name the gap between expected and observed performance. Use specific examples and dates rather than impressions. Avoid characterizing the person; focus on the work product and the impact.",
|
|
42
|
+
"instructions": "Highlight struggles and weaknesses",
|
|
43
|
+
"slideType": "text",
|
|
44
|
+
"layoutHint": "text-1x-left"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "possible-solutions",
|
|
48
|
+
"name": "Possible Solutions",
|
|
49
|
+
"description": "Suggest improvement strategies tailored to the gaps named above. Behavior changes, structural changes, support structures. Frame them as paths the employee can choose, not orders to follow.",
|
|
50
|
+
"instructions": "Suggest improvement strategies",
|
|
51
|
+
"slideType": "text",
|
|
52
|
+
"layoutHint": "text-1x-left"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "offer-resources",
|
|
56
|
+
"name": "Offer Resources",
|
|
57
|
+
"description": "Make explicit what tools, coaching, training, or peer support is available. Resources demonstrate that the organization is investing in the outcome, not setting the employee up to fail.",
|
|
58
|
+
"instructions": "Propose help and tools",
|
|
59
|
+
"slideType": "text",
|
|
60
|
+
"layoutHint": "text-1x-left"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "motivate-change",
|
|
64
|
+
"name": "Motivate Change",
|
|
65
|
+
"description": "Connect improvement to what the employee values: their growth, their team, their career. Inspire action without minimizing the seriousness of the situation.",
|
|
66
|
+
"instructions": "Inspire improvement action",
|
|
67
|
+
"slideType": "text",
|
|
68
|
+
"layoutHint": "text-1x-left"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "follow-up",
|
|
72
|
+
"name": "Follow Up",
|
|
73
|
+
"description": "Schedule the check-ins. Frequency, format, criteria for progress. Predictable follow-up turns a PIP from a threat into a plan.",
|
|
74
|
+
"instructions": "Schedule progress check-ins",
|
|
75
|
+
"slideType": "text",
|
|
76
|
+
"layoutHint": "text-1x-left"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"id": "conclusion",
|
|
80
|
+
"name": "Conclusion",
|
|
81
|
+
"description": "Close with confidence in the path forward and a clear restatement of what success looks like. End the meeting having both raised the bar and reaffirmed the relationship.",
|
|
82
|
+
"layoutHint": "title-left",
|
|
83
|
+
"instructions": "Encourage and remind success",
|
|
84
|
+
"slideType": "text"
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
+
"id": "performance-review",
|
|
4
|
+
"name": "Performance Review",
|
|
5
|
+
"summary": "Analytical review of individual, team, or company performance grounded in metrics. Walks through results, key drivers, wins, challenges, and the adjustments that will shape the next period.",
|
|
6
|
+
"audienceFit": [
|
|
7
|
+
"leadership",
|
|
8
|
+
"managers",
|
|
9
|
+
"teams"
|
|
10
|
+
],
|
|
11
|
+
"durationRange": {
|
|
12
|
+
"minMinutes": 20,
|
|
13
|
+
"maxMinutes": 60
|
|
14
|
+
},
|
|
15
|
+
"tags": [
|
|
16
|
+
"data-driven",
|
|
17
|
+
"review",
|
|
18
|
+
"operations",
|
|
19
|
+
"metrics"
|
|
20
|
+
],
|
|
21
|
+
"beats": [
|
|
22
|
+
{
|
|
23
|
+
"id": "briefing",
|
|
24
|
+
"name": "Briefing",
|
|
25
|
+
"description": "Frame what this review covers: the period, the unit, the standard you're measuring against. One slide that lets the audience know exactly what they're being asked to evaluate.",
|
|
26
|
+
"layoutHint": "title-center",
|
|
27
|
+
"instructions": "Outline presentation objective",
|
|
28
|
+
"slideType": "text"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "results",
|
|
32
|
+
"name": "Results",
|
|
33
|
+
"description": "Lead with the headline result. On track, ahead, or behind, and by how much. Resist softening — clear numbers up front earn credibility for the analysis that follows.",
|
|
34
|
+
"instructions": "Summarize performance findings",
|
|
35
|
+
"slideType": "text",
|
|
36
|
+
"layoutHint": "text-1x-left"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "key-metrics",
|
|
40
|
+
"name": "Key Metrics",
|
|
41
|
+
"description": "Walk through the pivotal indicators. One chart per metric, clear comparison period, target or benchmark visible on the same frame. Help the audience see the data the way you do.",
|
|
42
|
+
"instructions": "Review pivotal indicators",
|
|
43
|
+
"slideType": "text",
|
|
44
|
+
"layoutHint": "text-1x-left"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "team-performance",
|
|
48
|
+
"name": "Team Performance",
|
|
49
|
+
"description": "Examine collective achievements and how the team contributed. Avoid generic praise; cite specific moves and the people behind them where the audience would expect it.",
|
|
50
|
+
"instructions": "Examine collective achievements",
|
|
51
|
+
"slideType": "text",
|
|
52
|
+
"layoutHint": "text-1x-left"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "highlight",
|
|
56
|
+
"name": "Highlight",
|
|
57
|
+
"description": "Spotlight one standout contribution that defined the period. A landmark deal, a launch, a fix, a hire. One vivid example sticks longer than a list of accomplishments.",
|
|
58
|
+
"instructions": "Show key contribution",
|
|
59
|
+
"slideType": "text",
|
|
60
|
+
"layoutHint": "text-1x-left"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "analysis",
|
|
64
|
+
"name": "Analysis",
|
|
65
|
+
"description": "Dig under the metrics. What drove the numbers, what held them back, what's signal versus noise. Analysis is where the audience learns whether you actually understand the system you're reporting on.",
|
|
66
|
+
"instructions": "Uncover data insights",
|
|
67
|
+
"slideType": "text",
|
|
68
|
+
"layoutHint": "text-1x-left"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "success",
|
|
72
|
+
"name": "Success",
|
|
73
|
+
"description": "Reinforce the past triumphs that show the system works. Briefly — the audience came for what's next, not a victory lap. Wins earn permission for the harder slides ahead.",
|
|
74
|
+
"instructions": "Reinforce past triumphs",
|
|
75
|
+
"slideType": "text",
|
|
76
|
+
"layoutHint": "text-1x-left"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"id": "challenges",
|
|
80
|
+
"name": "Challenges",
|
|
81
|
+
"description": "Name the obstacles encountered honestly. What didn't move, what regressed, what the team is still wrestling with. Understated challenges read as missed signal, not modesty.",
|
|
82
|
+
"instructions": "Highlight encountered obstacles",
|
|
83
|
+
"slideType": "text",
|
|
84
|
+
"layoutHint": "text-1x-left"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"id": "adjustments",
|
|
88
|
+
"name": "Adjustments",
|
|
89
|
+
"description": "Identify the changes you're making in response. New tactics, reallocations, sunsets. Each adjustment should map to a challenge above — adjustments without diagnosis feel arbitrary.",
|
|
90
|
+
"instructions": "Identify necessary changes",
|
|
91
|
+
"slideType": "text",
|
|
92
|
+
"layoutHint": "text-1x-left"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "strategy-evolution",
|
|
96
|
+
"name": "Strategy Evolution",
|
|
97
|
+
"description": "Show how the strategy itself evolves heading into the next period. Refinements, sharpened bets, dropped initiatives. The audience should see continuity as well as change.",
|
|
98
|
+
"instructions": "Plan for improvement",
|
|
99
|
+
"slideType": "text",
|
|
100
|
+
"layoutHint": "text-1x-left"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"id": "discussion",
|
|
104
|
+
"name": "Discussion",
|
|
105
|
+
"description": "Open the floor with two or three specific prompts. End the review actively — questions you want answered, decisions you want made — so the meeting yields more than the deck.",
|
|
106
|
+
"layoutHint": "title-left",
|
|
107
|
+
"instructions": "Promote active discourse",
|
|
108
|
+
"slideType": "text"
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
+
"id": "persuade",
|
|
4
|
+
"name": "Persuade",
|
|
5
|
+
"summary": "Argument-driven keynote arc inspired by Ken Robinson: grip the audience, challenge the status quo, define the problem, anchor it in story and statistic, deliver a major revelation, propose change, and end on a question that stays with them.",
|
|
6
|
+
"audienceFit": [
|
|
7
|
+
"general-audience",
|
|
8
|
+
"policymakers",
|
|
9
|
+
"industry-peers"
|
|
10
|
+
],
|
|
11
|
+
"durationRange": {
|
|
12
|
+
"minMinutes": 15,
|
|
13
|
+
"maxMinutes": 30
|
|
14
|
+
},
|
|
15
|
+
"tags": [
|
|
16
|
+
"keynote",
|
|
17
|
+
"persuasive",
|
|
18
|
+
"advocacy",
|
|
19
|
+
"talk"
|
|
20
|
+
],
|
|
21
|
+
"beats": [
|
|
22
|
+
{
|
|
23
|
+
"id": "gripping-introduction",
|
|
24
|
+
"name": "Gripping Introduction",
|
|
25
|
+
"description": "Open with a moment, image, or claim the audience can't easily look away from. The first sixty seconds buy you the next twenty minutes — spend them on something specific and emotionally charged, not on housekeeping.",
|
|
26
|
+
"instructions": "Draw in the audience with a compelling opener",
|
|
27
|
+
"slideType": "text",
|
|
28
|
+
"layoutHint": "text-1x-left"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "challenge-status-quo",
|
|
32
|
+
"name": "Challenge the Status Quo",
|
|
33
|
+
"description": "Call out the system, norm, or assumption that needs examination. Be precise about what you're disagreeing with so the rest of the talk can be specific in response. Avoid strawmen — name the strongest version of the view you're contesting."
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": "present-problem",
|
|
37
|
+
"name": "Present the Problem",
|
|
38
|
+
"description": "Define the issue the audience needs to care about. Concrete, scoped, attributable. The clearer the problem, the more credible the eventual solution."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"id": "personal-story",
|
|
42
|
+
"name": "Personal Story",
|
|
43
|
+
"description": "Anchor the issue in a specific person, place, or moment. Story is what gets the argument past the audience's defenses. Pick a story that personalizes the data without overstating it.",
|
|
44
|
+
"instructions": "Share significant stories to illuminate the issue",
|
|
45
|
+
"slideType": "text",
|
|
46
|
+
"layoutHint": "text-1x-left"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "statistic-shock",
|
|
50
|
+
"name": "Statistic Shock",
|
|
51
|
+
"description": "Drop in a single statistic that recasts the scale of the problem. One number, presented well, lands harder than a dashboard. Cite the source so the audience can repeat it with confidence.",
|
|
52
|
+
"instructions": "Use impactful stats to highlight the gravity of the issue",
|
|
53
|
+
"slideType": "text",
|
|
54
|
+
"layoutHint": "text-1x-left"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"id": "historical-context",
|
|
58
|
+
"name": "Historical Context",
|
|
59
|
+
"description": "Show how the issue evolved. Why it has the shape it does today, what was tried, what was missed. Historical context turns 'this is broken' into 'this stayed broken for these reasons.'",
|
|
60
|
+
"instructions": "Show the evolution or history of the issue",
|
|
61
|
+
"slideType": "text",
|
|
62
|
+
"layoutHint": "text-1x-left"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": "weave-narrative",
|
|
66
|
+
"name": "Weave a Narrative",
|
|
67
|
+
"description": "Connect the threads — story, statistic, history — into a single argument. The audience should feel the case clicking together. This is the slide where rhetoric becomes architecture."
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"id": "major-revelation",
|
|
71
|
+
"name": "Major Revelation",
|
|
72
|
+
"description": "Deliver the surprising or significant turn. The fact, finding, or reframing the rest of the talk has been earning. The revelation should redirect, not merely confirm.",
|
|
73
|
+
"instructions": "Deliver a surprising or significant discovery",
|
|
74
|
+
"slideType": "text",
|
|
75
|
+
"layoutHint": "text-1x-left"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"id": "propose-solution",
|
|
79
|
+
"name": "Propose Solution",
|
|
80
|
+
"description": "Advocate for the change you want. Concrete enough to be acted on, broad enough to inspire. Pair the solution with the smallest credible first step.",
|
|
81
|
+
"instructions": "Advocate for change or propose an actionable solution",
|
|
82
|
+
"slideType": "text",
|
|
83
|
+
"layoutHint": "text-1x-left"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"id": "final-question",
|
|
87
|
+
"name": "Final Question",
|
|
88
|
+
"description": "Close on a question rather than a summary. The right closing question follows the audience out of the room and into their conversations afterward.",
|
|
89
|
+
"layoutHint": "title-left",
|
|
90
|
+
"instructions": "Finish with a thought-provoking question to stimulate audience thinking",
|
|
91
|
+
"slideType": "text"
|
|
92
|
+
}
|
|
93
|
+
]
|
|
94
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
+
"id": "persuasive-sales",
|
|
4
|
+
"name": "Persuasive Sales",
|
|
5
|
+
"summary": "Top-of-funnel sales arc that creates awareness and alignment with a prospective customer. Anchored in a market change, leading to your unique capabilities, supported by proof, ending with a clear call to action.",
|
|
6
|
+
"audienceFit": [
|
|
7
|
+
"prospects",
|
|
8
|
+
"customers",
|
|
9
|
+
"buyers"
|
|
10
|
+
],
|
|
11
|
+
"durationRange": {
|
|
12
|
+
"minMinutes": 15,
|
|
13
|
+
"maxMinutes": 45
|
|
14
|
+
},
|
|
15
|
+
"tags": [
|
|
16
|
+
"sales",
|
|
17
|
+
"go-to-market",
|
|
18
|
+
"outbound",
|
|
19
|
+
"discovery"
|
|
20
|
+
],
|
|
21
|
+
"beats": [
|
|
22
|
+
{
|
|
23
|
+
"id": "intro",
|
|
24
|
+
"name": "Introduction",
|
|
25
|
+
"description": "Open with a brief framing of who you are and why this conversation is worth the prospect's next thirty minutes. Keep credentials short; the audience cares about their problem, not your résumé.",
|
|
26
|
+
"instructions": "Name & logo",
|
|
27
|
+
"slideType": "text",
|
|
28
|
+
"layoutHint": "text-1x-left"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "big-change",
|
|
32
|
+
"name": "Big Change",
|
|
33
|
+
"description": "Name the market shift the prospect's industry is living through. Make it concrete, recent, and undeniable. The change — not the product — is the reason they should care.",
|
|
34
|
+
"instructions": "Highlight market shift",
|
|
35
|
+
"slideType": "text",
|
|
36
|
+
"layoutHint": "text-1x-left"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "response-to-change",
|
|
40
|
+
"name": "Winners and Losers",
|
|
41
|
+
"description": "Show how the change is creating winners and losers in the prospect's space. Use named examples where you can. The goal is for the prospect to wonder which side they'll end up on.",
|
|
42
|
+
"instructions": "Show winners & losers",
|
|
43
|
+
"slideType": "text",
|
|
44
|
+
"layoutHint": "text-1x-left"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "benefits",
|
|
48
|
+
"name": "Benefits",
|
|
49
|
+
"description": "Paint the outcome a winner experiences: a vivid picture of the prospect's life on the other side of the change. Lead with what changes for them, not with what your product does.",
|
|
50
|
+
"instructions": "Describe benefits, paint a vivid picture",
|
|
51
|
+
"slideType": "text",
|
|
52
|
+
"layoutHint": "text-1x-left"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "capabilities",
|
|
56
|
+
"name": "Capabilities",
|
|
57
|
+
"description": "Reveal the unique capabilities that make those outcomes possible. Frame them as the 'magic gifts' the prospect needs to win the new game. Highlight what's structurally different from the alternatives.",
|
|
58
|
+
"instructions": "Present unique features as 'magic gifts' to the customer",
|
|
59
|
+
"slideType": "text",
|
|
60
|
+
"layoutHint": "text-1x-left"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "evidence",
|
|
64
|
+
"name": "Evidence",
|
|
65
|
+
"description": "Share customer testimonials, case studies, and measurable outcomes from organizations like the prospect's. Pick evidence that maps to the benefits you promised, not generic logos.",
|
|
66
|
+
"instructions": "Share testimonials",
|
|
67
|
+
"slideType": "text",
|
|
68
|
+
"layoutHint": "text-1x-left"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "call-to-action",
|
|
72
|
+
"name": "Call to Action",
|
|
73
|
+
"description": "Ask for the next step in the sales process. Be specific: a pilot, a workshop, a follow-on conversation with a named stakeholder. Make the smallest credible commitment that keeps momentum.",
|
|
74
|
+
"layoutHint": "title-left",
|
|
75
|
+
"instructions": "Encourage decision-making",
|
|
76
|
+
"slideType": "text"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"id": "close",
|
|
80
|
+
"name": "Close",
|
|
81
|
+
"description": "Close with a final image and contact path. Leave the prospect with one line about why they're better off acting now than later, and clear instructions for how to engage.",
|
|
82
|
+
"layoutHint": "title-left",
|
|
83
|
+
"instructions": "Logo & contact info",
|
|
84
|
+
"slideType": "text"
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
+
"id": "pitch-deck",
|
|
4
|
+
"name": "Startup Pitch Deck",
|
|
5
|
+
"summary": "The canonical investor-pitch arc, drawn from Sequoia and Y Combinator's templates. Optimized for 10–20 minute meetings with VCs and angels. Each beat answers the question an investor will ask next.",
|
|
6
|
+
"audienceFit": [
|
|
7
|
+
"investors",
|
|
8
|
+
"venture-capitalists",
|
|
9
|
+
"angels",
|
|
10
|
+
"advisors"
|
|
11
|
+
],
|
|
12
|
+
"durationRange": {
|
|
13
|
+
"minMinutes": 10,
|
|
14
|
+
"maxMinutes": 20
|
|
15
|
+
},
|
|
16
|
+
"tags": [
|
|
17
|
+
"startup",
|
|
18
|
+
"fundraising",
|
|
19
|
+
"pitch",
|
|
20
|
+
"investor"
|
|
21
|
+
],
|
|
22
|
+
"beats": [
|
|
23
|
+
{
|
|
24
|
+
"id": "opening",
|
|
25
|
+
"name": "Opening",
|
|
26
|
+
"description": "Open with the company name, logo, and a one-line tagline that doubles as a positioning statement. Set the visual tone for the deck. Keep it confident and uncluttered — this is the cover.",
|
|
27
|
+
"layoutHint": "title-left"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "purpose",
|
|
31
|
+
"name": "Company Purpose",
|
|
32
|
+
"description": "State in a single sentence what the company does and why it exists. Should be immediately understandable without industry jargon. Often doubles as the answer to 'so what do you do?'"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "problem",
|
|
36
|
+
"name": "Problem",
|
|
37
|
+
"description": "Describe the pain point you solve. Make it concrete with a specific user or customer scenario. The more visceral and recognizable the problem, the stronger the rest of the pitch lands."
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "why-now",
|
|
41
|
+
"name": "Why Now",
|
|
42
|
+
"description": "Explain the technological, regulatory, behavioral, or market shift that makes this opportunity possible today and impossible five years ago. Investors want to know why this is a window, not just an idea."
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "market",
|
|
46
|
+
"name": "Market Size",
|
|
47
|
+
"description": "Size the opportunity. Top-down (TAM/SAM/SOM) or bottom-up (units × price). Show how big the prize is if you win, and why this market is attractive to a venture-scale outcome."
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"id": "competition",
|
|
51
|
+
"name": "Competition",
|
|
52
|
+
"description": "Map the competitive landscape honestly. A 2x2 matrix or feature-comparison grid is fine; what matters is showing you understand the alternatives and where you uniquely fit. Naïve 'no competition' answers tank credibility."
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "solution",
|
|
56
|
+
"name": "Solution",
|
|
57
|
+
"description": "Show how you solve the problem and why your approach is uniquely better. Lead with the outcome for the customer, then show the mechanism. This is where you connect problem to product."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": "product",
|
|
61
|
+
"name": "Product",
|
|
62
|
+
"description": "Give the product its own moment. Screenshots or a key visual that captures what users actually see and feel. Pick one strong frame over a montage of small ones."
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": "demo",
|
|
66
|
+
"name": "Demo",
|
|
67
|
+
"description": "Walk through the core user flow end-to-end. Show real software solving a real problem in a real workflow — not a marketing reel. If a live demo is too risky, use a tightly edited recording with narration."
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"id": "traction",
|
|
71
|
+
"name": "Traction",
|
|
72
|
+
"description": "Prove momentum with one credible headline metric. Revenue, users, growth rate, customer logos — whatever best shows the business is working. One strong chart beats five vanity numbers."
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"id": "growth",
|
|
76
|
+
"name": "Growth Drivers",
|
|
77
|
+
"description": "Show how the headline metric got there and where it's going. Cohorts, retention, expansion, channel mix — whatever explains the engine behind the number. Investors back the trajectory, not the snapshot."
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"id": "business-model",
|
|
81
|
+
"name": "Business Model",
|
|
82
|
+
"description": "Explain how the company makes money. Pricing, unit economics, sales motion, payback period. Should answer: what does it cost to acquire a customer, and what do they pay you?"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"id": "team",
|
|
86
|
+
"name": "Team",
|
|
87
|
+
"description": "Establish why this team uniquely wins this market. Founder backgrounds, relevant experience, prior outcomes, key advisors. Investors back people first; make the case."
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "financials",
|
|
91
|
+
"name": "Financials",
|
|
92
|
+
"description": "Show the financial picture: historical revenue, burn, runway, and forward projection. Be conservative-but-credible — investors will discount aggressive numbers and reward defensible ones."
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "ask",
|
|
96
|
+
"name": "The Ask",
|
|
97
|
+
"description": "State the round size, intended use of funds, and what milestones the capital takes you to. Be specific — investors should leave knowing exactly what you want and what they get.",
|
|
98
|
+
"layoutHint": "title-left"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"id": "closing",
|
|
102
|
+
"name": "Closing",
|
|
103
|
+
"description": "Close on a strong final image: logo, contact info, and the one line you most want the investor to remember. Leave space for the conversation that follows.",
|
|
104
|
+
"layoutHint": "title-left"
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openpresentation.org/schema/opf-narrative/v1",
|
|
3
|
+
"id": "problem-solution",
|
|
4
|
+
"name": "Problem → Solution",
|
|
5
|
+
"summary": "Classic business arc: name the pain, raise the stakes, present your fix, show how it works, prove it, ask. The default for sales decks, internal proposals, and most general business presentations.",
|
|
6
|
+
"audienceFit": [
|
|
7
|
+
"customers",
|
|
8
|
+
"stakeholders",
|
|
9
|
+
"executives",
|
|
10
|
+
"internal-teams"
|
|
11
|
+
],
|
|
12
|
+
"durationRange": {
|
|
13
|
+
"minMinutes": 5,
|
|
14
|
+
"maxMinutes": 30
|
|
15
|
+
},
|
|
16
|
+
"tags": [
|
|
17
|
+
"business",
|
|
18
|
+
"sales",
|
|
19
|
+
"general",
|
|
20
|
+
"proposal"
|
|
21
|
+
],
|
|
22
|
+
"beats": [
|
|
23
|
+
{
|
|
24
|
+
"id": "hook",
|
|
25
|
+
"name": "Hook",
|
|
26
|
+
"description": "Open with a striking question, statistic, customer quote, or moment that earns the audience's attention. The goal is to make them want to hear what comes next, not to convey information.",
|
|
27
|
+
"layoutHint": "title-center"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "problem",
|
|
31
|
+
"name": "The Problem",
|
|
32
|
+
"description": "Name the pain in concrete terms. Make it visceral and specific — describe who hurts, how, and what they're trying to do today that isn't working. Avoid abstractions; use real examples or scenarios the audience recognizes."
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "stakes",
|
|
36
|
+
"name": "Why It Matters",
|
|
37
|
+
"description": "Quantify the cost of inaction or the upside of action. Use numbers, trends, customer impact, competitive pressure — whatever makes the audience feel the size of the problem and care about solving it now rather than later."
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "solution",
|
|
41
|
+
"name": "The Solution",
|
|
42
|
+
"description": "Reveal your approach and what it produces for the customer. Lead with the outcome, not the architecture. Keep it concrete: what does the audience get, and what changes for them?"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "mechanism",
|
|
46
|
+
"name": "How It Works",
|
|
47
|
+
"description": "Show the moving parts that make the solution credible. Walk through the key mechanism, workflow, or technical insight that explains why this approach succeeds where others have failed. Enough detail to earn trust; not so much that you lose the room."
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"id": "evidence",
|
|
51
|
+
"name": "Proof",
|
|
52
|
+
"description": "Demonstrate the solution works. Use customer logos, before/after metrics, demos, case studies, third-party validation — whatever de-risks the claim. One strong piece of proof beats three weak ones."
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "ask",
|
|
56
|
+
"name": "The Ask",
|
|
57
|
+
"description": "State a clear, specific call to action. What do you want the audience to do, decide, or commit to next? Make the smallest credible ask that moves things forward, and make it unambiguous.",
|
|
58
|
+
"layoutHint": "title-left"
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
}
|