feat(cli): add install-skills command#6
Merged
Conversation
Add a new top-level `install-skills` command to install official Flamingock skills into `./.agents/skills` for the current project. Accept `-g/--global` for future compatibility, but return a clear not-implemented message for now. Use Java-native HTTP/ZIP/NIO APIs to download and extract the official skills archive without depending on external tools like git, curl, or wget. Implement full per-skill replacement for official `flamingock-*` directories while preserving user-defined custom skill folders. Harden failure handling with actionable user-facing errors, HTTP timeouts, zip-slip protection, and robust temporary-workspace cleanup.
dieppa
approved these changes
May 26, 2026
Member
dieppa
left a comment
There was a problem hiding this comment.
Very well structured, with separation of concerns, simple interfaces and components that interact with each other, and everything orchestrated in the SkillsInstallationPipeline, which makes the actual CLI operation simple and easy to understand and follow.
The only thing is that most of the components should be generic. Then the caller pass the specific parameters.
Most of the components(if not all) should be generic file utility components
Contributor
Author
|
I updated the implementation following the direction you suggested, while keeping the refactor intentionally small and simple. What changed:
Also:
What stayed specific on purpose:
|
dieppa
approved these changes
May 27, 2026
Member
There was a problem hiding this comment.
I like, just few comments to nail it:
- we can move the utilities(inside
filesystemandhttpfolders) toutilfolder. You can have thefilesystemand httpsubfolderif you wish. - I think the class
InstallationTargetcan be generic too, but it's not wrong if it stays as skill-specific class. But if so, name it withskill, like the others. Something like `SkillsInstallationTarget"
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add a new top-level
install-skillscommand to install official Flamingock skills into./.agents/skillsfor the current project.Accept
-g/--globalfor future compatibility, but return a clear not-implemented message for now.Use Java-native HTTP/ZIP/NIO APIs to download and extract the official skills archive without depending on external tools like git, curl, or wget.
Implement full per-skill replacement for official
flamingock-*directories while preserving user-defined custom skill folders.Harden failure handling with actionable user-facing errors, HTTP timeouts, zip-slip protection, and robust temporary-workspace cleanup.