Custom Skills (ourdigital-custom-skills/): - 00-ourdigital-visual-storytelling: Blog featured image prompt generator - 01-ourdigital-research-publisher: Research-to-publication workflow - 02-notion-organizer: Notion workspace management - 03-research-to-presentation: Notion research to PPT/Figma - 04-seo-gateway-strategist: SEO gateway page strategy planning - 05-gateway-page-content-builder: Gateway page content generation - 20-jamie-brand-editor: Jamie Clinic branded content GENERATION - 21-jamie-brand-guardian: Jamie Clinic content REVIEW & evaluation Refinements applied: - All skills converted to SKILL.md format with YAML frontmatter - Added version fields to all skills - Flattened nested folder structures - Removed packaging artifacts (.zip, .skill files) - Reorganized file structures (scripts/, references/, etc.) - Differentiated Jamie skills with clear roles 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
177 lines
5.1 KiB
Markdown
177 lines
5.1 KiB
Markdown
---
|
|
name: research-to-presentation
|
|
version: 1.0.0
|
|
description: 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
|
|
|
|
```bash
|
|
# 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:
|
|
```python
|
|
# 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](references/research_patterns.md)
|
|
|
|
### Step 2: Content Synthesis
|
|
|
|
Analyze and structure content:
|
|
```python
|
|
synthesis = synthesize_content(extracted_data)
|
|
# Returns: executive_summary, key_topics, agenda_items, supporting_data
|
|
```
|
|
|
|
Topic prioritization guide: [references/agenda_templates.md](references/agenda_templates.md)
|
|
|
|
### Step 3: Presentation Planning
|
|
|
|
Create slide-by-slide structure:
|
|
```javascript
|
|
const slidePlan = generateSlidePlan(synthesis);
|
|
// Outputs: title, agenda, content slides with speaker notes
|
|
```
|
|
|
|
Layout options: [references/slide_layouts.md](references/slide_layouts.md)
|
|
|
|
### Step 4: Slide Generation
|
|
|
|
Convert to presentation format:
|
|
|
|
**PowerPoint Output:**
|
|
```javascript
|
|
node scripts/generate_pptx.js synthesis.json output.pptx
|
|
```
|
|
|
|
**Figma Output:**
|
|
```javascript
|
|
node scripts/export_to_figma.js synthesis.json --api-key [KEY]
|
|
```
|
|
|
|
### Step 5: Brand Application
|
|
|
|
Apply corporate styling:
|
|
```python
|
|
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](references/executive_template.md)
|
|
|
|
### Research Report
|
|
- Comprehensive findings (10-20 slides)
|
|
- Detailed methodology
|
|
- Data visualizations
|
|
- See [references/research_template.md](references/research_template.md)
|
|
|
|
### Meeting Prep
|
|
- Agenda-driven structure (5-10 slides)
|
|
- Discussion topics
|
|
- Decision points
|
|
- See [references/meeting_template.md](references/meeting_template.md)
|
|
|
|
## Customization
|
|
|
|
### Brand Configuration
|
|
Edit `assets/brand_config.json`:
|
|
```json
|
|
{
|
|
"colors": {
|
|
"primary": "#1a73e8",
|
|
"secondary": "#34a853"
|
|
},
|
|
"fonts": {
|
|
"heading": "Poppins",
|
|
"body": "Lora"
|
|
}
|
|
}
|
|
```
|
|
|
|
### Slide Templates
|
|
Modify HTML templates in `assets/templates/`:
|
|
- `title.html` - Title slide layout
|
|
- `content.html` - Content slide layout
|
|
- `data.html` - Data visualization slide
|
|
|
|
### Processing Rules
|
|
Adjust synthesis patterns in `scripts/config.py`:
|
|
- Topic extraction thresholds
|
|
- Agenda prioritization weights
|
|
- Content chunking sizes
|
|
|
|
## Best Practices
|
|
|
|
1. **Start broad**: Cast wide net in Notion search, then filter
|
|
2. **Validate sources**: Check last-edited dates for currency
|
|
3. **Chunk large content**: Process in batches for token efficiency
|
|
4. **Preview first**: Use `--preview` to check before final generation
|
|
5. **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
|
|
```bash
|
|
# 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](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
|