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

write-vignette

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

정보

이 스킬은 R 개발자가 R 마크다운이나 Quarto를 사용해 패키지 비네트를 생성하는 데 도움을 줍니다. 설정, 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: > Crear viñetas para paquetes R usando R Markdown o Quarto. Cubre la configuración de viñetas, la configuración YAML, las opciones de fragmentos de código, la compilación y las pruebas, y los requisitos de CRAN para viñetas. Usar al añadir un tutorial de introducción, documentar flujos de trabajo complejos que abarcan múltiples funciones, crear guías específicas de dominio, o cuando el envío a CRAN requiere documentación orientada al usuario más allá de las páginas de ayuda de funciones. 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, vignette, rmarkdown, documentation, tutorial

Escribir Viñetas

Crear documentación extensa en forma de viñetas para paquetes R.

Cuándo Usar

  • Añadir un tutorial de "Introducción" para un paquete
  • Documentar flujos de trabajo complejos que abarcan múltiples funciones
  • Crear guías específicas de dominio (p. ej., metodología estadística)
  • El envío a CRAN requiere documentación orientada al usuario más allá de la ayuda de funciones

Entradas

  • Obligatorio: Paquete R con funciones a documentar
  • Obligatorio: Título y tema de la viñeta
  • Opcional: Formato (R Markdown o Quarto, predeterminado: R Markdown)
  • Opcional: Si la viñeta necesita datos externos o APIs

Procedimiento

Paso 1: Crear el Archivo de Viñeta

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

Esperado: vignettes/getting-started.Rmd creado con cabecera YAML. knitr y rmarkdown añadidos al campo Suggests de DESCRIPTION. El directorio vignettes/ existe.

En caso de fallo: Si usethis::use_vignette() falla, verificar que el directorio de trabajo es la raíz del paquete (contiene DESCRIPTION). Si knitr no está instalado, ejecutar primero install.packages("knitr"). Para la creación manual, crear el directorio vignettes/ y el archivo a mano, asegurándose de que la cabecera YAML incluye las tres entradas %\Vignette*.

Paso 2: Escribir el Contenido de la Viñeta

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


**Esperado:** El archivo Rmd de la viñeta contiene secciones de Introducción, Instalación, Uso Básico, Funciones Avanzadas y Conclusión. Los ejemplos de código usan las funciones exportadas del paquete y producen salida visible.

**En caso de fallo:** Si los ejemplos fallan al ejecutarse, verificar que el paquete está instalado con `devtools::install()`. Asegurarse de que los ejemplos usan el nombre del paquete en las llamadas `library()` (no `devtools::load_all()`). Para funciones que requieren recursos externos, usar `eval=FALSE` para mostrar el código sin ejecutarlo.

### Paso 3: Configurar los Fragmentos de Código

Usar opciones de fragmentos para distintos propósitos:

```r
# Fragmento evaluado estándar
{r example-basic}
result <- compute_something(1:10)
result

# Mostrar código pero no ejecutar (con fines ilustrativos)
{r api-example, eval=FALSE}
connect_to_api(key = "your_key_here")

# Ejecutar pero ocultar el código (mostrar solo la salida)
{r hidden-setup, echo=FALSE}
library(packagename)

# Configurar opciones globales
{r setup, include=FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.width = 7,
  fig.height = 5
)

Esperado: Un fragmento de configuración con include=FALSE establece las opciones globales (collapse, comment, fig.width, fig.height). Los fragmentos están configurados apropiadamente: eval=FALSE para código ilustrativo, echo=FALSE para la configuración oculta, y fragmentos estándar para los ejemplos interactivos.

En caso de fallo: Si las opciones de fragmento no surten efecto, verificar que la sintaxis usa el formato {r chunk-name, option=value} (separado por comas, sin comillas alrededor de valores lógicos). Comprobar que el fragmento de configuración se ejecuta primero colocándolo al principio del documento.

Paso 4: Gestionar Dependencias Externas

Para viñetas que necesitan acceso a la red o paquetes opcionales:

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

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

Para cálculos de larga duración, precomputar y guardar los resultados:

# Guardar resultados precomputados en vignettes/
saveRDS(expensive_result, "vignettes/precomputed.rds")

# Cargar en la viñeta
{r load-precomputed}
result <- readRDS("precomputed.rds")

Esperado: Las dependencias externas se gestionan con elegancia: los paquetes opcionales se cargan condicionalmente con requireNamespace(), el código dependiente de la red usa eval=FALSE o tryCatch(), y los cálculos costosos usan archivos .rds precomputados.

En caso de fallo: Si la viñeta falla en CRAN por paquetes opcionales no disponibles, envolver esas secciones con una variable condicional (p. ej., eval=has_suggested). Para resultados precomputados, asegurarse de que el archivo .rds está incluido en el directorio vignettes/ y se referencia con una ruta relativa.

Paso 5: Compilar y Probar la Viñeta

# Compilar una única viñeta
devtools::build_vignettes()

# Compilar y verificar (detecta problemas de viñeta)
devtools::check()

Esperado: La viñeta compila sin errores. La salida HTML es legible.

En caso de fallo:

  • Pandoc faltante: Configurar RSTUDIO_PANDOC en .Renviron
  • Paquete no instalado: Ejecutar primero devtools::install()
  • Suggests faltantes: Instalar los paquetes listados en DESCRIPTION Suggests

Paso 6: Verificar en la Comprobación del Paquete

devtools::check()

Verificaciones relacionadas con viñetas: compila correctamente, no tarda demasiado, sin errores.

Esperado: devtools::check() pasa sin errores ni advertencias relacionados con viñetas. La viñeta compila dentro de los límites de tiempo de CRAN (generalmente menos de 60 segundos).

En caso de fallo: Si la viñeta provoca fallos en la verificación, las correcciones más comunes son: añadir los paquetes Suggests faltantes a DESCRIPTION, reducir el tiempo de compilación con eval=FALSE en fragmentos lentos, y asegurarse de que VignetteIndexEntry coincide con el título. Ejecutar devtools::build_vignettes() por separado para aislar los errores específicos de la viñeta.

Validación

  • La viñeta compila sin errores con devtools::build_vignettes()
  • Todos los fragmentos de código se ejecutan correctamente
  • VignetteIndexEntry coincide con el título
  • devtools::check() pasa sin advertencias de viñeta
  • La viñeta aparece en los artículos del sitio pkgdown (si corresponde)
  • El tiempo de compilación es razonable (< 60 segundos para CRAN)

Errores Comunes

  • Discrepancia en VignetteIndexEntry: La entrada del índice en YAML debe coincidir con lo que se quiere que los usuarios vean en vignette(package = "pkg")
  • Falta el bloque YAML de vignette: Las tres líneas %\Vignette* son obligatorias
  • Viñeta demasiado lenta para CRAN: Precomputar resultados o usar eval=FALSE para operaciones costosas
  • Pandoc no encontrado: Asegurarse de que la variable de entorno RSTUDIO_PANDOC está configurada
  • Referencia al propio paquete: Usar library(packagename) no devtools::load_all() en las viñetas

Habilidades Relacionadas

  • write-roxygen-docs - los documentos a nivel de función complementan los tutoriales de las viñetas
  • build-pkgdown-site - las viñetas aparecen como artículos en el sitio pkgdown
  • submit-to-cran - CRAN tiene requisitos específicos para las viñetas
  • create-quarto-report - Quarto como alternativa a las viñetas de R Markdown

GitHub 저장소

pjt222/agent-almanac
경로: i18n/es/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 또는 모바일 환경 전환 시 세션 상태와 컨텍스트를 관리하여 워크플로를 최적화합니다. 다양한 단계에서 서로 다른 도구가 필요한 복잡한 프로젝트에 사용하세요.

스킬 보기