From 4e7a217fa729ab854afacf3a810e735b735bf308 Mon Sep 17 00:00:00 2001 From: phernandez Date: Fri, 29 May 2026 08:02:31 -0500 Subject: [PATCH] fix(skills): correct invalid picoschema enum YAML in memory skills MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Task schema in memory-tasks/SKILL.md and the enum examples in memory-schema/SKILL.md used a bare YAML flow sequence followed by a trailing description: status?(enum): [active, blocked, done, abandoned], current state A flow sequence ([...]) cannot be followed by ', current state' — python-frontmatter/PyYAML raises a ParserError. In schema_router.py, _schema_frontmatter_from_file catches that error and silently falls back to DB metadata, so the schema's enum constraints never load. Per the picoschema parser docstring, enum descriptions belong inside the parens: status?(enum, current state): [active, blocked, done, abandoned] Fixes 4 lines (1 in memory-tasks, 3 in memory-schema). The memory-literary-analysis schemas use the quoted-string form ("role(enum)": "[...], desc"), which is valid YAML handled by _parse_enum_string, so they were left unchanged. Verified: all yaml schema blocks now parse via parse_schema_note, and just package-check-skills passes (10 skills validated). Co-Authored-By: Claude Opus 4.8 (1M context) Signed-off-by: phernandez --- skills/memory-schema/SKILL.md | 6 +++--- skills/memory-tasks/SKILL.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/skills/memory-schema/SKILL.md b/skills/memory-schema/SKILL.md index a47f326e..61af57b7 100644 --- a/skills/memory-schema/SKILL.md +++ b/skills/memory-schema/SKILL.md @@ -47,14 +47,14 @@ Use `(enum)` with a list of allowed values: ```yaml schema: - status(enum): [active, blocked, done, abandoned], current state + status(enum, current state): [active, blocked, done, abandoned] ``` Optional enum: ```yaml schema: - priority?(enum): [low, medium, high, critical], task priority + priority?(enum, task priority): [low, medium, high, critical] ``` ### Arrays @@ -100,7 +100,7 @@ schema: attendees?(array): Person, who attended decisions?(array): string, decisions made action_items?(array): string, follow-up tasks - status?(enum): [scheduled, completed, cancelled], meeting state + status?(enum, meeting state): [scheduled, completed, cancelled] settings: validation: warn --- diff --git a/skills/memory-tasks/SKILL.md b/skills/memory-tasks/SKILL.md index 3f44ed9d..ef4ad0ad 100644 --- a/skills/memory-tasks/SKILL.md +++ b/skills/memory-tasks/SKILL.md @@ -26,7 +26,7 @@ entity: Task version: 1 schema: description: string, what needs to be done - status?(enum): [active, blocked, done, abandoned], current state + status?(enum, current state): [active, blocked, done, abandoned] assigned_to?: string, who is working on this steps?(array): string, ordered steps to complete current_step?: integer, which step number we're on (1-indexed)