MCP HubMCP Hub
Вернуться к навыкам

generate-puzzle

pjt222
Обновлено 6 days ago
21 просмотров
17
2
17
Посмотреть на GitHub
Метаwordaitestingdesign

О программе

Этот навык генерирует SVG-пазлы и визуализации ggplot2 с использованием пакета jigsawR. Он поддерживает различные типы пазлов (прямоугольные, шестиугольные, диаграммы Вороного и др.) с настраиваемыми параметрами, такими как сетка, размер и зерно генерации. Используйте его для создания файлов пазлов, тестирования конфигураций или получения примеров вывода для документации.

Быстрая установка

Claude Code

Рекомендуется
Основной
npx skills add pjt222/agent-almanac -a claude-code
Команда плагинаАльтернативный
/plugin add https://github.com/pjt222/agent-almanac
Git клонированиеАльтернативный
git 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() 引數:

TypegridsizeExtra params
rectangularc(cols, rows)c(width, height) mmoffset, layout, tabsize
hexagonalc(rings)c(diameter) mmdo_warp, do_trunc, tabsize
concentricc(rings)c(diameter) mmcenter_shape, tabsize
voronoic(cols, rows)c(width, height) mmn_interior, tabsize
randomc(cols, rows)c(width, height) mmn_interior, tabsize
snicc(cols, rows)c(width, height) mmn_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-type
  • validate-piles-notation
  • run-puzzle-tests
  • write-testthat-tests

GitHub репозиторий

pjt222/agent-almanac
Путь: i18n/wenyan-ultra/skills/generate-puzzle
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Похожие навыки

content-collections

Мета

Этот навык предоставляет проверенную в продакшене настройку для Content Collections — TypeScript-ориентированного инструмента, который преобразует файлы Markdown/MDX в типобезопасные коллекции данных с валидацией Zod. Используйте его при создании блогов, сайтов документации или контентных приложений на Vite + React для обеспечения типобезопасности и автоматической проверки содержимого. Он охватывает всё: от настройки плагина Vite и компиляции MDX до оптимизации развертывания и валидации схем.

Просмотреть навык

polymarket

Мета

Этот навык позволяет разработчикам создавать приложения на платформе прогнозных рынков Polymarket, включая интеграцию с API для торговли и получения рыночных данных. Он также обеспечивает потоковую передачу данных в реальном времени через WebSocket для отслеживания текущих сделок и рыночной активности. Используйте его для реализации торговых стратегий или создания инструментов, обрабатывающих обновления рынка в реальном времени.

Просмотреть навык

creating-opencode-plugins

Мета

Этот навык помогает разработчикам создавать плагины OpenCode, которые подключаются к более чем 25 типам событий, таким как команды, файлы и операции LSP. Он предоставляет структуру плагина, спецификации API событий и шаблоны реализации для модулей на JavaScript/TypeScript. Используйте его, когда вам нужно перехватывать, отслеживать или расширять жизненный цикл ассистента OpenCode AI с помощью пользовательской событийно-ориентированной логики.

Просмотреть навык

sglang

Мета

SGLang — это высокопроизводительный фреймворк для обслуживания больших языковых моделей (LLM), специализирующийся на быстрой структурированной генерации JSON, regex и рабочих процессов агентов с использованием кэширования префиксов RadixAttention. Он обеспечивает значительно более высокую скорость вывода, особенно для задач с повторяющимися префиксами, что делает его идеальным для сложных структурированных результатов и многократных диалогов. Выбирайте SGLang вместо альтернатив, таких как vLLM, когда вам требуется ограниченное декодирование или вы создаете приложения с интенсивным совместным использованием префиксов.

Просмотреть навык