Skip to content
Gemini 3 Flash is now available. Speed no longer has to mean compromising quality. Read the announcement

Getting Started with Agent Skills

Agent Skills allow you to extend Gemini CLI with specialized expertise. This tutorial will guide you through creating your first skill, enabling it, and using it in a session.

Agent Skills are currently an experimental feature and must be enabled in your settings.

  1. Start a Gemini CLI session by running gemini.
  2. Type /settings to open the interactive settings dialog.
  3. Search for “Skills”.
  4. Toggle Agent Skills to true.
  5. Press Esc to save and exit. You may need to restart the CLI for the changes to take effect.

Alternatively, you can manually edit your global settings file at ~/.gemini/settings.json (create it if it doesn’t exist):

{
"experimental": {
"skills": true
}
}

A skill is a directory containing a SKILL.md file. Let’s create an API Auditor skill that helps you verify if local or remote endpoints are responding correctly.

  1. Create the skill directory structure:

    Terminal window
    mkdir -p .gemini/skills/api-auditor/scripts
  2. Create the SKILL.md file: Create a file at .gemini/skills/api-auditor/SKILL.md with the following content:

    ---
    name: api-auditor
    description:
    Expertise in auditing and testing API endpoints. Use when the user asks to
    "check", "test", or "audit" a URL or API.
    ---
    # API Auditor Instructions
    You act as a QA engineer specialized in API reliability. When this skill is
    active, you MUST:
    1. **Audit**: Use the bundled `scripts/audit.js` utility to check the
    status of the provided URL.
    2. **Report**: Analyze the output (status codes, latency) and explain any
    failures in plain English.
    3. **Secure**: Remind the user if they are testing a sensitive endpoint
    without an `https://` protocol.
  3. Create the bundled Node.js script: Create a file at .gemini/skills/api-auditor/scripts/audit.js. This script will be used by the agent to perform the actual check:

    .gemini/skills/api-auditor/scripts/audit.js
    const url = process.argv[2];
    if (!url) {
    console.error('Usage: node audit.js <url>');
    process.exit(1);
    }
    console.log(`Auditing ${url}...`);
    fetch(url, { method: 'HEAD' })
    .then((r) => console.log(`Result: Success (Status ${r.status})`))
    .catch((e) => console.error(`Result: Failed (${e.message})`));

Use the /skills slash command (or gemini skills list from your terminal) to see if Gemini CLI has found your new skill.

In a Gemini CLI session:

/skills list

You should see api-auditor in the list of available skills.

Now, let’s see the skill in action. Start a new session and ask a question about an endpoint.

User: “Can you audit http://geminili.com

Gemini will recognize the request matches the api-auditor description and will ask for your permission to activate it.

Model: (After calling activate_skill) “I’ve activated the api-auditor skill. I’ll run the audit script now…”

Gemini will then use the run_shell_command tool to execute your bundled Node script:

node .gemini/skills/api-auditor/scripts/audit.js http://geminili.com