create-quarto-report
À propos
Cette Compétence Claude crée des documents Quarto pour des rapports reproductibles, des présentations et des sites web, en gérant la configuration YAML et plusieurs formats de sortie comme HTML, PDF et Word. Elle est idéale pour générer des analyses avec du code intégré ou pour migrer depuis R Markdown. Les développeurs devraient l'utiliser lorsqu'ils créent des documents axés sur les données qui nécessitent un rendu cohérent à partir du code.
Installation rapide
Claude Code
Recommandénpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/create-quarto-reportCopiez et collez cette commande dans Claude Code pour installer cette compétence
Documentation
建 Quarto 報告
設建可重現之 Quarto 文檔,為析報、演示、網站。
用時
- 建可重現之析報
- 建含嵌碼之演示
- 由碼生 HTML、PDF、Word 文檔
- 由 R Markdown 遷至 Quarto
入
- 必要:報題與目標聽者
- 必要:出式(html、pdf、docx、revealjs)
- 可選:數源與析碼
- 可選:引目(.bib 文件)
法
第一步:建 Quarto 文檔
建 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
---
得: report.qmd 文件存,有合法 YAML 前言,含題、作者、日、式配、執選。
敗則: 驗 YAML 頭之 --- 界相配而縮進正。確 format: 合 Quarto 支持之出式(html、pdf、docx、revealjs)。
第二步:書內容含碼塊
## 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.
得: 內容節含正格之碼塊,有 {r} 語標識與 #| 塊選為標、題、尺。
敗則: 驗碼塊用 ```{r} 語法(非內聯撇),#| 選於塊內(非 YAML 頭),標前綴合交叉參類(fig- 為圖、tbl- 為表)。
第三步:設塊選
常見塊級選(用 #| 語法):
#| 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
得: 塊選於塊級以 #| 施,標循交叉參所需之名慣。
敗則: 確塊選用 #|(Quarto 原生),非舊 R Markdown 之 {r, option=value}。驗標名唯含字母數字與連字符。
第四步:加交叉參與引用
See @fig-scatter for the visualization and @tbl-summary for statistics.
This approach follows @smith2023 methodology.
::: {#fig-combined layout-ncol=2}
{#fig-plotA}
{#fig-plotB}
Combined figure caption
:::
得: 交叉參(@fig-name、@tbl-name)解至正圖表,引用(@key)合 .bib 之項。
敗則: 驗所引之標存於碼塊且前綴正(fig-、tbl-)。引用者察 .bib 鍵精合(辨大小),YAML 頭有 bibliography:。
第五步:渲文檔
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
得: 出文件生於指定式。
敗則:
- 缺 quarto:由 https://quarto.org/docs/get-started/ 裝
- PDF 訛:以
quarto install tinytex裝 TinyTeX - R 包訛:確諸包已裝
第六步:多式出
format:
html:
toc: true
theme: cosmo
pdf:
documentclass: article
geometry: margin=1in
docx:
reference-doc: template.docx
渲諸式:quarto render report.qmd
得: 諸指定出式皆成,各有合式之樣與佈。
敗則: 若一式敗他成,察式專需:PDF 需 LaTeX 引擎(以 quarto install tinytex 裝),DOCX 需合法參樣(若指定),式專 YAML 選須正嵌於各式鍵下。
驗
- 文檔無訛而渲
- 諸碼塊正執
- 交叉參解(圖、表、引用)
- 目錄正
- 出式合聽者
陷
- 缺標前綴:可交叉參之圖需標有
fig-,表需tbl- - 緩失效:緩塊於上游數變時不重運。刪
_cache/以迫之。 - 無 LaTeX 之 PDF:裝 TinyTeX,或以
format: pdf與pdf-engine: weasyprint作基於 CSS 之 PDF - Quarto 中之 R Markdown 語法:用
#|塊選代{r, echo=FALSE}式
參
format-apa-report— APA 格學術報build-parameterized-report— 參化多報生generate-statistical-tables— 可刊之表write-vignette— R 包之 Quarto vignette
Dépôt GitHub
Compétences associées
content-collections
MétaCette compétence propose une configuration éprouvée en production pour Content Collections, un outil axé sur TypeScript qui transforme des fichiers Markdown/MDX en collections de données typées de manière sûre avec une validation Zod. Utilisez-la lors de la création de blogs, de sites de documentation ou d'applications Vite + React riches en contenu pour garantir la sécurité de typage et la validation automatique du contenu. Elle couvre tout, de la configuration du plugin Vite et de la compilation MDX à l'optimisation des déploiements et la validation des schémas.
polymarket
MétaCette compétence permet aux développeurs de créer des applications avec la plateforme de marchés prédictifs Polymarket, incluant l'intégration d'API pour le trading et les données de marché. Elle fournit également une diffusion de données en temps réel via WebSocket pour surveiller les transactions en direct et l'activité du marché. Utilisez-la pour mettre en œuvre des stratégies de trading ou pour créer des outils traitant les mises à jour de marché en direct.
creating-opencode-plugins
MétaCette compétence aide les développeurs à créer des plugins OpenCode qui s'interconnectent avec plus de 25 types d'événements tels que les commandes, les fichiers et les opérations LSP. Elle fournit la structure du plugin, les spécifications de l'API événementielle et les modèles d'implémentation pour les modules JavaScript/TypeScript. Utilisez-la lorsque vous avez besoin d'intercepter, de surveiller ou d'étendre le cycle de vie de l'assistant IA OpenCode avec une logique personnalisée pilotée par les événements.
sglang
MétaSGLang est un framework de service LLM haute performance spécialisé dans la génération rapide et structurée pour les workflows JSON, regex et agentiques grâce à son cache de préfixe RadixAttention. Il offre une inférence nettement plus rapide, particulièrement pour les tâches avec des préfixes répétés, ce qui le rend idéal pour les sorties complexes et structurées ainsi que les conversations multi-tours. Choisissez SGLang plutôt que des alternatives comme vLLM lorsque vous avez besoin d'un décodage contraint ou que vous construisez des applications avec un partage étendu de préfixes.
