MCP HubMCP Hub
Volver a habilidades

write-roxygen-docs

pjt222
Actualizado Yesterday
1 vistas
17
2
17
Ver en GitHub
Documentacióngeneral

Acerca de

Esta Habilidad de Claude genera documentación exhaustiva en roxygen2 para paquetes de R siguiendo las pautas de estilo Tidyverse. Maneja funciones, conjuntos de datos, clases y métodos mientras crea automáticamente entradas apropiadas en NAMESPACE y referencias cruzadas. Úsela al agregar documentación para nuevos componentes de paquetes o al corregir advertencias de R CMD check relacionadas con documentación.

Instalación rápida

Claude Code

Recomendado
Principal
npx skills add pjt222/agent-almanac -a claude-code
Comando PluginAlternativo
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternativo
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/write-roxygen-docs

Copia y pega este comando en Claude Code para instalar esta habilidad

Documentación


name: write-roxygen-docs description: > roxygen2-Dokumentation fuer Funktionen, Datensaetze und Klassen eines R-Pakets schreiben. Umfasst alle gaengigen Tags, Querverweise, Beispiele und die Generierung von NAMESPACE-Eintraegen. Folgt dem Tidyverse-Dokumentationsstil. Verwenden beim Hinzufuegen von Dokumentation zu neuen exportierten Funktionen, internen Hilfsfunktionen, Datensaetzen, S3/S4/R6-Klassen und -Methoden oder beim Beheben dokumentationsbezogener R CMD check-Hinweise. 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, roxygen2, documentation, namespace

Roxygen-Dokumentation schreiben

Vollstaendige roxygen2-Dokumentation fuer Funktionen, Datensaetze und Klassen eines R-Pakets erstellen.

Wann verwenden

  • Dokumentation zu einer neuen exportierten Funktion hinzufuegen
  • Interne Hilfsfunktionen dokumentieren
  • Paketdatensaetze dokumentieren
  • S3/S4/R6-Klassen und -Methoden dokumentieren
  • Dokumentationsbezogene R CMD check-Hinweise beheben

Eingaben

  • Erforderlich: Zu dokumentierende R-Funktion, Datensatz oder Klasse
  • Optional: Verwandte Funktionen fuer Querverweise (@family, @seealso)
  • Optional: Ob die Funktion exportiert werden soll

Vorgehensweise

Schritt 1: Funktionsdokumentation schreiben

Roxygen-Kommentare direkt oberhalb der Funktion platzieren:

#' Compute the weighted mean of a numeric vector
#'
#' Calculates the arithmetic mean of `x` weighted by `w`. Missing values
#' in either `x` or `w` are handled according to the `na.rm` parameter.
#'
#' @param x A numeric vector of values.
#' @param w A numeric vector of weights, same length as `x`.
#' @param na.rm Logical. Should missing values be removed? Default `FALSE`.
#'
#' @return A single numeric value representing the weighted mean.
#'
#' @examples
#' weighted_mean(1:5, rep(1, 5))
#' weighted_mean(c(1, 2, NA, 4), c(1, 1, 1, 1), na.rm = TRUE)
#'
#' @export
#' @family summary functions
#' @seealso [stats::weighted.mean()] for the base R equivalent
weighted_mean <- function(x, w, na.rm = FALSE) {
  # implementation
}

Erwartet: Vollstaendiger Roxygen-Block mit Titel, Beschreibung, @param fuer jeden Parameter, @return, @examples und @export.

Bei Fehler: Bei Unsicherheit ueber ein Tag ?roxygen2::rd_roclet konsultieren. Haeufig vergessen wird @return, das CRAN fuer alle exportierten Funktionen erfordert.

Schritt 2: Referenz der wesentlichen Tags

TagZweckFuer Export erforderlich?
#' TitleErste Zeile, ein SatzJa
#' DescriptionAbsatz nach LeerzeileJa
@paramParameterdokumentationJa
@returnBeschreibung des RueckgabewertsJa (CRAN)
@examplesVerwendungsbeispieleDringend empfohlen
@exportZu NAMESPACE hinzufuegenJa, fuer oeffentliche API
@familyVerwandte Funktionen gruppierenEmpfohlen
@seealsoQuerverweiseOptional
@keywords internalAls intern markierenFuer nicht-exportierte Dokumentation

Erwartet: Alle erforderlichen Tags fuer den Funktionstyp sind identifiziert. Exportierte Funktionen haben mindestens @param, @return, @examples und @export.

Bei Fehler: Bei unbekannten Tags die roxygen2-Dokumentation fuer Verwendung und Syntax konsultieren.

Schritt 3: Datensaetze dokumentieren

R/data.R erstellen:

#' Example dataset of city temperatures
#'
#' A dataset containing daily temperature readings for major cities.
#'
#' @format A data frame with 365 rows and 4 variables:
#' \describe{
#'   \item{date}{Date of observation}
#'   \item{city}{City name}
#'   \item{temp_c}{Temperature in Celsius}
#'   \item{humidity}{Relative humidity percentage}
#' }
#' @source \url{https://example.com/data}
"city_temperatures"

Erwartet: R/data.R enthaelt Roxygen-Bloecke fuer jeden Datensatz mit @format zur Beschreibung der Struktur und @source zur Angabe der Datenherkunft.

Bei Fehler: Wenn R CMD check vor nicht dokumentierten Datensaetzen warnt, sicherstellen, dass der in Anfuehrungszeichen gesetzte String (z.B. "city_temperatures") genau dem Objektnamen entspricht, der mit usethis::use_data() gespeichert wurde.

Schritt 4: Das Paket dokumentieren

R/packagename-package.R erstellen:

#' @keywords internal
"_PACKAGE"

## usethis namespace: start
## usethis namespace: end
NULL

Erwartet: R/packagename-package.R existiert mit @keywords internal und dem "_PACKAGE"-Sentinel. devtools::document() generiert man/packagename-package.Rd.

Bei Fehler: Wenn R CMD check eine fehlende Paketdokumentationsseite meldet, sicherstellen, dass die Datei R/<packagename>-package.R heisst und den String "_PACKAGE" enthaelt.

Schritt 5: Sonderfaelle behandeln

Funktionen mit Punkten im Namen (S3-Methoden):

#' @export
#' @rdname process
process.myclass <- function(x, ...) {
  # S3 method
}

Dokumentation wiederverwenden mit @inheritParams:

#' @inheritParams weighted_mean
#' @param trim Fraction of observations to trim.
trimmed_mean <- function(x, w, na.rm = FALSE, trim = 0.1) {
  # implementation
}

Keine sichtbare Bindung beheben mit dem .data-Pronomen:

#' @importFrom rlang .data
my_function <- function(df) {
  dplyr::filter(df, .data$column > 5)
}

Erwartet: Sonderfaelle (S3-Methoden, vererbte Parameter, .data-Pronomen) sind korrekt dokumentiert. @rdname gruppiert S3-Methoden zusammen. @inheritParams verwendet Parameter-Dokumentation ohne Duplikation.

Bei Fehler: Wenn R CMD check vor "no visible binding for global variable" warnt, #' @importFrom rlang .data hinzufuegen oder als letzten Ausweg utils::globalVariables() verwenden.

Schritt 6: Dokumentation generieren

devtools::document()

Erwartet: man/-Verzeichnis mit .Rd-Dateien fuer jedes dokumentierte Objekt aktualisiert. NAMESPACE mit korrekten Exporten und Importen neu generiert.

Bei Fehler: Auf Roxygen-Syntaxfehler pruefen. Haeufige Probleme: nicht geschlossene Klammern in \describe{}, fehlende #'-Praefix in einer Zeile oder ungueltiger Tag-Name. devtools::document() nach der Korrektur erneut ausfuehren.

Validierung

  • Jede exportierte Funktion hat @param, @return und @examples
  • devtools::document() laeuft ohne Fehler
  • devtools::check() zeigt keine Dokumentationswarnungen
  • @family-Tags gruppieren verwandte Funktionen korrekt
  • Beispiele laufen ohne Fehler (testen mit devtools::run_examples())

Haeufige Stolperfallen

  • Fehlendes @return: CRAN erfordert, dass alle exportierten Funktionen ihren Rueckgabewert dokumentieren
  • Beispiele, die Internet/Authentifizierung benoetigen: In \dontrun{} einschliessen mit einem erklaerenden Kommentar
  • Langsame Beispiele: \donttest{} fuer Beispiele verwenden, die funktionieren, aber fuer CRAN zu lange dauern
  • Markdown in roxygen: Mit Roxygen: list(markdown = TRUE) in DESCRIPTION aktivieren
  • devtools::document() zu laufen vergessen: Man-Pages werden generiert, nicht haendisch geschrieben

Verwandte Skills

  • create-r-package - erstmalige Paketeinrichtung einschliesslich roxygen-Konfiguration
  • write-testthat-tests - die dokumentierten Funktionen testen
  • write-vignette - ausfuehrliche Dokumentation jenseits der Funktionsreferenz
  • submit-to-cran - Dokumentationsanforderungen fuer CRAN

Repositorio GitHub

pjt222/agent-almanac
Ruta: i18n/de/skills/write-roxygen-docs
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Habilidades relacionadas

railway-docs

Documentación

Esta habilidad obtiene la documentación actual de Railway para responder preguntas sobre características, funcionalidad o URLs específicas de documentación. Garantiza que los desarrolladores reciban información precisa y actualizada directamente de las fuentes oficiales de Railway. Úsala cuando los usuarios pregunten cómo funciona Railway o hagan referencia a la documentación de Railway.

Ver habilidad

n8n-code-python

Documentación

Esta Skill de Claude proporciona orientación experta para escribir código Python en los nodos Code de n8n, específicamente para usar la biblioteca estándar de Python y trabajar con la sintaxis especial de n8n como `_input`, `_json` y `_node`. Ayuda a los desarrolladores a comprender las limitaciones de Python dentro de n8n y recomienda usar JavaScript para la mayoría de los flujos de trabajo, mientras ofrece soluciones en Python para necesidades específicas de transformación de datos.

Ver habilidad

archon

Documentación

La habilidad Archon proporciona búsqueda semántica con tecnología RAG y gestión de proyectos a través de una API REST. Úsala para consultar documentación, gestionar proyectos/tareas jerárquicos y realizar recuperación de conocimiento con capacidades de carga de documentos. Prioriza siempre a Archon en primer lugar al buscar en documentación externa antes de utilizar otras fuentes.

Ver habilidad

n8n-code-javascript

Documentación

Esta habilidad de Claude proporciona orientación experta para escribir código JavaScript en los nodos de Código de n8n. Cubre sintaxis esencial específica de n8n como las variables `$input`/`$json`, ayudantes HTTP y manejo de DateTime, mientras soluciona errores comunes. Úsela al desarrollar flujos de trabajo en n8n que requieran procesamiento personalizado de JavaScript en los nodos de Código.

Ver habilidad