スキル一覧に戻る

write-roxygen-docs

pjt222
更新日 2 days ago
3 閲覧
17
2
17
GitHubで表示
ドキュメントword

について

このClaudeスキルは、Rパッケージの包括的なroxygen2ドキュメントを生成します。関数、データセット、S3/S4/R6クラスを網羅し、標準タグ、相互参照、例、NAMESPACE生成を扱いながらtidyverseスタイル規約に従います。新たにエクスポートする関数、内部ヘルパー関数、データセットへのドキュメント追加時、またはR CMD checkのドキュメント指摘修正時にご利用ください。

クイックインストール

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: > Escribir documentación roxygen2 para funciones, conjuntos de datos y clases de paquetes R. Cubre todas las etiquetas estándar, referencias cruzadas, ejemplos y generación de entradas en NAMESPACE. Sigue el estilo de documentación de tidyverse. Usar al añadir documentación a nuevas funciones exportadas, documentar funciones auxiliares internas o conjuntos de datos, documentar clases y métodos S3/S4/R6, o corregir notas de R CMD check relacionadas con la documentación. locale: es 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

Escribir Documentación Roxygen

Crear documentación roxygen2 completa para funciones, conjuntos de datos y clases de paquetes R.

Cuándo Usar

  • Añadir documentación a una nueva función exportada
  • Documentar funciones auxiliares internas
  • Documentar conjuntos de datos del paquete
  • Documentar clases y métodos S3/S4/R6
  • Corregir notas de R CMD check relacionadas con la documentación

Entradas

  • Obligatorio: Función, conjunto de datos o clase R a documentar
  • Opcional: Funciones relacionadas para referencias cruzadas (@family, @seealso)
  • Opcional: Si la función debe ser exportada

Procedimiento

Paso 1: Escribir la Documentación de la Función

Colocar los comentarios roxygen directamente encima de la función:

#' 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
}

Esperado: Bloque roxygen completo con título, descripción, @param para cada parámetro, @return, @examples y @export.

En caso de fallo: Si se desconoce una etiqueta, consultar ?roxygen2::rd_roclet. La omisión más frecuente es @return, que CRAN requiere en todas las funciones exportadas.

Paso 2: Referencia de Etiquetas Esenciales

EtiquetaPropósito¿Obligatoria para exportar?
#' TitlePrimera línea, una oración
#' DescriptionPárrafo tras línea en blanco
@paramDocumentación de parámetros
@returnDescripción del valor retornadoSí (CRAN)
@examplesEjemplos de usoMuy recomendado
@exportAñadir a NAMESPACESí, para la API pública
@familyAgrupar funciones relacionadasRecomendado
@seealsoReferencias cruzadasOpcional
@keywords internalMarcar como internoPara docs no exportadas

Esperado: Se identifican todas las etiquetas obligatorias para el tipo de función. Las funciones exportadas tienen como mínimo @param, @return, @examples y @export.

En caso de fallo: Si una etiqueta es desconocida, consultar la documentación de roxygen2 para su uso y sintaxis.

Paso 3: Documentar Conjuntos de Datos

Crear R/data.R:

#' 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"

Esperado: R/data.R contiene bloques roxygen para cada conjunto de datos con @format describiendo la estructura y @source indicando la procedencia de los datos.

En caso de fallo: Si R CMD check advierte sobre conjuntos de datos sin documentar, asegurarse de que la cadena entre comillas (p. ej., "city_temperatures") coincide exactamente con el nombre del objeto guardado con usethis::use_data().

Paso 4: Documentar el Paquete

Crear R/packagename-package.R:

#' @keywords internal
"_PACKAGE"

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

Esperado: R/packagename-package.R existe con @keywords internal y el centinela "_PACKAGE". Al ejecutar devtools::document() se genera man/packagename-package.Rd.

En caso de fallo: Si R CMD check reporta que falta la página de documentación del paquete, verificar que el archivo se llama R/<packagename>-package.R y contiene la cadena "_PACKAGE".

Paso 5: Gestionar Casos Especiales

Funciones con puntos en el nombre (métodos S3):

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

Reutilizar documentación con @inheritParams:

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

Corrección de "no visible binding" usando el pronombre .data:

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

Esperado: Los casos especiales (métodos S3, parámetros heredados, pronombre .data) se documentan correctamente. @rdname agrupa los métodos S3. @inheritParams reutiliza la documentación de parámetros sin duplicación.

En caso de fallo: Si R CMD check advierte sobre "no visible binding for global variable", añadir #' @importFrom rlang .data o usar utils::globalVariables() como último recurso.

Paso 6: Generar la Documentación

devtools::document()

Esperado: El directorio man/ se actualiza con archivos .Rd para cada objeto documentado. NAMESPACE se regenera con las exportaciones e importaciones correctas.

En caso de fallo: Revisar los errores de sintaxis de roxygen. Problemas frecuentes: corchetes sin cerrar en \describe{}, falta el prefijo #' en una línea, o nombres de etiquetas inválidos. Ejecutar devtools::document() de nuevo tras corregir.

Validación

  • Cada función exportada tiene @param, @return y @examples
  • devtools::document() se ejecuta sin errores
  • devtools::check() no muestra advertencias de documentación
  • Las etiquetas @family agrupan correctamente las funciones relacionadas
  • Los ejemplos se ejecutan sin errores (probar con devtools::run_examples())

Errores Comunes

  • Falta @return: CRAN requiere que todas las funciones exportadas documenten su valor de retorno
  • Ejemplos que necesitan internet o autenticación: Envolver en \dontrun{} con un comentario explicativo
  • Ejemplos lentos: Usar \donttest{} para ejemplos que funcionan pero tardan demasiado para CRAN
  • Markdown en roxygen: Activar con Roxygen: list(markdown = TRUE) en DESCRIPTION
  • Olvidar ejecutar devtools::document(): Las páginas man se generan, no se escriben a mano

Habilidades Relacionadas

  • create-r-package - configuración inicial del paquete incluyendo roxygen
  • write-testthat-tests - probar las funciones que se documentan
  • write-vignette - documentación extensa más allá de la referencia de funciones
  • submit-to-cran - requisitos de documentación para CRAN

GitHub リポジトリ

pjt222/agent-almanac
パス: i18n/es/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ワークフローを開発する際にご利用ください。

スキルを見る