mirror of
https://github.com/usestrix/strix.git
synced 2026-08-24 11:52:38 +02:00
Parse skill frontmatter with YAML
This commit is contained in:
@@ -89,7 +89,7 @@ def test_available_skill_supports_colon_in_description(tmp_path: Path) -> None:
|
||||
tmp_path,
|
||||
"extra",
|
||||
"widget",
|
||||
"---\nname: widget\ndescription: Useful widget: handles YAML\n---\nwidget body",
|
||||
'---\nname: widget\ndescription: "Useful widget: handles YAML"\n---\nwidget body',
|
||||
)
|
||||
register_skill_dir(tmp_path)
|
||||
|
||||
@@ -135,6 +135,34 @@ def test_available_skill_normalizes_multiline_descriptions(tmp_path: Path) -> No
|
||||
}
|
||||
|
||||
|
||||
def test_available_skill_supports_block_scalar_trailing_comment(tmp_path: Path) -> None:
|
||||
_write_skill(
|
||||
tmp_path,
|
||||
"extra",
|
||||
"commented",
|
||||
"---\nname: commented\ndescription: | # paragraph\n"
|
||||
" First line\n Second line\n---\ncommented body",
|
||||
)
|
||||
register_skill_dir(tmp_path)
|
||||
|
||||
assert get_available_skills()["extra"] == [
|
||||
{"name": "commented", "description": "First line Second line"}
|
||||
]
|
||||
|
||||
|
||||
def test_malformed_frontmatter_keeps_skill_body(tmp_path: Path) -> None:
|
||||
_write_skill(
|
||||
tmp_path,
|
||||
"extra",
|
||||
"broken",
|
||||
"---\nname: [broken\ndescription: should be empty\n---\nbroken body",
|
||||
)
|
||||
register_skill_dir(tmp_path)
|
||||
|
||||
assert get_available_skills()["extra"] == [{"name": "broken", "description": ""}]
|
||||
assert load_skills(["extra/broken"]) == {"broken": "broken body"}
|
||||
|
||||
|
||||
def test_system_prompt_renders_skill_descriptions() -> None:
|
||||
prompt = render_system_prompt(scan_mode="quick", is_root=True)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user