Generate Agent Skills
2 minute read
The skills-generate command allows you to convert a toolset into an Agent Skill. A toolset is a collection of tools, and the generated skill will contain metadata and execution scripts for all tools within that toolset, complying with the Agent Skill specification.
Before you begin
- Make sure you have the
toolboxexecutable in your PATH. - Make sure you have Node.js installed on your system.
Generating a Skill from a Toolset
A skill package consists of a SKILL.md file (with required YAML frontmatter) and a set of Node.js scripts. Each tool defined in your toolset maps to a corresponding script in the generated Node.js scripts (.js) that work across different platforms (Linux, macOS, Windows).
Command Usage
The basic syntax for the command is:
toolbox <tool-source> skills-generate \
--name <skill-name> \
--toolset <toolset-name> \
--description <description> \
--output-dir <output-directory>
<tool-source>: Can be--tools-file,--tools-files,--tools-folder, and--prebuilt. See the CLI Reference for details.--name: Name of the generated skill.--description: Description of the generated skill.--toolset: (Optional) Name of the toolset to convert into a skill. If not provided, all tools will be included.--output-dir: (Optional) Directory to output generated skills (default: “skills”).
Note
Note: The <skill-name> must follow the Agent Skill naming convention: it must contain only lowercase alphanumeric characters and hyphens, cannot start or end with a hyphen, and cannot contain consecutive hyphens (e.g., my-skill, data-processing).
Example: Custom Tools File
Create a
tools.yamlfile with a toolset and some tools:tools: tool_a: description: "First tool" run: command: "echo 'Tool A'" tool_b: description: "Second tool" run: command: "echo 'Tool B'" toolsets: my_toolset: tools: - tool_a - tool_bGenerate the skill:
toolbox --tools-file tools.yaml skills-generate \ --name "my-skill" \ --toolset "my_toolset" \ --description "A skill containing multiple tools" \ --output-dir "generated-skills"The generated skill directory structure:
generated-skills/ └── my-skill/ ├── SKILL.md ├── assets/ │ ├── tool_a.yaml │ └── tool_b.yaml └── scripts/ ├── tool_a.js └── tool_b.jsIn this example, the skill contains two Node.js scripts (
tool_a.jsandtool_b.js), each mapping to a tool in the original toolset.
Example: Prebuilt Configuration
You can also generate skills from prebuilt toolsets:
toolbox --prebuilt alloydb-postgres-admin skills-generate \
--name "alloydb-postgres-admin" \
--description "skill for performing administrative operations on alloydb"
Installing the Generated Skill in Gemini CLI
Once you have generated a skill, you can install it into the Gemini CLI using the gemini skills install command.
Installation Command
Provide the path to the directory containing the generated skill:
gemini skills install /path/to/generated-skills/my-skill
Alternatively, use ~/.gemini/skills as the --output-dir to generate the skill straight to the Gemini CLI.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.