validate-piles-notation
Acerca de
Esta habilidad analiza y valida cadenas de notación PILES utilizadas para definir grupos de fusión de piezas en jigsawR. Realiza validación sintáctica, convierte la notación en listas de grupos estructuradas y puede generar explicaciones en lenguaje natural. Los desarrolladores deben utilizarla para validar la entrada del usuario antes de `generate_puzzle()`, depurar problemas en grupos de fusión o verificar la fidelidad de la serialización de ida y vuelta.
Instalación rápida
Claude Code
Recomendadonpx 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/validate-piles-notationCopia y pega este comando en Claude Code para instalar esta habilidad
Documentación
驗 PILES 之記
於 jigsawR 中析驗 PILES 之記之串,以指片融之群。
用時
- 用者所予之 PILES 串入
generate_puzzle()前驗之 - 排融群之疾(誤合之片、意外之果)
- 以淺辭述 PILES 之記於用者
- 試往返之忠:析 -> 群 -> 序 -> 析
入
- 必要:PILES 之記之串(如
"1-2-3,4-5") - 可選:拼圖果之物(為鄰之驗與關鍵字之解)
- 可選:拼圖之類(為關鍵字之支如
"center"、"ring1"、"R1")
法
第一步:語法之驗
library(jigsawR)
result <- validate_piles_syntax("1-2-3,4-5")
# Returns TRUE if valid, error message if invalid
察常見語法之訛:
- 括不對:
"1-2(-3)-4"之()不配 - 字非允:唯數、
-、,、:、(、)與關鍵字 - 空群:
"1-2,,3-4"(雙逗)
得:有效語法返 TRUE,無效返述訛之辭。
敗則:印 PILES 之串與驗訛之辭。
第二步:析為群
groups <- parse_piles("1-2-3,4-5")
# Returns: list(c(1, 2, 3), c(4, 5))
含範之串:
groups <- parse_piles("1:6,7-8")
# Returns: list(c(1, 2, 3, 4, 5, 6), c(7, 8))
得:整向之列,每融群一向,含正片 ID 與群之界。
敗則:先確 PILES 串已過第一步之語法驗。析返意外之群者,驗 - 分群內片、, 分群、範記(:)展為含端。
第三步:以淺辭述之
為用者述各群:
"1-2-3,4-5"-> 「群一:合片 1、2、3。群二:合片 4 與 5。」"1:6"-> 「群一:合片 1 至 6(六片)。」"center,ring1"-> 「群一:中心片。群二:環一之諸片。」
得:每融群以淺辭述,含片數與識,使非技用者能解。
敗則:關鍵字不能述(如 "ring1" 無明意)者,記或需拼圖果之物為脈絡。囑用者予拼圖類或用數片 ID。
第四步:對拼圖果之驗(可選)
若拼圖果之物可得,驗:
# Generate the puzzle first
puzzle <- generate_puzzle(type = "hexagonal", grid = c(3), size = c(200))
# Parse with puzzle context (resolves keywords)
groups <- parse_fusion("center,ring1", puzzle)
察:
- 諸片 ID 存於拼圖
- 關鍵字解為有效片集
- 合之片實鄰(否則警)
得:諸片 ID 有效。鄰片合而清。
敗則:列無效片 ID 或非鄰之對。
第五步:往返序之驗
驗析/序之忠:
original <- "1-2-3,4-5"
groups <- parse_piles(original)
roundtrip <- to_piles(groups)
# roundtrip should equal original (or canonical equivalent)
groups2 <- parse_piles(roundtrip)
identical(groups, groups2) # Must be TRUE
得:往返生同群列,確 parse_piles() 與 to_piles() 為逆。
敗則:往返異者,察序者是否規範化記(如片 ID 排序或範化為顯列)。範差可受,唯 identical(groups, groups2) 須返 TRUE。
PILES 速參
# Basic syntax
"1-2" # Fuse pieces 1 and 2
"1-2-3,4-5" # Two groups: (1,2,3) and (4,5)
"1:6" # Range: pieces 1 through 6
# Keywords (require puzzle_result)
"center" # Center piece (hex/concentric)
"ring1" # All pieces in ring 1
"R1" # Row 1 (rectangular)
"boundary" # All boundary pieces
# Functions
parse_piles("1-2-3,4-5") # Parse PILES string
parse_fusion("1-2-3", puzzle) # Auto-detect format
to_piles(list(c(1,2), c(3,4))) # Convert to PILES
validate_piles_syntax("1-2(-3)-4") # Validate syntax
驗
-
validate_piles_syntax()對有效串返 TRUE -
parse_piles()返正群列 - 往返序保群
- 關鍵字以拼圖脈絡正解
- 無效語法生明訛辭
陷
- 關鍵字無拼圖脈絡:如
"center"之關鍵字需拼圖果物。傳於parse_fusion(),非parse_piles()。 - 片始於一:片 ID 始於 1,非 0。
- 鄰與非鄰之合:合非鄰片可行而生意外之視果。可時驗鄰。
- 範之記:
"1:6"含兩端(1, 2, 3, 4, 5, 6)。
參
generate-puzzle— 生含融群之拼圖add-puzzle-type— 新類需 PILES/融之支run-puzzle-tests— 全套試 PILES 之析
Repositorio GitHub
Habilidades relacionadas
content-collections
MetaEsta habilidad proporciona una configuración probada en producción para Content Collections, una herramienta centrada en TypeScript que transforma archivos Markdown/MDX en colecciones de datos con tipado seguro mediante validación Zod. Úsala al construir blogs, sitios de documentación o aplicaciones Vite + React con mucho contenido para garantizar seguridad de tipos y validación automática de contenido. Abarca todo, desde la configuración del plugin de Vite y compilación MDX hasta la optimización de despliegue y validación de esquemas.
polymarket
MetaEsta habilidad permite a los desarrolladores crear aplicaciones con la plataforma de mercados de predicción Polymarket, incluyendo la integración de API para operaciones y datos de mercado. También proporciona transmisión de datos en tiempo real a través de WebSocket para monitorear operaciones en vivo y actividad del mercado. Úsela para implementar estrategias de trading o crear herramientas que procesen actualizaciones de mercado en tiempo real.
creating-opencode-plugins
MetaEsta habilidad ayuda a los desarrolladores a crear complementos de OpenCode que se conectan a más de 25 tipos de eventos, como comandos, archivos y operaciones LSP. Proporciona la estructura del complemento, las especificaciones de la API de eventos y los patrones de implementación para módulos en JavaScript/TypeScript. Úsala cuando necesites interceptar, monitorear o extender el ciclo de vida del asistente de IA de OpenCode con lógica personalizada basada en eventos.
sglang
MetaSGLang es un framework de alto rendimiento para el servicio de LLM que se especializa en generación rápida y estructurada para JSON, expresiones regulares y flujos de trabajo de agentes utilizando su caché de prefijos RadixAttention. Ofrece una inferencia significativamente más rápida, especialmente para tareas con prefijos repetidos, lo que lo hace ideal para salidas complejas y estructuradas, y conversaciones multiturno. Elige SGLang sobre alternativas como vLLM cuando necesites decodificación restringida o estés construyendo aplicaciones con uso extensivo de prefijos compartidos.
