feat(core): support shipping built-in skills with the CLI#16300
Conversation
Summary of ChangesHello @NTaylorMullen, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces the capability for the Gemini CLI to ship with pre-packaged, built-in skills. It modifies the skill loading mechanism to include a new discovery process for these skills and updates the build script to ensure they are correctly bundled with the core package. This enhancement streamlines the distribution of essential functionalities directly within the CLI. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces support for shipping built-in skills with the Gemini CLI. The changes in SkillManager to discover skills from a new builtin directory are well-implemented and robust, correctly handling cases where the directory might not exist. The accompanying change to the build script copy_files.js correctly copies these skills into the distribution package. The overall implementation is clean, correct, and aligns with the project's existing structure. I have reviewed the changes and found no issues of high or critical severity.
|
Size Change: +450 B (0%) Total Size: 22.3 MB ℹ️ View Unchanged
|
be1b6c9 to
2733d0b
Compare
- Implemented built-in skill discovery in SkillManager to load skills from the package's 'builtin' directory. - Updated build scripts (copy_files.js and copy_bundle_assets.js) to ensure built-in skills and their assets are correctly bundled for distribution. - Refined the pr-creator skill documentation for better readability and consistent formatting. Fixes #16289
2733d0b to
42e362e
Compare
- Added a test case to SkillManager to verify that built-in skills are correctly discovered and marked with the isBuiltin flag. - Mocked loadSkillsFromDir in skillManager.test.ts to enable isolated testing of built-in skill loading. Fixes #16289
Summary
This PR enables the Gemini CLI to ship with built-in skills. It updates
SkillManagerto load skills from thepackages/core/src/skills/builtindirectory and includes this directory in the core package build.Details
discoverBuiltinSkillsinSkillManagerto load skills from the package bundle.copy_files.jsto ensure theskills/builtindirectory is included in the core package build.isBuiltinflag, allowing them to be filtered in UI.Related Issues
Fixes #16289
How to Validate
npm run buildfrom the root.packages/core/src/skills/builtinare copied topackages/core/dist/skills/builtin.SkillManager.Pre-Merge Checklist