Files
our-claude-skills/custom-skills/03-ourdigital-presentation/desktop/SKILL.md
Andrew Yim d1cd1298a8 feat(reference-curator): Add pipeline orchestrator and refactor skill format
Pipeline Orchestrator:
- Add 07-pipeline-orchestrator skill with code/CLAUDE.md and desktop/SKILL.md
- Add /reference-curator-pipeline slash command for full workflow automation
- Add pipeline_runs and pipeline_iteration_tracker tables to schema.sql
- Add v_pipeline_status and v_pipeline_iterations views
- Add pipeline_config.yaml configuration template
- Update AGENTS.md with Reference Curator Skills section
- Update claude-project files with pipeline documentation

Skill Format Refactoring:
- Extract YAML frontmatter from SKILL.md files to separate skill.yaml
- Add tools/ directories with MCP tool documentation
- Update SKILL-FORMAT-REQUIREMENTS.md with new structure
- Add migrate-skill-structure.py script for format conversion

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 01:01:02 +07:00

171 lines
4.5 KiB
Markdown

# 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