@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.
Files changed (191) hide show
  1. package/assets/brand/orbit-logo-option4-whale.jpg +0 -0
  2. package/assets/brand/orbit-logo.jpg +0 -0
  3. package/assets/brand/orbit-logo.png +0 -0
  4. package/assets/brand/orbit-logo.svg +3 -0
  5. package/dist/cli.js +448 -181
  6. package/dist/index.js +22 -2
  7. package/package.json +1 -2
  8. package/skills/adaptyv/SKILL.md +0 -240
  9. package/skills/aeon/SKILL.md +0 -402
  10. package/skills/analytical-method-validation/SKILL.md +0 -299
  11. package/skills/anndata/SKILL.md +0 -431
  12. package/skills/arbor/SKILL.md +0 -152
  13. package/skills/arboreto/SKILL.md +0 -267
  14. package/skills/astropy/SKILL.md +0 -353
  15. package/skills/autoskill/SKILL.md +0 -233
  16. package/skills/benchling-integration/SKILL.md +0 -229
  17. package/skills/bgpt-paper-search/SKILL.md +0 -75
  18. package/skills/bids/SKILL.md +0 -237
  19. package/skills/biopython/SKILL.md +0 -472
  20. package/skills/bioservices/SKILL.md +0 -399
  21. package/skills/bulk-rnaseq/SKILL.md +0 -198
  22. package/skills/cellxgene-census/SKILL.md +0 -283
  23. package/skills/cirq/SKILL.md +0 -370
  24. package/skills/citation-management/SKILL.md +0 -329
  25. package/skills/clinical-decision-support/SKILL.md +0 -238
  26. package/skills/clinical-decision-support/references/README.md +0 -62
  27. package/skills/clinical-reports/SKILL.md +0 -248
  28. package/skills/clinical-reports/references/README.md +0 -34
  29. package/skills/cobrapy/SKILL.md +0 -496
  30. package/skills/consciousness-council/SKILL.md +0 -151
  31. package/skills/dask/SKILL.md +0 -482
  32. package/skills/database-lookup/SKILL.md +0 -386
  33. package/skills/datamol/SKILL.md +0 -200
  34. package/skills/deepchem/SKILL.md +0 -244
  35. package/skills/deepspot-m/SKILL.md +0 -175
  36. package/skills/deeptools/SKILL.md +0 -412
  37. package/skills/depmap/SKILL.md +0 -301
  38. package/skills/dhdna-profiler/SKILL.md +0 -184
  39. package/skills/diffdock/SKILL.md +0 -488
  40. package/skills/dnanexus-integration/SKILL.md +0 -325
  41. package/skills/docx/SKILL.md +0 -99
  42. package/skills/esm/SKILL.md +0 -334
  43. package/skills/etetoolkit/SKILL.md +0 -327
  44. package/skills/exa-search/SKILL.md +0 -102
  45. package/skills/executing-plans/SKILL.md +0 -14
  46. package/skills/experimental-design/SKILL.md +0 -234
  47. package/skills/exploratory-data-analysis/SKILL.md +0 -280
  48. package/skills/flowio/SKILL.md +0 -310
  49. package/skills/fluidsim/SKILL.md +0 -279
  50. package/skills/frontend-design/SKILL.md +0 -100
  51. package/skills/generate-image/SKILL.md +0 -304
  52. package/skills/geniml/SKILL.md +0 -310
  53. package/skills/genomic-coordinates/SKILL.md +0 -189
  54. package/skills/genomic-intelligence/SKILL.md +0 -243
  55. package/skills/geomaster/README.md +0 -105
  56. package/skills/geomaster/SKILL.md +0 -366
  57. package/skills/geopandas/SKILL.md +0 -250
  58. package/skills/get-available-resources/SKILL.md +0 -260
  59. package/skills/gget/SKILL.md +0 -153
  60. package/skills/ginkgo-cloud-lab/SKILL.md +0 -106
  61. package/skills/glycoengineering/SKILL.md +0 -339
  62. package/skills/gtars/SKILL.md +0 -282
  63. package/skills/guardian-rails/SKILL.md +0 -54
  64. package/skills/histolab/SKILL.md +0 -243
  65. package/skills/hugging-science/SKILL.md +0 -132
  66. package/skills/hypogenic/SKILL.md +0 -290
  67. package/skills/hypothesis-generation/SKILL.md +0 -264
  68. package/skills/imaging-data-commons/SKILL.md +0 -496
  69. package/skills/infographics/SKILL.md +0 -315
  70. package/skills/iso-standards-readiness/SKILL.md +0 -352
  71. package/skills/lab-hardware-cad/SKILL.md +0 -372
  72. package/skills/labarchive-integration/SKILL.md +0 -216
  73. package/skills/lamindb/SKILL.md +0 -408
  74. package/skills/latchbio-integration/SKILL.md +0 -227
  75. package/skills/latex-posters/SKILL.md +0 -369
  76. package/skills/latex-posters/references/README.md +0 -439
  77. package/skills/liteparse/SKILL.md +0 -295
  78. package/skills/literature-review/SKILL.md +0 -263
  79. package/skills/markdown-mermaid-writing/SKILL.md +0 -322
  80. package/skills/market-research-reports/SKILL.md +0 -337
  81. package/skills/markitdown/SKILL.md +0 -264
  82. package/skills/matchms/SKILL.md +0 -276
  83. package/skills/matlab/SKILL.md +0 -274
  84. package/skills/matplotlib/SKILL.md +0 -378
  85. package/skills/medchem/SKILL.md +0 -321
  86. package/skills/modal/SKILL.md +0 -468
  87. package/skills/molecular-dynamics/SKILL.md +0 -458
  88. package/skills/molfeat/SKILL.md +0 -348
  89. package/skills/ncats-arax/SKILL.md +0 -178
  90. package/skills/networkx/SKILL.md +0 -440
  91. package/skills/neurokit2/SKILL.md +0 -323
  92. package/skills/neuropixels-analysis/SKILL.md +0 -412
  93. package/skills/nextflow/SKILL.md +0 -195
  94. package/skills/omero-integration/SKILL.md +0 -222
  95. package/skills/onekgpd/SKILL.md +0 -371
  96. package/skills/ontology-term-resolution/SKILL.md +0 -147
  97. package/skills/open-notebook/SKILL.md +0 -297
  98. package/skills/openpiv/SKILL.md +0 -469
  99. package/skills/opentrons-integration/SKILL.md +0 -322
  100. package/skills/optimize-for-gpu/SKILL.md +0 -176
  101. package/skills/owasp-top10/SKILL.md +0 -48
  102. package/skills/pacsomatic/LICENSE +0 -21
  103. package/skills/pacsomatic/SKILL.md +0 -150
  104. package/skills/paper-lookup/SKILL.md +0 -263
  105. package/skills/paperclip/SKILL.md +0 -413
  106. package/skills/paperzilla/SKILL.md +0 -159
  107. package/skills/parallel-web/SKILL.md +0 -128
  108. package/skills/pathml/SKILL.md +0 -222
  109. package/skills/pathogen-variant-surveillance/SKILL.md +0 -208
  110. package/skills/pathway-enrichment/SKILL.md +0 -194
  111. package/skills/pdf/SKILL.md +0 -322
  112. package/skills/peer-review/SKILL.md +0 -288
  113. package/skills/penetration-testing/SKILL.md +0 -31
  114. package/skills/pennylane/SKILL.md +0 -240
  115. package/skills/phylogenetics/SKILL.md +0 -409
  116. package/skills/pi-agent/SKILL.md +0 -83
  117. package/skills/pkpd-modeling/SKILL.md +0 -381
  118. package/skills/polars/SKILL.md +0 -393
  119. package/skills/polars-bio/SKILL.md +0 -379
  120. package/skills/ponytail/SKILL.md +0 -31
  121. package/skills/ponytail-audit/SKILL.md +0 -18
  122. package/skills/pptx/SKILL.md +0 -246
  123. package/skills/pptx-posters/SKILL.md +0 -258
  124. package/skills/primekg/SKILL.md +0 -99
  125. package/skills/protocolsio-integration/SKILL.md +0 -236
  126. package/skills/pufferlib/SKILL.md +0 -328
  127. package/skills/pydeseq2/SKILL.md +0 -369
  128. package/skills/pydicom/SKILL.md +0 -381
  129. package/skills/pyhealth/SKILL.md +0 -124
  130. package/skills/pylabrobot/SKILL.md +0 -216
  131. package/skills/pymatgen/SKILL.md +0 -404
  132. package/skills/pymc/SKILL.md +0 -310
  133. package/skills/pymoo/SKILL.md +0 -276
  134. package/skills/pyopenms/SKILL.md +0 -179
  135. package/skills/pysam/SKILL.md +0 -330
  136. package/skills/pytdc/SKILL.md +0 -297
  137. package/skills/pytorch-lightning/SKILL.md +0 -191
  138. package/skills/pyzotero/SKILL.md +0 -137
  139. package/skills/qiskit/SKILL.md +0 -259
  140. package/skills/qutip/SKILL.md +0 -317
  141. package/skills/rdkit/SKILL.md +0 -94
  142. package/skills/relsa-severity-assessment/SKILL.md +0 -354
  143. package/skills/research-grants/SKILL.md +0 -296
  144. package/skills/research-grants/references/README.md +0 -287
  145. package/skills/research-lookup/README.md +0 -106
  146. package/skills/research-lookup/SKILL.md +0 -338
  147. package/skills/rowan/SKILL.md +0 -398
  148. package/skills/scanpy/SKILL.md +0 -303
  149. package/skills/scholar-evaluation/SKILL.md +0 -296
  150. package/skills/scientific-brainstorming/SKILL.md +0 -282
  151. package/skills/scientific-critical-thinking/SKILL.md +0 -180
  152. package/skills/scientific-schematics/SKILL.md +0 -370
  153. package/skills/scientific-slides/SKILL.md +0 -379
  154. package/skills/scientific-visualization/SKILL.md +0 -285
  155. package/skills/scientific-writing/SKILL.md +0 -356
  156. package/skills/scikit-bio/SKILL.md +0 -470
  157. package/skills/scikit-learn/SKILL.md +0 -324
  158. package/skills/scikit-survival/SKILL.md +0 -313
  159. package/skills/scvelo/SKILL.md +0 -328
  160. package/skills/scvi-tools/SKILL.md +0 -201
  161. package/skills/seaborn/SKILL.md +0 -254
  162. package/skills/security-auditor/SKILL.md +0 -37
  163. package/skills/shap/SKILL.md +0 -282
  164. package/skills/simpy/SKILL.md +0 -283
  165. package/skills/stable-baselines3/SKILL.md +0 -325
  166. package/skills/statistical-analysis/SKILL.md +0 -446
  167. package/skills/statistical-power/SKILL.md +0 -200
  168. package/skills/statsmodels/SKILL.md +0 -238
  169. package/skills/sympy/SKILL.md +0 -354
  170. package/skills/systematic-debugging/SKILL.md +0 -35
  171. package/skills/tamarind/SKILL.md +0 -285
  172. package/skills/tdd/SKILL.md +0 -26
  173. package/skills/tiledbvcf/SKILL.md +0 -456
  174. package/skills/timesfm-forecasting/SKILL.md +0 -408
  175. package/skills/timesfm-forecasting/examples/global-temperature/README.md +0 -178
  176. package/skills/torch-geometric/SKILL.md +0 -458
  177. package/skills/torchdrug/SKILL.md +0 -241
  178. package/skills/transformers/SKILL.md +0 -195
  179. package/skills/treatment-plans/SKILL.md +0 -174
  180. package/skills/treatment-plans/references/README.md +0 -19
  181. package/skills/umap-learn/SKILL.md +0 -488
  182. package/skills/uncertainty-and-units/SKILL.md +0 -384
  183. package/skills/usfiscaldata/SKILL.md +0 -171
  184. package/skills/vaex/SKILL.md +0 -204
  185. package/skills/venue-templates/SKILL.md +0 -269
  186. package/skills/verification-before-completion/SKILL.md +0 -22
  187. package/skills/waypoint-bio/SKILL.md +0 -273
  188. package/skills/what-if-oracle/SKILL.md +0 -184
  189. package/skills/writing-plans/SKILL.md +0 -15
  190. package/skills/xlsx/SKILL.md +0 -110
  191. 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.