MCP HubMCP Hub
Вернуться к навыкам

write-vignette

pjt222
Обновлено 2 days ago
7 просмотров
17
2
17
Посмотреть на GitHub
Тестированиеtesting

О программе

Этот навык помогает разработчикам пакетов R создавать полные документационные виньетки с использованием R Markdown или Quarto. Он охватывает настройку, конфигурацию YAML, параметры блоков кода, сборку/тестирование и требования CRAN. Используйте его при добавлении учебных руководств, документировании рабочих процессов с несколькими функциями или создании пользовательской документации, выходящей за рамки стандартных справочных страниц.

Быстрая установка

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/write-vignette

Скопируйте и вставьте эту команду в Claude Code для установки этого навыка

Документация


name: write-vignette description: > 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. locale: de source_locale: en source_commit: 6f65f316 translator: claude-opus-4-6 translation_date: 2026-03-16 license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: r-packages complexity: basic language: R tags: r, vignette, rmarkdown, documentation, tutorial

Vignette schreiben

Ausfuehrliche Dokumentationsvignetten fuer R-Pakete erstellen.

Wann verwenden

  • Ein "Getting Started"-Tutorial fuer ein Paket hinzufuegen
  • Komplexe Arbeitsablaeufe dokumentieren, die mehrere Funktionen umfassen
  • Domaenenspezifische Anleitungen erstellen (z.B. statistische Methodik)
  • CRAN-Einreichung erfordert benutzerseitige Dokumentation jenseits von Funktionshilfe

Eingaben

  • Erforderlich: R-Paket mit zu dokumentierenden Funktionen
  • Erforderlich: Vignetten-Titel und Thema
  • Optional: Format (R Markdown oder Quarto, Standard: R Markdown)
  • Optional: Ob die Vignette externe Daten oder APIs benoetigt

Vorgehensweise

Schritt 1: Vignetten-Datei 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.

Schritt 2: Vignetten-Inhalt schreiben

---
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.


**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.

Schritt 4: Externe Abhaengigkeiten behandeln

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.

Schritt 5: Vignette bauen und testen

# 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:

  • Fehlendes pandoc: RSTUDIO_PANDOC in .Renviron setzen
  • Paket nicht installiert: Zuerst devtools::install() ausfuehren
  • Fehlende Suggests: Im Suggests von DESCRIPTION aufgefuehrte Pakete installieren

Schritt 6: In der Paketpruefung verifizieren

devtools::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.

Validierung

  • Vignette baut ohne Fehler via devtools::build_vignettes()
  • Alle Code-Chunks werden korrekt ausgefuehrt
  • VignetteIndexEntry stimmt mit dem Titel ueberein
  • devtools::check() besteht ohne Vignetten-Warnungen
  • Vignette erscheint in den Artikeln der pkgdown-Website (falls zutreffend)
  • Bauzeit ist vertretbar (< 60 Sekunden fuer CRAN)

Haeufige Stolperfallen

  • VignetteIndexEntry-Abweichung: Der Indexeintrag im YAML muss dem entsprechen, was Nutzer in vignette(package = "pkg") sehen sollen
  • Fehlendes vignette-YAML-Block: Alle drei %\Vignette*-Zeilen sind erforderlich
  • Vignette zu langsam fuer CRAN: Ergebnisse vorausberechnen oder eval=FALSE fuer aufwendige Operationen verwenden
  • Pandoc nicht gefunden: Sicherstellen, dass die Umgebungsvariable RSTUDIO_PANDOC gesetzt ist
  • Selbstreferenzierendes Paket: In Vignetten library(packagename) statt devtools::load_all() verwenden

Verwandte Skills

  • write-roxygen-docs - Funktionsdokumentation ergaenzt Vignetten-Tutorials
  • build-pkgdown-site - Vignetten erscheinen als Artikel auf der pkgdown-Website
  • submit-to-cran - CRAN hat spezifische Vignetten-Anforderungen
  • create-quarto-report - Quarto als Alternative zu R Markdown-Vignetten

GitHub репозиторий

pjt222/agent-almanac
Путь: i18n/de/skills/write-vignette
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Похожие навыки

evaluating-llms-harness

Тестирование

Этот навык Claude запускает lm-evaluation-harness для тестирования LLM на более чем 60 стандартизированных академических задачах, таких как MMLU и GSM8K. Он предназначен для разработчиков, чтобы сравнивать качество моделей, отслеживать прогресс обучения или сообщать академические результаты. Инструмент поддерживает различные бэкенды, включая модели HuggingFace и vLLM.

Просмотреть навык

cloudflare-cron-triggers

Тестирование

Этот навык предоставляет обширные знания по реализации Cloudflare Cron Triggers для планирования запуска Workers с помощью cron-выражений. Он охватывает настройку периодических задач, заданий технического обслуживания и автоматизированных рабочих процессов, а также решение распространенных проблем, таких как неверные cron-выражения и ошибки часовых поясов. Разработчики могут использовать его для настройки планировщиков обработчиков, тестирования cron-триггеров и интеграции с Workflows и Green Compute.

Просмотреть навык

webapp-testing

Тестирование

Этот навык Claude предоставляет инструментарий на базе Playwright для тестирования локальных веб-приложений с помощью Python-скриптов. Он позволяет проводить проверку фронтенда, отладку интерфейса, создание скриншотов и просмотр логов, одновременно управляя жизненным циклом сервера. Используйте его для задач автоматизации браузера, но запускайте скрипты напрямую, вместо чтения их исходного кода, чтобы избежать загрязнения контекста.

Просмотреть навык

finishing-a-development-branch

Тестирование

Этот навык помогает разработчикам завершать готовую работу, проверяя прохождение тестов и предлагая структурированные варианты интеграции. Он направляет рабочий процесс по слиянию, созданию пул-реквестов или очистке веток после завершения реализации. Используйте его, когда ваш код готов и протестирован, чтобы систематически завершать процесс разработки.

Просмотреть навык