@@ -1772,19 +1772,19 @@ def test_self_test_command_file_exists(self):
17721772 assert "preset:self-test" in content
17731773
17741774 def test_self_test_registers_commands_for_claude (self , project_dir ):
1775- """Test that installing self-test registers commands in .claude/commands /."""
1776- # Create Claude agent directory to simulate Claude being set up
1777- claude_dir = project_dir / ".claude" / "commands "
1775+ """Test that installing self-test registers skills in .claude/skills /."""
1776+ # Create Claude skills directory to simulate Claude being set up
1777+ claude_dir = project_dir / ".claude" / "skills "
17781778 claude_dir .mkdir (parents = True )
17791779
17801780 manager = PresetManager (project_dir )
17811781 manager .install_from_directory (SELF_TEST_PRESET_DIR , "0.1.5" )
17821782
1783- # Check the command was registered
1784- cmd_file = claude_dir / "speckit. specify.md"
1785- assert cmd_file .exists (), "Command not registered in .claude/commands /"
1783+ # Check the skill was registered
1784+ cmd_file = claude_dir / "speckit- specify" / "SKILL .md"
1785+ assert cmd_file .exists (), "Skill not registered in .claude/skills /"
17861786 content = cmd_file .read_text ()
1787- assert "preset: self-test" in content
1787+ assert "self-test" in content
17881788
17891789 def test_self_test_registers_commands_for_gemini (self , project_dir ):
17901790 """Test that installing self-test registers commands in .gemini/commands/ as TOML."""
@@ -1804,13 +1804,13 @@ def test_self_test_registers_commands_for_gemini(self, project_dir):
18041804
18051805 def test_self_test_unregisters_commands_on_remove (self , project_dir ):
18061806 """Test that removing self-test cleans up registered commands."""
1807- claude_dir = project_dir / ".claude" / "commands "
1807+ claude_dir = project_dir / ".claude" / "skills "
18081808 claude_dir .mkdir (parents = True )
18091809
18101810 manager = PresetManager (project_dir )
18111811 manager .install_from_directory (SELF_TEST_PRESET_DIR , "0.1.5" )
18121812
1813- cmd_file = claude_dir / "speckit. specify.md"
1813+ cmd_file = claude_dir / "speckit- specify" / "SKILL .md"
18141814 assert cmd_file .exists ()
18151815
18161816 manager .remove ("self-test" )
@@ -1826,7 +1826,7 @@ def test_self_test_no_commands_without_agent_dirs(self, project_dir):
18261826
18271827 def test_extension_command_skipped_when_extension_missing (self , project_dir , temp_dir ):
18281828 """Test that extension command overrides are skipped if the extension isn't installed."""
1829- claude_dir = project_dir / ".claude" / "commands "
1829+ claude_dir = project_dir / ".claude" / "skills "
18301830 claude_dir .mkdir (parents = True )
18311831
18321832 preset_dir = temp_dir / "ext-override-preset"
@@ -1869,7 +1869,7 @@ def test_extension_command_skipped_when_extension_missing(self, project_dir, tem
18691869
18701870 def test_extension_command_registered_when_extension_present (self , project_dir , temp_dir ):
18711871 """Test that extension command overrides ARE registered when the extension is installed."""
1872- claude_dir = project_dir / ".claude" / "commands "
1872+ claude_dir = project_dir / ".claude" / "skills "
18731873 claude_dir .mkdir (parents = True )
18741874 (project_dir / ".specify" / "extensions" / "fakeext" ).mkdir (parents = True )
18751875
@@ -1964,7 +1964,7 @@ def test_skill_overridden_on_preset_install(self, project_dir, temp_dir):
19641964 self ._create_skill (skills_dir , "speckit-specify" )
19651965
19661966 # Also create the claude commands dir so commands get registered
1967- (project_dir / ".claude" / "commands " ).mkdir (parents = True , exist_ok = True )
1967+ (project_dir / ".claude" / "skills " ).mkdir (parents = True , exist_ok = True )
19681968
19691969 # Install self-test preset (has a command override for speckit.specify)
19701970 manager = PresetManager (project_dir )
@@ -1987,7 +1987,7 @@ def test_skill_not_updated_when_ai_skills_disabled(self, project_dir, temp_dir):
19871987 skills_dir = project_dir / ".claude" / "skills"
19881988 self ._create_skill (skills_dir , "speckit-specify" , body = "untouched" )
19891989
1990- (project_dir / ".claude" / "commands " ).mkdir (parents = True , exist_ok = True )
1990+ (project_dir / ".claude" / "skills " ).mkdir (parents = True , exist_ok = True )
19911991
19921992 manager = PresetManager (project_dir )
19931993 SELF_TEST_DIR = Path (__file__ ).parent .parent / "presets" / "self-test"
@@ -2022,7 +2022,7 @@ def test_skill_not_updated_without_init_options(self, project_dir, temp_dir):
20222022 skills_dir = project_dir / ".claude" / "skills"
20232023 self ._create_skill (skills_dir , "speckit-specify" , body = "untouched" )
20242024
2025- (project_dir / ".claude" / "commands " ).mkdir (parents = True , exist_ok = True )
2025+ (project_dir / ".claude" / "skills " ).mkdir (parents = True , exist_ok = True )
20262026
20272027 manager = PresetManager (project_dir )
20282028 SELF_TEST_DIR = Path (__file__ ).parent .parent / "presets" / "self-test"
@@ -2038,7 +2038,7 @@ def test_skill_restored_on_preset_remove(self, project_dir, temp_dir):
20382038 skills_dir = project_dir / ".claude" / "skills"
20392039 self ._create_skill (skills_dir , "speckit-specify" )
20402040
2041- (project_dir / ".claude" / "commands " ).mkdir (parents = True , exist_ok = True )
2041+ (project_dir / ".claude" / "skills " ).mkdir (parents = True , exist_ok = True )
20422042
20432043 # Set up core command template in the project so restoration works
20442044 core_cmds = project_dir / ".specify" / "templates" / "commands"
@@ -2068,7 +2068,7 @@ def test_skill_restored_on_remove_resolves_script_placeholders(self, project_dir
20682068 self ._write_init_options (project_dir , ai = "claude" , ai_skills = True , script = "sh" )
20692069 skills_dir = project_dir / ".claude" / "skills"
20702070 self ._create_skill (skills_dir , "speckit-specify" , body = "old" )
2071- (project_dir / ".claude" / "commands " ).mkdir (parents = True , exist_ok = True )
2071+ (project_dir / ".claude" / "skills " ).mkdir (parents = True , exist_ok = True )
20722072
20732073 core_cmds = project_dir / ".specify" / "templates" / "commands"
20742074 core_cmds .mkdir (parents = True , exist_ok = True )
@@ -2099,7 +2099,7 @@ def test_skill_not_overridden_when_skill_path_is_file(self, project_dir):
20992099 skills_dir .mkdir (parents = True , exist_ok = True )
21002100 (skills_dir / "speckit-specify" ).write_text ("not-a-directory" )
21012101
2102- (project_dir / ".claude" / "commands " ).mkdir (parents = True , exist_ok = True )
2102+ (project_dir / ".claude" / "skills " ).mkdir (parents = True , exist_ok = True )
21032103
21042104 manager = PresetManager (project_dir )
21052105 SELF_TEST_DIR = Path (__file__ ).parent .parent / "presets" / "self-test"
@@ -2114,7 +2114,7 @@ def test_no_skills_registered_when_no_skill_dir_exists(self, project_dir, temp_d
21142114 self ._write_init_options (project_dir , ai = "claude" )
21152115 # Don't create skills dir — simulate --ai-skills never created them
21162116
2117- (project_dir / ".claude" / "commands " ).mkdir (parents = True , exist_ok = True )
2117+ (project_dir / ".claude" / "skills " ).mkdir (parents = True , exist_ok = True )
21182118
21192119 manager = PresetManager (project_dir )
21202120 SELF_TEST_DIR = Path (__file__ ).parent .parent / "presets" / "self-test"
@@ -2518,7 +2518,7 @@ def test_preset_skill_registration_handles_non_dict_init_options(self, project_d
25182518
25192519 skills_dir = project_dir / ".claude" / "skills"
25202520 self ._create_skill (skills_dir , "speckit-specify" , body = "untouched" )
2521- (project_dir / ".claude" / "commands " ).mkdir (parents = True , exist_ok = True )
2521+ (project_dir / ".claude" / "skills " ).mkdir (parents = True , exist_ok = True )
25222522
25232523 manager = PresetManager (project_dir )
25242524 self_test_dir = Path (__file__ ).parent .parent / "presets" / "self-test"
0 commit comments