mirror of
https://fastgit.cc/github.com/HKUDS/CLI-Anything
synced 2026-04-20 21:00:28 +08:00
Merge pull request #203 from sjhddh/fix/skill-description-empty-intro
fix: handle empty skill_intro in skill_description generation
This commit is contained in:
@@ -115,7 +115,12 @@ def extract_cli_metadata(harness_path: str) -> SkillMetadata:
|
||||
|
||||
# Build skill name and description
|
||||
skill_name = f"cli-anything-{software_name}"
|
||||
skill_description = f"Command-line interface for {_format_display_name(software_name)} - {skill_intro[:100]}..."
|
||||
if skill_intro:
|
||||
intro_snippet = skill_intro[:100]
|
||||
suffix = "..." if len(skill_intro) > 100 else ""
|
||||
skill_description = f"Command-line interface for {_format_display_name(software_name)} - {intro_snippet}{suffix}"
|
||||
else:
|
||||
skill_description = f"Command-line interface for {_format_display_name(software_name)}"
|
||||
|
||||
return SkillMetadata(
|
||||
skill_name=skill_name,
|
||||
|
||||
@@ -356,6 +356,9 @@ class TestEdgeCases:
|
||||
assert metadata.skill_intro == "" # No README → empty intro
|
||||
assert metadata.version == "1.0.0"
|
||||
assert metadata.command_groups == []
|
||||
# skill_description must not contain trailing " - ..." when intro is empty
|
||||
assert " - " not in metadata.skill_description
|
||||
assert not metadata.skill_description.endswith("...")
|
||||
|
||||
def test_harness_with_system_package(self, tmp_path):
|
||||
"""README with apt install instructions should extract system_package."""
|
||||
|
||||
@@ -237,7 +237,12 @@ def extract_cli_metadata(harness_path: str) -> SkillMetadata:
|
||||
command_groups = extract_commands_from_cli(cli_file) if cli_file.exists() else []
|
||||
examples = generate_examples(software_name, command_groups)
|
||||
skill_name = f"cli-anything-{software_name}"
|
||||
skill_description = f"Command-line interface for {_format_display_name(software_name)} - {skill_intro[:100]}..."
|
||||
if skill_intro:
|
||||
intro_snippet = skill_intro[:100]
|
||||
suffix = "..." if len(skill_intro) > 100 else ""
|
||||
skill_description = f"Command-line interface for {_format_display_name(software_name)} - {intro_snippet}{suffix}"
|
||||
else:
|
||||
skill_description = f"Command-line interface for {_format_display_name(software_name)}"
|
||||
|
||||
return SkillMetadata(
|
||||
skill_name=skill_name,
|
||||
|
||||
Reference in New Issue
Block a user