MCP HubMCP Hub
Volver a habilidades

manage-renv-dependencies

pjt222
Actualizado Yesterday
10 vistas
17
2
17
Ver en GitHub
Otroaiapiautomation

Acerca de

Esta habilidad gestiona las dependencias de paquetes R utilizando renv para crear entornos reproducibles. Maneja inicialización, flujos de trabajo de instantánea/restauración, resolución de problemas e integración con CI/CD. Úsela al configurar la gestión de dependencias para proyectos R, restaurar entornos en máquinas nuevas o resolver fallos de restauración.

Instalación rápida

Claude Code

Recomendado
Principal
npx skills add pjt222/agent-almanac -a claude-code
Comando PluginAlternativo
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternativo
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/manage-renv-dependencies

Copia y pega este comando en Claude Code para instalar esta habilidad

Documentación

管 renv 依賴

以 renv 立並護可重現 R 包環境。

用時

  • 為新 R 項目啟依賴管
  • 加或更包依賴
  • 於新機復項目環境
  • 排查 renv 復之敗
  • 合 renv 於 CI/CD 管線

  • 必要:R 項目目
  • 可選:既 renv.lock 檔(為復)
  • 可選:私包用之 GitHub PAT

第一步:啟 renv

renv::init()

此生:

  • renv/ 目(庫、設、啟動腳)
  • renv.lock(依賴之拍)
  • .Rprofile 以啟載時啟 renv

**得:**項目本地庫已建。renv/ 目與 renv.lock 存。.Rprofile 已更附啟動腳。

**敗則:**若懸,察網。若敗於某包,先以 install.packages() 手裝此包,再運 renv::init()

第二步:加依賴

如常裝包:

install.packages("dplyr")
renv::install("github-user/private-pkg")

然後拍以記態:

renv::snapshot()

得:renv.lock 以新包及版本更。renv::status() 顯無不同步之包。

**敗則:**若 renv::snapshot() 報驗誤,行 renv::dependencies() 察何包實用,再 renv::snapshot(force = TRUE) 繞驗。

第三步:於他機復

renv::restore()

**得:**諸包裝於 renv.lock 中之精版。

**敗則:**常疑:GitHub 包敗(於 .RenvironGITHUB_PAT)、系統依賴缺(Linux 以 apt-get 裝)、大包超時(復前設 options(timeout = 600))、或二進不可得(renv 自源編;確構工具已裝)。

第四步:更依賴

# Update a specific package
renv::update("dplyr")

# Update all packages
renv::update()

# Snapshot after updates
renv::snapshot()

**得:**目標包已更至最新相容版。拍後 renv.lock 反新版。

**敗則:**若 renv::update() 為某包敗,試以 renv::install("package@version") 直裝再拍。

第五步:察態

renv::status()

得:「No issues found」或清列之不同步包附可行之導。

**敗則:**若態報包用而未記,行 renv::snapshot()。若包已記而未裝,行 renv::restore()

第六步:設 .Rprofile 以條件啟

if (file.exists("renv/activate.R")) {
  source("renv/activate.R")
}

此確項目即於 renv 未裝(CI 環境、合作者)時亦奏。

**得:**R 會於項目目啟時自動啟 renv。renv 未裝之會仍無誤而啟。

**敗則:**若 .Rprofile 致誤,確 file.exists() 守在。勿無條件呼 source("renv/activate.R")

第七步:Git 之設

追此諸檔:

renv.lock           # Always commit
renv/activate.R     # Always commit
renv/settings.json  # Always commit
.Rprofile           # Commit (contains renv activation)

忽此(已於 renv 之 .gitignore):

renv/library/       # Machine-specific
renv/staging/       # Temporary
renv/cache/         # Machine-specific cache

得:renv.lockrenv/activate.Rrenv/settings.json 為 Git 追。機專之目(renv/library/renv/cache/)已忽。

**敗則:**若 renv/library/ 誤提交,以 git rm -r --cached renv/library/ 除並加於 .gitignore

第八步:CI/CD 之合

於 GitHub Actions,用 renv 快取行動:

- uses: r-lib/actions/setup-renv@v2

此自動以 renv.lock 復,具快取。

**得:**CI 管線自 renv.lock 復包具快取。後運以快取之包更速。

**敗則:**若 CI 復敗,察 renv.lock 已提交且新。私 GitHub 包者,確 GITHUB_PAT 設為倉之密。

  • renv::status() 報無疑
  • renv.lock 已於版本控制中提交
  • renv::restore() 於潔取時奏
  • .Rprofile 條件啟 renv
  • CI/CD 用 renv.lock 解依賴

  • renv::init() 於誤目行:恆先驗 getwd()
  • 混 renv 於系統庫renv::init() 後唯用項目之庫
  • 忘拍:裝包後恆行 renv::snapshot()
  • --vanillaRscript --vanilla.Rprofile,故 renv 不啟
  • diff 中之大鎖檔:常——renv.lock 設為可 diff 之 JSON
  • Bioconductor 之包:用 renv::install("bioc::PackageName") 並確 BiocManager 已設

  • create-r-package — 含 renv 之啟
  • setup-github-actions-ci — 以 renv 合 CI
  • submit-to-cran — CRAN 包之依賴管

Repositorio GitHub

pjt222/agent-almanac
Ruta: i18n/wenyan/skills/manage-renv-dependencies
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Habilidades relacionadas

llamaguard

Otro

LlamaGuard es el modelo de Meta de 7-8B parámetros para moderar las entradas y salidas de LLM en seis categorías de seguridad como violencia y discurso de odio. Ofrece una precisión del 94-95% y puede implementarse usando vLLM, Hugging Face o Amazon SageMaker. Utiliza esta skill para integrar fácilmente filtrado de contenido y barreras de seguridad en tus aplicaciones de IA.

Ver habilidad

cost-optimization

Otro

Esta Skill de Claude ayuda a los desarrolladores a optimizar los costes en la nube mediante el ajuste de tamaño de recursos, estrategias de etiquetado y análisis de gastos. Proporciona un marco para reducir los gastos en la nube e implementar una gobernanza de costes en AWS, Azure y GCP. Úsala cuando necesites analizar los costes de infraestructura, ajustar el tamaño de los recursos o cumplir con restricciones presupuestarias.

Ver habilidad

quantizing-models-bitsandbytes

Otro

Esta habilidad cuantiza LLMs a precisión de 8 o 4 bits utilizando bitsandbytes, logrando una reducción de memoria del 50-75% con pérdida mínima de precisión. Es ideal para ejecutar modelos más grandes en memoria GPU limitada o para acelerar la inferencia, admitiendo formatos como INT8, NF4 y FP4. La habilidad se integra con HuggingFace Transformers y permite entrenamiento QLoRA y optimizadores de 8 bits.

Ver habilidad

dispatching-parallel-agents

Otro

Esta Skill de Claude despliega múltiples agentes para investigar y solucionar 3 o más problemas independientes de forma concurrente. Está diseñada para escenarios que involucran fallos no relacionados que pueden resolverse sin estado compartido o dependencias. Su capacidad principal es la resolución paralela de problemas, asignando un agente por cada dominio problemático independiente para maximizar la eficiencia.

Ver habilidad