スキル一覧に戻る

write-roxygen-docs

pjt222
更新日 Yesterday
4 閲覧
17
2
17
GitHubで表示
ドキュメントgeneral

について

このClaudeスキルは、Tidyverseスタイルガイドラインに従ってRパッケージの包括的なroxygen2ドキュメントを生成します。関数、データセット、クラス、メソッドを扱い、適切なNAMESPACEエントリと相互参照を自動的に作成します。新しいパッケージコンポーネントのドキュメント追加時や、ドキュメント関連のR CMDチェック警告修正時にご利用ください。

クイックインストール

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-roxygen-docs

このコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします

ドキュメント


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

GitHub リポジトリ

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

関連スキル

railway-docs

ドキュメント

このスキルは、Railwayの機能や仕様、特定のドキュメントURLに関する質問に答えるために、最新のRailwayドキュメントを取得します。開発者がRailwayの公式情報源から正確かつ最新の情報を直接受け取れるようにします。ユーザーがRailwayの動作方法について尋ねたり、Railwayドキュメントを参照する際にご利用ください。

スキルを見る

n8n-code-python

ドキュメント

このClaudeスキルは、n8nのコードノードでPythonコードを記述するための専門的なガイダンスを提供します。具体的には、Pythonの標準ライブラリの使用方法や、`_input`、`_json`、`_node`といったn8n独自の構文の扱い方を解説します。n8n環境内におけるPythonの制限事項を開発者が理解できるよう支援し、ほとんどのワークフローではJavaScriptの使用を推奨しながらも、特定のデータ変換ニーズに対応するPythonソリューションを提案します。

スキルを見る

archon

ドキュメント

Archonスキルは、RAGを活用したセマンティック検索とプロジェクト管理をREST APIを通じて提供します。ドキュメントの検索、階層的なプロジェクト/タスクの管理、ドキュメントアップロード機能を備えたナレッジ検索の実行にご利用いただけます。外部ドキュメントを検索する際は、他の情報源を利用する前に常にArchonを最優先で使用してください。

スキルを見る

n8n-code-javascript

ドキュメント

このClaudeスキルは、n8nのCodeノードでJavaScriptコードを書くための専門的なガイダンスを提供します。`$input`/`$json`変数、HTTPヘルパー、DateTime処理などの重要なn8n固有の構文を網羅し、一般的なエラーのトラブルシューティングも行います。CodeノードでカスタムJavaScript処理を必要とするn8nワークフローを開発する際にご利用ください。

スキルを見る