Allow dotted skill titles (category.skill) in create_skill drafts

The model follows the repo's existing dotted naming (email.compose,
tracking.check) and proposed titles like tracking.status_lookup, which the
strict alnum-only check rejected. Accept dotted snake_case names.
This commit is contained in:
Denton Social
2026-09-23 23:45:52 -05:00
parent e68c56dca4
commit 789ed4ae25
2 changed files with 9 additions and 2 deletions
+2 -2
View File
@@ -430,8 +430,8 @@ def parse_skill_draft(raw: str) -> SkillDraft:
if not title or not description:
raise ValueError(f"skill draft missing title/description: {raw!r}")
name = re.sub(r"\s+", "_", title.lower())
if not name.replace("_", "").isalnum():
raise ValueError(f"skill title must be snake_case alnum: {title!r}")
if not re.fullmatch(r"[a-z0-9_]+(?:\.[a-z0-9_]+)*", name):
raise ValueError(f"skill title must be snake_case alnum (dots allowed): {title!r}")
return SkillDraft(name=name, description=description)