write-vignette
Über
Diese Fähigkeit unterstützt R-Entwickler beim Erstellen von Paket-Vignetten mit R Markdown oder Quarto und behandelt Einrichtung, Konfiguration und CRAN-Anforderungen. Nutzen Sie sie, wenn Sie Tutorials hinzufügen, Workflows mit mehreren Funktionen dokumentieren oder nutzerorientierte Dokumentation für CRAN-Einreichungen erstellen müssen. Sie behandelt YAML-Konfiguration, Code-Chunk-Optionen sowie Build- und Testprozesse.
Schnellinstallation
Claude Code
Empfohlennpx 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/write-vignetteKopieren Sie diesen Befehl und fügen Sie ihn in Claude Code ein, um diese Fähigkeit zu installieren
Dokumentation
書 vignette
為 R 包立長文 vignette。
用時
- 為包加「始入」之教程
- 錄跨多函之複流
- 立域特之指南(如統計法)
- CRAN 呈需逾函助之用戶向文
入
- 必要:含函欲錄之 R 包
- 必要:vignette 之題與題
- 可選:式(R Markdown 或 Quarto,默 R Markdown)
- 可選:vignette 是否需外數或 API
法
第一步:立 vignette 文
usethis::use_vignette("getting-started", title = "Getting Started with packagename")
得:vignettes/getting-started.Rmd 立附 YAML 額。knitr 與 rmarkdown 加於 DESCRIPTION 之 Suggests。vignettes/ 域存。
敗則:usethis::use_vignette() 敗者,驗工目為包根(含 DESCRIPTION)。knitr 未裝者,先行 install.packages("knitr")。手立者,立 vignettes/ 域與文,確 YAML 額含三 %\Vignette* 條。
第二步:書 vignette 之內
---
title: "Getting Started with packagename"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{Getting Started with packagename}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
## Introduction
Brief overview of what the package does and who it's for.
## Installation
```r
install.packages("packagename")
library(packagename)
Basic Usage
Walk through the primary workflow:
# Load example data
data <- example_data()
# Process
result <- main_function(data, option = "default")
# Inspect
summary(result)
Advanced Features
Cover optional or advanced functionality.
Conclusion
Summarize and point to other vignettes or resources.
得:vignette Rmd 含 Introduction、Installation、Basic Usage、Advanced Features、Conclusion 段。碼例用包之出函生顯出。
敗則:例不行者,驗包以 `devtools::install()` 已裝。確例於 `library()` 用包名(非 `devtools::load_all()`)。需外資之函者,用 `eval=FALSE` 示碼而不執。
### 第三步:設碼塊
依用設塊:
```r
# Standard evaluated chunk
{r example-basic}
result <- compute_something(1:10)
result
# Show code but don't run (for illustrative purposes)
{r api-example, eval=FALSE}
connect_to_api(key = "your_key_here")
# Run but hide code (show only output)
{r hidden-setup, echo=FALSE}
library(packagename)
# Set global options
{r setup, include=FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.width = 7,
fig.height = 5
)
得:附 include=FALSE 之設塊定全選(collapse、comment、fig.width、fig.height)。塊宜設:eval=FALSE 為示碼、echo=FALSE 為隱設、標塊為互例。
敗則:塊選不效者,驗語法用 {r chunk-name, option=value} 式(逗分、邏值無引)。確設塊先行,置文首。
第四步:處外依
需網或可選包之 vignette:
{r check-available, include=FALSE}
has_suggested <- requireNamespace("optionalpkg", quietly = TRUE)
{r use-suggested, eval=has_suggested}
optionalpkg::special_function()
長算者,預算而存果:
# Save pre-computed results to vignettes/
saveRDS(expensive_result, "vignettes/precomputed.rds")
# Load in vignette
{r load-precomputed}
result <- readRDS("precomputed.rds")
得:外依正處:可選包以 requireNamespace() 條載、網依碼用 eval=FALSE 或 tryCatch()、貴算用預算 .rds 文。
敗則:vignette 於 CRAN 因可選包不可而敗者,以條變(如 eval=has_suggested)包之。預算果者,確 .rds 文於 vignettes/ 域且以相對徑引。
第五步:建而試 vignette
# Build single vignette
devtools::build_vignettes()
# Build and check (catches vignette issues)
devtools::check()
得:vignette 建無訛。HTML 出可讀。
敗則:
- 缺 pandoc:於
.Renviron設RSTUDIO_PANDOC - 包未裝:先行
devtools::install() - 缺 Suggests:裝 DESCRIPTION 中 Suggests 列之包
第六步:於包察驗
devtools::check()
vignette 相關察:建正、不過久、無訛。
得:devtools::check() 過無 vignette 相關訛或警。vignette 於 CRAN 時限內建(常 < 60 秒)。
敗則:vignette 致察敗者,常修:加缺 Suggests 包於 DESCRIPTION、以 eval=FALSE 於慢塊減建時、確 VignetteIndexEntry 配題。獨行 devtools::build_vignettes() 以孤 vignette 特訛。
驗
- vignette 經
devtools::build_vignettes()無訛建 - 諸碼塊正執
- VignetteIndexEntry 配題
-
devtools::check()過無 vignette 警 - vignette 現於 pkgdown 文之 articles(若用)
- 建時合理(CRAN < 60 秒)
陷
- VignetteIndexEntry 不配:YAML 中索條必配
vignette(package = "pkg")中所欲用者見 - 缺
vignetteYAML 塊:三%\Vignette*行皆需 - vignette 對 CRAN 過慢:預算果或於貴操用
eval=FALSE - pandoc 不見:確
RSTUDIO_PANDOC環變設 - 自引包:vignette 中用
library(packagename)非devtools::load_all()
參
write-roxygen-docs- 函級文補 vignette 教程build-pkgdown-site- vignette 於 pkgdown 站為 articlessubmit-to-cran- CRAN 有特 vignette 要create-quarto-report- Quarto 為 R Markdown vignette 之別
GitHub Repository
Verwandte Skills
content-collections
MetaDiese Skill bietet eine produktionsgetestete Einrichtung für Content Collections – ein TypeScript-first-Tool, das Markdown/MDX-Dateien in typsichere Datensammlungen mit Zod-Validierung umwandelt. Verwenden Sie ihn beim Erstellen von Blogs, Dokumentationsseiten oder inhaltsstarken Vite + React-Anwendungen, um Typsicherheit und automatische Inhaltsvalidierung zu gewährleisten. Er behandelt alles von der Vite-Plugin-Konfiguration und MDX-Kompilierung bis hin zur Deployment-Optimierung und Schema-Validierung.
polymarket
MetaDiese Fähigkeit ermöglicht es Entwicklern, Anwendungen mit der Polymarket-Prognosemärkte-Plattform zu erstellen, einschließlich API-Integration für Handel und Marktdaten. Sie bietet außerdem Echtzeit-Datenstreaming über WebSocket, um Live-Trades und Marktaktivitäten zu überwachen. Nutzen Sie sie zur Implementierung von Handelsstrategien oder zur Erstellung von Tools, die Live-Marktaktualisierungen verarbeiten.
creating-opencode-plugins
MetaDiese Fähigkeit unterstützt Entwickler dabei, OpenCode-Plugins zu erstellen, die in über 25 Ereignistypen wie Befehle, Dateien und LSP-Operationen eingreifen. Sie bietet die Plugin-Struktur, Event-API-Spezifikationen und Implementierungsmuster für JavaScript/TypeScript-Module. Nutzen Sie sie, wenn Sie den Lebenszyklus des OpenCode KI-Assistenten mit benutzerdefinierter ereignisgesteuerter Logik abfangen, überwachen oder erweitern müssen.
sglang
MetaSGLang ist ein hochperformantes LLM-Serving-Framework, das sich auf schnelle, strukturierte Generierung für JSON, Regex und agentenbasierte Workflows unter Verwendung seines RadixAttention-Prefix-Cachings spezialisiert. Es bietet deutlich schnellere Inferenz, insbesondere für Aufgaben mit wiederholten Präfixen, was es ideal für komplexe, strukturierte Ausgaben und Mehrfachdialoge macht. Wählen Sie SGLang gegenüber Alternativen wie vLLM, wenn Sie constrained decoding benötigen oder Anwendungen mit umfangreicher Präfix-Weitergabe entwickeln.
