Initial commit: Claude Skills Factory with 8 refined custom skills
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>
This commit is contained in:
176
ourdigital-custom-skills/03-research-to-presentation/SKILL.md
Normal file
176
ourdigital-custom-skills/03-research-to-presentation/SKILL.md
Normal file
@@ -0,0 +1,176 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user