MCP HubMCP Hub
Retour aux compétences

build-parameterized-report

pjt222
Mis à jour 6 days ago
14 vues
17
2
17
Voir sur GitHub
Métaautomationdesign

À propos

Cette compétence permet aux développeurs de créer des rapports paramétrés Quarto ou R Markdown qui génèrent de multiples variations à partir d'un seul modèle. Elle couvre la définition des paramètres, le rendu programmatique et la génération par lots pour les flux de travail automatisés. Utilisez-la pour produire des rapports spécifiques à un département, des résultats personnalisés pour les clients, ou pour automatiser des rapports récurrents avec différentes entrées.

Installation rapide

Claude Code

Recommandé
Principal
npx skills add pjt222/agent-almanac -a claude-code
Commande PluginAlternatif
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternatif
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/build-parameterized-report

Copiez et collez cette commande dans Claude Code pour installer cette compétence

Documentation

建參報

造受參之報,自一模生多客變。

  • 為異部、域、期生同報
  • 自模造客專報
  • 建濾於具子之儀
  • 自定期報附異入

  • :報模(Quarto 或 R Markdown)
  • :參定(名、類、默)
  • :批生之參值列
  • :生報之出目

一:YAML 定參

Quarto(report.qmd):

---
title: "Sales Report: `r params$region`"
params:
  region: "North America"
  year: 2025
  include_forecast: true
format:
  html:
    toc: true
---

R Markdown(report.Rmd):

---
title: "Sales Report"
params:
  region: "North America"
  year: 2025
  include_forecast: true
output: html_document
---

得: YAML 頭含 params: 塊附名參,各有正類默值。

敗: 渲敗報「object 'params' not found」→確 params: 塊於 YAML 首縮對。Quarto params 必於 YAML 頂,非 format: 下嵌。

二:碼中用參

```{r}
#| label: filter-data

data <- full_dataset |>
  filter(region == params$region, year == params$year)

nrow(data)
```

## Overview for `r params$region`

This report covers the `r params$region` region for `r params$year`.

```{r}
#| label: forecast
#| eval: !expr params$include_forecast

# This chunk only runs when include_forecast is TRUE
forecast_model <- forecast::auto.arima(data$sales)
forecast::autoplot(forecast_model)
```

得: 碼塊以 params$name 引參,條塊以 Quarto #| eval: !expr params$flag。行內 R 表如 `r params$region` 渲動文。

敗: params$name 返 NULL→驗參名於 YAML 與碼全合(區大小)。察默值類正。

三:以客參渲

單渲:

# Quarto
quarto::quarto_render(
  "report.qmd",
  execute_params = list(region = "Europe", year = 2025)
)

# R Markdown
rmarkdown::render(
  "report.Rmd",
  params = list(region = "Europe", year = 2025),
  output_file = "report-europe-2025.html"
)

得: 單報以客參值成渲,覆 YAML 默。出檔於所述徑造。

敗: Quarto 渲敗→察 quarto CLI 已裝且於 PATH。R Markdown 敗→驗 rmarkdown 已裝。確參名於 execute_params(Quarto)或 params(R Markdown)合 YAML 定。

四:批渲多報

regions <- c("North America", "Europe", "Asia Pacific", "Latin America")
years <- c(2024, 2025)

# Generate all combinations
combinations <- expand.grid(region = regions, year = years, stringsAsFactors = FALSE)

# Render each
purrr::pwalk(combinations, function(region, year) {
  output_name <- sprintf("report-%s-%d.html",
    tolower(gsub(" ", "-", region)), year)

  quarto::quarto_render(
    "report.qmd",
    execute_params = list(region = region, year = year),
    output_file = output_name
  )
})

得: 每域年組一 HTML。

敗: 察參名於 YAML 與碼全合。確諸參值有效。

五:加參驗

#| label: validate-params

stopifnot(
  "Region must be a valid region" = params$region %in% valid_regions,
  "Year must be numeric" = is.numeric(params$year),
  "Year must be reasonable" = params$year >= 2020 && params$year <= 2030
)

得: 驗碼塊於每渲始行,若參出範或類誤則以清誤止。

敗: stopifnot() 生無益訊→換顯 if (!cond) stop("message") 呼以清診。

六:組出

# Create output directory
output_dir <- file.path("reports", format(Sys.Date(), "%Y-%m"))
dir.create(output_dir, recursive = TRUE, showWarnings = FALSE)

# Render with output path
quarto::quarto_render(
  "report.qmd",
  execute_params = list(region = region),
  output_file = file.path(output_dir, paste0("report-", region, ".html"))
)

得: 出檔書於日戳子目附述名(如 reports/2025-06/report-europe.html)。

敗: dir.create() 敗→察父目存且可書。Windows 上驗徑長不過 260 字。

  • 報以默參渲
  • 報以每組客參渲
  • 參處前驗
  • 出檔命述
  • 條段依參正渲
  • 批生於諸組完

  • 參名不合:YAML 名必全合碼 params$name
  • 類強轉:YAML 或解 year: 2025 為整,而碼候字元。必顯。
  • 條評:Quarto 用 #| eval: !expr params$flag,非 eval = params$flag
  • 檔覆:無唯出名→每渲覆前
  • 批記:久批或積記。宜用 callr::r() 為隔。

  • create-quarto-report — 基 Quarto 文設
  • generate-statistical-tables — 適參之表
  • format-apa-report — 參化學術報

Dépôt GitHub

pjt222/agent-almanac
Chemin: i18n/wenyan-ultra/skills/build-parameterized-report
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Compétences associées

content-collections

Méta

Cette compétence propose une configuration éprouvée en production pour Content Collections, un outil axé sur TypeScript qui transforme des fichiers Markdown/MDX en collections de données typées de manière sûre avec une validation Zod. Utilisez-la lors de la création de blogs, de sites de documentation ou d'applications Vite + React riches en contenu pour garantir la sécurité de typage et la validation automatique du contenu. Elle couvre tout, de la configuration du plugin Vite et de la compilation MDX à l'optimisation des déploiements et la validation des schémas.

Voir la compétence

polymarket

Méta

Cette compétence permet aux développeurs de créer des applications avec la plateforme de marchés prédictifs Polymarket, incluant l'intégration d'API pour le trading et les données de marché. Elle fournit également une diffusion de données en temps réel via WebSocket pour surveiller les transactions en direct et l'activité du marché. Utilisez-la pour mettre en œuvre des stratégies de trading ou pour créer des outils traitant les mises à jour de marché en direct.

Voir la compétence

creating-opencode-plugins

Méta

Cette compétence aide les développeurs à créer des plugins OpenCode qui s'interconnectent avec plus de 25 types d'événements tels que les commandes, les fichiers et les opérations LSP. Elle fournit la structure du plugin, les spécifications de l'API événementielle et les modèles d'implémentation pour les modules JavaScript/TypeScript. Utilisez-la lorsque vous avez besoin d'intercepter, de surveiller ou d'étendre le cycle de vie de l'assistant IA OpenCode avec une logique personnalisée pilotée par les événements.

Voir la compétence

sglang

Méta

SGLang est un framework de service LLM haute performance spécialisé dans la génération rapide et structurée pour les workflows JSON, regex et agentiques grâce à son cache de préfixe RadixAttention. Il offre une inférence nettement plus rapide, particulièrement pour les tâches avec des préfixes répétés, ce qui le rend idéal pour les sorties complexes et structurées ainsi que les conversations multi-tours. Choisissez SGLang plutôt que des alternatives comme vLLM lorsque vous avez besoin d'un décodage contraint ou que vous construisez des applications avec un partage étendu de préfixes.

Voir la compétence