Zurück zu Fähigkeiten

validate-piles-notation

pjt222
Aktualisiert Yesterday
2 Ansichten
17
2
17
Auf GitHub ansehen
Metageneral

Über

Diese Fähigkeit validiert und analysiert PILES-Notationszeichenfolgen, die zur Spezifikation von Puzzleteil-Fusionsgruppen in jigsawR verwendet werden. Sie führt Syntaxvalidierung durch, konvertiert Notationen in Gruppenlisten, liefert Klartexterklärungen und unterstützt die Überprüfung der Nachbarschaft anhand von Puzzle-Ergebnissen. Entwickler sollten sie nutzen, um Benutzereingaben vor `generate_puzzle()` zu validieren, Probleme mit Fusionsgruppen zu debuggen, die Notation für Benutzer zu erklären und die Zuverlässigkeit der Rundlauf-Serialisierung zu testen.

Schnellinstallation

Claude Code

Empfohlen
Primär
npx skills add pjt222/agent-almanac -a claude-code
Plugin-BefehlAlternativ
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternativ
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/validate-piles-notation

Kopieren Sie diesen Befehl und fügen Sie ihn in Claude Code ein, um diese Fähigkeit zu installieren

Dokumentation


name: validate-piles-notation description: > jigsawRのピースフュージョングループを指定するためのPILES(Puzzle Input Line Entry System)記法を解析・検証する。構文検証、グループリストへの解析、 平易な説明、パズル結果に対する隣接検証、ラウンドトリップシリアライズを カバー。generate_puzzle()に渡す前のユーザー提供PILES文字列の検証、 フュージョングループの問題デバッグ、ユーザーへの記法説明、 ラウンドトリップ解析/シリアライズの忠実性テストに使用する。 license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: jigsawr complexity: intermediate language: R tags: jigsawr, piles, notation, fusion, parsing, dsl locale: ja source_locale: en source_commit: 6f65f316 translator: claude-sonnet-4-6 translation_date: 2026-03-16

PILES記法の検証

パズルピースフュージョングループのためのPILES記法文字列を解析・検証する。

使用タイミング

  • generate_puzzle()に渡す前のユーザー提供PILES文字列の検証
  • フュージョングループの問題デバッグ(間違ったピースの結合、予期しない結果)
  • ユーザーへのPILES記法の平易な説明
  • ラウンドトリップの忠実性テスト: 解析 -> グループ -> シリアライズ -> 解析

入力

  • 必須: PILES記法文字列(例: "1-2-3,4-5"
  • 任意: パズル結果オブジェクト(隣接検証とキーワード解決用)
  • 任意: パズルタイプ("center""ring1""R1"などのキーワードサポート用)

手順

ステップ1: 構文検証

library(jigsawR)
result <- validate_piles_syntax("1-2-3,4-5")
# 有効な場合はTRUEを返し、無効な場合はエラーメッセージを返す

一般的な構文エラーを確認する:

  • 対応しない括弧: "1-2(-3)-4"()が不一致
  • 無効な文字: 数字、-,:()とキーワードのみ許可
  • 空のグループ: "1-2,,3-4"(二重カンマ)

期待結果: 有効な構文の場合はTRUE、無効な場合は説明的なエラー。

失敗時: 正確なPILES文字列と検証エラーメッセージを出力する。

ステップ2: グループへの解析

groups <- parse_piles("1-2-3,4-5")
# 返却値: list(c(1, 2, 3), c(4, 5))

範囲を含む文字列の場合:

groups <- parse_piles("1:6,7-8")
# 返却値: list(c(1, 2, 3, 4, 5, 6), c(7, 8))

期待結果: 整数ベクトルのリスト(フュージョングループごとに1つ)。正しいピースIDとグループ境界を持つ。

失敗時: PILES文字列がステップ1で構文検証を通過しているか最初に確認する。解析が予期しないグループを返す場合、-がグループ内のピースを区切り、,がグループを区切ること、および範囲記法(:)が両端を含む形で展開されることを確認する。

ステップ3: 平易な言葉での説明

各グループをユーザーに説明する:

  • "1-2-3,4-5" -> 「グループ1: ピース1、2、3を融合。グループ2: ピース4と5を融合。」
  • "1:6" -> 「グループ1: ピース1から6を融合(6ピース)。」
  • "center,ring1" -> 「グループ1: 中心ピース。グループ2: リング1のすべてのピース。」

期待結果: 各フュージョングループがピース数と識別子とともに平易な言葉で説明され、非技術的なユーザーにも記法が理解可能になる。

失敗時: キーワードが説明できない場合(例: "ring1"が明確な意味を持たない)、記法にはコンテキストとしてパズル結果オブジェクトが必要な場合がある。ユーザーにパズルタイプを提供するか、代わりに数値ピースIDを使用するようアドバイスする。

ステップ4: パズル結果に対する検証(任意)

パズル結果オブジェクトが利用可能な場合、以下を確認する:

# まずパズルを生成
puzzle <- generate_puzzle(type = "hexagonal", grid = c(3), size = c(200))

# パズルコンテキストで解析(キーワードを解決)
groups <- parse_fusion("center,ring1", puzzle)

確認事項:

  • すべてのピースIDがパズルに存在する
  • キーワードが有効なピースセットに解決される
  • 融合されるピースが実際に隣接している(隣接していない場合は警告)

期待結果: すべてのピースIDが有効。隣接するピースがクリーンに融合される。

失敗時: 無効なピースIDまたは非隣接ペアをリストする。

ステップ5: ラウンドトリップシリアライズ

解析/シリアライズの忠実性を検証する:

original <- "1-2-3,4-5"
groups <- parse_piles(original)
roundtrip <- to_piles(groups)
# roundtripはoriginalと等しい(または正規化された等価物)はず

groups2 <- parse_piles(roundtrip)
identical(groups, groups2)  # TRUEでなければならない

期待結果: ラウンドトリップが同一のグループリストを生成し、parse_piles()to_piles()が逆関数であることを確認する。

失敗時: ラウンドトリップが異なる場合、シリアライザが記法を正規化しているか確認する(例: ピースIDのソートや範囲を明示的リストへの変換)。identical(groups, groups2)TRUEを返す限り、正規化の違いは許容される。

PILESクイックリファレンス

# 基本構文
"1-2"           # ピース1と2を融合
"1-2-3,4-5"     # 2つのグループ: (1,2,3)と(4,5)
"1:6"           # 範囲: ピース1から6

# キーワード(puzzle_resultが必要)
"center"        # 中心ピース(hex/concentric)
"ring1"         # リング1のすべてのピース
"R1"            # 行1(rectangular)
"boundary"      # すべての境界ピース

# 関数
parse_piles("1-2-3,4-5")                    # PILES文字列を解析
parse_fusion("1-2-3", puzzle)               # フォーマットを自動検出
to_piles(list(c(1,2), c(3,4)))              # PILESに変換
validate_piles_syntax("1-2(-3)-4")          # 構文を検証

バリデーション

  • validate_piles_syntax()が有効な文字列に対してTRUEを返す
  • parse_piles()が正しいグループリストを返す
  • ラウンドトリップシリアライズがグループを保持する
  • キーワードがパズルコンテキストで正しく解決される
  • 無効な構文が明確なエラーメッセージを生成する

よくある落とし穴

  • パズルコンテキストなしのキーワード: "center"のようなキーワードにはパズル結果オブジェクトが必要。parse_piles()ではなくparse_fusion()に渡すこと。
  • 1始まりのピース: ピースIDは0ではなく1から始まる。
  • 隣接 vs 非隣接フュージョン: 非隣接ピースの融合は動作するが、予期しない視覚結果を生じる場合がある。可能な場合は隣接を検証する。
  • 範囲記法: "1:6"は両端を含む(1, 2, 3, 4, 5, 6)。

関連スキル

  • generate-puzzle — フュージョングループを使用してパズルを生成する
  • add-puzzle-type — 新しいタイプにはPILES/フュージョンサポートが必要
  • run-puzzle-tests — フルスイートでPILES解析をテストする

GitHub Repository

pjt222/agent-almanac
Pfad: i18n/ja/skills/validate-piles-notation
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Verwandte Skills

content-collections

Meta

Diese Skill bietet eine produktionsgetestete Einrichtung für Content Collections – ein TypeScript-first-Tool, das Markdown/MDX-Dateien in typsichere Datensammlungen mit Zod-Validierung umwandelt. Verwenden Sie ihn beim Erstellen von Blogs, Dokumentationsseiten oder inhaltsstarken Vite + React-Anwendungen, um Typsicherheit und automatische Inhaltsvalidierung zu gewährleisten. Er behandelt alles von der Vite-Plugin-Konfiguration und MDX-Kompilierung bis hin zur Deployment-Optimierung und Schema-Validierung.

Skill ansehen

polymarket

Meta

Diese Fähigkeit ermöglicht es Entwicklern, Anwendungen mit der Polymarket-Prognosemärkte-Plattform zu erstellen, einschließlich API-Integration für Handel und Marktdaten. Sie bietet außerdem Echtzeit-Datenstreaming über WebSocket, um Live-Trades und Marktaktivitäten zu überwachen. Nutzen Sie sie zur Implementierung von Handelsstrategien oder zur Erstellung von Tools, die Live-Marktaktualisierungen verarbeiten.

Skill ansehen

creating-opencode-plugins

Meta

Diese Fähigkeit unterstützt Entwickler dabei, OpenCode-Plugins zu erstellen, die in über 25 Ereignistypen wie Befehle, Dateien und LSP-Operationen eingreifen. Sie bietet die Plugin-Struktur, Event-API-Spezifikationen und Implementierungsmuster für JavaScript/TypeScript-Module. Nutzen Sie sie, wenn Sie den Lebenszyklus des OpenCode KI-Assistenten mit benutzerdefinierter ereignisgesteuerter Logik abfangen, überwachen oder erweitern müssen.

Skill ansehen

sglang

Meta

SGLang ist ein hochperformantes LLM-Serving-Framework, das sich auf schnelle, strukturierte Generierung für JSON, Regex und agentenbasierte Workflows unter Verwendung seines RadixAttention-Prefix-Cachings spezialisiert. Es bietet deutlich schnellere Inferenz, insbesondere für Aufgaben mit wiederholten Präfixen, was es ideal für komplexe, strukturierte Ausgaben und Mehrfachdialoge macht. Wählen Sie SGLang gegenüber Alternativen wie vLLM, wenn Sie constrained decoding benötigen oder Anwendungen mit umfangreicher Präfix-Weitergabe entwickeln.

Skill ansehen