install
source · Clone the upstream repo
git clone https://github.com/FreedomIntelligence/OpenClaw-Medical-Skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/FreedomIntelligence/OpenClaw-Medical-Skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/bio-reporting-quarto-reports" ~/.claude/skills/freedomintelligence-openclaw-medical-skills-bio-reporting-quarto-reports && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/FreedomIntelligence/OpenClaw-Medical-Skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/bio-reporting-quarto-reports" ~/.openclaw/skills/freedomintelligence-openclaw-medical-skills-bio-reporting-quarto-reports && rm -rf "$T"
manifest:
skills/bio-reporting-quarto-reports/SKILL.mdsource content
<!--
# COPYRIGHT NOTICE
# This file is part of the "Universal Biomedical Skills" project.
# Copyright (c) 2026 MD BABU MIA, PhD <md.babu.mia@mssm.edu>
# All Rights Reserved.
#
# This code is proprietary and confidential.
# Unauthorized copying of this file, via any medium is strictly prohibited.
#
# Provenance: Authenticated by MD BABU MIA
-->
name: bio-reporting-quarto-reports description: Build reproducible scientific documents, presentations, and websites with Quarto supporting R, Python, Julia, and Observable JS. Use when creating reproducible reports with Quarto. tool_type: mixed primary_tool: Quarto measurable_outcome: Execute skill workflow successfully with valid output within 15 minutes. allowed-tools:
- read_file
- run_shell_command
Quarto Reports
Basic Document
--- title: "Analysis Report" author: "Your Name" date: today format: html: toc: true code-fold: true theme: cosmo ---
Python Document
--- title: "scRNA-seq Analysis" format: html jupyter: python3 --- ```{python} import scanpy as sc import matplotlib.pyplot as plt adata = sc.read_h5ad('data.h5ad') sc.pl.umap(adata, color='leiden') ```
R Document
--- title: "DE Analysis" format: html --- ```{r} library(DESeq2) dds <- DESeqDataSetFromMatrix(counts, metadata, ~ condition) dds <- DESeq(dds) ```
Multiple Formats
--- title: "Multi-format Report" format: html: toc: true pdf: documentclass: article docx: reference-doc: template.docx ---
# Render all formats quarto render report.qmd # Render specific format quarto render report.qmd --to pdf
Parameters
--- title: "Parameterized Report" params: sample: "sample1" threshold: 0.05 ---
# Render with parameters quarto render report.qmd -P sample:sample2 -P threshold:0.01
Tabsets
::: {.panel-tabset} ## PCA ```{r} plotPCA(vsd) ``` ## Heatmap ```{r} pheatmap(mat) ``` :::
Callouts
::: {.callout-note} This is an important note about the analysis. ::: ::: {.callout-warning} Check your input data format before proceeding. ::: ::: {.callout-tip} Use caching for long computations. :::
Cross-References
See @fig-volcano for the volcano plot. ```{r} #| label: fig-volcano #| fig-cap: "Volcano plot showing DE genes" ggplot(res, aes(log2FC, -log10(pvalue))) + geom_point() ``` Results are summarized in @tbl-summary. ```{r} #| label: tbl-summary #| tbl-cap: "Summary statistics" knitr::kable(summary_df) ```
Code Cell Options
```{python} #| echo: true #| warning: false #| fig-width: 10 #| fig-height: 6 #| cache: true import scanpy as sc sc.pl.umap(adata, color='leiden') ```
Inline Code
We found `{python} len(sig_genes)` significant genes. We found `{r} nrow(sig)` significant genes.
Presentations
--- title: "Analysis Results" format: revealjs --- ## Slide 1 Content here ## Slide 2 {.smaller} More content with smaller text
Quarto Projects
# _quarto.yml project: type: website output-dir: docs website: title: "Analysis Portal" navbar: left: - href: index.qmd text: Home - href: methods.qmd text: Methods - href: results.qmd text: Results
Bibliography
--- bibliography: references.bib csl: nature.csl ---
Gene expression analysis was performed using DESeq2 [@love2014]. ## References
Freeze Computations
# _quarto.yml execute: freeze: auto # Only re-run when source changes
Include Files
{{< include _methods.qmd >}}
Diagrams with Mermaid
```{mermaid} flowchart LR A[Raw Data] --> B[QC] B --> C[Alignment] C --> D[Quantification] D --> E[DE Analysis] ```
Multi-Language Document
--- title: "R + Python Analysis" --- Load in R: ```{r} library(reticulate) counts <- read.csv('counts.csv') ``` Process in Python: ```{python} import pandas as pd counts_py = r.counts # Access R object ```
Related Skills
- reporting/rmarkdown-reports - R-focused alternative
- data-visualization/ggplot2-fundamentals - R visualizations
- workflow-management/snakemake-workflows - Pipeline integration