build-parameterized-report
について
このスキルは、開発者がパラメータ化されたQuartoまたはR Markdownレポートを作成し、異なる入力でレンダリングして複数のバリエーションを生成できるようにします。パラメータ定義、プログラムによるレンダリング、反復的なレポートタスクを自動化するためのバッチ生成について説明しています。単一のテンプレートから、異なる部門、クライアント、期間、またはデータサブセットに対して同じレポート構造を生成する必要がある場合にご利用ください。
クイックインストール
Claude Code
推奨npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/build-parameterized-reportこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします
ドキュメント
建參之報
建受參之報,以諸入自一範生諸變。
用時
- 為異部、區、時段生同報
- 自範建客特之報
- 建篩至特子集之盤
- 以異入自動化週期報
入
- 必要:報範(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 引參,條件塊用 #| eval: !expr params$flag(Quarto)。內聯 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- 參之學報
GitHub リポジトリ
関連スキル
content-collections
メタこのスキルは、Content Collections(Markdown/MDXファイルを型安全なデータコレクションに変換するTypeScriptファーストのツール)の本番環境でテストされた設定を提供します。Zodバリデーションによる型安全性を実現し、ブログ、ドキュメントサイト、コンテンツ重視のVite + Reactアプリケーション構築時にご利用ください。Viteプラグインの設定、MDXコンパイルから、デプロイ最適化、スキーマバリデーションまで、すべてを網羅しています。
polymarket
メタこのスキルは、開発者がPolymarket予測市場プラットフォームを活用したアプリケーション構築を可能にします。API統合による取引や市場データの取得に加え、WebSocketを介したリアルタイムデータストリーミングにより、ライブ取引や市場活動を監視できます。取引戦略の実装や、ライブ市場更新を処理するツールの作成にご利用ください。
creating-opencode-plugins
メタこのスキルは、開発者がコマンド、ファイル、LSP操作など25種類以上のイベントタイプにフックするOpenCodeプラグインを作成することを支援します。JavaScript/TypeScriptモジュール向けに、プラグイン構造、イベントAPI仕様、および実装パターンを提供します。カスタムイベント駆動ロジックでOpenCode AIアシスタントのライフサイクルをインターセプト、監視、または拡張する必要がある場合にご利用ください。
sglang
メタSGLangは、高性能なLLMサービングフレームワークであり、RadixAttentionプレフィックスキャッシュを活用したJSON、正規表現、エージェントワークフロー向けの高速で構造化された生成を特長とします。特にプレフィックスが繰り返されるタスクにおいて、大幅に高速な推論を実現し、複雑な構造化出力やマルチターン対話に最適です。制約付きデコードが必要な場合や、広範なプレフィックス共有を伴うアプリケーションを構築する場合は、vLLMなどの代替案ではなくSGLangを選択してください。
