#!/usr/bin/env python3
from pathlib import Path
import unittest


ROOT = Path(__file__).resolve().parents[4]
PROJECT_SKILLS = ROOT / ".claude" / "skills"
GLOBAL_SKILLS = ROOT / "modules" / "workstation" / "claude" / "skills"
EXPECTED = {
    "od-agent-discipline",
    "od-auth",
    "od-cluster",
    "od-data-safety",
    "od-deploy",
    "od-emergency",
    "od-guards",
    "od-hooks",
    "od-notifications",
    "od-overload",
    "od-recovery",
    "od-ui-dev",
}


class OverdeckSkillScopeTest(unittest.TestCase):
    def test_all_overdeck_skills_are_project_local(self) -> None:
        actual = {path.name for path in PROJECT_SKILLS.glob("od-*") if path.is_dir()}
        self.assertEqual(actual, EXPECTED)
        for name in actual:
            self.assertTrue((PROJECT_SKILLS / name / "SKILL.md").is_file())

    def test_no_overdeck_skill_is_claude_global(self) -> None:
        actual = {path.name for path in GLOBAL_SKILLS.glob("od-*")}
        self.assertEqual(actual, set())


if __name__ == "__main__":
    unittest.main()
