i18n/de/skills/generate-puzzle/SKILL.md
Puzzles ueber generate_puzzle() oder geom_puzzle_*() mit Parametervalidierung gegen inst/config.yml generieren. Unterstuetzt rechteckige, hexagonale, konzentrische, Voronoi- und SNIC-Puzzletypen mit konfigurierbaren Raster-, Groessen-, Seed-, Versatz- und Layoutparametern. Anwenden beim Erstellen von Puzzle-SVG-Dateien fuer einen bestimmten Typ und eine Konfiguration, beim Testen der Generierung mit verschiedenen Parametern, beim Erzeugen von Beispielausgaben fuer Dokumentation oder Demos, oder beim Erstellen von ggplot2-Puzzle-Visualisierungen.
npx skillsauth add pjt222/agent-almanac generate-puzzleInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Puzzles mit der einheitlichen API des jigsawR-Pakets generieren.
"rectangular", "hexagonal", "concentric", "voronoi", "random", "snic")c(cols, rows) oder c(rings))"grid" oder "repel" fuer rectangular)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)"
Oder inst/config.yml direkt lesen um gueltige Bereiche fuer den gewaehlten Typ zu pruefen.
Erwartet: Die Min/Max-Werte fuer Raster, Groesse, Zackengroesse und andere Parameter sind fuer den gewaehlten Puzzletyp bekannt.
Bei Fehler: Wenn config.yml fehlt oder der Typschluessel nicht existiert, pruefen ob man sich im jigsawR-Projektstamm befindet und das Paket mindestens einmal gebaut wurde.
Die Benutzeranfrage auf gueltige generate_puzzle()-Argumente abbilden:
| Typ | grid | size | Zusaetzliche Parameter |
|-----|------|------|----------------------|
| 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 |
Erwartet: Benutzeranfrage auf gueltige generate_puzzle()-Argumente abgebildet mit korrektem type, grid-Dimensionen und size-Werten innerhalb der Bereiche aus config.yml.
Bei Fehler: Wenn unklar ist welches Parameterformat zu verwenden ist, die obige Tabelle konsultieren. Typen rectangular und voronoi verwenden c(cols, rows) fuer Raster; hexagonal und concentric verwenden c(rings).
Eine Skriptdatei schreiben (bevorzugt gegenueber -e fuer komplexe Befehle):
library(jigsawR)
result <- generate_puzzle(
type = "rectangular",
seed = 42,
grid = c(3, 4),
size = c(400, 300),
offset = 0,
layout = "grid"
)
cat("Teile:", length(result$pieces), "\n")
cat("SVG-Laenge:", nchar(result$svg_content), "\n")
cat("Dateien:", paste(result$files, collapse = ", "), "\n")
In einer temporaeren Skriptdatei speichern.
Erwartet: Eine R-Skriptdatei an einem temporaeren Speicherort gespeichert die library(jigsawR), einen generate_puzzle()-Aufruf mit allen Parametern und diagnostische Ausgabezeilen enthaelt.
Bei Fehler: Wenn das Skript Syntaxfehler hat, pruefen ob alle Zeichenkettenargumente in Anfuehrungszeichen stehen und numerische Vektoren c() verwenden. Komplexes Shell-Escaping vermeiden indem immer Skriptdateien verwendet werden.
R_EXE="/mnt/c/Program Files/R/R-4.5.0/bin/Rscript.exe"
"$R_EXE" /pfad/zum/skript.R
Erwartet: Skript wird fehlerfrei abgeschlossen. SVG-Datei(en) in output/ geschrieben.
Bei Fehler: Pruefen ob renv wiederhergestellt ist (renv::restore()). Sicherstellen dass das Paket geladen ist (devtools::load_all()). NICHT das --vanilla-Flag verwenden (renv braucht .Rprofile).
output/-Verzeichnis<?xml oder <svgErwartet: SVG-Datei existiert in output/, Inhalt beginnt mit <?xml oder <svg, und die Teileanzahl entspricht der Rasterspezifikation (cols * rows fuer rectangular, Ringformel fuer hex/concentric).
Bei Fehler: Wenn die SVG-Datei fehlt, pruefen ob das output/-Verzeichnis existiert. Wenn die Teileanzahl falsch ist, die Rasterdimensionen gegen die erwartete Formel des Puzzletyps pruefen. Fuer ggplot2-Ausgabe pruefen ob der Plot fehlerfrei rendert indem er in tryCatch() gewrappt wird.
Generierte Dateien werden standardmaessig in output/ gespeichert. Das result-Objekt enthaelt:
$svg_content — rohe SVG-Zeichenkette$pieces — Liste der Teiledaten$canvas_size — Dimensionen$files — Pfade zu geschriebenen DateienErwartet: Das result-Objekt enthaelt die Felder $svg_content, $pieces, $canvas_size und $files. In $files aufgefuehrte Dateien existieren auf der Festplatte.
Bei Fehler: Wenn $files leer ist, wurde das Puzzle moeglicherweise nur im Speicher generiert. Explizit speichern mit writeLines(result$svg_content, "output/puzzle.svg").
--vanilla-Flag verwenden: Bricht die renv-Aktivierung ab. Niemals verwenden.-e-Befehle: Skriptdateien verwenden; Shell-Escaping verursacht Exit-Code 5.snic-Pakets.add-puzzle-type — einen neuen Puzzletyp durchgaengig einrichtenvalidate-piles-notation — Fusionsgruppen-Zeichenketten validieren bevor sie an generate_puzzle() uebergeben werdenrun-puzzle-tests — die Testsuite nach Generierungsaenderungen ausfuehrenwrite-testthat-tests — Tests fuer neue Generierungsszenarien hinzufuegentesting
Launch all available agents in parallel waves for open-ended hypothesis generation on problems where the correct domain is unknown. Use when facing a cross-domain problem with no clear starting point, when single-agent approaches have stalled, or when diverse perspectives are more valuable than deep expertise. Produces a ranked hypothesis set with convergence analysis and adversarial refinement.
tools
Write integration tests for a Node.js CLI application using the built-in node:test module. Covers the exec helper pattern, output assertions, filesystem state verification, cleanup hooks, JSON output parsing, error case testing, and state restoration after destructive tests. Use when adding tests to an existing CLI, testing a new command, verifying adapter behavior across frameworks, or setting up CI for a CLI tool.
development
Screen a proposed trademark for conflicts and distinctiveness before filing. Covers trademark database searches (TMview, WIPO Global Brand Database, USPTO TESS), distinctiveness analysis using the Abercrombie spectrum, likelihood of confusion assessment using DuPont factors and EUIPO relative grounds, common law rights evaluation, and goods/services overlap analysis. Produces a conflict report with a risk matrix. Use before adopting a new brand name, logo, or slogan — distinct from patent prior art search, which uses different databases, legal frameworks, and analysis methods.
tools
Scaffold a new CLI command using Commander.js with options, action handler, three output modes (human-readable, quiet, JSON), and optional ceremony variant. Covers command naming, option design, shared context patterns, error handling, and integration testing. Use when adding a command to an existing Commander.js CLI, designing a new CLI tool from scratch, or standardizing command structure across a multi-command CLI.