- Remove 'version' field from 13 SKILL.md files - Quote descriptions containing colons (Triggers:) in 9 files - Fix 20-gtm-audit binary file (extract proper SKILL.md from ZIP) - Add missing 'description:' key in 41-jamie-brand-audit - Add new skill 44-jamie-youtube-subtitle-checker with both desktop/ and code/ versions 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
5.0 KiB
name, description
| name | description |
|---|---|
| research-to-presentation | Transforms Notion research content into branded presentations through an automated workflow. Collects research from Notion pages/databases, synthesizes content to extract key topics and agenda items, creates presentation structure with slide plans, and generates branded PPT/Figma presentations. Use when converting research into meeting materials, creating data-driven presentations from Notion content, transforming documentation into executive presentations, or building slide decks from scattered research notes. |
Research to Presentation Workflow
Automated pipeline for transforming Notion research into professional presentations with brand consistency.
Quick Start
# Full automated workflow
python scripts/run_workflow.py --notion-url [URL] --output-format [pptx|figma]
# Step-by-step execution
python scripts/extract_notion.py [URL] > research.json
python scripts/synthesize_content.py research.json > synthesis.json
node scripts/generate_presentation.js synthesis.json output.pptx
Workflow Steps
Step 1: Research Collection
Extract research from Notion:
# Use Notion tools to gather content
results = notion_search(query="research topic")
content = notion_fetch(page_ids)
extracted_data = extract_key_findings(content)
For detailed extraction patterns: references/research_patterns.md
Step 2: Content Synthesis
Analyze and structure content:
synthesis = synthesize_content(extracted_data)
# Returns: executive_summary, key_topics, agenda_items, supporting_data
Topic prioritization guide: references/agenda_templates.md
Step 3: Presentation Planning
Create slide-by-slide structure:
const slidePlan = generateSlidePlan(synthesis);
// Outputs: title, agenda, content slides with speaker notes
Layout options: references/slide_layouts.md
Step 4: Slide Generation
Convert to presentation format:
PowerPoint Output:
node scripts/generate_pptx.js synthesis.json output.pptx
Figma Output:
node scripts/export_to_figma.js synthesis.json --api-key [KEY]
Step 5: Brand Application
Apply corporate styling:
python scripts/apply_brand.py output.pptx --config assets/brand_config.json
Input Sources
Notion Pages: Individual research pages with notion://page/[ID]
Notion Databases: Research collections with notion://database/[ID]
Multiple Sources: Comma-separated URLs for comprehensive synthesis
Output Formats
PowerPoint (.pptx): Full presentation with animations and transitions
Figma Slides: Web-based collaborative presentation format
HTML Preview: Quick preview with --preview flag
Presentation Types
Executive Summary
- High-level findings (3-5 slides)
- Key metrics and KPIs
- Strategic recommendations
- See references/executive_template.md
Research Report
- Comprehensive findings (10-20 slides)
- Detailed methodology
- Data visualizations
- See references/research_template.md
Meeting Prep
- Agenda-driven structure (5-10 slides)
- Discussion topics
- Decision points
- See references/meeting_template.md
Customization
Brand Configuration
Edit assets/brand_config.json:
{
"colors": {
"primary": "#1a73e8",
"secondary": "#34a853"
},
"fonts": {
"heading": "Poppins",
"body": "Lora"
}
}
Slide Templates
Modify HTML templates in assets/templates/:
title.html- Title slide layoutcontent.html- Content slide layoutdata.html- Data visualization slide
Processing Rules
Adjust synthesis patterns in scripts/config.py:
- Topic extraction thresholds
- Agenda prioritization weights
- Content chunking sizes
Best Practices
- Start broad: Cast wide net in Notion search, then filter
- Validate sources: Check last-edited dates for currency
- Chunk large content: Process in batches for token efficiency
- Preview first: Use
--previewto check before final generation - Version control: Keep synthesis.json for iteration
Troubleshooting
"No content found": Verify Notion permissions and page URLs "Synthesis failed": Check research.json structure and content "Brand not applied": Ensure brand_config.json is valid "Figma export error": Validate API key and network access
Advanced Usage
Batch Processing
# Process multiple research sets
for url in $(cat notion_urls.txt); do
python scripts/run_workflow.py --notion-url "$url" --output "output_$(date +%s).pptx"
done
Custom Workflows
See references/custom_pipelines.md for:
- Conditional slide generation
- Dynamic template selection
- Multi-language support
- Automated scheduling
Dependencies
- Python 3.8+ with pandas, pydantic
- Node.js 16+ with pptxgenjs, @ant/html2pptx
- Notion API access via MCP
- Optional: Figma API key for web export