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

4.5 KiB

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

Research Report

Meeting Prep

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 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

# 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