スキル一覧に戻る

write-roxygen-docs

pjt222
更新日 6 days ago
18 閲覧
17
2
17
GitHubで表示
メタworddata

について

このClaudeスキルは、関数、データセット、クラスを含むRパッケージコンポーネントのroxygen2ドキュメントを生成します。tidyverseスタイルに従い、標準タグと相互参照を処理し、適切なNAMESPACEエントリを作成します。新規エクスポート、内部ヘルパー、S3/S4/R6メソッドのドキュメント作成時、または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にコピー&ペーストしてスキルをインストールします

ドキュメント

書 Roxygen 文

立 R 包函、數、類之全 roxygen2 文。

  • 為新出函加文→用
  • 錄內輔函→用
  • 錄包數→用
  • 錄 S3/S4/R6 類與法→用
  • 修文相關 R CMD check 註→用

  • :欲錄之 R 函、數、類
  • :交參之關函(@family@seealso
  • :函是否出

一:書函文

置 roxygen 註於函上:

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

得:完 roxygen 塊含題、述、各參之 @param@return@examples@export

敗:標不確→察 ?roxygen2::rd_roclet。常漏為 @return,CRAN 對諸出函要。

二:要標參

出函必?
#' Title首行、一句
#' Description空行後段
@param參文
@return返值述是(CRAN)
@examples用例強薦
@export加 NAMESPACE是,公 API
@family關函組
@seealso交參
@keywords internal標內為非出文

得:函型須標皆辨。出函至少有 @param@return@examples@export

敗:標未識→參 roxygen2 文 之用與法。

三:錄數

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"

得:R/data.R 含每數之 roxygen 塊附述構之 @format 與述源之 @source

敗:R CMD check 警未錄數→確引串(如 "city_temperatures")精配 usethis::use_data() 存物名。

四:錄包

R/packagename-package.R

#' @keywords internal
"_PACKAGE"

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

得:R/packagename-package.R 存附 @keywords internal"_PACKAGE" 標。devtools::document()man/packagename-package.Rd

敗:R CMD check 報缺包文→驗檔名為 R/<packagename>-package.R 且含 "_PACKAGE" 串。

五:應特例

含點函(S3 法):

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

復用文@inheritParams

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

無見綁修.data 代詞:

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

得:特例(S3 法、繼參、.data 代詞)正錄。@rdname 組 S3 法。@inheritParams 復用參文無重。

敗:R CMD check 警「no visible binding for global variable」→加 #' @importFrom rlang .data 或末計用 utils::globalVariables()

六:生文

devtools::document()

得:man/ 目更附每錄物之 .Rd 檔。NAMESPACE 重生附正出與入。

敗:察 roxygen 法誤。常疾:\describe{} 中括未閉、行缺 #' 前綴、無效標名。修後再行 devtools::document()

  • 每出函有 @param@return@examples
  • devtools::document() 行無誤
  • devtools::check() 無文警
  • @family 標正組關函
  • 例行無誤(以 devtools::run_examples() 試)

  • @return:CRAN 要諸出函錄返值
  • 例需網/認:以 \dontrun{} 包附註釋以何
  • 慢例:CRAN 過長之有效例用 \donttest{}
  • roxygen 中 markdown:DESCRIPTION 中啟 Roxygen: list(markdown = TRUE)
  • 忘行 devtools::document():man 頁為生、非手書

  • create-r-package - 包設始含 roxygen 配
  • write-testthat-tests - 試所錄函
  • write-vignette - 函參之外長文
  • submit-to-cran - CRAN 之文要

GitHub リポジトリ

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

関連スキル

content-collections

メタ

このスキルは、Content Collections(Markdown/MDXファイルを型安全なデータコレクションに変換するTypeScriptファーストのツール)の本番環境でテストされた設定を提供します。Zodバリデーションによる型安全性を実現し、ブログ、ドキュメントサイト、コンテンツ重視のVite + Reactアプリケーション構築時にご利用ください。Viteプラグインの設定、MDXコンパイルから、デプロイ最適化、スキーマバリデーションまで、すべてを網羅しています。

スキルを見る

polymarket

メタ

このスキルは、開発者がPolymarket予測市場プラットフォームを活用したアプリケーション構築を可能にします。API統合による取引や市場データの取得に加え、WebSocketを介したリアルタイムデータストリーミングにより、ライブ取引や市場活動を監視できます。取引戦略の実装や、ライブ市場更新を処理するツールの作成にご利用ください。

スキルを見る

creating-opencode-plugins

メタ

このスキルは、開発者がコマンド、ファイル、LSP操作など25種類以上のイベントタイプにフックするOpenCodeプラグインを作成することを支援します。JavaScript/TypeScriptモジュール向けに、プラグイン構造、イベントAPI仕様、および実装パターンを提供します。カスタムイベント駆動ロジックでOpenCode AIアシスタントのライフサイクルをインターセプト、監視、または拡張する必要がある場合にご利用ください。

スキルを見る

sglang

メタ

SGLangは、高性能なLLMサービングフレームワークであり、RadixAttentionプレフィックスキャッシュを活用したJSON、正規表現、エージェントワークフロー向けの高速で構造化された生成を特長とします。特にプレフィックスが繰り返されるタスクにおいて、大幅に高速な推論を実現し、複雑な構造化出力やマルチターン対話に最適です。制約付きデコードが必要な場合や、広範なプレフィックス共有を伴うアプリケーションを構築する場合は、vLLMなどの代替案ではなくSGLangを選択してください。

スキルを見る