279 lines
7.0 KiB
Markdown
279 lines
7.0 KiB
Markdown
---
|
|
description: Generate interactive HTML presentation from materials folder
|
|
argument-hint: [presentation-name] [materials-directory] [--style-reference]
|
|
---
|
|
|
|
# Create Interactive Presentation
|
|
|
|
Generate a self-contained interactive HTML presentation from your materials.
|
|
|
|
## Step 1: Validate Input Materials
|
|
|
|
**Required Structure:**
|
|
- Materials directory must exist at path: $2
|
|
- Look for common subdirectories:
|
|
- `materials/` or `data/` - Source content (reports, transcripts, findings, copy variants)
|
|
- `style/` or `branding/` - Optional brand guidelines or design references
|
|
|
|
**Validate:**
|
|
- Confirm materials directory exists
|
|
- Count total files available for presentation
|
|
- Identify file types (markdown, JSON, CSV, text, images)
|
|
- Check for optional style references at $3 (if provided)
|
|
|
|
**Report to user:**
|
|
```markdown
|
|
## 📊 Materials Found
|
|
|
|
**Directory:** $2
|
|
**Files discovered:** [number] files
|
|
- Markdown: [count]
|
|
- JSON/CSV: [count]
|
|
- Images: [count]
|
|
- Other: [count]
|
|
|
|
**Style reference:** [path if $3 provided, or "None - will use default styling"]
|
|
```
|
|
|
|
**Ask user to confirm:** "Would you like to proceed with these materials?"
|
|
|
|
---
|
|
|
|
## Step 2: Analyze Content & Propose Structure
|
|
|
|
Use the **structure-planner agent** to:
|
|
- Read all materials from $2
|
|
- Identify key themes, data points, and insights
|
|
- Propose a logical presentation structure
|
|
|
|
**The agent should propose:**
|
|
1. **Title** for the presentation
|
|
2. **Section structure** (3-7 sections recommended)
|
|
3. **Content allocation** (which materials go in which section)
|
|
4. **Interactive elements** needed (charts, comparisons, tabs, accordions)
|
|
5. **Estimated slide/section count**
|
|
|
|
**Present proposal to user:**
|
|
```markdown
|
|
## 📋 Proposed Structure
|
|
|
|
**Title:** [suggested title]
|
|
|
|
**Sections:**
|
|
1. [Section name] - [brief description] - [materials included]
|
|
2. [Section name] - [brief description] - [materials included]
|
|
3. [etc.]
|
|
|
|
**Interactive Elements:**
|
|
- [Element 1]: [purpose]
|
|
- [Element 2]: [purpose]
|
|
|
|
**Estimated length:** [number] sections
|
|
|
|
Would you like me to:
|
|
1. ✅ Proceed with this structure
|
|
2. 🔄 Revise the structure (tell me what to change)
|
|
3. ❌ Cancel
|
|
```
|
|
|
|
**Wait for user approval or revision instructions.**
|
|
|
|
---
|
|
|
|
## Step 3: Build Content Sections
|
|
|
|
Once structure is approved, use the **html-generator agent** to:
|
|
|
|
**For each section:**
|
|
1. Extract relevant content from materials
|
|
2. Create compelling narrative text
|
|
3. Format data for readability (tables, lists, highlights)
|
|
4. Identify where interactive elements are needed
|
|
5. Generate HTML structure
|
|
|
|
**Progress reporting:**
|
|
```markdown
|
|
## 🔨 Building Presentation
|
|
|
|
- ✅ Section 1: [name] - Complete
|
|
- 🔄 Section 2: [name] - In progress
|
|
- ⏳ Section 3: [name] - Pending
|
|
- ⏳ Section 4: [name] - Pending
|
|
```
|
|
|
|
---
|
|
|
|
## Step 4: Apply Styling
|
|
|
|
Use the **style-applier agent** to:
|
|
|
|
**If style reference provided ($3):**
|
|
- Read style guide/brand guidelines
|
|
- Extract color schemes, fonts, and visual patterns
|
|
- Apply brand-appropriate styling to HTML
|
|
|
|
**If no style reference:**
|
|
- Apply clean, professional default styling
|
|
- Use readable fonts and accessible color contrast
|
|
- Ensure mobile-responsive layout
|
|
|
|
**CSS Features to include:**
|
|
- Smooth scrolling navigation
|
|
- Section transitions
|
|
- Print-friendly styles
|
|
- Dark mode option (optional)
|
|
|
|
---
|
|
|
|
## Step 5: Add Interactive Elements
|
|
|
|
Use the **interactive-element-creator agent** to add:
|
|
|
|
**Common interactive elements:**
|
|
- **Tabs** - For comparing multiple options/variants
|
|
- **Accordions** - For detailed data that can be expanded
|
|
- **Charts** - Bar, line, pie charts using Chart.js or similar
|
|
- **Filters/Search** - For large datasets
|
|
- **Side-by-side comparisons** - For A/B content
|
|
- **Tooltips** - For definitions and context
|
|
|
|
**Show preview of elements to user:**
|
|
```markdown
|
|
## 🎨 Interactive Elements Added
|
|
|
|
1. **Section 2:** Tabbed comparison of 3 content variants
|
|
2. **Section 3:** Bar chart showing publishing trends
|
|
3. **Section 4:** Accordion with detailed findings (12 items)
|
|
|
|
Would you like to adjust any interactive elements?
|
|
```
|
|
|
|
**Wait for user feedback before finalizing.**
|
|
|
|
---
|
|
|
|
## Step 6: Generate Final HTML File
|
|
|
|
**Create self-contained HTML file:**
|
|
- Single file with embedded CSS and JavaScript
|
|
- No external dependencies (all scripts inline or from CDNs)
|
|
- Optimized for sharing (can be opened directly in browser)
|
|
|
|
**File naming:**
|
|
- Save to: `presentations/[presentation-name].html`
|
|
- Or if no presentations/ folder exists: `$1.html` in current directory
|
|
|
|
**Include in HTML:**
|
|
- Metadata (title, author, date)
|
|
- Navigation menu (if multiple sections)
|
|
- Print button
|
|
- Share button (optional)
|
|
- Footer with generation date
|
|
|
|
---
|
|
|
|
## Step 7: Validation & Delivery
|
|
|
|
**Validate final HTML:**
|
|
- [ ] Opens correctly in browser
|
|
- [ ] All interactive elements work
|
|
- [ ] No broken links or missing assets
|
|
- [ ] Mobile responsive
|
|
- [ ] Print-friendly
|
|
|
|
**Report to user:**
|
|
```markdown
|
|
## ✅ Presentation Complete!
|
|
|
|
**File:** presentations/[presentation-name].html
|
|
**Sections:** [number]
|
|
**Interactive elements:** [number]
|
|
**File size:** [size in KB/MB]
|
|
|
|
**To view:**
|
|
1. Open `presentations/[presentation-name].html` in your browser
|
|
2. Or drag the file to a browser window
|
|
|
|
**To share:**
|
|
- Email the HTML file directly (self-contained)
|
|
- Host on any web server
|
|
- Upload to Google Drive/Dropbox and share link
|
|
|
|
**Next steps:**
|
|
- Review content for accuracy
|
|
- Test interactive elements
|
|
- Share with stakeholders
|
|
```
|
|
|
|
---
|
|
|
|
## Error Handling
|
|
|
|
**If materials directory doesn't exist:**
|
|
```
|
|
❌ Materials directory not found: $2
|
|
|
|
Please provide a valid directory path containing your materials.
|
|
|
|
Example structure:
|
|
my-presentation/
|
|
├── materials/
|
|
│ ├── report.md
|
|
│ ├── data.csv
|
|
│ └── findings.txt
|
|
└── style/
|
|
└── brand-guide.md
|
|
```
|
|
|
|
**If insufficient materials:**
|
|
```
|
|
⚠️ Warning: Only [number] files found
|
|
|
|
Interactive presentations work best with multiple materials (3+ files).
|
|
|
|
Would you like to:
|
|
1. Proceed anyway (may result in short presentation)
|
|
2. Add more materials first
|
|
```
|
|
|
|
**If HTML generation fails:**
|
|
- Save partial progress
|
|
- Report which section failed
|
|
- Offer to retry that section only
|
|
|
|
---
|
|
|
|
## Usage Examples
|
|
|
|
```bash
|
|
# Basic presentation from materials folder
|
|
/create-presentation content-audit ./audit-materials/
|
|
|
|
# With style reference
|
|
/create-presentation q4-report ./reports/q4/ --style-reference ./brand/style-guide.md
|
|
|
|
# From nested directory structure
|
|
/create-presentation competitor-analysis ./research/competitive/materials/
|
|
```
|
|
|
|
---
|
|
|
|
## Tips for Best Results
|
|
|
|
**Materials organization:**
|
|
- Use clear, descriptive file names
|
|
- Group related materials in subdirectories
|
|
- Include images/charts if available
|
|
- Provide context documents (ICP, strategy docs)
|
|
|
|
**Style references:**
|
|
- Brand guidelines work well
|
|
- Previous presentations can serve as style examples
|
|
- Color hex codes and font names are helpful
|
|
|
|
**Interactive elements:**
|
|
- Use tabs for side-by-side comparisons (up to 5 variants)
|
|
- Use accordions for lists of 6+ items
|
|
- Use charts for numerical trends
|
|
- Keep it simple - don't over-complicate
|