返回技能列表

create-quarto-report

pjt222
更新于 2 days ago
8 次查看
17
2
17
在 GitHub 上查看
pdfwordpowerpointdesign

关于

This skill helps developers create reproducible Quarto documents for reports, presentations, and websites. It covers YAML configuration, code chunks, output formats, and rendering to HTML/PDF/Word. Use it for building analyses with embedded code or migrating from R Markdown to Quarto.

快速安装

Claude Code

推荐
主要方式
npx skills add pjt222/agent-almanac -a claude-code
插件命令备选方式
/plugin add https://github.com/pjt222/agent-almanac
Git 克隆备选方式
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/create-quarto-report

在 Claude Code 中复制并粘贴此命令以安装该技能

技能文档

Create Quarto Report

Set up and write a reproducible Quarto document for analysis reports, presentations, or websites.

When to Use

  • Creating a reproducible analysis report
  • Building a presentation with embedded code
  • Generating HTML, PDF, or Word documents from code
  • Migrating from R Markdown to Quarto

Inputs

  • Required: Report topic and target audience
  • Required: Output format (html, pdf, docx, revealjs)
  • Optional: Data sources and analysis code
  • Optional: Citation bibliography (.bib file)

Procedure

Step 1: Create Quarto Document

Create report.qmd:

---
title: "Analysis Report"
author: "Author Name"
date: today
format:
  html:
    toc: true
    toc-depth: 3
    code-fold: true
    theme: cosmo
    self-contained: true
execute:
  echo: true
  warning: false
  message: false
bibliography: references.bib
---

Got: File report.qmd exists with valid YAML frontmatter including title, author, date, format configuration, and execution options.

If fail: Validate the YAML header by checking for matching --- delimiters and correct indentation. Ensure format: key matches one of the supported Quarto output formats (html, pdf, docx, revealjs).

Step 2: Write Content with Code Chunks

## Introduction

This report analyzes the relationship between variables X and Y.

## Data

```{r}
#| label: load-data
library(dplyr)
library(ggplot2)

data <- read.csv("data.csv")
glimpse(data)
```

## Analysis

```{r}
#| label: fig-scatter
#| fig-cap: "Scatter plot of X vs Y"
#| fig-width: 8
#| fig-height: 6

ggplot(data, aes(x = x_var, y = y_var)) +
  geom_point(alpha = 0.6) +
  geom_smooth(method = "lm") +
  theme_minimal()
```

As shown in @fig-scatter, there is a positive relationship.

## Results

```{r}
#| label: tbl-summary
#| tbl-cap: "Summary statistics"

data |>
  summarise(
    mean_x = mean(x_var),
    sd_x = sd(x_var),
    mean_y = mean(y_var),
    sd_y = sd(y_var)
  ) |>
  knitr::kable(digits = 2)
```

See @tbl-summary for descriptive statistics.

Got: Content sections contain properly formatted code chunks with {r} language identifier and #| chunk options for labels, captions, and dimensions.

If fail: Verify code chunks use the ```{r} syntax (not inline backticks), that #| options are inside the chunk (not in the YAML header), and that label prefixes match cross-reference types (fig- for figures, tbl- for tables).

Step 3: Configure Chunk Options

Common chunk-level options (use #| syntax):

#| label: chunk-name        # Required for cross-references
#| echo: false               # Hide code
#| eval: false               # Show but don't run
#| output: false             # Run but hide output
#| fig-width: 8              # Figure dimensions
#| fig-height: 6
#| fig-cap: "Caption text"   # Enable @fig-name references
#| tbl-cap: "Caption text"   # Enable @tbl-name references
#| cache: true               # Cache expensive computations

Got: Chunk options are applied at the chunk level using #| syntax, and labels follow naming conventions required for cross-referencing.

If fail: Ensure chunk options use #| syntax (Quarto-native), not the legacy {r, option=value} R Markdown syntax. Verify that label names contain only alphanumeric characters and hyphens.

Step 4: Add Cross-References and Citations

See @fig-scatter for the visualization and @tbl-summary for statistics.

This approach follows @smith2023 methodology.

::: {#fig-combined layout-ncol=2}
![Plot A](plot_a.png){#fig-plotA}
![Plot B](plot_b.png){#fig-plotB}

Combined figure caption
:::

Got: Cross-references (@fig-name, @tbl-name) resolve to the correct figures and tables, and citations (@key) match entries in the .bib file.

If fail: Verify that referenced labels exist in code chunks with the correct prefix (fig-, tbl-). For citations, check that .bib keys match exactly (case-sensitive) and that bibliography: is set in the YAML header.

Step 5: Render the Document

quarto render report.qmd

# Specific format
quarto render report.qmd --to pdf
quarto render report.qmd --to docx

# Preview with live reload
quarto preview report.qmd

Got: Output file generated in the specified format.

If fail:

Step 6: Multi-Format Output

format:
  html:
    toc: true
    theme: cosmo
  pdf:
    documentclass: article
    geometry: margin=1in
  docx:
    reference-doc: template.docx

Render all formats: quarto render report.qmd

Got: All specified output formats generate successfully, each with correct styling and layout for the target format.

If fail: If one format fails while others succeed, check format-specific requirements: PDF needs a LaTeX engine (install with quarto install tinytex), DOCX needs a valid reference template if specified, and format-specific YAML options must be correctly nested under each format key.

Validation

  • Document renders without errors
  • All code chunks execute correctly
  • Cross-references resolve (figures, tables, citations)
  • Table of contents is accurate
  • Output format is appropriate for the audience

Pitfalls

  • Missing label prefix: Cross-referenceable figures need fig- prefix in label, tables need tbl-
  • Cache invalidation: Cached chunks won't re-run when upstream data changes. Delete _cache/ to force.
  • PDF without LaTeX: Install TinyTeX or use format: pdf with pdf-engine: weasyprint for CSS-based PDF
  • R Markdown syntax in Quarto: Use #| chunk options instead of {r, echo=FALSE} style

Related Skills

  • format-apa-report - APA-formatted academic reports
  • build-parameterized-report - parameterized multi-report generation
  • generate-statistical-tables - publication-ready tables
  • write-vignette - Quarto vignettes in R packages

GitHub 仓库

pjt222/agent-almanac
路径: i18n/caveman-lite/skills/create-quarto-report
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

相关推荐技能

content-collections

Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。

查看技能

polymarket

这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。

查看技能

creating-opencode-plugins

该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。

查看技能

sglang

SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。

查看技能