Zurück zu Fähigkeiten

write-vignette

pjt222
Aktualisiert 2 days ago
5 Ansichten
17
2
17
Auf GitHub ansehen
Designworddesign

Über

Diese Fähigkeit unterstützt R-Entwickler beim Erstellen von Paket-Vignetten mit R Markdown oder Quarto. Sie behandelt Einrichtung, YAML-Konfiguration, Code-Chunk-Optionen, Kompilierung und CRAN-Anforderungen. Nutzen Sie sie, wenn Sie einleitende Tutorials hinzufügen, komplexe Multi-Funktions-Workflows dokumentieren oder CRANs benutzerorientierte Dokumentationsstandards erfüllen müssen.

Schnellinstallation

Claude Code

Empfohlen
Primär
npx skills add pjt222/agent-almanac -a claude-code
Plugin-BefehlAlternativ
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternativ
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/write-vignette

Kopieren Sie diesen Befehl und fügen Sie ihn in Claude Code ein, um diese Fähigkeit zu installieren

Dokumentation


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 Repository

pjt222/agent-almanac
Pfad: i18n/es/skills/write-vignette
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Verwandte Skills

executing-plans

Design

Verwenden Sie die Fähigkeit "executing-plans", wenn Sie einen vollständigen Implementierungsplan zur Ausführung in kontrollierten Batches mit Überprüfungspunkten vorliegen haben. Sie lädt den Plan und überprüft ihn kritisch, führt dann Aufgaben in kleinen Batches (standardmäßig 3 Aufgaben) aus und meldet den Fortschritt zwischen jedem Batch zur Überprüfung durch den Architekten. Dies gewährleistet eine systematische Implementierung mit integrierten Qualitätskontrollpunkten.

Skill ansehen

requesting-code-review

Design

Diese Fähigkeit sendet einen Unteragenten für Code-Review, um Codeänderungen anhand der Anforderungen zu analysieren, bevor fortgefahren wird. Sie sollte nach dem Abschließen von Aufgaben, der Implementierung größerer Funktionen oder vor dem Zusammenführen in den Hauptzweig verwendet werden. Die Überprüfung hilft dabei, Probleme frühzeitig zu erkennen, indem die aktuelle Implementierung mit dem ursprünglichen Plan verglichen wird.

Skill ansehen

connect-mcp-server

Design

Diese Fähigkeit bietet Entwicklern eine umfassende Anleitung, um MCP-Server über HTTP-, stdio- oder SSE-Transports mit Claude Code zu verbinden. Sie behandelt Installation, Konfiguration, Authentifizierung und Sicherheit für die Integration externer Dienste wie GitHub, Notion und benutzerdefinierter APIs. Nutzen Sie sie beim Einrichten von MCP-Integrationen, bei der Konfiguration externer Tools oder bei der Arbeit mit Claude's Model Context Protocol.

Skill ansehen

web-cli-teleport

Design

Diese Fähigkeit unterstützt Entwickler bei der Wahl zwischen Claude Code Web- und CLI-Schnittstellen basierend auf Aufgabenanalysen und ermöglicht nahtloses Session-Teleporting zwischen diesen Umgebungen. Sie optimiert den Workflow, indem sie den Sitzungsstatus und Kontext beim Wechsel zwischen Web, CLI oder Mobilgeräten verwaltet. Nutzen Sie sie für komplexe Projekte, die in verschiedenen Phasen unterschiedliche Werkzeuge erfordern.

Skill ansehen