Skip to content

feat: multi-skill install with interactive selection, --list, and --skill flags#145

Merged
sametcelikbicak merged 1 commit into
mainfrom
feat/multi-skill-install
Jul 20, 2026
Merged

feat: multi-skill install with interactive selection, --list, and --skill flags#145
sametcelikbicak merged 1 commit into
mainfrom
feat/multi-skill-install

Conversation

@sametcelikbicak

Copy link
Copy Markdown
Collaborator

Summary

Changes rolecraft install to support multi-skill repositories like mattpocock/skills which contain multiple SKILL.md files.

Changes

src/utils/resolver.js

  • enrichSkill() — new helper: reads all files in a skill directory, computes hash
  • scanForSkill() — now checks container directories first (skills/, .agents/skills/, etc.) for flat and catalog layouts, deduplicates against recursive scan
  • All internal resolvers return { skills: [...], sourcePath, sourceType } — all skills, not just found[0]
  • resolveSkills(source) — NEW: returns array of all skills from a source

src/commands/install.js

  • Uses resolveSkills instead of resolveSource
  • --list — list available skills without installing
  • --skill <names> — install specific skills by name (comma-separated)
  • Multi-skill interactive selection — when >1 skill found, shows numbered list
  • --yes with multi-skill skips selection, installs all

bin/rolecraft.js

  • Parses new --list and --skill flags

Tests

  • 721 tests pass (was 678), 0 failures
  • New tests for resolveSkills, --list, --skill, multi-skill --yes

Docs

  • Updated docs/commands/install.md with multi-skill docs, --list output example, interactive selection example

Backward Compatibility

Single-skill repositories (99% of use cases) work exactly as before. No breaking changes.

@sametcelikbicak
sametcelikbicak merged commit bfafe96 into main Jul 20, 2026
3 checks passed
@sametcelikbicak
sametcelikbicak deleted the feat/multi-skill-install branch July 20, 2026 09:57
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.

1 participant