i18n/de/skills/write-vignette/SKILL.md
R-Paket-Vignetten mit R Markdown oder Quarto erstellen. Behandelt Vignetten-Einrichtung, YAML-Konfiguration, Code-Chunk-Optionen, Erstellen und Testen sowie CRAN-Anforderungen fuer Vignetten. Verwenden beim Hinzufuegen eines "Getting Started"-Tutorials, beim Dokumentieren komplexer Arbeitsablaeufe ueber mehrere Funktionen hinweg, beim Erstellen domaenenspezifischer Anleitungen oder wenn die CRAN-Einreichung benutzerseitige Dokumentation jenseits von Funktionshilfeseiten erfordert.
npx skillsauth add pjt222/agent-almanac write-vignetteInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Ausfuehrliche Dokumentationsvignetten fuer R-Pakete erstellen.
usethis::use_vignette("getting-started", title = "Getting Started with packagename")
Erwartet: vignettes/getting-started.Rmd mit YAML-Frontmatter erstellt. knitr und rmarkdown zum Suggests-Feld in DESCRIPTION hinzugefuegt. Das Verzeichnis vignettes/ existiert.
Bei Fehler: Wenn usethis::use_vignette() fehlschlaegt, pruefen, ob das Arbeitsverzeichnis das Paketstammverzeichnis ist (enthaelt DESCRIPTION). Wenn knitr nicht installiert ist, zuerst install.packages("knitr") ausfuehren. Bei manueller Erstellung das Verzeichnis vignettes/ und die Datei von Hand anlegen und sicherstellen, dass das YAML-Frontmatter alle drei %\Vignette*-Eintraege enthaelt.
---
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)
Walk through the primary workflow:
# Load example data
data <- example_data()
# Process
result <- main_function(data, option = "default")
# Inspect
summary(result)
Cover optional or advanced functionality.
Summarize and point to other vignettes or resources.
**Erwartet:** Die Vignetten-Rmd-Datei enthaelt die Abschnitte Introduction, Installation, Basic Usage, Advanced Features und Conclusion. Code-Beispiele verwenden die exportierten Funktionen des Pakets und liefern sichtbare Ausgaben.
**Bei Fehler:** Wenn Beispiele nicht ausfuehren, pruefen, ob das Paket mit `devtools::install()` installiert ist. Sicherstellen, dass Beispiele den Paketnamen in `library()`-Aufrufen verwenden (nicht `devtools::load_all()`). Fuer Funktionen, die externe Ressourcen benoetigen, `eval=FALSE` verwenden, um Code ohne Ausfuehrung anzuzeigen.
### Schritt 3: Code-Chunks konfigurieren
Chunk-Optionen fuer verschiedene Zwecke verwenden:
```r
# Standard ausgewerteter Chunk
{r example-basic}
result <- compute_something(1:10)
result
# Code anzeigen, aber nicht ausfuehren (fuer illustrative Zwecke)
{r api-example, eval=FALSE}
connect_to_api(key = "your_key_here")
# Ausfuehren, aber Code verbergen (nur Ausgabe anzeigen)
{r hidden-setup, echo=FALSE}
library(packagename)
# Globale Optionen setzen
{r setup, include=FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.width = 7,
fig.height = 5
)
Erwartet: Ein Setup-Chunk mit include=FALSE setzt globale Optionen (collapse, comment, fig.width, fig.height). Chunks sind angemessen konfiguriert: eval=FALSE fuer illustrativen Code, echo=FALSE fuer verstecktes Setup und Standard-Chunks fuer interaktive Beispiele.
Bei Fehler: Wenn Chunk-Optionen nicht wirksam werden, pruefen, ob die Syntax das Format {r chunk-name, option=value} verwendet (kommagetrennt, keine Anfuehrungszeichen um logische Werte). Sicherstellen, dass der Setup-Chunk zuerst laeuft, indem er am Anfang des Dokuments platziert wird.
Fuer Vignetten, die Netzwerkzugriff oder optionale Pakete benoetigen:
{r check-available, include=FALSE}
has_suggested <- requireNamespace("optionalpkg", quietly = TRUE)
{r use-suggested, eval=has_suggested}
optionalpkg::special_function()
Fuer zeitaufwendige Berechnungen Ergebnisse vorausberechnen und speichern:
# Vorberechnete Ergebnisse in vignettes/ speichern
saveRDS(expensive_result, "vignettes/precomputed.rds")
# In der Vignette laden
{r load-precomputed}
result <- readRDS("precomputed.rds")
Erwartet: Externe Abhaengigkeiten werden angemessen behandelt: Optionale Pakete werden bedingt mit requireNamespace() geladen, netzwerkabhaengiger Code verwendet eval=FALSE oder tryCatch(), und aufwendige Berechnungen verwenden vorberechnete .rds-Dateien.
Bei Fehler: Wenn die Vignette bei CRAN wegen nicht verfuegbarer optionaler Pakete fehlschlaegt, diese Abschnitte mit einer Bedingungsvariable umschliessen (z.B. eval=has_suggested). Bei vorberechneten Ergebnissen sicherstellen, dass die .rds-Datei im Verzeichnis vignettes/ enthalten ist und mit relativem Pfad referenziert wird.
# Einzelne Vignette bauen
devtools::build_vignettes()
# Bauen und pruefen (erkennt Vignetten-Probleme)
devtools::check()
Erwartet: Vignette baut ohne Fehler. HTML-Ausgabe ist lesbar.
Bei Fehler:
RSTUDIO_PANDOC in .Renviron setzendevtools::install() ausfuehrendevtools::check()
Vignetten-bezogene Pruefungen: Baut korrekt, dauert nicht zu lange, keine Fehler.
Erwartet: devtools::check() besteht ohne vignetten-bezogene Fehler oder Warnungen. Die Vignette baut innerhalb der CRAN-Zeitlimits (in der Regel unter 60 Sekunden).
Bei Fehler: Wenn die Vignette Pruefungsfehler verursacht, haeufige Korrekturen: fehlende Suggests-Pakete zu DESCRIPTION hinzufuegen, Bauzeit mit eval=FALSE bei langsamen Chunks reduzieren und sicherstellen, dass VignetteIndexEntry mit dem Titel uebereinstimmt. devtools::build_vignettes() separat ausfuehren, um vignetten-spezifische Fehler zu isolieren.
devtools::build_vignettes()devtools::check() besteht ohne Vignetten-Warnungenvignette(package = "pkg") sehen sollenvignette-YAML-Block: Alle drei %\Vignette*-Zeilen sind erforderlicheval=FALSE fuer aufwendige Operationen verwendenRSTUDIO_PANDOC gesetzt istlibrary(packagename) statt devtools::load_all() verwendenwrite-roxygen-docs - Funktionsdokumentation ergaenzt Vignetten-Tutorialsbuild-pkgdown-site - Vignetten erscheinen als Artikel auf der pkgdown-Websitesubmit-to-cran - CRAN hat spezifische Vignetten-Anforderungencreate-quarto-report - Quarto als Alternative zu R Markdown-Vignettentesting
Launch all available agents in parallel waves for open-ended hypothesis generation on problems where the correct domain is unknown. Use when facing a cross-domain problem with no clear starting point, when single-agent approaches have stalled, or when diverse perspectives are more valuable than deep expertise. Produces a ranked hypothesis set with convergence analysis and adversarial refinement.
tools
Write integration tests for a Node.js CLI application using the built-in node:test module. Covers the exec helper pattern, output assertions, filesystem state verification, cleanup hooks, JSON output parsing, error case testing, and state restoration after destructive tests. Use when adding tests to an existing CLI, testing a new command, verifying adapter behavior across frameworks, or setting up CI for a CLI tool.
development
Screen a proposed trademark for conflicts and distinctiveness before filing. Covers trademark database searches (TMview, WIPO Global Brand Database, USPTO TESS), distinctiveness analysis using the Abercrombie spectrum, likelihood of confusion assessment using DuPont factors and EUIPO relative grounds, common law rights evaluation, and goods/services overlap analysis. Produces a conflict report with a risk matrix. Use before adopting a new brand name, logo, or slogan — distinct from patent prior art search, which uses different databases, legal frameworks, and analysis methods.
tools
Scaffold a new CLI command using Commander.js with options, action handler, three output modes (human-readable, quiet, JSON), and optional ceremony variant. Covers command naming, option design, shared context patterns, error handling, and integration testing. Use when adding a command to an existing Commander.js CLI, designing a new CLI tool from scratch, or standardizing command structure across a multi-command CLI.