Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Create reproducible bioinformatics analysis reports with R Markdown including code, results, and visualizations in HTML, PDF, or Word format. Use when generating analysis reports with RMarkdown.
.claude/skills/bio-reporting-rmarkdown-reports/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-20 | ✓→✗ | ▼ Worse | 35% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 43% | 0% |
| case-09 | ✓→✓ | = Same ✓ | 78% | 0% |
| case-01 | ✓→✓ | = Same ✓ | 263% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 80% | 0% |
<!--
#
#
-->
yaml--- title: "RNA-seq Analysis Report" author: "Your Name" date: "`r Sys.Date()`" output: html_document: toc: true toc_float: true code_folding: hide theme: cosmo ---
`r
knitr::opts_chunk$set( echo = TRUE, message = FALSE, warning = FALSE, fig.width = 10, fig.height = 6, fig.align = 'center' ) library(tidyverse) library(DESeq2) library(pheatmap)
`r
yaml--- title: "Sample Report" params: sample_id: "sample1" count_file: "counts.csv" fdr_threshold: 0.05 ---
`r
counts <- read.csv(params$count_file) sample <- params$sample_id fdr <- params$fdr_threshold
r# Render with parameters rmarkdown::render('report.Rmd', params = list(sample_id = 'sample2', fdr_threshold = 0.01)) # Batch render samples <- c('sample1', 'sample2', 'sample3') for (s in samples) { rmarkdown::render('report.Rmd', params = list(sample_id = s), output_file = paste0(s, '_report.html')) }
`r
knitr::kable(head(results), caption = 'Top DE genes')
library(DT) datatable(results, filter = 'top', options = list(pageLength = 10))
library(kableExtra) results %>% head(10) %>% kable() %>% kable_styling(bootstrap_options = c('striped', 'hover')) %>% row_spec(which(results$padj < 0.01), bold = TRUE, color = 'red')
`r
ggplot(results, aes(log2FoldChange, -log10(pvalue))) + geom_point(aes(color = padj < 0.05)) + theme_minimal()
markdownWe identified `r sum(res$padj < 0.05, na.rm=TRUE)` significantly DE genes (FDR < 0.05) out of `r nrow(res)` tested.
yaml--- title: "Main Report" ---
`r
yaml--- output: pdf_document: toc: true number_sections: true fig_caption: true latex_engine: xelatex ---
`r## Results {.tabset} ### PCA Plot
plotPCA(vsd, intgroup = 'condition')
### Heatmappheatmap(assay(vsd)top_genes, ])
`r
dds <- DESeqDataSetFromMatrix(counts, metadata, ~ condition) dds <- DESeq(dds)
res <- results(dds)
yaml--- output: html_document: css: custom.css ---
css/* custom.css */ body { font-family: 'Helvetica', sans-serif; } h1 { color: #2c3e50; } .figure { margin: 20px auto; }
`markdown--- title: "RNA-seq Analysis Report" author: "Bioinformatics Core" date: "`r Sys.Date()`" output: html_document: toc: true toc_float: true code_folding: hide params: count_file: "counts.csv" metadata_file: "metadata.csv" ---
knitr::opts_chunk$set(echo = TRUE, message = FALSE, warning = FALSE) library(DESeq2) library(tidyverse) library(pheatmap) library(DT)
## Data Overview
counts <- read.csv(params$count_file, row.names = 1) metadata <- read.csv(params$metadata_file, row.names = 1)
Loaded `r nrow(counts)` genes across `r ncol(counts)` samples.
## Differential Expression
dds <- DESeqDataSetFromMatrix(counts, metadata, ~ condition) dds <- DESeq(dds) res <- results(dds) %>% as.data.frame() %>% arrange(padj)
## Results
datatable(res %>% filter(padj < 0.05), options = list(pageLength = 10))
<!-- AUTHOR_SIGNATURE: 9a7f3c2e-MD-BABU-MIA-2026-MSSM-SECURE -->
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | pass→pass | 9,476 | 6,891 | -27% | 1 | 1 | 0% | 2,066 | 2,957 | +43% | 0 | 0 | — |
case-09 | pass→pass | 6,220 | 3,503 | -44% | 1 | 1 | 0% | 1,240 | 2,213 | +78% | 0 | 0 | — |
case-01 | pass→pass | 3,425 | 2,915 | -15% | 1 | 1 | 0% | 595 | 2,158 | +263% | 0 | 0 | — |
case-02 | pass→pass | 7,882 | 6,672 | -15% | 1 | 1 | 0% | 1,517 | 2,736 | +80% | 0 | 0 | — |
case-03 | pass→pass | 13,525 | 6,534 | -52% | 1 | 1 | 0% | 2,667 | 2,910 | +9% | 0 | 0 | — |
case-05 | fail→fail | 5,183 | 4,161 | -20% | 1 | 1 | 0% | 1,082 | 2,436 | +125% | 0 | 0 | — |
case-06 | pass→pass | 8,873 | 4,844 | -45% | 1 | 1 | 0% | 1,280 | 2,535 | +98% | 0 | 0 | — |
case-07 | pass→pass | 5,655 | 4,625 | -18% | 1 | 1 | 0% | 1,164 | 2,535 | +118% | 0 | 0 | — |
case-08 | pass→pass | 7,161 | 5,137 | -28% | 1 | 1 | 0% | 1,337 | 2,555 | +91% | 0 | 0 | — |
case-10 | pass→pass | 3,704 | 2,551 | -31% | 1 | 1 | 0% | 702 | 2,106 | +200% | 0 | 0 | — |
case-11 | pass→pass | 8,683 | 4,498 | -48% | 1 | 1 | 0% | 1,718 | 2,435 | +42% | 0 | 0 | — |
case-12 | pass→pass | 5,799 | 3,905 | -33% | 1 | 1 | 0% | 1,176 | 2,348 | +100% | 0 | 0 | — |
case-13 | pass→pass | 8,155 | 4,981 | -39% | 1 | 1 | 0% | 1,497 | 2,446 | +63% | 0 | 0 | — |
case-14 | pass→pass | 3,368 | 2,586 | -23% | 1 | 1 | 0% | 579 | 2,085 | +260% | 0 | 0 | — |
case-15 | pass→pass | 4,371 | 2,413 | -45% | 1 | 1 | 0% | 619 | 2,025 | +227% | 0 | 0 | — |
case-16 | pass→pass | 8,386 | 4,989 | -41% | 1 | 1 | 0% | 1,998 | 2,600 | +30% | 0 | 0 | — |
case-17 | pass→pass | 7,291 | 4,932 | -32% | 1 | 1 | 0% | 1,400 | 2,460 | +76% | 0 | 0 | — |
case-18 | pass→pass | 6,047 | 4,274 | -29% | 1 | 1 | 0% | 1,145 | 2,403 | +110% | 0 | 0 | — |
case-19 | pass→pass | 3,395 | 3,178 | -6% | 1 | 1 | 0% | 530 | 2,069 | +290% | 0 | 0 | — |
case-20 | pass→fail | 10,109 | 5,896 | -42% | 1 | 1 | 0% | 2,015 | 2,726 | +35% | 0 | 0 | — |
case-21 | pass→pass | 8,937 | 6,989 | -22% | 1 | 1 | 0% | 1,893 | 2,995 | +58% | 0 | 0 | — |
case-22 | pass→pass | 7,295 | 3,920 | -46% | 1 | 1 | 0% | 1,358 | 2,302 | +70% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of -100 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 7/26/2026 | +9% |
Other measured skills in the registry, with their headline benchmark lift.