instadeck 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,77 @@
1
1
  {
2
2
  "name": "instadeck",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.1",
4
+ "description": "Branded, animated pitch decks from your own Claude. A local MCP server: Claude writes the story and design, InstaDeck renders, validates and exports.",
5
+ "keywords": [
6
+ "mcp",
7
+ "model-context-protocol",
8
+ "claude",
9
+ "pitch-deck",
10
+ "presentation",
11
+ "slides"
12
+ ],
13
+ "homepage": "https://instadeck.app",
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/schinkodev/instadeck.git"
17
+ },
18
+ "bugs": {
19
+ "url": "https://github.com/schinkodev/instadeck/issues"
20
+ },
21
+ "license": "MIT",
22
+ "mcpName": "io.github.schinkodev/instadeck",
23
+ "author": "Jakub Schinko",
24
+ "type": "module",
25
+ "bin": {
26
+ "instadeck": "dist/instadeck.js"
27
+ },
28
+ "files": [
29
+ "dist",
30
+ "skills",
31
+ "README.md",
32
+ "LICENSE"
33
+ ],
34
+ "publishConfig": {
35
+ "access": "public"
36
+ },
37
+ "scripts": {
38
+ "typecheck": "tsc --noEmit",
39
+ "lint": "eslint .",
40
+ "test": "vitest run",
41
+ "test:watch": "vitest",
42
+ "mcp": "tsx server/stdio.ts",
43
+ "build": "node scripts/build.mjs",
44
+ "prepack": "npm run build",
45
+ "bundle": "tsx scripts/bundle.ts",
46
+ "site": "tsx scripts/site.ts",
47
+ "gen": "tsx scripts/gen.ts",
48
+ "example": "tsx scripts/promote-example.ts",
49
+ "serve": "tsx server/serve.ts",
50
+ "build:lambda": "node scripts/build-lambda.mjs"
51
+ },
52
+ "dependencies": {
53
+ "@aws-sdk/client-s3": "^3.1153.0",
54
+ "@modelcontextprotocol/ext-apps": "^1.7.5",
55
+ "@modelcontextprotocol/sdk": "^1.32.1",
56
+ "@puppeteer/browsers": "^3.2.5",
57
+ "pptxgenjs": "^4.0.1",
58
+ "puppeteer-core": "^25.15.0",
59
+ "zod": "^4.6.7"
60
+ },
61
+ "devDependencies": {
62
+ "@anthropic-ai/mcpb": "^2.1.2",
63
+ "@eslint/js": "^10.0.1",
64
+ "@types/node": "^26.6.5",
65
+ "esbuild": "^0.28.2",
66
+ "eslint": "^10.13.0",
67
+ "jszip": "^3.10.1",
68
+ "pdfjs-dist": "^6.4.299",
69
+ "tsx": "^4.23.15",
70
+ "typescript": "^6.0.3",
71
+ "typescript-eslint": "^8.71.2",
72
+ "vitest": "^5.0.5"
73
+ },
74
+ "engines": {
75
+ "node": ">=20"
76
+ }
77
+ }
@@ -0,0 +1,72 @@
1
+ ---
2
+ name: instadeck
3
+ description: Build branded, animated pitch decks with the InstaDeck MCP server. Use when the user wants a pitch deck, investor deck, sales deck or any presentation for a company, especially with their logo, colors or fonts.
4
+ ---
5
+
6
+ # InstaDeck
7
+
8
+ You decide the story, content, structure and design. InstaDeck renders, validates and exports. You never write HTML: you compose slides from layouts and blocks and design the motion language of the deck through the InstaDeck tools, and InstaDeck produces one HTML file that presents with animations, plus a PDF.
9
+
10
+ ## Workflow
11
+
12
+ 1. Brief: company, topic, audience, goal and content language. Ask the user only for what you cannot infer.
13
+ 2. Brand: add the logo and brand files with add_asset and read candidate colors with extract_brand_colors. Pick the primary color and a mood, call suggest_brand_system, then create_brand_kit with its brand_kit plus the name and logos. Read the findings it returns. Skip when the user has no brand.
14
+ 3. Story: read the example closest to the brief with get_example. Pick and order pitch beats for this audience (section pitch). Write each slide intent as one sentence before choosing layouts.
15
+ 4. Design: use the design and motion from suggest_brand_system, or choose colors, fonts, type scale and density yourself (sections design, fonts). Design the motion language for the audience: intensity, rationale, entrance, transition and, when the presets do not fit, your own vocabulary (section motion). Explain the choice to the user in two or three sentences.
16
+ 5. Build: call create_deck once with the brief, brand kit, design, motion and all slides. Keep the structure, rhythm and text lengths of the example, replace all of its content.
17
+ 6. Review: read findings and look at the previews. Fix every error and the warnings that matter with apply_ops, passing expected_revision.
18
+ 7. Hand over: give the user the presentation file to open (arrow keys or click to advance, G all slides, P presenter view, F fullscreen, N speaker notes) and offer export_deck as PDF or PowerPoint.
19
+
20
+ ## Story
21
+
22
+ - Every content slide headline is the takeaway as a full sentence, the slide body proves it.
23
+ - One idea per slide. When a slide needs two headlines, it is two slides.
24
+ - Lead with the strongest proof. Traction beats promises, numbers beat adjectives.
25
+ - Alternate visual rhythm: do not use the same layout on consecutive slides.
26
+ - Use the accent tone for at most two moments, typically the hook or the ask.
27
+ - Close with a callback to the opening hook.
28
+ - 10 to 13 slides for a first meeting.
29
+
30
+ ## Layouts
31
+
32
+ - `title`: Opening slide: company name or deck title, one line promise, logo.
33
+ - `title-image`: Opening slide with a strong product or brand visual on the right half.
34
+ - `statement`: One big sentence: the hook, the insight, the vision. Nothing else competes.
35
+ - `section`: Chapter divider for longer decks. Use sparingly, a pitch deck rarely needs it.
36
+ - `headline-stat`: One hero number proves the headline: market size, growth, savings.
37
+ - `stats`: Two to four numbers in a row: traction, unit economics, market.
38
+ - `points`: Headline with a short list or paragraph. The workhorse, but prefer more visual layouts when possible.
39
+ - `text-image`: Argument on the left, visual proof on the right: product, screenshot, photo.
40
+ - `image-text`: Mirror of text-image, visual first. Alternate with text-image for rhythm.
41
+ - `image-full`: Full bleed photo or product shot with a short headline. Emotional moments, the vision.
42
+ - `chart`: The chart is the slide. Headline states what the data shows.
43
+ - `chart-insight`: Insight next to the chart: a hero number or two points that explain it.
44
+ - `cards`: Two to four parallel ideas: product pillars, features, use cases, revenue streams.
45
+ - `comparison`: Us versus them, before versus after, old way versus new way.
46
+ - `timeline`: Roadmap, milestones, or how we got here.
47
+ - `team`: The people and why they win.
48
+ - `quote`: A customer or expert voice, large, with attribution.
49
+ - `logos`: Social proof: who uses, backs or writes about us.
50
+ - `table`: Structured detail: pricing tiers, use of funds, competitive features.
51
+ - `closing`: The ask and the way to reach you. Callback to the opening hook.
52
+
53
+ Zones and accepted blocks: `get_design_guide` or the resource `instadeck://layouts`.
54
+
55
+ ## Motion
56
+
57
+ Design a motion language per deck, like a type scale. Section `motion` of `get_design_guide` has the format, `motion_principles` the reasons.
58
+
59
+ - `still`: Nothing moves. Content appears with a quiet fade or a cut. Board updates, reports, legal, minimalist professional decks where the content is the event.
60
+ - `subtle`: Short moves that guide the eye and settle fast. Investors, enterprise buyers and most business decks.
61
+ - `expressive`: Bigger moves, depth, slides that travel, elements that fly between slides. Product launches, vision, keynotes.
62
+ - `kinetic`: Energetic and springy, motion is part of the brand. Consumer apps, events, creative work. Still one focal motion at a time.
63
+ - Presets: entrances `none`, `fade`, `rise`, `reveal`, `wipe`, `focus`, transitions `cut`, `fade`, `slide`, `lift`, `morph`. Or write your own in `motion.vocabulary` as Web Animations keyframes, with `shared: true` transitions that glide the headline, logo or image to the next slide.
64
+ - One entrance and one transition carry the deck, exceptions mark about one moment per 5 slides.
65
+ - At most 4 click steps per slide. Numbers, charts and timelines animate on their own.
66
+ - The local server measures the motion in a browser and reports motion that does not match the declared intensity.
67
+
68
+ ## Files
69
+
70
+ - Local logo or font: `add_asset` with an absolute `path`.
71
+ - The deck file to present is `file.path` in every create or edit result. Open it in a browser: arrows or click to advance, F fullscreen, N speaker notes.
72
+ - `export_deck` with `format: "pdf"` and an absolute `path` puts a PDF where the user wants it.