Medical-research-skills slide-deck-images
Generate professional slide-deck SVG images (not PPTX/PDF) when users ask to “create slides / slide deck / PPT” and need image outputs.
install
source · Clone the upstream repo
git clone https://github.com/aipoch/medical-research-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aipoch/medical-research-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/scientific-skills/Other/slide-deck-images" ~/.claude/skills/aipoch-medical-research-skills-slide-deck-images && rm -rf "$T"
manifest:
scientific-skills/Other/slide-deck-images/SKILL.mdsource content
When to Use
Use this skill when you need to produce slide images as SVG files (plus outline/prompts), especially when:
- A user asks for a “slide deck”, “PPT”, or “presentation” but explicitly wants images (SVG) rather than PPTX/PDF.
- You need a readable, shareable deck optimized for scrolling/swiping (each slide stands alone without a presenter).
- You want a style-driven deck using presets (e.g.,
,corporate
,minimal
) or custom style dimensions.blueprint - You need a structured workflow with optional review gates (outline review, prompt review) before generating images.
- You need to regenerate specific slides (e.g., only slide 3 or slides 2,5,8) without rebuilding everything.
Key Features
- SVG-only output: Generates
slide images (no PPTX/PDF generation)..svg - Deterministic file structure:
- Output directory:
slides-svg/ - Naming:
NN-slide-[slug].svg
- Output directory:
- End-to-end workflow: Analyze → confirm → outline → prompts → SVG render → summary.
- Style system:
- Preset styles (e.g.,
,blueprint
,corporate
,sketch-notes
, etc.)notion - Custom style dimensions: texture, mood, typography, density
- Automatic preset recommendation based on content signals
- Preset styles (e.g.,
- Review controls:
,--outline-only
,--prompts-only--images-only- Optional outline/prompt review steps via confirmation questions
- Selective regeneration:
or--regenerate <N>--regenerate 2,5,8 - No image-model dependency: SVG rendering is performed by a Python script using configuration parameters.
Dependencies
- Python 3.10+
- Project script:
(invoked locally)scripts/generate_svg.py - Reference/spec files (used by the workflow):
references/analysis-framework.mdreferences/outline-template.mdreferences/base-prompt.mdreferences/layouts.mdreferences/design-guidelines.mdreferences/dimensions/*.mdreferences/styles/<style>.mdreferences/config/preferences-schema.md
Example Usage
CLI (skill invocation)
/slide-deck "Explain OAuth 2.0 for product managers" /slide-deck "Explain OAuth 2.0 for product managers" --style corporate /slide-deck "Explain OAuth 2.0 for product managers" --audience executives /slide-deck "Explain OAuth 2.0 for product managers" --lang en /slide-deck "Explain OAuth 2.0 for product managers" --slides 10 /slide-deck "Explain OAuth 2.0 for product managers" --outline-only /slide-deck "Explain OAuth 2.0 for product managers" --prompts-only /slide-deck "Explain OAuth 2.0 for product managers" --images-only /slide-deck "Explain OAuth 2.0 for product managers" --regenerate 3 /slide-deck "Explain OAuth 2.0 for product managers" --regenerate 2,5,8 /slide-deck # then paste content
Generate SVG files locally
The SVG renderer reads parameters from its configuration area and does not use CLI arguments:
python scripts/generate_svg.py
Expected outputs:
outline.md
(one prompt file per slide)prompts/slides-svg/NN-slide-[slug].svg
Implementation Details
Output constraints
- Format:
.svg - Output directory:
slides-svg/ - Filename pattern:
NN-slide-[slug].svg
Style system
Presets
| Preset | Characteristics | Typical use |
|---|---|---|
(default) | grid + cool + technical + balanced | architecture, system design |
| organic + warm + handwritten + balanced | education, tutorials |
| clean + professional + geometric + balanced | pitches, proposals |
| clean + neutral + geometric + minimal | executive briefings |
| organic + warm + handwritten + balanced | education, tutorials |
| organic + warm + humanist + minimal | lifestyle, wellness |
| clean + dark + editorial + balanced | entertainment, gaming |
| clean + neutral + geometric + dense | product demos, SaaS |
| clean + vibrant + editorial + balanced | launches, keynotes |
| clean + cool + editorial + dense | explainers, research |
| organic + vibrant + handwritten + minimal | storytelling |
| clean + cool + technical + dense | academia, technical docs |
| pixel + vibrant + technical + balanced | gaming, dev talks |
| clean + cool + technical + dense | medical, biology, chemistry |
| clean + vibrant + humanist + balanced | creative, kids content |
| paper + warm + editorial + balanced | history, culture |
Style dimensions
| Dimension | Options | Meaning |
|---|---|---|
| Texture | clean, grid, organic, pixel, paper | background/texture treatment |
| Mood | professional, warm, cool, vibrant, dark, neutral | tone and color temperature |
| Typography | geometric, humanist, handwritten, editorial, technical | heading/body typographic feel |
| Density | minimal, balanced, dense | information density per slide |
Full dimension specs:
references/dimensions/*.md
Automatic preset recommendation (signals → preset)
| Content signals | Preset |
|---|---|
| tutorial, learn, education, guide, beginner | |
| classroom, teaching, school, chalkboard | |
| architecture, system, data, analysis, technical | |
| creative, children, kids, cute | |
| briefing, academic, research, bilingual | |
| executive, minimal, clean, simple | |
| saas, product, dashboard, metrics | |
| investor, quarterly, business, corporate | |
| launch, marketing, keynote, magazine | |
| entertainment, music, gaming, atmospheric | |
| explainer, journalism, science communication | |
| story, fantasy, animation, magical | |
| gaming, retro, pixel, developer | |
| biology, chemistry, medical, scientific | |
| history, heritage, vintage, expedition | |
| lifestyle, wellness, travel, artistic | |
| Default | |
Design philosophy (reader-first decks)
Decks are designed for reading and sharing, not live presenting:
- Each slide is understandable without narration.
- Logical flow when scrolling/swiping.
- Each slide includes necessary context.
- Optimized for social sharing.
See:
references/design-guidelines.md (visual hierarchy, density, colors, fonts, recommendations).Layouts:
references/layouts.md.
Workflow and state files
Step 1: Setup & Analyze
-
Load preferences from
(if present) and summarize:EXTEND.md- Style (preset/custom)
- Audience (or auto-detect)
- Language (or auto-detect)
- Review enabled/disabled
Schema:references/config/preferences-schema.md
-
Analyze content (per
):references/analysis-framework.md- Save input as
(backup existing assource.md
)source-backup-YYYYMMDD-HHMMSS.md - Detect language
- Recommend style preset from content signals
- Estimate slide count
- Generate topic slug
- Save input as
-
Check existing content (required) before confirmation:
- If output directory exists, ask how to proceed:
- Regenerate outline (keep images)
- Regenerate images (keep outline)
- Backup and regenerate all (
){slug}-backup-{timestamp} - Exit
- Save
with topic, audience, signals, recommended style, slide count, language.analysis.md
- If output directory exists, ask how to proceed:
Step 2: Confirmation (required)
-
Two rounds:
- Round 1: always
- Round 2: only if “Custom dimensions” is selected
-
Round 1 questions (AskUserQuestion):
- Style (recommended preset / alternative / custom dimensions)
- Audience (general/beginners/experts/executives)
- Slide count (recommended / fewer / more)
- Review outline? (yes/no)
- Review prompts? (yes/no)
-
Round 2 (custom dimensions): AskUserQuestion for texture, mood, typography, density.
After confirmation:
- Write results back to
analysis.md - Record
andskip_outline_reviewskip_prompt_review
Step 3: Generate outline
- If preset: read
references/styles/{preset}.md - If custom: combine from
references/dimensions/ - Follow
references/outline-template.md - Save as
outline.md - Stop if
--outline-only - If
→ skip to Step 5, else Step 4skip_outline_review
Step 4: Review outline (conditional)
- Show slide summary table (title/type/layout)
- Ask whether to proceed, edit
, or regenerate outlineoutline.md
Step 5: Generate prompts
- Base prompt:
references/base-prompt.md - For each slide:
- Extract style instructions from outline
- Merge layout guidance from
when specifiedreferences/layouts.md
- Save to
prompts/- Backup existing prompt files as
prompts/NN-slide-{slug}-backup-YYYYMMDD-HHMMSS.md
- Backup existing prompt files as
- Stop if
--prompts-only - If
→ skip to Step 7, else Step 6skip_prompt_review
Step 6: Review prompts (conditional)
- Show prompt list table and
pathprompts/ - Ask whether to proceed, edit prompts, or regenerate prompts
Step 7: Generate SVG images
- If
, start here--images-only - If
, render only specified pages--regenerate - Render via
scripts/generate_svg.py - Create session id:
slides-{topic-slug}-{timestamp} - Backup existing images as
NN-slide-{slug}-backup-YYYYMMDD-HHMMSS.svg - Progress reporting:
(in user language)Generated X/N - Retry once on failure, then report error
Step 8: Output summary
Include:
- Topic
- Style (preset or custom dimensions)
- Total slides
- List of generated SVG filenames
locationoutline.md