Context
From PR #13 review. Currently scan-emerging normalizes skills.sh/owner/repo/skill to github.com/owner/repo and clones the repo root. For monorepos (e.g. github/awesome-copilot with multiple skills in subdirectories), scanners that need specific files get skipped:
- cisco-skill: requires
SKILL.md at scan root — skips all monorepo skills
- cisco-mcp: searches for
tools.json at root and @mcp.tool() via rglob (partial mitigation) — but can't distinguish tools from sibling skills
PR #13 added visible warnings when this happens, but the underlying limitation remains.
Proposed fix
Thread the skill subdirectory path through the fetch → prep → scan pipeline:
- Extract the skill-name-within-repo (3rd path component from skills.sh URLs) during manifest building
- Store it on
ManifestEntry (e.g. subdir: str | None)
- In
prepare_for_scanner, use skill_dir / subdir instead of skill_dir when subdir is known
- Update tests to cover the subdir case
Impact
Without this, cisco-skill and cisco-mcp effectively only work on single-skill repos, not the many skills.sh monorepos.
Context
From PR #13 review. Currently
scan-emergingnormalizesskills.sh/owner/repo/skilltogithub.com/owner/repoand clones the repo root. For monorepos (e.g.github/awesome-copilotwith multiple skills in subdirectories), scanners that need specific files get skipped:SKILL.mdat scan root — skips all monorepo skillstools.jsonat root and@mcp.tool()viarglob(partial mitigation) — but can't distinguish tools from sibling skillsPR #13 added visible warnings when this happens, but the underlying limitation remains.
Proposed fix
Thread the skill subdirectory path through the fetch → prep → scan pipeline:
ManifestEntry(e.g.subdir: str | None)prepare_for_scanner, useskill_dir / subdirinstead ofskill_dirwhen subdir is knownImpact
Without this, cisco-skill and cisco-mcp effectively only work on single-skill repos, not the many skills.sh monorepos.