Back to Skills

install-putior

pjt222
Updated 2 days ago
7 views
17
2
17
View on GitHub
Metaaiapimcpautomationdesign

About

This skill installs and configures the `putior` R package for workflow visualization, handling both CRAN and GitHub installations along with optional dependencies. It verifies the complete annotation-to-diagram pipeline is functional. Use it for initial setup, environment preparation, or when restoring an environment after upgrades.

Quick Install

Claude Code

Recommended
Primary
npx skills add pjt222/agent-almanac -a claude-code
Plugin CommandAlternative
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternative
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/install-putior

Copy and paste this command in Claude Code to install this skill

Documentation

Install putior

Install putior R pkg + optional deps → annotation-to-diagram pipeline ready.

Use When

  • First-time setup in project/env
  • Prep machine for workflow viz
  • Downstream skill (analyze-codebase-workflow, generate-workflow-diagram) needs it
  • Restore after R ver upgrade / renv wipe

In

  • Required: R install (≥4.1.0)
  • Optional: CRAN (default) or GitHub dev ver
  • Optional: opt deps: MCP (mcptools, ellmer), interactive (shiny, shinyAce), logging (logger), ACP (plumber2)

Do

Step 1: Verify R install

R.Version()$version.string
# Must be >= 4.1.0
# From WSL with Windows R
"/mnt/c/Program Files/R/R-4.5.2/bin/Rscript.exe" -e "cat(R.version.string)"

→ R version printed, ≥4.1.0.

If err: install/upgrade R. Windows → https://cran.r-project.org/bin/windows/base/. Linux → sudo apt install r-base.

Step 2: Install putior

# CRAN (recommended)
install.packages("putior")

# GitHub dev version (if latest features needed)
remotes::install_github("pjt222/putior")

→ Installs no errors. library(putior) loads silently.

If err: CRAN fails "not available for R ver" → use GitHub. GitHub fails → check remotes installed: install.packages("remotes").

Step 3: Optional deps

# MCP server integration (for AI assistant access)
remotes::install_github("posit-dev/mcptools")
install.packages("ellmer")

# Interactive sandbox
install.packages("shiny")
install.packages("shinyAce")

# Structured logging
install.packages("logger")

# ACP server (agent-to-agent communication)
install.packages("plumber2")

→ Each installs no errors.

If err: mcptoolsremotes first. Linux system dep errs → install libs (e.g., sudo apt install libcurl4-openssl-dev for httr2).

Step 4: Verify

library(putior)

# Check package version
packageVersion("putior")

# Verify core functions are available
stopifnot(
  is.function(put),
  is.function(put_auto),
  is.function(put_diagram),
  is.function(put_generate),
  is.function(put_merge),
  is.function(put_theme)
)

# Test basic pipeline with a temp file
tmp <- tempfile(fileext = ".R")
writeLines("# put id:'test', label:'Hello putior'", tmp)
cat(put_diagram(put(tmp)))

→ Mermaid flowchart w/ test + Hello putior.

Key defaults: All scan fns (put(), put_auto(), put_generate(), put_merge()) default recursive = TRUE, scan subdirs auto. Breaking change from pre-0.2.0 where default was FALSE. All accept exclude param for regex file filtering (e.g., put("./src/", exclude = "test_")).

If shiny installed → interactive sandbox:

putior::run_sandbox()

Browser-based editor for PUT annotation syntax + real-time diagrams.

If err: put not found → pkg didn't install correctly. Reinstall install.packages("putior", dependencies = TRUE). Empty diagram → verify temp file + annotation uses single quotes inside double.

Check

  • library(putior) loads no errors
  • packageVersion("putior") valid version
  • put() on valid PUT annotation → DF w/ 1 row
  • put_diagram() → Mermaid starting flowchart
  • All requested opt deps load no errors

Traps

  • Wrong quote nesting: PUT uses single quotes inside annotation: id:'name' not id:"name" (conflicts w/ comment string delim).
  • Missing Pandoc for vignettes: build local → set RSTUDIO_PANDOC in .Renviron.
  • renv isolation: renv project → install inside renv lib: renv::install("putior") not install.packages().
  • GitHub rate limits: mcptools from GitHub may fail w/o GITHUB_PAT. Set via usethis::create_github_token().

  • analyze-codebase-workflow — next step post-install
  • configure-putior-mcp — MCP server after opt deps
  • manage-renv-dependencies — putior within renv env
  • configure-mcp-server — general MCP config

GitHub Repository

pjt222/agent-almanac
Path: i18n/caveman-ultra/skills/install-putior
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Related Skills

content-collections

Meta

This skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.

View skill

polymarket

Meta

This skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.

View skill

creating-opencode-plugins

Meta

This skill helps developers create OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It provides the plugin structure, event API specifications, and implementation patterns for JavaScript/TypeScript modules. Use it when you need to intercept, monitor, or extend the OpenCode AI assistant's lifecycle with custom event-driven logic.

View skill

sglang

Meta

SGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.

View skill