Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when the user is explicitly working with Quarto, .qmd files, _quarto.yml, Quarto projects, or Quarto features such as callouts, cross-references, citations, Mermaid diagrams, extensions, websites, books, presentations, and reports. Also use for explicit migration from or comparison with R Markdown, bookdown, blogdown, xaringan, distill, or Jupyter notebooks to Quarto. Do not use for general R Markdown or related-format questions unless Quarto or migration to Quarto is explicitly mentioned.
.claude/skills/posit-dev-quarto-authoring/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 419% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 418% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 72% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 329% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 413% | 0% |
> This skill is based on Quarto CLI v1.9.36 (2026-03-24).
Task: Write a new Quarto document Use: Follow "QMD Essentials" below, then see specific reference files
Task: Add cross-references Use: references/cross-references.md
Task: Configure code cells Use: references/code-cells.md
Task: Add figures with captions Use: references/figures.md
Task: Create tables Use: references/tables.md
Task: Add citations and bibliography Use: references/citations.md
Task: Add callout blocks Use: references/callouts.md
Task: Add diagrams (Mermaid, Graphviz) Use: references/diagrams.md
Task: Control page layout Use: references/layout.md
Task: Use shortcodes Use: references/shortcodes.md
Task: Add conditional content Use: references/conditional-content.md
Task: Use divs and spans Use: references/divs-and-spans.md
Task: Configure YAML front matter Use: references/yaml-front-matter.md
Task: Find and use extensions Use: references/extensions.md
Task: Apply markdown linting rules Use: references/markdown-linting.md
Task: Choose or configure a compute engine (knitr, jupyter, julia) Use: references/engines.md
Do NOT read these references when writing new Quarto documents. Only read the one matching the source format when the user explicitly asks to convert or migrate an existing project.
markdown--- title: "Document Title" author: "Author Name" date: today format: html --- Content goes here.
A Quarto document consists of two main parts:
---.Divs use fenced syntax with three colons:
markdown::: {.class-name} Content inside the div. :::
Spans use bracketed syntax:
markdownThis is [important text]{.highlight}.
Details: references/divs-and-spans.md
A code cell starts with triple backticks and a language identifier between curly braces. Code cells are code blocks that can be executed to produce output.
Quarto uses the language's comment symbol + | for cell options. Options use dashes, not dots (e.g., fig-cap not fig.cap).
#|%%|//|`markdown
#| label: fig-example #| echo: false #| fig-cap: "A scatter plot example."
Set document-level defaults in YAML front matter:
yamlexecute: echo: false warning: false
Caching — critical engine difference: Only suggest #| cache: true for R code cells (knitr engine). Never suggest it for other language cells — it does not work and will be silently ignored. The only correct approach is execute: cache: true in the top-level YAML front matter when using engines other than knitr. Python/Jupyter requires jupyter-cache (pip install jupyter-cache):
yamlexecute: cache: true
Details: references/code-cells.md
Labels must start with a type prefix. Reference with @:
fig- prefix, e.g., #| label: fig-plot → @fig-plottbl- prefix, e.g., #| label: tbl-data → @tbl-datasec- prefix, e.g., {#sec-intro} → @sec-introeq- prefix, e.g., {#eq-model} → @eq-model`markdown
#| label: fig-plot #| fig-cap: "A caption for the plot."
See @fig-plot for the results.Details: references/cross-references.md
Five types: note, warning, important, tip, caution.
markdown::: {.callout-note} This is a note callout. ::: ::: {.callout-warning} ## Custom Title This is a warning with a custom title. :::
Details: references/callouts.md
markdown{#fig-name fig-alt="Alt text"}
Subfigures:
markdown::: {#fig-group layout-ncol=2} {#fig-sub1} {#fig-sub2} Main caption for the group. :::
Details: references/figures.md
markdown::: {#tbl-example} | Column 1 | Column 2 | | -------- | -------- | | Data 1 | Data 2 | Table caption. :::
Details: references/tables.md
markdownAccording to @smith2020, the results show... Multiple citations [@smith2020; @jones2021].
Configure in YAML:
yamlbibliography: references.bib csl: apa.csl
Details: references/citations.md
yamltitle: "My Report" author: "Your Name" date: today format: html: toc: true code-fold: true theme: cosmo
yamltitle: "My Report" format: pdf: documentclass: article papersize: a4
markdown--- title: "My Presentation" format: revealjs --- ## First Slide Content here. ## Second Slide More content.
Create _quarto.yml in the project root:
yamlproject: type: website website: title: "My Site" navbar: left: - href: index.qmd text: Home - href: about.qmd text: About format: html: theme: cosmo
Other measured skills in the registry, with their headline benchmark lift.