"""Unit tests for Local Dynamic Skill Loader.""" import pytest from pathlib import Path from app.skills.loader import SkillLoader, LocalSkill from app.config import get_settings def test_skill_loader_discovery(): """Verify SkillLoader discovers all 4 phase skills under app/skills/.""" settings = get_settings() loader = SkillLoader(settings.SKILLS_DIR) skills = loader.load_skills() assert len(skills) >= 4 assert "requirements_discovery" in skills assert "architecture_design" in skills assert "validation_rules" in skills assert "packaging_guide" in skills def test_skill_loader_by_phase(): """Verify filtering skills by phase.""" settings = get_settings() loader = SkillLoader(settings.SKILLS_DIR) loader.load_skills() discover_skills = loader.get_skills_by_phase("discover") assert len(discover_skills) == 1 assert discover_skills[0].name == "requirements_discovery" design_skills = loader.get_skills_by_phase("design") assert len(design_skills) == 1 assert design_skills[0].name == "architecture_design" def test_format_skills_for_prompt(): """Verify formatting skill content into prompt text.""" settings = get_settings() loader = SkillLoader(settings.SKILLS_DIR) loader.load_skills() prompt = loader.format_skills_for_prompt("discover") assert "## Injected Skill Instructions" in prompt assert "requirements_discovery" in prompt