refactor: Reorganize skill numbering and update documentation
Skill Numbering Changes: - 01-03: OurDigital core (was 30-32) - 31-32: Notion tools (was 01-02) - 99_archive: Renamed from _archive for sorting New Files: - AGENTS.md: Claude Code agent routing guide - requirements.txt for 00-claude-code-setting, 32-notion-writer, 43-jamie-youtube-manager Documentation Updates: - CLAUDE.md: Updated skill inventory (23 skills) - AUDIT_REPORT.md: Current completion status (91%) - Archived REFACTORING_PLAN.md (most tasks complete) Removed: - ga-agent-skills/ (moved to separate repo ~/Project/dintel-ga4-agent) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
175
custom-skills/03-ourdigital-presentation/desktop/SKILL.md
Normal file
175
custom-skills/03-ourdigital-presentation/desktop/SKILL.md
Normal file
@@ -0,0 +1,175 @@
|
||||
---
|
||||
name: research-to-presentation
|
||||
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