This skill should be used when generating integrated reports from lab notebooks, improving existing reports, or exporting reports to PDF/typst. Triggered by requests like "generate report", "create summary", "refine report", "improve report", "export to PDF", "typst出力", "PDFに変換", "レポートを作成", or "export report to PDF". For PDF export, use scripts/export_pdf.sh (pandoc + typst).
This skill inherits all available tools. When active, it can use any tool Claude has access to.
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):
# If plugin repo is cloned via ghq:
python ~/ghq/github.com/dakesan/bioinformatics-research-plugins/plugins/experiment-report/scripts/init_report.py \
--labnote notebook/labnote/Exp*.ipynb --output notebook/report/
# Or copy script to project and run locally:
python scripts/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 the provided shell script.
When to use: When user requests PDF output from a report.
Script location: scripts/export_pdf.sh
Usage:
# Basic export (output: Report_Exp01-02_integrated.pdf)
/path/to/plugins/experiment-report/scripts/export_pdf.sh Report_Exp01-02_integrated.md
# Custom output filename
/path/to/plugins/experiment-report/scripts/export_pdf.sh Report_Exp01-02_integrated.md custom_output.pdf
The script automatically:
assets/templates/report.typ)Prerequisites: pandoc, typst
brew install pandoc typst
Export workflow:
Troubleshooting:
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"