INNER CODE UNIT · Python
_install_to_skills_dir
ghost-in-the-droid/android-agent · gitd/cli.py:244
def _install_to_skills_dir(source_dir: Path, name: str | None = None) -> bool:
"""Copy a skill from source_dir into the skills directory. Returns True on success."""
skill_yaml = source_dir / "skill.yaml"
if not skill_yaml.exists():
logger.error("no skill.yaml in source directory.")
return False
meta = yaml.safe_load(skill_yaml.read_text()) or {}
skill_name = name or meta.get("name", source_dir.name)
# Sanitize
skill_name = re.sub(r"[^a-zA-Z0-9_-]", "_", skill_name).strip("_")
dest = SKILLS_DIR / skill_name
if dest.exists():
logger.info("Updating existing skill '%s'...", skill_name)
shutil.rmtree(dest)
shutil.copytree(source_dir, dest, dirs_exist_ok=True)