@pikaa-ai/pikaa 0.3.22 → 0.3.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/brand/orbit-logo-option4-whale.jpg +0 -0
- package/assets/brand/orbit-logo.jpg +0 -0
- package/assets/brand/orbit-logo.png +0 -0
- package/assets/brand/orbit-logo.svg +3 -0
- package/dist/cli.js +448 -181
- package/dist/index.js +22 -2
- package/package.json +1 -2
- package/skills/adaptyv/SKILL.md +0 -240
- package/skills/aeon/SKILL.md +0 -402
- package/skills/analytical-method-validation/SKILL.md +0 -299
- package/skills/anndata/SKILL.md +0 -431
- package/skills/arbor/SKILL.md +0 -152
- package/skills/arboreto/SKILL.md +0 -267
- package/skills/astropy/SKILL.md +0 -353
- package/skills/autoskill/SKILL.md +0 -233
- package/skills/benchling-integration/SKILL.md +0 -229
- package/skills/bgpt-paper-search/SKILL.md +0 -75
- package/skills/bids/SKILL.md +0 -237
- package/skills/biopython/SKILL.md +0 -472
- package/skills/bioservices/SKILL.md +0 -399
- package/skills/bulk-rnaseq/SKILL.md +0 -198
- package/skills/cellxgene-census/SKILL.md +0 -283
- package/skills/cirq/SKILL.md +0 -370
- package/skills/citation-management/SKILL.md +0 -329
- package/skills/clinical-decision-support/SKILL.md +0 -238
- package/skills/clinical-decision-support/references/README.md +0 -62
- package/skills/clinical-reports/SKILL.md +0 -248
- package/skills/clinical-reports/references/README.md +0 -34
- package/skills/cobrapy/SKILL.md +0 -496
- package/skills/consciousness-council/SKILL.md +0 -151
- package/skills/dask/SKILL.md +0 -482
- package/skills/database-lookup/SKILL.md +0 -386
- package/skills/datamol/SKILL.md +0 -200
- package/skills/deepchem/SKILL.md +0 -244
- package/skills/deepspot-m/SKILL.md +0 -175
- package/skills/deeptools/SKILL.md +0 -412
- package/skills/depmap/SKILL.md +0 -301
- package/skills/dhdna-profiler/SKILL.md +0 -184
- package/skills/diffdock/SKILL.md +0 -488
- package/skills/dnanexus-integration/SKILL.md +0 -325
- package/skills/docx/SKILL.md +0 -99
- package/skills/esm/SKILL.md +0 -334
- package/skills/etetoolkit/SKILL.md +0 -327
- package/skills/exa-search/SKILL.md +0 -102
- package/skills/executing-plans/SKILL.md +0 -14
- package/skills/experimental-design/SKILL.md +0 -234
- package/skills/exploratory-data-analysis/SKILL.md +0 -280
- package/skills/flowio/SKILL.md +0 -310
- package/skills/fluidsim/SKILL.md +0 -279
- package/skills/frontend-design/SKILL.md +0 -100
- package/skills/generate-image/SKILL.md +0 -304
- package/skills/geniml/SKILL.md +0 -310
- package/skills/genomic-coordinates/SKILL.md +0 -189
- package/skills/genomic-intelligence/SKILL.md +0 -243
- package/skills/geomaster/README.md +0 -105
- package/skills/geomaster/SKILL.md +0 -366
- package/skills/geopandas/SKILL.md +0 -250
- package/skills/get-available-resources/SKILL.md +0 -260
- package/skills/gget/SKILL.md +0 -153
- package/skills/ginkgo-cloud-lab/SKILL.md +0 -106
- package/skills/glycoengineering/SKILL.md +0 -339
- package/skills/gtars/SKILL.md +0 -282
- package/skills/guardian-rails/SKILL.md +0 -54
- package/skills/histolab/SKILL.md +0 -243
- package/skills/hugging-science/SKILL.md +0 -132
- package/skills/hypogenic/SKILL.md +0 -290
- package/skills/hypothesis-generation/SKILL.md +0 -264
- package/skills/imaging-data-commons/SKILL.md +0 -496
- package/skills/infographics/SKILL.md +0 -315
- package/skills/iso-standards-readiness/SKILL.md +0 -352
- package/skills/lab-hardware-cad/SKILL.md +0 -372
- package/skills/labarchive-integration/SKILL.md +0 -216
- package/skills/lamindb/SKILL.md +0 -408
- package/skills/latchbio-integration/SKILL.md +0 -227
- package/skills/latex-posters/SKILL.md +0 -369
- package/skills/latex-posters/references/README.md +0 -439
- package/skills/liteparse/SKILL.md +0 -295
- package/skills/literature-review/SKILL.md +0 -263
- package/skills/markdown-mermaid-writing/SKILL.md +0 -322
- package/skills/market-research-reports/SKILL.md +0 -337
- package/skills/markitdown/SKILL.md +0 -264
- package/skills/matchms/SKILL.md +0 -276
- package/skills/matlab/SKILL.md +0 -274
- package/skills/matplotlib/SKILL.md +0 -378
- package/skills/medchem/SKILL.md +0 -321
- package/skills/modal/SKILL.md +0 -468
- package/skills/molecular-dynamics/SKILL.md +0 -458
- package/skills/molfeat/SKILL.md +0 -348
- package/skills/ncats-arax/SKILL.md +0 -178
- package/skills/networkx/SKILL.md +0 -440
- package/skills/neurokit2/SKILL.md +0 -323
- package/skills/neuropixels-analysis/SKILL.md +0 -412
- package/skills/nextflow/SKILL.md +0 -195
- package/skills/omero-integration/SKILL.md +0 -222
- package/skills/onekgpd/SKILL.md +0 -371
- package/skills/ontology-term-resolution/SKILL.md +0 -147
- package/skills/open-notebook/SKILL.md +0 -297
- package/skills/openpiv/SKILL.md +0 -469
- package/skills/opentrons-integration/SKILL.md +0 -322
- package/skills/optimize-for-gpu/SKILL.md +0 -176
- package/skills/owasp-top10/SKILL.md +0 -48
- package/skills/pacsomatic/LICENSE +0 -21
- package/skills/pacsomatic/SKILL.md +0 -150
- package/skills/paper-lookup/SKILL.md +0 -263
- package/skills/paperclip/SKILL.md +0 -413
- package/skills/paperzilla/SKILL.md +0 -159
- package/skills/parallel-web/SKILL.md +0 -128
- package/skills/pathml/SKILL.md +0 -222
- package/skills/pathogen-variant-surveillance/SKILL.md +0 -208
- package/skills/pathway-enrichment/SKILL.md +0 -194
- package/skills/pdf/SKILL.md +0 -322
- package/skills/peer-review/SKILL.md +0 -288
- package/skills/penetration-testing/SKILL.md +0 -31
- package/skills/pennylane/SKILL.md +0 -240
- package/skills/phylogenetics/SKILL.md +0 -409
- package/skills/pi-agent/SKILL.md +0 -83
- package/skills/pkpd-modeling/SKILL.md +0 -381
- package/skills/polars/SKILL.md +0 -393
- package/skills/polars-bio/SKILL.md +0 -379
- package/skills/ponytail/SKILL.md +0 -31
- package/skills/ponytail-audit/SKILL.md +0 -18
- package/skills/pptx/SKILL.md +0 -246
- package/skills/pptx-posters/SKILL.md +0 -258
- package/skills/primekg/SKILL.md +0 -99
- package/skills/protocolsio-integration/SKILL.md +0 -236
- package/skills/pufferlib/SKILL.md +0 -328
- package/skills/pydeseq2/SKILL.md +0 -369
- package/skills/pydicom/SKILL.md +0 -381
- package/skills/pyhealth/SKILL.md +0 -124
- package/skills/pylabrobot/SKILL.md +0 -216
- package/skills/pymatgen/SKILL.md +0 -404
- package/skills/pymc/SKILL.md +0 -310
- package/skills/pymoo/SKILL.md +0 -276
- package/skills/pyopenms/SKILL.md +0 -179
- package/skills/pysam/SKILL.md +0 -330
- package/skills/pytdc/SKILL.md +0 -297
- package/skills/pytorch-lightning/SKILL.md +0 -191
- package/skills/pyzotero/SKILL.md +0 -137
- package/skills/qiskit/SKILL.md +0 -259
- package/skills/qutip/SKILL.md +0 -317
- package/skills/rdkit/SKILL.md +0 -94
- package/skills/relsa-severity-assessment/SKILL.md +0 -354
- package/skills/research-grants/SKILL.md +0 -296
- package/skills/research-grants/references/README.md +0 -287
- package/skills/research-lookup/README.md +0 -106
- package/skills/research-lookup/SKILL.md +0 -338
- package/skills/rowan/SKILL.md +0 -398
- package/skills/scanpy/SKILL.md +0 -303
- package/skills/scholar-evaluation/SKILL.md +0 -296
- package/skills/scientific-brainstorming/SKILL.md +0 -282
- package/skills/scientific-critical-thinking/SKILL.md +0 -180
- package/skills/scientific-schematics/SKILL.md +0 -370
- package/skills/scientific-slides/SKILL.md +0 -379
- package/skills/scientific-visualization/SKILL.md +0 -285
- package/skills/scientific-writing/SKILL.md +0 -356
- package/skills/scikit-bio/SKILL.md +0 -470
- package/skills/scikit-learn/SKILL.md +0 -324
- package/skills/scikit-survival/SKILL.md +0 -313
- package/skills/scvelo/SKILL.md +0 -328
- package/skills/scvi-tools/SKILL.md +0 -201
- package/skills/seaborn/SKILL.md +0 -254
- package/skills/security-auditor/SKILL.md +0 -37
- package/skills/shap/SKILL.md +0 -282
- package/skills/simpy/SKILL.md +0 -283
- package/skills/stable-baselines3/SKILL.md +0 -325
- package/skills/statistical-analysis/SKILL.md +0 -446
- package/skills/statistical-power/SKILL.md +0 -200
- package/skills/statsmodels/SKILL.md +0 -238
- package/skills/sympy/SKILL.md +0 -354
- package/skills/systematic-debugging/SKILL.md +0 -35
- package/skills/tamarind/SKILL.md +0 -285
- package/skills/tdd/SKILL.md +0 -26
- package/skills/tiledbvcf/SKILL.md +0 -456
- package/skills/timesfm-forecasting/SKILL.md +0 -408
- package/skills/timesfm-forecasting/examples/global-temperature/README.md +0 -178
- package/skills/torch-geometric/SKILL.md +0 -458
- package/skills/torchdrug/SKILL.md +0 -241
- package/skills/transformers/SKILL.md +0 -195
- package/skills/treatment-plans/SKILL.md +0 -174
- package/skills/treatment-plans/references/README.md +0 -19
- package/skills/umap-learn/SKILL.md +0 -488
- package/skills/uncertainty-and-units/SKILL.md +0 -384
- package/skills/usfiscaldata/SKILL.md +0 -171
- package/skills/vaex/SKILL.md +0 -204
- package/skills/venue-templates/SKILL.md +0 -269
- package/skills/verification-before-completion/SKILL.md +0 -22
- package/skills/waypoint-bio/SKILL.md +0 -273
- package/skills/what-if-oracle/SKILL.md +0 -184
- package/skills/writing-plans/SKILL.md +0 -15
- package/skills/xlsx/SKILL.md +0 -110
- package/skills/zarr-python/SKILL.md +0 -241
|
@@ -1,379 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: scientific-slides
|
|
3
|
-
description: Build slide decks and presentations for research talks. Use this for making PowerPoint slides, conference presentations, seminar talks, research presentations, thesis defense slides, or any scientific talk. Provides slide structure, design templates, timing guidance, and visual validation. Works with PowerPoint and LaTeX Beamer.
|
|
4
|
-
allowed-tools: Read Write Edit Bash
|
|
5
|
-
license: MIT license
|
|
6
|
-
metadata:
|
|
7
|
-
version: "1.7"
|
|
8
|
-
skill-author: K-Dense Inc.
|
|
9
|
-
openclaw:
|
|
10
|
-
primaryEnv: OPENROUTER_API_KEY
|
|
11
|
-
envVars:
|
|
12
|
-
- name: OPENROUTER_API_KEY
|
|
13
|
-
required: false
|
|
14
|
-
description: OpenRouter API key for the skill's LLM-powered steps.
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
# Scientific Slides
|
|
18
|
-
|
|
19
|
-
## Overview
|
|
20
|
-
|
|
21
|
-
Scientific presentations are a critical medium for communicating research, sharing findings, and engaging with academic and professional audiences. This skill provides comprehensive guidance for creating effective scientific presentations, from structure and content development to visual design and delivery preparation.
|
|
22
|
-
|
|
23
|
-
**Key Focus**: Oral presentations for conferences, seminars, defenses, and professional talks.
|
|
24
|
-
|
|
25
|
-
**CRITICAL DESIGN PHILOSOPHY**: Scientific presentations should be VISUALLY ENGAGING and RESEARCH-BACKED. Avoid dry, text-heavy slides at all costs. Great scientific presentations combine:
|
|
26
|
-
- **Compelling visuals**: High-quality figures, images, diagrams (not just bullet points)
|
|
27
|
-
- **Research context**: Proper citations from research-lookup establishing credibility
|
|
28
|
-
- **Minimal text**: Bullet points as prompts, YOU provide the explanation verbally
|
|
29
|
-
- **Professional design**: Modern color schemes, strong visual hierarchy, generous white space
|
|
30
|
-
- **Story-driven**: Clear narrative arc, not just data dumps
|
|
31
|
-
|
|
32
|
-
**Remember**: Boring presentations = forgotten science. Make your slides visually memorable while maintaining scientific rigor through proper citations.
|
|
33
|
-
|
|
34
|
-
## When to Use This Skill
|
|
35
|
-
|
|
36
|
-
This skill should be used when:
|
|
37
|
-
- Preparing conference presentations (5-20 minutes)
|
|
38
|
-
- Developing academic seminars (45-60 minutes)
|
|
39
|
-
- Creating thesis or dissertation defense presentations
|
|
40
|
-
- Designing grant pitch presentations
|
|
41
|
-
- Preparing journal club presentations
|
|
42
|
-
- Giving research talks at institutions or companies
|
|
43
|
-
- Teaching or tutorial presentations on scientific topics
|
|
44
|
-
|
|
45
|
-
## Slide Generation with Nano Banana Pro
|
|
46
|
-
|
|
47
|
-
**This skill uses Nano Banana Pro AI to generate stunning presentation slides automatically.**
|
|
48
|
-
|
|
49
|
-
There are two workflows depending on output format:
|
|
50
|
-
|
|
51
|
-
### Default Workflow: PDF Slides (Recommended)
|
|
52
|
-
|
|
53
|
-
Generate each slide as a complete image using Nano Banana Pro, then combine into a PDF. This produces the most visually stunning results.
|
|
54
|
-
|
|
55
|
-
**How it works:**
|
|
56
|
-
1. **Plan the deck**: Create a detailed plan for each slide (title, key points, visual elements)
|
|
57
|
-
2. **Generate slides**: Call Nano Banana Pro for each slide to create complete slide images
|
|
58
|
-
3. **Combine to PDF**: Assemble slide images into a single PDF presentation
|
|
59
|
-
|
|
60
|
-
**Step 1: Plan Each Slide**
|
|
61
|
-
|
|
62
|
-
Before generating, create a detailed plan for your presentation:
|
|
63
|
-
|
|
64
|
-
```markdown
|
|
65
|
-
# Presentation Plan: Introduction to Machine Learning
|
|
66
|
-
|
|
67
|
-
## Slide 1: Title Slide
|
|
68
|
-
- Title: "Machine Learning: From Theory to Practice"
|
|
69
|
-
- Subtitle: "AI Conference 2025"
|
|
70
|
-
- Speaker: Dr. Jane Smith, University of XYZ
|
|
71
|
-
- Visual: Modern abstract neural network background
|
|
72
|
-
|
|
73
|
-
## Slide 2: Introduction
|
|
74
|
-
- Title: "Why Machine Learning Matters"
|
|
75
|
-
- Key points: Industry adoption, breakthrough applications, future potential
|
|
76
|
-
- Visual: Icons showing different ML applications (healthcare, finance, robotics)
|
|
77
|
-
|
|
78
|
-
## Slide 3: Core Concepts
|
|
79
|
-
- Title: "The Three Types of Learning"
|
|
80
|
-
- Content: Supervised, Unsupervised, Reinforcement
|
|
81
|
-
- Visual: Three-part diagram showing each type with examples
|
|
82
|
-
|
|
83
|
-
... (continue for all slides)
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
**Step 2: Generate Each Slide**
|
|
87
|
-
|
|
88
|
-
Use the `generate_slide_image.py` script to create each slide.
|
|
89
|
-
|
|
90
|
-
**CRITICAL: Formatting Consistency Protocol**
|
|
91
|
-
|
|
92
|
-
To ensure unified formatting across all slides in a presentation:
|
|
93
|
-
|
|
94
|
-
1. **Define a Formatting Goal** at the start of your presentation and include it in EVERY prompt:
|
|
95
|
-
- Color scheme (e.g., "dark blue background, white text, gold accents")
|
|
96
|
-
- Typography style (e.g., "bold sans-serif titles, clean body text")
|
|
97
|
-
- Visual style (e.g., "minimal, professional, corporate aesthetic")
|
|
98
|
-
- Layout approach (e.g., "generous white space, left-aligned content")
|
|
99
|
-
|
|
100
|
-
2. **Always attach the previous slide** when generating subsequent slides using `--attach`:
|
|
101
|
-
- This allows Nano Banana Pro to see and match the existing style
|
|
102
|
-
- Creates visual continuity throughout the deck
|
|
103
|
-
- Ensures consistent colors, fonts, and design language
|
|
104
|
-
|
|
105
|
-
3. **Default author is "K-Dense"** unless another name is specified
|
|
106
|
-
|
|
107
|
-
4. **Include citations directly in the prompt** for slides that reference research:
|
|
108
|
-
- Add citations in the prompt text so they appear on the generated slide
|
|
109
|
-
- Use format: "Include citation: (Author et al., Year)" or "Show reference: Author et al., Year"
|
|
110
|
-
- For multiple citations, list them all in the prompt
|
|
111
|
-
- Citations should appear in small text at the bottom of the slide or near relevant content
|
|
112
|
-
|
|
113
|
-
5. **Attach existing figures/data for results slides** (CRITICAL for data-driven presentations):
|
|
114
|
-
- When creating slides about results, ALWAYS check for existing figures in:
|
|
115
|
-
- The working directory (e.g., `figures/`, `results/`, `plots/`, `images/`)
|
|
116
|
-
- User-provided input files or directories
|
|
117
|
-
- Any data visualizations, charts, or graphs relevant to the presentation
|
|
118
|
-
- Use `--attach` to include these figures so Nano Banana Pro can incorporate them:
|
|
119
|
-
- Attach the actual data figure/chart for results slides
|
|
120
|
-
- Attach relevant diagrams for methodology slides
|
|
121
|
-
- Attach logos or institutional images for title slides
|
|
122
|
-
- When attaching data figures, describe what you want in the prompt:
|
|
123
|
-
- "Create a slide presenting the attached results chart with key findings highlighted"
|
|
124
|
-
- "Build a slide around this attached figure, add title and bullet points explaining the data"
|
|
125
|
-
- "Incorporate the attached graph into a results slide with interpretation"
|
|
126
|
-
- **Before generating results slides**: List files in the working directory to find relevant figures
|
|
127
|
-
- Multiple figures can be attached: `--attach fig1.png --attach fig2.png`
|
|
128
|
-
|
|
129
|
-
**Example with formatting consistency, citations, and figure attachments:**
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
# Title slide (first slide - establishes the style)
|
|
133
|
-
python scripts/generate_slide_image.py "Title slide for presentation: 'Machine Learning: From Theory to Practice'. Subtitle: 'AI Conference 2025'. Speaker: K-Dense. FORMATTING GOAL: Dark blue background (#1a237e), white text, gold accents (#ffc107), minimal design, sans-serif fonts, generous margins, no decorative elements." -o slides/01_title.png
|
|
134
|
-
|
|
135
|
-
# Content slide with citations (attach previous slide for consistency)
|
|
136
|
-
python scripts/generate_slide_image.py "Presentation slide titled 'Why Machine Learning Matters'. Three key points with simple icons: 1) Industry adoption, 2) Breakthrough applications, 3) Future potential. CITATIONS: Include at bottom in small text: (LeCun et al., 2015; Goodfellow et al., 2016). FORMATTING GOAL: Match attached slide style - dark blue background, white text, gold accents, minimal professional design, no visual clutter." -o slides/02_intro.png --attach slides/01_title.png
|
|
137
|
-
|
|
138
|
-
# Background slide with multiple citations
|
|
139
|
-
python scripts/generate_slide_image.py "Presentation slide titled 'Deep Learning Revolution'. Key milestones: ImageNet breakthrough (2012), transformer architecture (2017), GPT models (2018-present). CITATIONS: Show references at bottom: (Krizhevsky et al., 2012; Vaswani et al., 2017; Brown et al., 2020). FORMATTING GOAL: Match attached slide style exactly - same colors, fonts, minimal design." -o slides/03_background.png --attach slides/02_intro.png
|
|
140
|
-
|
|
141
|
-
# RESULTS SLIDE - Attach actual data figure from working directory
|
|
142
|
-
# First, check what figures exist: ls figures/ or ls results/
|
|
143
|
-
python scripts/generate_slide_image.py "Presentation slide titled 'Model Performance Results'. Create a slide presenting the attached accuracy chart. Key findings to highlight: 1) 95% accuracy achieved, 2) Outperforms baseline by 12%, 3) Consistent across test sets. CITATIONS: Include at bottom: (Our results, 2025). FORMATTING GOAL: Match attached slide style exactly." -o slides/04_results.png --attach slides/03_background.png --attach figures/accuracy_chart.png
|
|
144
|
-
|
|
145
|
-
# RESULTS SLIDE - Multiple figures comparison
|
|
146
|
-
python scripts/generate_slide_image.py "Presentation slide titled 'Before vs After Comparison'. Build a side-by-side comparison slide using the two attached figures. Left: baseline results, Right: our improved results. Add brief labels explaining the improvement. FORMATTING GOAL: Match attached slide style exactly." -o slides/05_comparison.png --attach slides/04_results.png --attach figures/baseline.png --attach figures/improved.png
|
|
147
|
-
|
|
148
|
-
# METHODOLOGY SLIDE - Attach existing diagram
|
|
149
|
-
python scripts/generate_slide_image.py "Presentation slide titled 'System Architecture'. Present the attached architecture diagram with brief explanatory bullet points: 1) Input processing, 2) Model inference, 3) Output generation. FORMATTING GOAL: Match attached slide style exactly." -o slides/06_architecture.png --attach slides/05_comparison.png --attach diagrams/system_architecture.png
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
**IMPORTANT: Before creating results slides, always:**
|
|
153
|
-
1. List files in working directory: `ls -la figures/` or `ls -la results/`
|
|
154
|
-
2. Check user-provided directories for relevant figures
|
|
155
|
-
3. Attach ALL relevant figures that should appear on the slide
|
|
156
|
-
4. Describe how Nano Banana Pro should incorporate the attached figures
|
|
157
|
-
|
|
158
|
-
**Prompt Template:**
|
|
159
|
-
|
|
160
|
-
Include these elements in every prompt (customize as needed):
|
|
161
|
-
```
|
|
162
|
-
[Slide content description]
|
|
163
|
-
CITATIONS: Include at bottom: (Author1 et al., Year; Author2 et al., Year)
|
|
164
|
-
FORMATTING GOAL: [Background color], [text color], [accent color], minimal professional design, no decorative elements, consistent with attached slide style.
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
**Step 3: Combine to PDF**
|
|
168
|
-
|
|
169
|
-
```bash
|
|
170
|
-
# Combine all slides into a PDF presentation
|
|
171
|
-
python scripts/slides_to_pdf.py slides/*.png -o presentation.pdf
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
### PPT Workflow: PowerPoint with Generated Visuals
|
|
175
|
-
|
|
176
|
-
When creating PowerPoint presentations, use Nano Banana Pro to generate images and figures for each slide, then add text separately using the PPTX skill.
|
|
177
|
-
|
|
178
|
-
**How it works:**
|
|
179
|
-
1. **Plan the deck**: Create content plan for each slide
|
|
180
|
-
2. **Generate visuals**: Use Nano Banana Pro with `--visual-only` flag to create images for slides
|
|
181
|
-
3. **Build PPTX**: Use the PPTX skill (html2pptx or template-based) to create slides with generated visuals and separate text
|
|
182
|
-
|
|
183
|
-
**Step 1: Generate Visuals for Each Slide**
|
|
184
|
-
|
|
185
|
-
```bash
|
|
186
|
-
# Generate a figure for the introduction slide
|
|
187
|
-
python scripts/generate_slide_image.py "Professional illustration showing machine learning applications: healthcare diagnosis, financial analysis, autonomous vehicles, and robotics. Modern flat design, colorful icons on white background." -o figures/ml_applications.png --visual-only
|
|
188
|
-
|
|
189
|
-
# Generate a diagram for the methods slide
|
|
190
|
-
python scripts/generate_slide_image.py "Neural network architecture diagram showing input layer, three hidden layers, and output layer. Clean, technical style with node connections. Blue and gray color scheme." -o figures/neural_network.png --visual-only
|
|
191
|
-
|
|
192
|
-
# Generate a conceptual graphic for results
|
|
193
|
-
python scripts/generate_slide_image.py "Before and after comparison showing improvement: left side shows cluttered data, right side shows organized insights. Arrow connecting them. Professional business style." -o figures/results_visual.png --visual-only
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
**Step 2: Build PowerPoint with PPTX Skill**
|
|
197
|
-
|
|
198
|
-
Use the PPTX skill's html2pptx workflow to create slides that include:
|
|
199
|
-
- Generated images from step 1
|
|
200
|
-
- Title and body text added separately
|
|
201
|
-
- Professional layout and formatting
|
|
202
|
-
|
|
203
|
-
See `skills/pptx/SKILL.md` for complete PPTX creation documentation.
|
|
204
|
-
|
|
205
|
-
---
|
|
206
|
-
|
|
207
|
-
## Visual Enhancement with Scientific Schematics
|
|
208
|
-
|
|
209
|
-
In addition to slide generation, use the **scientific-schematics** skill for technical diagrams:
|
|
210
|
-
|
|
211
|
-
**When to use scientific-schematics instead:**
|
|
212
|
-
- Complex technical diagrams (circuit diagrams, chemical structures)
|
|
213
|
-
- Publication-quality figures for papers (higher quality threshold)
|
|
214
|
-
- Diagrams requiring scientific accuracy review
|
|
215
|
-
|
|
216
|
-
**How to generate schematics:**
|
|
217
|
-
```bash
|
|
218
|
-
python scripts/generate_schematic.py "your diagram description" -o figures/output.png
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
For detailed guidance on creating schematics, refer to the scientific-schematics skill documentation.
|
|
222
|
-
|
|
223
|
-
---
|
|
224
|
-
|
|
225
|
-
## Core Capabilities
|
|
226
|
-
|
|
227
|
-
Presentation structure and organization, slide design principles, data visualization for
|
|
228
|
-
slides, talk-specific guidance, implementation options (Beamer / PowerPoint / generated
|
|
229
|
-
PDF), visual review and iteration, timing and pacing, and validation are all documented
|
|
230
|
-
in [references/slide_capabilities.md](references/slide_capabilities.md).
|
|
231
|
-
|
|
232
|
-
The staged development process — planning, design and creation, content development,
|
|
233
|
-
visual validation, practice and refinement, and final preparation — is in
|
|
234
|
-
[references/presentation_workflow.md](references/presentation_workflow.md).
|
|
235
|
-
|
|
236
|
-
Prompt-writing guidance for both full-slide and visual-only generation is in
|
|
237
|
-
[references/prompt_writing.md](references/prompt_writing.md). Every bundled script's
|
|
238
|
-
arguments and options are in
|
|
239
|
-
[references/script_reference.md](references/script_reference.md). The mistakes that most
|
|
240
|
-
often sink a talk are catalogued in
|
|
241
|
-
[references/common_pitfalls.md](references/common_pitfalls.md).
|
|
242
|
-
|
|
243
|
-
## Integration with Other Skills
|
|
244
|
-
|
|
245
|
-
**Research Lookup** (Critical for Scientific Presentations):
|
|
246
|
-
- **Background development**: Search literature to build introduction context
|
|
247
|
-
- **Citation gathering**: Find key papers to cite in your talk
|
|
248
|
-
- **Gap identification**: Identify what's unknown to motivate research
|
|
249
|
-
- **Prior work comparison**: Find papers to compare your results against
|
|
250
|
-
- **Supporting evidence**: Locate literature supporting your interpretations
|
|
251
|
-
- **Question preparation**: Find papers that might inform Q&A responses
|
|
252
|
-
- **Always use research-lookup** when developing any scientific presentation to ensure proper context and citations
|
|
253
|
-
|
|
254
|
-
**Scientific Writing**:
|
|
255
|
-
- Convert paper content to presentation format
|
|
256
|
-
- Extract key findings and simplify
|
|
257
|
-
- Use same figures (but redesigned for slides)
|
|
258
|
-
- Maintain consistent terminology
|
|
259
|
-
|
|
260
|
-
**PPTX Skill**:
|
|
261
|
-
- Use for PowerPoint creation and editing
|
|
262
|
-
- Leverage scripts for template workflows
|
|
263
|
-
- Use thumbnail generation for validation
|
|
264
|
-
- Reference html2pptx for programmatic creation
|
|
265
|
-
|
|
266
|
-
**Data Visualization**:
|
|
267
|
-
- Create presentation-appropriate figures
|
|
268
|
-
- Simplify complex visualizations
|
|
269
|
-
- Ensure readability from distance
|
|
270
|
-
- Use progressive disclosure
|
|
271
|
-
|
|
272
|
-
## Reference Files
|
|
273
|
-
|
|
274
|
-
Comprehensive guides for specific aspects:
|
|
275
|
-
|
|
276
|
-
- **`references/presentation_structure.md`**: Detailed structure for all talk types, timing allocation, opening/closing strategies, transition techniques
|
|
277
|
-
- **`references/slide_design_principles.md`**: Typography, color theory, layout, accessibility, visual hierarchy, design workflow
|
|
278
|
-
- **`references/data_visualization_slides.md`**: Simplifying figures, chart types, progressive disclosure, common mistakes, recreation workflow
|
|
279
|
-
- **`references/talk_types_guide.md`**: Specific guidance for conferences, seminars, defenses, grants, journal clubs, with examples
|
|
280
|
-
- **`references/beamer_guide.md`**: Complete LaTeX Beamer documentation, themes, customization, advanced features, compilation
|
|
281
|
-
- **`references/visual_review_workflow.md`**: PDF to images conversion, systematic inspection, issue documentation, iterative improvement
|
|
282
|
-
|
|
283
|
-
- **`references/slide_capabilities.md`**: presentation structure, design principles, data visualization, talk types, implementation options, visual review, timing, validation
|
|
284
|
-
- **`references/presentation_workflow.md`**: the six development stages from planning to final preparation
|
|
285
|
-
- **`references/prompt_writing.md`**: full-slide and visual-only prompt patterns
|
|
286
|
-
- **`references/script_reference.md`**: arguments and options for every bundled script
|
|
287
|
-
- **`references/common_pitfalls.md`**: content, design, and timing mistakes to avoid
|
|
288
|
-
|
|
289
|
-
## Assets
|
|
290
|
-
|
|
291
|
-
### Templates
|
|
292
|
-
|
|
293
|
-
- **`assets/beamer_template_conference.tex`**: 15-minute conference talk template
|
|
294
|
-
- **`assets/beamer_template_seminar.tex`**: 45-minute academic seminar template
|
|
295
|
-
- **`assets/beamer_template_defense.tex`**: Dissertation defense template
|
|
296
|
-
|
|
297
|
-
### Guides
|
|
298
|
-
|
|
299
|
-
- **`assets/powerpoint_design_guide.md`**: Complete PowerPoint design and implementation guide
|
|
300
|
-
- **`assets/timing_guidelines.md`**: Comprehensive timing, pacing, and practice strategies
|
|
301
|
-
|
|
302
|
-
## Quick Start Guide
|
|
303
|
-
|
|
304
|
-
### For a 15-Minute Conference Talk (PDF Workflow - Recommended)
|
|
305
|
-
|
|
306
|
-
1. **Research & Plan** (45 minutes):
|
|
307
|
-
- **Use research-lookup** to find 8-12 relevant papers for citations
|
|
308
|
-
- Build reference list (background, comparison studies)
|
|
309
|
-
- Outline content (intro → methods → 2-3 key results → conclusion)
|
|
310
|
-
- **Create detailed plan for each slide** (title, key points, visual elements)
|
|
311
|
-
- Target 15-18 slides
|
|
312
|
-
|
|
313
|
-
2. **Generate Slides with Nano Banana Pro** (1-2 hours):
|
|
314
|
-
|
|
315
|
-
**Important: Use consistent formatting, attach previous slides, and include citations!**
|
|
316
|
-
|
|
317
|
-
```bash
|
|
318
|
-
# Title slide (establishes style - default author: K-Dense)
|
|
319
|
-
python scripts/generate_slide_image.py "Title slide: 'Your Research Title'. Conference name, K-Dense. FORMATTING GOAL: [your color scheme], minimal professional design, no decorative elements, clean and corporate." -o slides/01_title.png
|
|
320
|
-
|
|
321
|
-
# Introduction slide with citations (attach previous for consistency)
|
|
322
|
-
python scripts/generate_slide_image.py "Slide titled 'Why This Matters'. Three key points with simple icons. CITATIONS: Include at bottom: (Smith et al., 2023; Jones et al., 2024). FORMATTING GOAL: Match attached slide style exactly." -o slides/02_intro.png --attach slides/01_title.png
|
|
323
|
-
|
|
324
|
-
# Continue for each slide (always attach previous, include citations where relevant)
|
|
325
|
-
python scripts/generate_slide_image.py "Slide titled 'Methods'. Key methodology points. CITATIONS: (Based on Chen et al., 2022). FORMATTING GOAL: Match attached slide style exactly." -o slides/03_methods.png --attach slides/02_intro.png
|
|
326
|
-
|
|
327
|
-
# Combine to PDF
|
|
328
|
-
python scripts/slides_to_pdf.py slides/*.png -o presentation.pdf
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
3. **Review & Iterate** (30 minutes):
|
|
332
|
-
- Open the PDF and review each slide
|
|
333
|
-
- Regenerate any slides that need improvement
|
|
334
|
-
- Re-combine to PDF
|
|
335
|
-
|
|
336
|
-
4. **Practice** (2-3 hours):
|
|
337
|
-
- Practice 3-5 times with timer
|
|
338
|
-
- Aim for 13-14 minutes (leave buffer)
|
|
339
|
-
- Record yourself, watch playback
|
|
340
|
-
- **Prepare for questions** (use research-lookup to anticipate)
|
|
341
|
-
|
|
342
|
-
5. **Finalize** (30 minutes):
|
|
343
|
-
- Generate backup/appendix slides if needed
|
|
344
|
-
- Save multiple copies
|
|
345
|
-
- Test on presentation computer
|
|
346
|
-
|
|
347
|
-
Total time: ~5-6 hours for quality AI-generated presentation
|
|
348
|
-
|
|
349
|
-
### Alternative: PowerPoint Workflow
|
|
350
|
-
|
|
351
|
-
If you need editable slides (e.g., for company templates):
|
|
352
|
-
|
|
353
|
-
1. **Plan slides** as above
|
|
354
|
-
2. **Generate visuals** with `--visual-only` flag:
|
|
355
|
-
```bash
|
|
356
|
-
python scripts/generate_slide_image.py "diagram description" -o figures/fig1.png --visual-only
|
|
357
|
-
```
|
|
358
|
-
3. **Build PPTX** using the PPTX skill with generated images
|
|
359
|
-
4. **Add text** separately using PPTX workflow
|
|
360
|
-
|
|
361
|
-
See `skills/pptx/SKILL.md` for complete PowerPoint workflow.
|
|
362
|
-
|
|
363
|
-
## Summary: Key Principles
|
|
364
|
-
|
|
365
|
-
1. **Visual-First Design**: Every slide needs strong visual element (figure, image, diagram) - avoid text-only slides
|
|
366
|
-
2. **Research-Backed**: Use research-lookup to find 8-15 papers, cite 3-5 in intro, 3-5 in discussion
|
|
367
|
-
3. **Modern Aesthetics**: Choose contemporary color palette matching topic, not default themes
|
|
368
|
-
4. **Minimal Text**: 3-4 bullets, 4-6 words each (24-28pt font), let visuals tell story
|
|
369
|
-
5. **Structure**: Follow story arc, spend 40-50% on results
|
|
370
|
-
6. **High Contrast**: 7:1 preferred for professional appearance
|
|
371
|
-
7. **Varied Layouts**: Mix full-figure, two-column, visual overlays (not all bullets)
|
|
372
|
-
8. **Timing**: Practice 3-5 times, ~1 slide per minute, never skip conclusions
|
|
373
|
-
9. **Validation**: Visual review workflow to catch overflow and overlap
|
|
374
|
-
10. **White Space**: 40-50% of slide empty for visual breathing room
|
|
375
|
-
|
|
376
|
-
**Remember**:
|
|
377
|
-
- **Boring = Forgotten**: Dry, text-heavy slides fail to communicate your science
|
|
378
|
-
- **Visual + Research = Impact**: Combine compelling visuals with research-backed context
|
|
379
|
-
- **You are the presentation, slides are visual support**: They should enhance, not replace your talk
|
|
@@ -1,285 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: scientific-visualization
|
|
3
|
-
description: Create and audit truthful, accessible, publication-ready scientific figures with Matplotlib, Seaborn, or Plotly. Use for figure design, multi-panel layouts, uncertainty and missing-data displays, color/contrast review, image metadata validation, and journal export planning.
|
|
4
|
-
license: MIT
|
|
5
|
-
compatibility: Requires Python 3.11+ and uv for pinned examples. Bundled CLIs are network-free and load Matplotlib, Pillow, or pypdf only when needed. Plotly static export with Kaleido v1 requires a compatible Chrome/Chromium installation.
|
|
6
|
-
allowed-tools: Read Write Edit Bash Glob Grep
|
|
7
|
-
metadata:
|
|
8
|
-
version: "1.1"
|
|
9
|
-
skill-author: K-Dense Inc.
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# Scientific Visualization
|
|
13
|
-
|
|
14
|
-
Build figures that preserve scientific meaning before optimizing appearance. Separate universal principles from dated publisher rules, preserve raw data and transformations, use color redundantly, and inspect delivered files rather than trusting plotting defaults.
|
|
15
|
-
|
|
16
|
-
## Non-negotiable guardrails
|
|
17
|
-
|
|
18
|
-
- Never alter, hide, invent, or selectively enhance data to improve a figure.
|
|
19
|
-
- Preserve raw tables/images, exclusions, missing-value codes, analysis code, normalization, binning, image adjustments, and random seeds.
|
|
20
|
-
- Do not infer journal requirements. Identify the exact journal, article type, figure type, and submission phase; verify its live official guidance.
|
|
21
|
-
- Do not claim that a palette, DPI value, format, or automated report makes a figure accessible or journal-compliant.
|
|
22
|
-
- Do not silently connect missing observations, suppress inconvenient points, upsample images as if detail increased, or tune axes/dual axes to exaggerate a conclusion.
|
|
23
|
-
- Keep interactive and static outputs as distinct deliverables. Interactive hover is not a substitute for labels, alt text, keyboard access, an accessible data table, or a static fallback.
|
|
24
|
-
|
|
25
|
-
Read `references/publication_guidelines.md` for deceptive-encoding and integrity checks. Read `references/journal_requirements.md` only after the target and phase are known.
|
|
26
|
-
|
|
27
|
-
## Workflow
|
|
28
|
-
|
|
29
|
-
### 1. Define the evidence and destination
|
|
30
|
-
|
|
31
|
-
Record:
|
|
32
|
-
|
|
33
|
-
- audience and medium: manuscript, web, slide, poster, supplement;
|
|
34
|
-
- exact publisher/journal, article type, submission phase, and intended final width;
|
|
35
|
-
- variable semantics, units, sample/replicate structure, missing/censored values;
|
|
36
|
-
- estimator and uncertainty definition;
|
|
37
|
-
- transformations: filtering, aggregation, normalization, smoothing, bins, image processing;
|
|
38
|
-
- source-data paths/identifiers and output provenance.
|
|
39
|
-
|
|
40
|
-
If requirements are not known, create a provisional general figure and label all publisher choices as pending verification.
|
|
41
|
-
|
|
42
|
-
### 2. Choose an honest encoding
|
|
43
|
-
|
|
44
|
-
Prefer position on a common scale. Before coding, check:
|
|
45
|
-
|
|
46
|
-
- **Bars/areas:** normally include zero because length/area is measured from a baseline.
|
|
47
|
-
- **Points/lines:** nonzero limits can be valid; show context and disclose breaks.
|
|
48
|
-
- **Uncertainty:** name SD, SE, CI, percentile, posterior, or another interval; state `n` and the unit of replication.
|
|
49
|
-
- **Raw observations:** show them when feasible; do not let jitter obscure categories/values.
|
|
50
|
-
- **Missing data:** distinguish missing, zero, censored, and excluded; use gaps or explicit model/interpolation styling.
|
|
51
|
-
- **Area/volume:** scale area/volume, not radius/diameter; avoid decorative 3D.
|
|
52
|
-
- **Log axes:** label the base/transform and declare how zero/negative values are handled.
|
|
53
|
-
- **Binning/smoothing:** record edges, bandwidth/window, method, and sensitivity.
|
|
54
|
-
- **Normalization:** state formula/reference and keep limits consistent across compared panels.
|
|
55
|
-
- **Dual axes:** prefer aligned panels; if unavoidable, justify units and do not engineer apparent correlation.
|
|
56
|
-
- **Images:** preserve originals, disclose whole-image adjustments, show scale bars, and avoid clipped/erased background.
|
|
57
|
-
|
|
58
|
-
### 3. Design accessibility in, not after
|
|
59
|
-
|
|
60
|
-
- Use color plus marker, line style, hatching, direct label, or panel separation.
|
|
61
|
-
- Choose qualitative, sequential, diverging, or cyclic color according to data semantics.
|
|
62
|
-
- Audit foreground/background contrast at the rendered size.
|
|
63
|
-
- Make missing and out-of-range values explicit.
|
|
64
|
-
- Provide alt text, a longer description for complex figures, and underlying data for web delivery.
|
|
65
|
-
- Treat WCAG 2.2 as web guidance: 4.5:1 normal text, 3:1 large text, and 3:1 for graphical objects required for understanding; color cannot be the only cue. Applicability and exceptions matter.
|
|
66
|
-
|
|
67
|
-
See `references/color_palettes.md`. A grayscale screen is useful but is not a complete color-vision or accessibility test.
|
|
68
|
-
|
|
69
|
-
### 4. Implement with scoped styles
|
|
70
|
-
|
|
71
|
-
Use Matplotlib's object-oriented API and temporary style contexts:
|
|
72
|
-
|
|
73
|
-
```python
|
|
74
|
-
import matplotlib.pyplot as plt
|
|
75
|
-
|
|
76
|
-
from style_presets import style_context
|
|
77
|
-
|
|
78
|
-
with style_context("default", palette_name="okabe_ito_on_white"):
|
|
79
|
-
fig, ax = plt.subplots(
|
|
80
|
-
figsize=(89 / 25.4, 60 / 25.4),
|
|
81
|
-
layout="constrained",
|
|
82
|
-
)
|
|
83
|
-
ax.plot(x, y, marker="o", label="Observed")
|
|
84
|
-
ax.set(xlabel="Time (hours)", ylabel="Response (unit)")
|
|
85
|
-
ax.legend()
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
`layout="constrained"` supports colorbars, nested GridSpec, subfigures, and `subplot_mosaic`. Do not call `tight_layout()` afterward; it disables constrained layout.
|
|
89
|
-
|
|
90
|
-
For exact physical dimensions, do not use `bbox_inches="tight"` unless the changed page size is intentional.
|
|
91
|
-
|
|
92
|
-
#### Color normalization
|
|
93
|
-
|
|
94
|
-
```python
|
|
95
|
-
import matplotlib as mpl
|
|
96
|
-
|
|
97
|
-
norm = mpl.colors.TwoSlopeNorm(vmin=-2, vcenter=0, vmax=5)
|
|
98
|
-
cmap = mpl.colormaps["RdBu_r"].with_extremes(bad="#777777")
|
|
99
|
-
image = ax.imshow(values, norm=norm, cmap=cmap, interpolation="nearest")
|
|
100
|
-
fig.colorbar(image, ax=ax, label="Change (unit)")
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
Use `LogNorm`, `CenteredNorm`, `SymLogNorm`, `BoundaryNorm`, or `TwoSlopeNorm` only when its mapping matches the scientific meaning.
|
|
104
|
-
|
|
105
|
-
#### Seaborn
|
|
106
|
-
|
|
107
|
-
Seaborn 0.13.2 uses the current `errorbar` API:
|
|
108
|
-
|
|
109
|
-
```python
|
|
110
|
-
sns.lineplot(
|
|
111
|
-
data=frame,
|
|
112
|
-
x="time",
|
|
113
|
-
y="response",
|
|
114
|
-
hue="treatment",
|
|
115
|
-
style="treatment",
|
|
116
|
-
markers=True,
|
|
117
|
-
errorbar=("ci", 95),
|
|
118
|
-
n_boot=5000,
|
|
119
|
-
seed=20260723,
|
|
120
|
-
ax=ax,
|
|
121
|
-
)
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
Axes-level functions fit custom Matplotlib layouts; figure-level functions create their own figures/facets. Do not customize Seaborn's internal artist lists as if they were stable API.
|
|
125
|
-
|
|
126
|
-
#### Plotly
|
|
127
|
-
|
|
128
|
-
- Use `write_html()` for interaction and `write_image()`/`plotly.io.write_images()` for static output.
|
|
129
|
-
- Kaleido 1.3.0 requires Chrome/Chromium; it no longer bundles Chrome.
|
|
130
|
-
- Current static formats: PNG, JPEG, WebP, SVG, PDF. EPS is Kaleido v0-only.
|
|
131
|
-
- Do not pass deprecated `engine=` or use Orca/`plotly.io.kaleido.scope`.
|
|
132
|
-
- `width`, `height`, and `scale` control pixels; `scale=3` is not inherently “300 DPI.”
|
|
133
|
-
- WebGL traces embed raster content in PDF/SVG.
|
|
134
|
-
- Fully offline exports need local external assets when a figure references MathJax/topojson/tiles.
|
|
135
|
-
|
|
136
|
-
### 5. Export explicitly and record provenance
|
|
137
|
-
|
|
138
|
-
```python
|
|
139
|
-
from figure_export import export_figure
|
|
140
|
-
|
|
141
|
-
report = export_figure(
|
|
142
|
-
fig,
|
|
143
|
-
"outputs/figure1",
|
|
144
|
-
formats=["pdf", "png"],
|
|
145
|
-
dpi=600,
|
|
146
|
-
bbox_inches=None, # preserve figure page dimensions
|
|
147
|
-
provenance={
|
|
148
|
-
"raw_data": "data/source.csv",
|
|
149
|
-
"transformations": ["predeclared QC filter", "group mean"],
|
|
150
|
-
"uncertainty": "95% bootstrap CI; seed 20260723",
|
|
151
|
-
"missing_data": "retained as gaps",
|
|
152
|
-
},
|
|
153
|
-
write_manifest=True,
|
|
154
|
-
)
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
The exporter refuses implicit overwrite, writes atomically, keeps vector DPI for embedded rasters, uses TIFF LZW, and can use PDF/PS Type 42 fonts. It does not validate scientific content or publisher acceptance.
|
|
158
|
-
|
|
159
|
-
For editable fonts:
|
|
160
|
-
|
|
161
|
-
- PDF/PS Type 42 embeds TrueType fonts.
|
|
162
|
-
- `svg.fonttype="none"` keeps text editable/searchable but does not embed fonts; appearance depends on installed fonts.
|
|
163
|
-
- `svg.fonttype="path"` preserves glyph appearance as paths but loses editable/searchable text.
|
|
164
|
-
|
|
165
|
-
Use an opaque explicit background unless transparency is required; blending against another background changes apparent contrast.
|
|
166
|
-
|
|
167
|
-
### 6. Inspect, compare, and review
|
|
168
|
-
|
|
169
|
-
1. Inspect file metadata.
|
|
170
|
-
2. Audit palette contrast/grayscale separation.
|
|
171
|
-
3. Compare against a dated publisher snapshot.
|
|
172
|
-
4. View at final size in the manuscript/web context.
|
|
173
|
-
5. Manually review fonts, embedded rasters, clipping, legends, scale bars, image integrity, caption, alt text, and source data.
|
|
174
|
-
6. Re-check the live target-journal page immediately before upload.
|
|
175
|
-
|
|
176
|
-
## Pinned snapshot
|
|
177
|
-
|
|
178
|
-
The examples and smoke tests use direct package pins current on 2026-07-23:
|
|
179
|
-
|
|
180
|
-
```bash
|
|
181
|
-
uv run --isolated --no-project --python 3.13 \
|
|
182
|
-
--with "matplotlib==3.11.1" \
|
|
183
|
-
--with "seaborn==0.13.2" \
|
|
184
|
-
--with "plotly==6.9.0" \
|
|
185
|
-
--with "kaleido==1.3.0" \
|
|
186
|
-
--with "pillow==12.3.0" \
|
|
187
|
-
--with "pypdf==6.14.2" \
|
|
188
|
-
python your_figure.py
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
This is a dated direct-dependency snapshot, not a transitive lock. Use the project's uv lock for exact replay; this skill intentionally ships no dependency lock.
|
|
192
|
-
|
|
193
|
-
## Bundled CLIs
|
|
194
|
-
|
|
195
|
-
All helpers are deterministic, network-free, bounded, reject symlink inputs/destinations where relevant, and refuse overwrite unless `--force` is explicit.
|
|
196
|
-
|
|
197
|
-
### Inspect raster/vector metadata
|
|
198
|
-
|
|
199
|
-
```bash
|
|
200
|
-
uv run --isolated --no-project --python 3.13 \
|
|
201
|
-
--with "pillow==12.3.0" \
|
|
202
|
-
python scripts/image_metadata.py figure.tiff \
|
|
203
|
-
--format tiff --mode RGB --min-dpi 300 --target-width-mm 85 \
|
|
204
|
-
--alpha-policy forbid
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
Supports raster images (Pillow), SVG, PDF (pypdf), and EPS/PS. Reports dimensions, DPI/effective DPI, mode, alpha, ICC presence, compression, page size, and conservative first-page PDF font resources. It does not inspect every embedded raster in a vector container.
|
|
208
|
-
|
|
209
|
-
### Audit palette contrast and grayscale
|
|
210
|
-
|
|
211
|
-
```bash
|
|
212
|
-
uv run --isolated --no-project --python 3.13 \
|
|
213
|
-
python scripts/palette_audit.py \
|
|
214
|
-
--palette okabe_ito_on_white \
|
|
215
|
-
--background FFFFFF \
|
|
216
|
-
--role graphical
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
Reports exact WCAG sRGB contrast plus pairwise CIE L* grayscale screening. The grayscale threshold is a heuristic, not a standard.
|
|
220
|
-
|
|
221
|
-
### Plan/screen publisher export
|
|
222
|
-
|
|
223
|
-
```bash
|
|
224
|
-
uv run --isolated --no-project --python 3.13 \
|
|
225
|
-
python scripts/export_plan.py \
|
|
226
|
-
--publisher nature \
|
|
227
|
-
--figure-type combination \
|
|
228
|
-
--width single \
|
|
229
|
-
--phase final
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
Add `--input figure.pdf` to screen machine-readable properties. Profiles are official-source snapshots accessed 2026-07-23, not automatic compliance rules.
|
|
233
|
-
|
|
234
|
-
### Preview styles
|
|
235
|
-
|
|
236
|
-
```bash
|
|
237
|
-
uv run --isolated --no-project --python 3.13 \
|
|
238
|
-
--with "matplotlib==3.11.1" \
|
|
239
|
-
python scripts/style_preview.py \
|
|
240
|
-
--output outputs/style-preview \
|
|
241
|
-
--style default \
|
|
242
|
-
--palette okabe_ito_on_white \
|
|
243
|
-
--formats png,svg
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
### Inspect/write styles and smoke-test export
|
|
247
|
-
|
|
248
|
-
```bash
|
|
249
|
-
uv run --isolated --no-project --python 3.13 \
|
|
250
|
-
python scripts/style_presets.py --list
|
|
251
|
-
uv run --isolated --no-project --python 3.13 \
|
|
252
|
-
python scripts/style_presets.py --show nature
|
|
253
|
-
uv run --isolated --no-project --python 3.13 \
|
|
254
|
-
--with "matplotlib==3.11.1" \
|
|
255
|
-
python scripts/figure_export.py --demo outputs/export-smoke --manifest
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
## Assets
|
|
259
|
-
|
|
260
|
-
- `assets/publication.mplstyle`: general print starting point.
|
|
261
|
-
- `assets/nature.mplstyle`: dated flagship Nature visual starting point, not a compliance preset.
|
|
262
|
-
- `assets/presentation.mplstyle`: larger projected-display style.
|
|
263
|
-
- `assets/color_palettes.py`: importable Okabe-Ito and Paul Tol values with metadata.
|
|
264
|
-
- `assets/publisher_profiles.json`: dated, machine-readable planning snapshots.
|
|
265
|
-
|
|
266
|
-
Matplotlib style files omit `#` in hex colors because `#` begins comments in `.mplstyle` parsing.
|
|
267
|
-
|
|
268
|
-
## References
|
|
269
|
-
|
|
270
|
-
- `references/publication_guidelines.md`: integrity, deceptive encodings, accessibility, static/interactive output.
|
|
271
|
-
- `references/color_palettes.md`: palette semantics, exact values, WCAG contrast, grayscale caveats, color management.
|
|
272
|
-
- `references/journal_requirements.md`: phase-specific official publisher snapshots.
|
|
273
|
-
- `references/matplotlib_examples.md`: current, runnable Matplotlib/Seaborn/Plotly patterns.
|
|
274
|
-
- `references/sources.md`: official URLs, dates, versions, and research basis.
|
|
275
|
-
|
|
276
|
-
## Final review checklist
|
|
277
|
-
|
|
278
|
-
- [ ] Raw data/images and transformation code are preserved.
|
|
279
|
-
- [ ] Missing values, exclusions, bins, normalization, and uncertainty are explicit.
|
|
280
|
-
- [ ] Baselines, scales, limits, and area/volume encodings are honest.
|
|
281
|
-
- [ ] Color is redundant and rendered contrast was reviewed.
|
|
282
|
-
- [ ] Figure has an accessible description/data alternative where applicable.
|
|
283
|
-
- [ ] Physical dimensions, DPI, format, fonts, transparency, and file size were inspected after export.
|
|
284
|
-
- [ ] Publisher rules were verified for the exact journal and phase.
|
|
285
|
-
- [ ] No automated report is presented as a scientific, accessibility, or compliance certification.
|