Agent skill

Bio Reporting Rmarkdown Reports

by GPTomics in GPTomics/bioSkills

Creates reproducible R Markdown analysis reports (HTML, PDF, Word) with knitr, covering the render pipeline, the interactive-vs-knit session trap, cache invalidation, bookdown cross-references…

MITAuto-check passedDocuments & Office

Install Bio Reporting Rmarkdown Reports

skills CLI
$ npx skills add GPTomics/bioSkills --skill bio-reporting-rmarkdown-reports -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install GPTomics/bioSkills bio-reporting-rmarkdown-reports --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/reporting/rmarkdown-reports .claude/skills/bio-reporting-rmarkdown-reports && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
bio-reporting-rmarkdown-reports
GitHub stars
1.2k
Used in
1 other repo
Token cost
~2.1k tokens
SKILL.md length
932 words
Files
3
Skills in repo
559
Repo updated
First seen
Licence
MIT

At a glance

Creates reproducible R Markdown analysis reports (HTML, PDF, Word) with knitr, covering the render pipeline, the interactive-vs-knit session trap, cache invalidation, bookdown cross-references…

  • Generating an R-based analysis report
  • SKILL.md covers Version Compatibility, The Pipeline: knitr, Then Pandoc, The "Works Interactively,… and Caching: cache Keys on Code,…, plus 8 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Debugging a report that knits differently than it runs interactively

What it does

Bio Reporting Rmarkdown Reports is an agent skill from GPTomics/bioSkills. Creates reproducible R Markdown analysis reports (HTML, PDF, Word) with knitr, covering the render pipeline, the interactive-vs-knit session trap, cache invalidation, bookdown cross-references, parameterization, and environment pinning. Use when generating an R-based analysis report, debugging a report that knits differently than it runs interactively, or fixing caching or cross-references.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `usage-guide.md`).

It sits in Documents & Office, covering Caching, Markdown and PDF. It works with Pandoc. The repository describes itself as: a set of SKILLS.md for doing bioinformatics with agents like claude code. The licence is MIT.

When your agent uses it

  • Generating an R-based analysis report
  • Debugging a report that knits differently than it runs interactively
  • Cross-references

Example prompts

  • “Use the bio-reporting-rmarkdown-reports skill to create reproducible R Markdown analysis reports (HTML, PDF, Word) with knitr, covering the render…”
  • “/bio-reporting-rmarkdown-reports”

Requirements

  • Docker

What it can do on your machine

Read from SKILL.md and the folder at commit d91ed3d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are r and yaml).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Bio Reporting Rmarkdown Reports loads about 2.1k tokens when it runs. Until then it costs about 106 tokens; SKILL.md has 932 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~106
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from GPTomics/bioSkills at commit d91ed3d, republished under its MIT licence (© GPTomics). 932 words, ~2,131 tokens.

Download SKILL.mdSave it as .claude/skills/bio-reporting-rmarkdown-reports/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
bio-reporting-rmarkdown-reports
description
Creates reproducible R Markdown analysis reports (HTML, PDF, Word) with knitr, covering the render pipeline, the interactive-vs-knit session trap, cache invalidation, bookdown cross-references, parameterization, and environment pinning. Use when generating an R-based analysis report, debugging a report that knits differently than it runs interactively, or fixing caching or cross-references.
tool_type
r
primary_tool
rmarkdown
goal_approach_exempt
true

Version Compatibility

Reference examples tested with: rmarkdown 2.25+, knitr 1.45+, bookdown 0.37+, DESeq2 1.42+, ggplot2 3.5+, DT 0.31+, kableExtra 1.4+

Before using code patterns, verify installed versions match. If versions differ:

  • R: packageVersion('<pkg>') then ?function_name to verify parameters

If code throws an error, introspect the installed package (?rmarkdown::render, ?knitr::opts_chunk) and adapt the example to the actual API rather than retrying.

R Markdown Reports

"Create an R Markdown report" -> Write an R-centric document combining code chunks, results, and narrative that knits to HTML/PDF/Word.

  • R: rmarkdown::render('report.Rmd'), or the Knit button in RStudio

The Pipeline: knitr, Then Pandoc

An .Rmd always renders in two stages: knitr executes the chunks and weaves the results into an intermediate .md, then pandoc converts that .md into the target format (LaTeX via a TeX engine for PDF). knitr is the only execution engine for .Rmd (other languages run only as knitr engines); it is the successor to Sweave, adding caching, hooks, and markdown hosting. rmarkdown::render() orchestrates both stages. Knowing the split explains most failures: a chunk error is knitr; a formatting or cross-reference problem is usually pandoc/bookdown.

The "Works Interactively, Fails on Knit" Trap

This is the single most common reproducibility surprise. rmarkdown::render() defaults to envir = parent.frame(), so calling it from the console evaluates chunks in the caller's environment - it can SEE objects sitting in the interactive global env. The RStudio Knit button does NOT: it spawns a fresh, clean R session. So a report that relies on a df created interactively renders fine via render() from the console, then fails when a colleague clicks Knit or CI runs it, because the fresh session has no df.

Guards:

  • Treat the document as self-sufficient - every object must be CREATED in a chunk, never assumed present.
  • To mimic the button before trusting a report, render in isolation: rmarkdown::render('r.Rmd', envir = new.env()), or in a fresh process via callr::r(...) / xfun::Rscript_call(rmarkdown::render, ...).

Caching: cache Keys on Code, Not Data

cache=TRUE stores a chunk's result in a *_cache/ dir and reloads it on re-knit if the chunk is "unchanged" - where the cache key is an MD5 of the chunk CODE plus evaluating options. The footgun: if a chunk reads data.csv and the FILE changes but the chunk code is byte-identical, the hash is unchanged and knitr serves the STALE cached result. Bind the data into the key:

r
```{r de-analysis, cache=TRUE, cache.extra=tools::md5sum('counts.csv')}
dds <- DESeq(DESeqDataSetFromMatrix(counts, metadata, ~ condition))
```

Cross-chunk dependencies are not tracked automatically either: if chunk B uses an object from chunk A, editing A does not invalidate B's cache by default - declare dependson='de-analysis' (or autodep=TRUE, best-effort).

The Working-Directory Trap

knitr evaluates chunks with the working directory set to the directory of the .Rmd, NOT the project root. So read.csv('data/x.csv') works when run interactively from the project root but breaks on knit if the .Rmd lives in reports/. Fixes, in order of preference: here::here('data/x.csv') (anchors to the project root, most robust); knitr::opts_knit$set(root.dir = '...') in the setup chunk (note opts_knit, not opts_chunk); or rmarkdown::render('r.Rmd', knit_root_dir = '...'). Never setwd() in a chunk - it desyncs figure/cache file placement.

Cross-References Require bookdown

Base rmarkdown CANNOT cross-reference figures, tables, sections, or equations. Use a bookdown output format - bookdown::html_document2, bookdown::pdf_document2, bookdown::word_document2 - which add numbering and \@ref(type:label). Two hard requirements: the figure/table chunk must be LABELED, and it must have a CAPTION (fig.cap=); a captionless figure is emitted unnumbered and cannot be referenced.

yaml
output:
  bookdown::html_document2:
    toc: true
r
```{r volcano, fig.cap="Volcano plot of differential expression"}
plot(res$log2FoldChange, -log10(res$pvalue))
```
See Figure \@ref(fig:volcano).

(Quarto has native cross-references without bookdown - see reporting/quarto-reports.)

Show full SKILL.md (384 more words)Show less

Parameterized Reports

Declare defaults in YAML and read them as a read-only list:

yaml
params:
  count_file: "counts.csv"
  fdr_threshold: 0.05
r
counts <- read.csv(params$count_file)
```

Override per render and loop over samples:

r
rmarkdown::render('report.Rmd', params = list(count_file = 'sampleB.csv'),
                  output_file = 'sampleB_report.html')

rmarkdown::render(..., params = 'ask') launches the "Knit with Parameters" UI.

Document Basics, Tables, and Output

yaml
---
title: "RNA-seq Report"
date: "`r Sys.Date()`"
output:
  html_document:
    toc: true
    toc_float: true
    code_folding: hide
    self_contained: true   # base64-embed assets into one portable HTML
---

A setup chunk with knitr::opts_chunk$set(echo=TRUE, message=FALSE, warning=FALSE, fig.width=10) sets document-wide defaults. Section tabs use ## Results {.tabset}. Inline results splice with `r ...`. For tables: knitr::kable() + kableExtra for STATIC publication tables; DT::datatable() for INTERACTIVE HTML exploration - DT is a JavaScript widget, not for print/PDF, and it inflates the HTML (see reporting/publication-tables for the formatted-table decision). self_contained: true (default for html_document) embeds all assets into one portable file at a size cost; htmlwidgets get inlined too.

The Document Captures Code, Not the Environment

rmarkdown does not pin package versions or R itself. A report that knits perfectly today can change output next year when a dependency updates. The document gives byte-reproducible output only if code, data, AND versions are unchanged - and versions are not in the repo unless pinned. Add renv::snapshot() (renv.lock, commit it) for package pinning, and a container (Docker/Apptainer) when the OS, TeX, and pandoc must also be fixed. End the report with sessionInfo() / sessioninfo::session_info() - provenance for the reader, not a restore mechanism. Seed any stochastic step (set.seed).

Common Errors

SymptomCauseFix
Renders from console, fails on Knitrender sees globals (parent.frame); Knit uses a fresh sessionmake every object chunk-created; test with envir=new.env()
Stale results after editing datacache keys on code, not datacache.extra=tools::md5sum('data.csv')
read.csv('data/..') fails on knitworking dir = .Rmd folder, not project roothere::here() or knit_root_dir=
\@ref(fig:x) shows as ??base rmarkdown can't cross-ref, or no caption/labelbookdown *_document2 + chunk label + fig.cap
Edited upstream chunk, downstream cache staledependencies not trackeddependson= or autodep=TRUE
Report changes output months laterenvironment not pinnedrenv.lock + container; seed RNGs
PDF knit failsno LaTeXtinytex::install_tinytex()
  • reporting/quarto-reports - Successor with native cross-references and multi-language support
  • reporting/publication-tables - Formatted static tables (gt/gtsummary/flextable) for reports
  • reporting/figure-export - Exporting the report's figures for publication
  • differential-expression/de-results - The analysis these reports typically present

References

  • Xie Y. Dynamic Documents with R and knitr. 2nd ed. Chapman & Hall/CRC; 2015
  • Xie Y. bookdown: Authoring Books and Technical Documents with R Markdown. Chapman & Hall/CRC; 2016
  • Xie Y, Allaire JJ, Grolemund G. R Markdown: The Definitive Guide. Chapman & Hall/CRC; 2018
  • Xie Y, Dervieux C, Riederer E. R Markdown Cookbook. Chapman & Hall/CRC; 2020

© GPTomics, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files in reporting/rmarkdown-reports of GPTomics/bioSkills.

  • SKILL.md
  • examples/rnaseq_report_template.Rmd
  • usage-guide.md

Open the folder on GitHubat commit d91ed3d

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in GPTomics/bioSkills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Bio Reporting Rmarkdown Reports next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Bio Reporting Rmarkdown Reports compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Bio Reporting Rmarkdown Reports this skillGPTomics/bioSkills1.2k1 repos~2.1kAutomated safety check: PassMIT
Huashu Markdown Publishing Pipelinealchaincyf/huashu-md-html907—~4.8kAutomated safety check: PassMIT
Pandic OfficeTeam-Commonly/commonly1.4k—~642Automated safety check: PassApache-2.0
Doc To Markdowndaymade/claude-code-skills1.4k—~2.5kAutomated safety check: PassMIT
Md To PDFhamzafarooq/claude-code-starter145—~598Automated safety check: PassMIT
Md To PDFMathews-Tom/armory328—~2.4kAutomated safety check: PassMIT

Similar skills

  • Huashu Markdown Publishing Pipeline

    alchaincyf/huashu-md-html

    Converts files and web pages into clean Markdown, then turns Markdown into polished HTML, Word, PDF and EPUB using four templates.

    907 GitHub stars~4.8k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • Pandic Office

    Team-Commonly/commonly

    Convert Markdown to PDF (or DOCX/EPUB/HTML) using the pandoc CLI.

    1.4k GitHub stars~642 tokensUpdated today
    Documents & OfficeAuto-check passed
  • Doc To Markdown

    daymade/claude-code-skills

    Converts DOCX/PDF/PPTX and saved HTML/HTM to high-quality Markdown with automatic post-processing.

    1.4k GitHub stars~2.5k tokensUpdated today
    Documents & OfficeAuto-check passed
  • Md To PDF

    hamzafarooq/claude-code-starter

    Convert any markdown file to a clean PDF. An agent skill from hamzafarooq/claude-code-starter.

    145 GitHub stars~598 tokensUpdated 25 days ago
    Documents & OfficeAuto-check passed
  • Md To PDF

    Mathews-Tom/armory

    Convert Markdown to styled PDFs with Mermaid diagrams, LaTeX/KaTeX math, tables, and code highlighting.

    328 GitHub stars~2.4k tokensUpdated 3 days ago
    Documents & OfficeAuto-check passed
  • Md To PDF Academic

    wentorai/research-plugins

    Convert Markdown to publication-quality PDF with LaTeX math rendering

    298 GitHub starsUsed in 1 repo~1.8k tokens
    Documents & OfficeAuto-check: notes

More from GPTomics/bioSkills

All 559 skills in this repo
  • Bio Alignment Io

    GPTomics/bioSkills

    Read, write, and convert multiple sequence alignment files using Biopython Bio.AlignIO.

    1.2k GitHub starsUsed in 3 repos~4.9k tokens
    Auto-check passed
  • bioSkills Installer

    GPTomics/bioSkills

    Installs the bioSkills collection of 425 bioinformatics skills in one step, or only chosen categories, so sequencing, RNA-seq, single-cell and variant tasks get specialized help.

    1.2k GitHub starsUsed in 1 repo~789 tokens
    Auto-check passed
  • Bio Write Sequences

    GPTomics/bioSkills

    Write biological sequences to files (FASTA, FASTQ, GenBank, EMBL) using Biopython Bio.SeqIO.

    1.2k GitHub starsUsed in 3 repos~2.1k tokens
    Auto-check passed
  • Amplicon Primer Clipping

    GPTomics/bioSkills

    Soft- or hard-clips PCR primer footprints from aligned amplicon BAMs so primer bases stop masquerading as confirmed reference sequence.

    1.2k GitHub starsUsed in 2 repos~2.2k tokens
    Auto-check passed
  • Filters BAM alignments by FLAG bits, mapping quality and regions with samtools view or pysam, with recipes for common keep and drop cases.

    1.2k GitHub starsUsed in 2 repos~3.6k tokens
    Auto-check passed
  • Bio Alignment Indexing

    GPTomics/bioSkills

    Create and use BAI/CSI indices for BAM/CRAM files using samtools and pysam.

    1.2k GitHub starsUsed in 2 repos~2.4k tokens
    Auto-check passed

Works with

Questions about Bio Reporting Rmarkdown Reports

What does Bio Reporting Rmarkdown Reports do?

Creates reproducible R Markdown analysis reports (HTML, PDF, Word) with knitr, covering the render pipeline, the interactive-vs-knit session trap, cache invalidation, bookdown cross-references…. Bio Reporting Rmarkdown Reports is an agent skill from GPTomics/bioSkills. Creates reproducible R Markdown analysis reports (HTML, PDF, Word) with knitr, covering the render pipeline, the interactive-vs-knit session trap, cache invalidation, bookdown cross-references, parameterization, and environment pinning.

When should I use Bio Reporting Rmarkdown Reports?

Bio Reporting Rmarkdown Reports fits situations like: generating an R-based analysis report; debugging a report that knits differently than it runs interactively; cross-references.

How do I install Bio Reporting Rmarkdown Reports in Claude Code?

Run `npx skills add GPTomics/bioSkills --skill bio-reporting-rmarkdown-reports -a claude-code`. Or copy the skill folder (reporting/rmarkdown-reports in GPTomics/bioSkills) into .claude/skills/bio-reporting-rmarkdown-reports in your project. Claude Code loads it when a task matches its description.

How do I install Bio Reporting Rmarkdown Reports in Codex?

Run `npx skills add GPTomics/bioSkills --skill bio-reporting-rmarkdown-reports -a codex`. Or copy the skill folder (reporting/rmarkdown-reports in GPTomics/bioSkills) into .agents/skills/bio-reporting-rmarkdown-reports in your project. Codex loads it when a task matches its description.

Can I use Bio Reporting Rmarkdown Reports in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add GPTomics/bioSkills --skill bio-reporting-rmarkdown-reports -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bio-reporting-rmarkdown-reports, .gemini/skills/bio-reporting-rmarkdown-reports, .github/skills/bio-reporting-rmarkdown-reports and .opencode/skills/bio-reporting-rmarkdown-reports in your project.

What does Bio Reporting Rmarkdown Reports need to run?

SKILL.md names no scripts, command-line tools or credentials: Bio Reporting Rmarkdown Reports is instructions for the agent only. Our summary lists: Docker.

Does Bio Reporting Rmarkdown Reports access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Bio Reporting Rmarkdown Reports safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Bio Reporting Rmarkdown Reports use?

Bio Reporting Rmarkdown Reports is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Bio Reporting Rmarkdown Reports use?

About 2.1k tokens (SKILL.md is roughly 8.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Bio Reporting Rmarkdown Reports?

Skills that share tags, products or a category with Bio Reporting Rmarkdown Reports: Huashu Markdown Publishing Pipeline (alchaincyf/huashu-md-html, 907 stars), Pandic Office (Team-Commonly/commonly, 1.4k stars), Doc To Markdown (daymade/claude-code-skills, 1.4k stars) and Md To PDF (hamzafarooq/claude-code-starter, 145 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Bio Reporting Rmarkdown Reports?

GPTomics (a GitHub organization) maintains it in GPTomics/bioSkills, which has 1,217 GitHub stars. The repository holds 559 skills in this directory. The repository was last updated on August 15, 2026.

Source: GPTomics/bioSkills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.