Skip to content

Support skills organized in nested subfolders#6

Merged
aersam merged 4 commits into
mainfrom
copilot/make-skills-using-subfolders-work
May 11, 2026
Merged

Support skills organized in nested subfolders#6
aersam merged 4 commits into
mainfrom
copilot/make-skills-using-subfolders-work

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 1, 2026

Repositories like mattpocock/skills organize skills into category subfolders (skills/engineering/diagnose/SKILL.md) rather than the flat layout (skills/diagnose/SKILL.md) that skillup previously assumed.

Changes

  • get_skills_in_zip: recursively scans the entire zip for SKILL.md at any depth and any location (not restricted to a skills/ subfolder); the skill name is always the immediate parent folder of SKILL.md (no path separators)

    • skills/engineering/diagnose/SKILL.md"diagnose"
    • skills/pdf/SKILL.md"pdf" (unchanged)
    • mything/SKILL.md (at zip root) → "mything"
  • install_skill: locates the skill folder by finding SKILL.md in a folder named skill_name anywhere in the zip, then installs all contents to <target>/<skill-name>/

  • tests/test_install.py (new): unit tests for get_skills_in_zip and install_skill covering flat, nested, mixed, zip-root-level, missing-SKILL.md, and case-insensitive scenarios

Copilot AI linked an issue May 1, 2026 that may be closed by this pull request
…SKILL.md)

Agent-Logs-Url: https://github.com/bmsuisse/skillup/sessions/12d0083a-ed45-4789-aedf-f3a86e217cc7

Co-authored-by: dominikpeter <7950597+dominikpeter@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix skills installation for subfolders Support skills organized in nested subfolders May 1, 2026
Copilot AI requested a review from dominikpeter May 1, 2026 05:53
@aersam
Copy link
Copy Markdown
Contributor

aersam commented May 11, 2026

@copilot: no. recursively scan the zip for SKILL.md, the skill name is just the parent folder without any slash

Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 11, 2026

@copilot: no. recursively scan the zip for SKILL.md, the skill name is just the parent folder without any slash

Done in d88aace. Both get_skills_in_zip and install_skill now scan the entire skills/ subtree recursively for SKILL.md, and the skill name is always just parts[-2] — the immediate parent folder, no slashes. A skill at skills/engineering/diagnose/SKILL.md is now discovered and installed as "diagnose".

Copilot finished work on behalf of aersam May 11, 2026 07:42
Copilot AI requested a review from aersam May 11, 2026 07:42
@aersam
Copy link
Copy Markdown
Contributor

aersam commented May 11, 2026

@copilot: no. recursively scan the zip for SKILL.md, the skill name is just the parent folder without any slash

Done in d88aace. Both get_skills_in_zip and install_skill now scan the entire skills/ subtree recursively for SKILL.md, and the skill name is always just parts[-2] — the immediate parent folder, no slashes. A skill at skills/engineering/diagnose/SKILL.md is now discovered and installed as "diagnose".

ok, but please not only look in /skills but in whole zip

Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 11, 2026

@copilot: no. recursively scan the zip for SKILL.md, the skill name is just the parent folder without any slash

Done in [d88aace](d88aacea7de1f1d7...

Done in de69ca7. Both get_skills_in_zip and install_skill now scan the entire zip for SKILL.md — the parts[1] == "skills" restriction is removed. A skill can be at any path depth inside the zip.

Copilot finished work on behalf of aersam May 11, 2026 07:48
@aersam aersam marked this pull request as ready for review May 11, 2026 11:46
@aersam aersam merged commit af2b329 into main May 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make skills using subfolders work

3 participants