discover_skill_dirs(
backend: BackendProtocol,
source_path: str
) -> list[tuple[strReturn (skill_dir, subfolders) pairs found under source_path.
Walks the source tree, treating any directory that directly contains a
SKILL.md as a skill directory (a recursion leaf, like a plugin walker).
subfolders holds the directory names between the source
root and the skill directory, excluding the skill directory's own name.