MCP HubMCP Hub
스킬 목록으로 돌아가기

write-vignette

pjt222
업데이트됨 2 days ago
2 조회
17
2
17
GitHub에서 보기
디자인general

정보

이 Claude Skill은 개발자가 R Markdown이나 Quarto를 사용해 R 패키지 비네트를 만드는 데 도움을 줍니다. 설정, YAML 구성, 코드 청크 옵션, 빌드, 테스트, CRAN 요구사항 충족까지 안내합니다. 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 MarkdownまたはQuartoを使用してRパッケージのビネットを作成する。 ビネットのセットアップ、YAML設定、コードチャンクオプション、ビルドとテスト、 ビネットのCRAN要件を網羅。「はじめに」チュートリアルの追加、複数の関数にまたがる 複雑なワークフローの文書化、ドメイン固有のガイド作成、またはCRAN投稿で 関数ヘルプページを超えたユーザー向けドキュメントが必要な時に使用する。 locale: ja 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

ビネットの記述

Rパッケージの長文ドキュメントビネットを作成する。

使用タイミング

  • パッケージの「はじめに」チュートリアルを追加する時
  • 複数の関数にまたがる複雑なワークフローを文書化する時
  • ドメイン固有のガイドを作成する時(例:統計手法)
  • CRAN投稿で関数ヘルプを超えたユーザー向けドキュメントが必要な時

入力

  • 必須: ドキュメント化する関数を持つRパッケージ
  • 必須: ビネットのタイトルとトピック
  • 任意: 形式(R MarkdownまたはQuarto、デフォルト:R Markdown)
  • 任意: ビネットが外部データやAPIを必要とするかどうか

手順

ステップ1: ビネットファイルの作成

usethis::use_vignette("getting-started", title = "Getting Started with packagename")

期待結果: YAMLフロントマターを持つvignettes/getting-started.Rmdが作成される。DESCRIPTIONのSuggestsフィールドにknitrrmarkdownが追加される。vignettes/ディレクトリが存在する。

失敗時: usethis::use_vignette()が失敗する場合、作業ディレクトリがパッケージルート(DESCRIPTIONが含まれる)であることを確認する。knitrがインストールされていない場合はinstall.packages("knitr")を実行する。手動で作成する場合はvignettes/ディレクトリとファイルを作成し、YAMLフロントマターに3つの%\Vignette*エントリすべてが含まれていることを確認する。

ステップ2: ビネットコンテンツの記述

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


**期待結果:** ビネットのRmdファイルに「はじめに」、インストール、基本的な使い方、高度な機能、まとめのセクションが含まれる。コード例がパッケージのエクスポートされた関数を使用して表示可能な出力を生成する。

**失敗時:** 例が実行に失敗する場合、`devtools::install()`でパッケージがインストールされているか確認する。例が(`devtools::load_all()`ではなく)`library()`呼び出しでパッケージ名を使用していることを確認する。外部リソースを必要とする関数には、実行せずにコードを表示するために`eval=FALSE`を使用する。

### ステップ3: コードチャンクの設定

異なる目的でチャンクオプションを使用する:

```r
# 標準的な評価チャンク
{r example-basic}
result <- compute_something(1:10)
result

# コードを表示するが実行しない(例示目的)
{r api-example, eval=FALSE}
connect_to_api(key = "your_key_here")

# コードを非表示にして実行する(出力のみ表示)
{r hidden-setup, echo=FALSE}
library(packagename)

# グローバルオプションを設定
{r setup, include=FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.width = 7,
  fig.height = 5
)

期待結果: include=FALSEを持つsetupチャンクがグローバルオプション(collapsecommentfig.widthfig.height)を設定する。チャンクが適切に設定される:例示コードにはeval=FALSE、隠しセットアップにはecho=FALSE、インタラクティブな例には標準チャンク。

失敗時: チャンクオプションが効果を発揮しない場合、構文が{r chunk-name, option=value}形式(カンマ区切り、論理値に引用符なし)を使用していることを確認する。setupチャンクがドキュメントの先頭に配置されていることを確認する。

ステップ4: 外部依存関係の処理

ネットワークアクセスやオプションパッケージが必要なビネットの場合:

{r check-available, include=FALSE}
has_suggested <- requireNamespace("optionalpkg", quietly = TRUE)

{r use-suggested, eval=has_suggested}
optionalpkg::special_function()

長時間実行される計算の場合、結果を事前計算して保存する:

# vignettes/に事前計算済みの結果を保存
saveRDS(expensive_result, "vignettes/precomputed.rds")

# ビネット内で読み込む
{r load-precomputed}
result <- readRDS("precomputed.rds")

期待結果: 外部依存関係が適切に処理される:オプションパッケージはrequireNamespace()で条件付き読み込み、ネットワーク依存コードはeval=FALSEまたはtryCatch()を使用、コストのかかる計算は事前計算済みの.rdsファイルを使用する。

失敗時: オプションパッケージが利用不可のためにCRANでビネットが失敗する場合、それらのセクションを条件変数で囲む(例:eval=has_suggested)。事前計算済みの結果は、.rdsファイルがvignettes/ディレクトリに含まれていて相対パスで参照されていることを確認する。

ステップ5: ビネットのビルドとテスト

# 単一のビネットをビルド
devtools::build_vignettes()

# ビルドとチェック(ビネットの問題を検出)
devtools::check()

期待結果: ビネットがエラーなくビルドされる。HTML出力が読みやすい。

失敗時:

  • pandocの欠如:.RenvironRSTUDIO_PANDOCを設定する
  • パッケージが未インストール:先にdevtools::install()を実行する
  • Suggestsの欠如:DESCRIPTIONのSuggestsに記載されたパッケージをインストールする

ステップ6: パッケージチェックでの確認

devtools::check()

ビネット関連のチェック:正しくビルドされる、時間がかかりすぎない、エラーがない。

期待結果: devtools::check()がビネット関連のエラーや警告なしでパスする。ビネットがCRANの時間制限内(通常60秒以内)にビルドされる。

失敗時: ビネットがチェック失敗を引き起こす場合、一般的な修正には:DESCRIPTIONへのSuggestsパッケージの追加、低速なチャンクへのeval=FALSEの使用によるビルド時間の短縮、VignetteIndexEntryがタイトルと一致していることの確認が含まれる。ビネット固有のエラーを分離するためにdevtools::build_vignettes()を別途実行する。

バリデーション

  • devtools::build_vignettes()でビネットがエラーなくビルドされる
  • すべてのコードチャンクが正しく実行される
  • VignetteIndexEntryがタイトルと一致する
  • devtools::check()がビネット警告なしでパスする
  • ビネットがpkgdownサイトの記事に表示される(該当する場合)
  • ビルド時間が妥当である(CRANでは60秒未満)

よくある落とし穴

  • VignetteIndexEntryの不一致: YAMLのインデックスエントリはvignette(package = "pkg")でユーザーに表示されるものと一致しなければならない
  • vignette YAMLブロックの欠如: 3つの%\Vignette*行すべてが必要
  • CRANには遅すぎるビネット: 結果を事前計算するか、コストのかかる処理にeval=FALSEを使用する
  • pandocが見つからない: RSTUDIO_PANDOC環境変数が設定されていることを確認する
  • パッケージの自己参照: ビネット内ではdevtools::load_all()ではなくlibrary(packagename)を使用する

関連スキル

  • write-roxygen-docs - ビネットチュートリアルを補完する関数レベルのドキュメント
  • build-pkgdown-site - ビネットはpkgdownサイトの記事として表示される
  • submit-to-cran - CRANにはビネットに固有の要件がある
  • create-quarto-report - R Markdownビネットの代替としてのQuarto

GitHub 저장소

pjt222/agent-almanac
경로: i18n/ja/skills/write-vignette
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

연관 스킬

executing-plans

디자인

executing-plans 스킬은 검토 체크포인트가 포함된 통제된 배치로 실행할 완전한 구현 계획이 있을 때 사용합니다. 이 스킬은 계획을 불러와 비판적으로 검토한 후, 소규모 배치(기본값 3개 작업)로 작업을 실행하면서 각 배치 사이에 진행 상황을 아키텍트 검토를 위해 보고합니다. 이를 통해 내재된 품질 관리 체크포인트를 갖춘 체계적인 구현이 보장됩니다.

스킬 보기

requesting-code-review

디자인

이 스킬은 코드 변경 사항을 요구 사항에 따라 분석하기 위해 코드 리뷰어 하위 에이전트를 호출합니다. 작업 완료 후, 주요 기능 구현 후, 또는 메인 브랜치에 병합하기 전에 사용해야 합니다. 이 리뷰는 현재 구현체와 원래 계획을 비교하여 문제를 조기에 발견하는 데 도움이 됩니다.

스킬 보기

connect-mcp-server

디자인

이 스킬은 개발자들이 HTTP, stdio 또는 SSE 전송 방식을 통해 MCP 서버를 Claude Code에 연결하는 포괄적인 가이드를 제공합니다. GitHub, Notion 및 사용자 정의 API와 같은 외부 서비스를 통합하기 위한 설치, 구성, 인증 및 보안을 다룹니다. MCP 통합 설정, 외부 도구 구성 또는 Claude의 모델 컨텍스트 프로토콜 작업 시 활용하세요.

스킬 보기

web-cli-teleport

디자인

이 스킬은 작업 분석을 기반으로 개발자가 Claude Code 웹 인터페이스와 CLI 인터페이스 중 선택할 수 있도록 돕고, 두 환경 간 원활한 세션 텔레포트를 가능하게 합니다. 웹, CLI 또는 모바일 환경 전환 시 세션 상태와 컨텍스트를 관리하여 워크플로를 최적화합니다. 다양한 단계에서 서로 다른 도구가 필요한 복잡한 프로젝트에 사용하세요.

스킬 보기