From f8db7fccb6e8ee0da10a695bf333c7d9a38a441a Mon Sep 17 00:00:00 2001 From: Yiorgis Gozadinos Date: Wed, 8 Apr 2026 13:54:53 +0300 Subject: [PATCH] fix: apply config.prompts.domain_preamble in generated skills --- .../rag/skill_generator/templates/__init__.py.j2 | 4 ++++ tests/test_skill_generator.py | 15 +++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/haiku_rag_slim/haiku/rag/skill_generator/templates/__init__.py.j2 b/haiku_rag_slim/haiku/rag/skill_generator/templates/__init__.py.j2 index 40953416..fe597b15 100644 --- a/haiku_rag_slim/haiku/rag/skill_generator/templates/__init__.py.j2 +++ b/haiku_rag_slim/haiku/rag/skill_generator/templates/__init__.py.j2 @@ -79,6 +79,10 @@ def create_skill( tools = create_skill_tools(db_path, config, SkillState, _TOOL_NAMES) extras = create_skill_extras(db_path, config) + + if config.prompts.domain_preamble and instructions: + instructions = f"{config.prompts.domain_preamble}\n\n{instructions}" + return Skill( metadata=metadata, instructions=instructions, diff --git a/tests/test_skill_generator.py b/tests/test_skill_generator.py index 7730f86e..3127342c 100644 --- a/tests/test_skill_generator.py +++ b/tests/test_skill_generator.py @@ -273,6 +273,21 @@ class TestRenderTemplates: assert "create_skill_extras" in content assert "extras=extras" in content + def test_domain_preamble_applied_to_instructions(self, tmp_path): + render_templates( + output_dir=tmp_path, + name="docs", + description="A docs skill.", + tool_names=["search"], + ) + init = tmp_path / "docs-skill" / "docs_skill" / "__init__.py" + content = init.read_text() + assert "config.prompts.domain_preamble" in content + assert ( + 'instructions = f"{config.prompts.domain_preamble}\\n\\n{instructions}"' + in content + ) + def test_create_skill_accepts_optional_params(self, tmp_path): render_templates( output_dir=tmp_path,