Skip to content

Gemini CLI 的 Skills 系统让你把复杂的多步工作流打包成一个自描述的目录,AI 会在需要时自动激活。与总是加载的 GEMINI.md 不同,Skills 是"按需调用"的专业能力,不占用日常上下文。

Agent Skills 工作流技能

Skills 是 Gemini CLI 的可插拔专业能力系统。每个 Skill 是一个包含 SKILL.md 文件的目录,描述了一套专业工作流——例如"安全审计"、"数据库迁移"或"PR 代码审查"。

AI 会根据你的请求自动判断是否需要激活某个 Skill,而不是把所有技能内容一股脑塞进上下文。

技能发现层次(三级)

Gemini CLI 从三个位置按优先级加载 Skills:

级别目录范围
工作区.gemini/skills/.agents/skills/当前项目(通常提交到 git)
用户~/.gemini/skills/~/.agents/skills/所有项目的个人技能
ExtensionExtension 安装目录从 Extension 获取的技能

优先级:工作区 > 用户 > Extension。同名技能高优先级覆盖低优先级。

管理 Skills

REPL 内部命令

/skills list        # 列出所有已发现的技能及状态
/skills reload      # 从磁盘重新加载所有技能
/skills enable <name>   # 启用某个技能
/skills disable <name>  # 禁用某个技能
/skills link <path>     # 通过软链接加载本地技能目录

CLI 命令

bash
# 列出所有已发现的技能
gemini skills list

# 从 Git 仓库安装技能(安装到用户级别)
gemini skills install https://github.com/user/my-skill.git

# 安装到工作区级别
gemini skills install /path/to/skill --scope workspace

# 从 monorepo 的子目录安装
gemini skills install https://github.com/org/skills.git --path skills/security

# 通过软链接关联本地技能目录(开发用)
gemini skills link /path/to/my-skills-repo

# 卸载技能
gemini skills uninstall my-skill --scope workspace

SKILL.md 文件格式

每个技能目录必须包含一个 SKILL.md,格式示例:

markdown
---
name: security-audit
description: |
  对代码库进行全面安全审计,检查 OWASP Top 10 漏洞、依赖安全性和敏感信息泄漏。
  当用户提到"安全审计"、"检查漏洞"或"扫描安全问题"时激活。
---

# 安全审计技能

## 执行步骤

1. 扫描所有依赖的 CVE 漏洞...
2. 检查硬编码凭据...
3. 审查 SQL 查询注入风险...

(以下是详细的审计流程说明)

关键:description 字段是 AI 决定是否激活这个技能的依据,要清晰描述适用场景。

技能目录结构

my-security-skill/
├── SKILL.md          # 必须,包含 frontmatter 和详细说明
├── scripts/          # 可选,辅助脚本
│   └── scan.ts
└── templates/        # 可选,模板文件
    └── report.md

与 GEMINI.md 的区别

特性SkillsGEMINI.md
加载时机AI 判断需要时按需加载每次会话都加载
适合内容专业工作流、复杂多步操作项目背景、常规规范
作用范围特定任务全局背景
上下文消耗按需,节省 token始终消耗

Skills 与 Claude Code Skills 的对比

Gemini CLI 和 Claude Code 的 Skills 系统基于同一个 Agent Skills 开放标准,SKILL.md 格式基本兼容:

特性Gemini CLIClaude Code
格式SKILL.md + frontmatterSKILL.md + frontmatter
用户级目录~/.gemini/skills/~/.claude/skills/
工作区目录.gemini/skills/.claude/skills/
CLI 管理命令gemini skills通过 Claude Code 设置
互通性基本可以共用 SKILL.md基本可以共用 SKILL.md

常见问题

Q: AI 怎么决定要不要激活一个 Skill?

A: 完全根据 SKILL.md frontmatter 中的 description 字段。AI 会将你的请求与所有已知技能的 description 匹配,相关度高的会自动激活。所以 description 写得清楚、覆盖真实触发场景很重要。

Q: 技能激活了会影响上下文长度吗?

A: 会,但只在激活时才加载完整内容。每次会话开始时只加载技能的名称和简短描述(用于判断是否需要激活),全文只在 AI 决定使用时才注入。

Q: 已安装的社区技能安全吗?

A: SKILL.md 里的内容会直接作为 AI 的指令执行,来源不明的技能可能存在 prompt injection 风险。只安装信任来源的技能,并在安装前阅读 SKILL.md 内容。