// This skill should be used when generating integrated reports from lab notebooks or improving existing reports. Triggered by requests like "generate report", "create summary", "refine report", "improve report", or "ใฌใใผใใไฝๆ". Handles both initial generation (mechanical) and iterative refinement (AI-guided).
| name | experiment-report |
| description | This skill should be used when generating integrated reports from lab notebooks or improving existing reports. Triggered by requests like "generate report", "create summary", "refine report", "improve report", or "ใฌใใผใใไฝๆ". Handles both initial generation (mechanical) and iterative refinement (AI-guided). |
Provides comprehensive report generation and refinement capabilities. Following the skill-creator pattern, this plugin handles both:
Create integrated reports from completed lab notebooks using init_report.py.
Execution context: All commands assume execution from project root (where STEERING.md is located).
When to use: When ready to synthesize multiple experiments into a cohesive report.
Before running init_report.py, verify these requirements:
Step 1: Notebook Completeness
results/exp##/ directoryStep 2: Project Alignment
Step 3: Evidence Verification
ls ../results/exp##/Pre-Generation Questions (ask user):
python path/to/init_report.py --labnote notebook/labnote/Exp*.ipynb --output notebook/report/
notebook/report/Report_[title].mdMapping rules (from lab notebooks to report):
| Lab Notebook Section | Report Section | Transformation |
|---|---|---|
| Hypothesis + Background | Background | Synthesize context |
| Materials & Methods | Methods Summary | Consolidate procedures |
| Results (observations) | Findings | Structure by theme |
| Discussion (interpretation) | Synthesis | Integrate interpretations |
| Limitations | Limitations | Consolidate caveats |
| Next Steps | Future Directions | Prioritize follow-ups |
| Key conclusion | Executive Summary | Distill to 3-5 sentences |
Command: /research-report
Improve existing reports using references/refinement-guide.md criteria.
When to use: After initial report generation or when report needs improvement.
Workflow:
Refinement dimensions:
Structure & Organization:
Scientific Accuracy:
Writing Quality:
Command: /research-refine
Standard report structure:
# [Report Title]
**Date**: YYYY-MM-DD
**Report Type**: Integrated Analysis Report
---
## Executive Summary
[3-5 sentences capturing key findings and implications]
## Background
[Research question, context, and rationale]
## Materials and Methods
[Consolidated methods from experiments]
## Findings
### Finding 1: [Title]
- **Observation**: [Factual description]
- **Evidence**: [Lab notebook references, figures]
### Finding 2: [Title]
[Repeat structure]
## Synthesis
[Integrated interpretation of findings]
## Limitations
[Acknowledged constraints and caveats]
## Future Directions
[Prioritized next steps]
## Conclusion
[Final synthesis and key takeaways]
## References
[Citations]
---
## Appendix
### Lab Notebooks
- Exp01_[name].ipynb
- Exp02_[name].md
### Supplementary Figures
[Links]
Reports maintain separation between facts and interpretation (from research-project quality-standards.md):
In Findings section (Level 1: Facts):
In Synthesis section (Level 2: Interpretation):
In Conclusion section (Level 3: Broader implications):
Integrate figures from lab notebooks and analysis outputs into reports.
Figure sources:
results/exp##/results/exp##/Directory structure:
notebook/
โโโ labnote/
โ โโโ Exp01_analysis.ipynb
โ โโโ Exp02_validation.md
โโโ report/
โ โโโ Report_Exp01-02_integrated.md
โโโ results/
โโโ exp01/
โ โโโ fig01_heatmap.png
โ โโโ fig02_volcano.png
โโโ exp02/
โโโ fig01_validation.png
Markdown figure syntax:

*Figure 1: Heatmap showing top 50 differentially expressed genes (Exp01).*
Figure naming convention:
fig##_description.{png,pdf,svg}fig01_heatmap.png, fig02_volcano_plot.pdfBest practices:
results/exp##/ during experiment execution../results/...)Extracting figures from Jupyter notebooks:
# In notebook cell, save figure explicitly
import matplotlib.pyplot as plt
fig.savefig('../results/exp01/fig01_heatmap.png', dpi=150, bbox_inches='tight')
Export final reports to PDF using pandoc with typst engine.
Prerequisites:
Basic export command:
pandoc Report_Exp01-02_integrated.md -o report.pdf --pdf-engine=typst
With typst template:
pandoc Report_Exp01-02_integrated.md -o report.pdf \
--pdf-engine=typst \
--template=assets/templates/report.typ
Template location: assets/templates/report.typ
Export workflow:
notebook/report/ directoryTroubleshooting:
Scenario: Document one completed experiment
Steps:
/research-report specifying single notebook/research-refine to improve clarityUse case: Individual experiment worthy of formal documentation
Scenario: Synthesize multiple related experiments
Steps:
/research-report specifying all notebooks/research-refine to improve integrationUse case: Project milestone, manuscript preparation
Scenario: Improve existing report quality
Steps:
/research-refine on existing reportUse case: Preparing for presentation, submission, or review
init_report.py: Report generation script (executable)research-report.md: Report generation command (/research-report)research-refine.md: Report refinement command (/research-refine)mapping-rules.md: Lab notebook โ report section mappingrefinement-guide.md: Quality criteria for report improvementTiming: Generate reports when:
Scope: Include notebooks that:
Preparation: Before generating:
Multiple passes: Refine in stages:
Specific feedback: Request targeted improvements:
Version control: Commit before and after refinement
Executive Summary:
Findings:
Synthesis:
Limitations:
Future Directions:
Typical flow:
Report triggers phase transitions:
User: "Create a report for Exp03"