generate-puzzle
について
このスキルは、jigsawRパッケージを使用してジグソーパズルのSVGファイルとggplot2可視化を生成します。長方形、六角形、ボロノイ図など複数のパズルタイプをサポートし、グリッド、サイズ、シードなどの設定可能なパラメータを備えています。パズルファイルの作成、設定のテスト、ドキュメント用のサンプル出力の生成などにご利用いただけます。
クイックインストール
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/generate-puzzleこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします
ドキュメント
生拼圖
用 jigsawR 包之統一 API 生拼圖。
用
- 某型與配置造拼圖 SVG
- 不同參數試生
- 生樣品供文檔或示
- 用 geom_puzzle_*() 造 ggplot2 拼圖視覺
入
- 必:拼圖型(
"rectangular"、"hexagonal"、"concentric"、"voronoi"、"random"、"snic") - 必:格維(依型:
c(cols, rows)或c(rings)) - 可:尺寸 mm(默依型異)
- 可:種(可復性,默 42)
- 可:偏移(0=互扣,>0=分離)
- 可:布局(
"grid"或"repel",rect) - 可:融組(PILES 符號串)
行
一:讀配約束
R_EXE="/mnt/c/Program Files/R/R-4.5.0/bin/Rscript.exe"
"$R_EXE" -e "cat(yaml::yaml.load_file('inst/config.yml')[['{TYPE}']]$grid$max)"
或直讀 inst/config.yml 察所擇型之有效範圍。
得:所擇型之 grid、size、tabsize 諸參之最小最大已知。
敗:config.yml 缺或型鍵不存→查於 jigsawR 根且包至少建過一次。
二:定型與參
用戶請求映為有效 generate_puzzle() 引數:
| Type | grid | size | Extra params |
|---|---|---|---|
| rectangular | c(cols, rows) | c(width, height) mm | offset, layout, tabsize |
| hexagonal | c(rings) | c(diameter) mm | do_warp, do_trunc, tabsize |
| concentric | c(rings) | c(diameter) mm | center_shape, tabsize |
| voronoi | c(cols, rows) | c(width, height) mm | n_interior, tabsize |
| random | c(cols, rows) | c(width, height) mm | n_interior, tabsize |
| snic | c(cols, rows) | c(width, height) mm | n_interior, compactness, tabsize |
得:請求映為 generate_puzzle() 有效引數,型、grid、size 皆於 config.yml 範圍內。
敗:參形式不明→參表。矩形與 voronoi 用 c(cols, rows);六與同心用 c(rings)。
三:造 R 腳本
書腳本檔(複雜命令勝於 -e):
library(jigsawR)
result <- generate_puzzle(
type = "rectangular",
seed = 42,
grid = c(3, 4),
size = c(400, 300),
offset = 0,
layout = "grid"
)
cat("Pieces:", length(result$pieces), "\n")
cat("SVG length:", nchar(result$svg_content), "\n")
cat("Files:", paste(result$files, collapse = ", "), "\n")
存於臨時腳本。
得:R 腳本檔存於臨時位,含 library(jigsawR)、generate_puzzle() 全參調用、診斷輸出。
敗:語法誤→查字串皆引、數值向量用 c()。複雜殼轉義→必用腳本檔。
四:經 WSL R 行
R_EXE="/mnt/c/Program Files/R/R-4.5.0/bin/Rscript.exe"
"$R_EXE" /path/to/script.R
得:腳本無誤完成。SVG 寫於 output/。
敗:察 renv 已復(renv::restore())。驗包已載(devtools::load_all())。勿用 --vanilla 旗(renv 需 .Rprofile)。
五:驗出
- SVG 檔存於
output/ - SVG 內容以
<?xml或<svg開 - 片數符:cols * rows(矩)、環式(六/同心)
- ggplot2 法→驗圖對象無誤繪
得:SVG 檔存於 output/,內容以 <?xml 或 <svg 開,片數符格規格(矩用 cols*rows,六/同心用環式)。
敗:SVG 檔缺→察 output/ 存。片數誤→驗格維合型式。ggplot2 出→以 tryCatch() 包察繪無誤。
六:存出
生成檔默存 output/。result 對象含:
$svg_content:生 SVG 串$pieces:片數據列$canvas_size:維$files:寫檔之徑
得:result 對象含 $svg_content、$pieces、$canvas_size、$files。$files 列之檔存於磁。
敗:$files 空→拼圖或僅生於內存。顯存以 writeLines(result$svg_content, "output/puzzle.svg")。
驗
- 腳本無誤行
- SVG 檔乃良構 XML
- 片數符格規格
- 同種生同出(可復)
- 參於 config.yml 約束內
忌
- 用
--vanilla旗:破 renv 啟動。絕勿用 - 複雜
-e命令:用腳本檔;殼轉義致 Exit 5 - Grid 與 size 混:格乃片數,size 乃物理 mm 維
- 偏移語義:0=組裝,正=散裂片
- SNIC 無包:snic 型需
snic包已裝
參
add-puzzle-typevalidate-piles-notationrun-puzzle-testswrite-testthat-tests
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を選択してください。
