-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Description
I love gemini and would like to use your CLI more but I currently find it is limited by a lack of hooks and skills. My understanding is hooks are under development, so I'd like to focus on the capabilities that a skill system offers users to disambiguate this term.
Agent Invocation
Like a tool, a skill has a description that is context efficient, and it can be invoked to access the skill.
- This enables the agent to recognize when a skill is relevant and load it
- This allows delaying adding the skill to context until the skill is leaded, reducing token costs
Progressive-Disclosure
- When a skill is loaded, it can add minimal context to the agent associated with that skill
- That context can include additional context module descriptions that can be loaded
- That context can include additional skill references with contextual information on when they should be loaded
This creates the progressive disclosure pattern, where the LLM is able to from a brief description progressively load additional context when it invokes that skill, or when the user asks it to invoke that skill.
Pre-Tool-Use Validation
With a functional hook system, whether or not a skill is loaded can be used to gate access to tools in their entirety or conditionally based on tool parameters. This allows an uninformed tool call to be blocked, with a response that empowers the agent to unblock themselves by invoking the skill.
Notes regarding documentation and hooks
I believe it would also be valuable for hook to be able to gate tool access based on whether an artifact has been loaded into a context. A skill is just an example of an artifact. I'm mentioning this for completeness.
Thanks for all your hard work on Gemini-CLI!