@ztffn/presentation-generator-plugin 1.1.4 → 1.2.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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "presentation-generator",
3
3
  "description": "Generate complete graph-based presentations from natural language briefs and project documents. Includes a three-agent pipeline: content extraction, narrative design, and graph JSON compilation.",
4
- "version": "1.0.0",
4
+ "version": "1.2.0",
5
5
  "author": {
6
6
  "name": "Huma"
7
7
  },
@@ -1,11 +1,9 @@
1
1
  ---
2
2
  name: presentation-content
3
3
  description: Extracts structured content briefs from project documents for presentation generation. Reads source files, identifies presentation-worthy content, and produces a canonical content brief JSON.
4
- tools:
5
- - Read
6
- - Glob
4
+ tools: Read, Glob
7
5
  skills:
8
- - presentation-generator/narrative/content-signals
6
+ - presentation-generator:content-signals
9
7
  ---
10
8
 
11
9
  # Content Extraction Agent
@@ -1,16 +1,13 @@
1
1
  ---
2
2
  name: presentation-design
3
3
  description: Translates approved slide outlines into complete graph JSON with nodes, edges, positions, and visual treatments. Pure translation — never alters content or structure from the outline.
4
- tools:
5
- - Read
6
- - Write
7
- - Bash
4
+ tools: Read, Write, Bash
8
5
  skills:
9
- - presentation-generator/system/node-schema
10
- - presentation-generator/system/edge-conventions
11
- - presentation-generator/system/layout-templates
12
- - presentation-generator/system/positioning
13
- - presentation-generator/examples/pitch-reference
6
+ - presentation-generator:node-schema
7
+ - presentation-generator:edge-conventions
8
+ - presentation-generator:layout-templates
9
+ - presentation-generator:positioning
10
+ - presentation-generator:pitch-reference
14
11
  ---
15
12
 
16
13
  # Design & JSON Generation Agent
@@ -83,14 +80,15 @@ All 8 valid handle IDs: `s-right`, `s-left`, `s-top`, `s-bottom`, `t-right`, `t-
83
80
  }
84
81
  ```
85
82
 
86
- 4. Run `scripts/validate_draft.py` using Bash. This is a Python script — you must execute it, not read it. Reading the JSON file is not validation.
83
+ 4. Run the validator script using Bash. This is a Python script — you must execute it, not read it. Reading the JSON file is not validation.
84
+
85
+ The script is bundled with the plugin. Find it and run it:
87
86
 
88
87
  ```bash
89
- python3 scripts/validate_draft.py presentations/{slug}/{slug}.json
88
+ VALIDATE=$(find -L .claude ~/.claude -path "*/presentation-generator/scripts/validate_draft.py" 2>/dev/null | head -1)
89
+ python3 "$VALIDATE" presentations/{slug}/{slug}.json
90
90
  ```
91
91
 
92
- If the working directory is different, use the absolute path to the script.
93
-
94
92
  The script prints either `OK Presentation JSON is valid` (exit 0) or a list of `ERROR` lines (exit 1).
95
93
 
96
94
  If there are any `ERROR` lines:
@@ -1,13 +1,11 @@
1
1
  ---
2
2
  name: presentation-narrative
3
3
  description: Designs narrative structure and slide outlines for graph-based presentations. Selects story frameworks, designs spine and drill-down topology, and writes detailed slide content outlines.
4
- tools:
5
- - Read
6
- - Write
4
+ tools: Read, Write
7
5
  skills:
8
- - presentation-generator/narrative/frameworks
9
- - presentation-generator/narrative/slide-content
10
- - presentation-generator/narrative/graph-topology
6
+ - presentation-generator:frameworks
7
+ - presentation-generator:slide-content
8
+ - presentation-generator:graph-topology
11
9
  ---
12
10
 
13
11
  # Narrative Design Agent
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ztffn/presentation-generator-plugin",
3
- "version": "1.1.4",
3
+ "version": "1.2.0",
4
4
  "description": "Claude Code plugin for generating graph-based presentations",
5
5
  "bin": {
6
6
  "presentation-generator-plugin": "bin/index.js"
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: content-signals
3
+ description: Content signal extraction patterns and content brief schema for identifying presentation-worthy material from source documents.
4
+ ---
5
+
1
6
  # Content Extraction Signals
2
7
 
3
8
  Guidance for extracting presentation-worthy content from source documents.
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: edge-conventions
3
+ description: Authoritative reference for wiring navigation edges — handle IDs, bidirectional pairs, and validation checklist.
4
+ ---
5
+
1
6
  # Edge Conventions
2
7
 
3
8
  Authoritative reference for wiring navigation edges in the presentation graph.
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: frameworks
3
+ description: Proven narrative story structures for presentations, with selection guidance based on goal and audience.
4
+ ---
5
+
1
6
  # Narrative Frameworks
2
7
 
3
8
  Proven story structures for presentations. Select the right framework based on
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: graph-topology
3
+ description: How narrative structure maps to graph navigation — spine, drill-down, and hub topology patterns.
4
+ ---
5
+
1
6
  # Graph Topology for Presentations
2
7
 
3
8
  How narrative structure maps to graph navigation.
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: layout-templates
3
+ description: Decision guide mapping content signals to slide type, layout, background treatment, and visual configuration.
4
+ ---
5
+
1
6
  # Layout Templates & Design Decisions
2
7
 
3
8
  Decision guide for the design agent. Maps content signals from the slide outline
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: node-schema
3
+ description: Authoritative reference for SlideNodeData interface — all fields, types, and defaults for graph presentation nodes.
4
+ ---
5
+
1
6
  # Node Schema Reference
2
7
 
3
8
  Authoritative reference for the `SlideNodeData` interface.
@@ -1,6 +1,14 @@
1
- {
2
- "_comment": "Reference example: 7-node presentation demonstrating key slide types. Trimmed from _temp/presentation-demo-output.json. Each node shows a different design pattern the design agent should know how to produce.",
1
+ ---
2
+ name: pitch-reference
3
+ description: Reference example of a complete 7-node presentation graph JSON demonstrating key slide types and edge wiring.
4
+ ---
5
+
6
+ # Pitch Reference Example
3
7
 
8
+ A 7-node presentation demonstrating key slide types. Each node shows a different design pattern the design agent should know how to produce.
9
+
10
+ ```json
11
+ {
4
12
  "_node_1_comment": "COVER NODE: centered, branded, brand font. Sets the context. No content-heavy text.",
5
13
  "_node_2_comment": "CONTENT NODE: standard bullets, left-aligned (centered:false). Includes notes field for speaker context. The workhorse slide type.",
6
14
  "_node_3_comment": "TWO-COLUMN NODE: layout:two-column splits on --- delimiter. Good for comparison or text+visual.",
@@ -153,3 +161,4 @@
153
161
  { "id": "e-end-bgimage", "source": "end", "target": "feat-bgimage", "sourceHandle": "s-left", "targetHandle": "t-right" }
154
162
  ]
155
163
  }
164
+ ```
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: positioning
3
+ description: Grid system and placement rules for positioning nodes on the graph canvas.
4
+ ---
5
+
1
6
  # Node Positioning
2
7
 
3
8
  How to place nodes on the graph canvas for a clean, readable layout in the editor.
@@ -42,12 +42,22 @@ If no documents are provided, skip Phase 2 and construct a minimal content brief
42
42
 
43
43
  ## Phase 2 — Content Extraction
44
44
 
45
- Invoke the `presentation-content` sub-agent:
45
+ Delegate content extraction to the specialist agent using the Task tool:
46
46
 
47
47
  ```
48
- Agent: presentation-content
49
- Input: List of document paths from the user
50
- Output: _temp/presentation-content-brief.json
48
+ Task tool:
49
+ subagent_type: "presentation-content"
50
+ description: "Extract content brief"
51
+ prompt: |
52
+ Read these source documents and extract a structured content brief:
53
+
54
+ Documents:
55
+ - [list each file path from Phase 1]
56
+
57
+ Audience: [audience identified in Phase 1]
58
+ Goal: [goal identified in Phase 1]
59
+
60
+ Write the result to _temp/presentation-content-brief.json
51
61
  ```
52
62
 
53
63
  The content agent reads all source documents and writes a structured content brief.
@@ -72,12 +82,20 @@ If any check fails, ask the user ONE targeted question to fill the gap. Do not p
72
82
 
73
83
  ## Phase 3 — Narrative Design
74
84
 
75
- Invoke the `presentation-narrative` sub-agent:
85
+ Delegate narrative design to the specialist agent using the Task tool:
76
86
 
77
87
  ```
78
- Agent: presentation-narrative
79
- Input: Reads _temp/presentation-content-brief.json
80
- Output: _temp/presentation-outline.md
88
+ Task tool:
89
+ subagent_type: "presentation-narrative"
90
+ description: "Design narrative outline"
91
+ prompt: |
92
+ Read the content brief at _temp/presentation-content-brief.json and design
93
+ the narrative structure for this presentation.
94
+
95
+ Audience: [audience from Phase 1]
96
+ Goal: [goal from Phase 1]
97
+
98
+ Write the result to _temp/presentation-outline.md
81
99
  ```
82
100
 
83
101
  The narrative agent selects a story framework, designs the spine and drill-down structure, and writes a detailed slide outline.
@@ -114,12 +132,21 @@ This loop continues until the user explicitly approves.
114
132
 
115
133
  ## Phase 5 — Design and JSON Generation
116
134
 
117
- Invoke the `presentation-design` sub-agent:
135
+ Delegate design and JSON generation to the specialist agent using the Task tool:
118
136
 
119
137
  ```
120
- Agent: presentation-design
121
- Input: Reads _temp/presentation-outline.md
122
- Output: presentations/{slug}/{slug}.json
138
+ Task tool:
139
+ subagent_type: "presentation-design"
140
+ description: "Generate presentation JSON"
141
+ prompt: |
142
+ Read the approved outline at _temp/presentation-outline.md and translate it
143
+ into a complete presentation graph JSON.
144
+
145
+ Presentation slug: {slug}
146
+ Output path: presentations/{slug}/{slug}.json
147
+
148
+ After writing the JSON, run the validator script and fix any errors until
149
+ it passes. Include the validator terminal output in your completion message.
123
150
  ```
124
151
 
125
152
  The design agent translates each slide into a fully specified graph node, wires all edges with bidirectional pairs, and validates the result.
@@ -158,9 +185,9 @@ Replace the PLACEHOLDER string with the returned URL after upload.
158
185
 
159
186
  | Agent | Skills Loaded | Purpose |
160
187
  |---|---|---|
161
- | `presentation-content` | `narrative/content-signals` | Extract structured brief from documents |
162
- | `presentation-narrative` | `narrative/frameworks`, `narrative/slide-content`, `narrative/graph-topology` | Design story structure and slide content |
163
- | `presentation-design` | `system/node-schema`, `system/edge-conventions`, `system/layout-templates`, `system/positioning`, `examples/pitch-reference` | Translate outline to valid graph JSON |
188
+ | `presentation-content` | `content-signals` | Extract structured brief from documents |
189
+ | `presentation-narrative` | `frameworks`, `slide-content`, `graph-topology` | Design story structure and slide content |
190
+ | `presentation-design` | `node-schema`, `edge-conventions`, `layout-templates`, `positioning`, `pitch-reference` | Translate outline to valid graph JSON |
164
191
 
165
192
  ## Working Without Documents
166
193
 
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: slide-content
3
+ description: Quality guide for writing individual slide content — density rules, assertion-evidence structure, headlines, speaker notes.
4
+ ---
5
+
1
6
  # Slide Content Quality Guide
2
7
 
3
8
  How to write individual slide content at a high quality level.