Gemini CLI 也能用 Skills 了,我用它解放了 Obsidian 的图片整理
在 Obsidian 里写东西,相信大家都遇到过一个问题:
在 Obsidian 里写东西,相信大家都遇到过一个问题:
粘贴截图,保存,文件名自动生成为 Pasted image 20260107153042.png。
再粘贴一张,Pasted image 20260107153158.png。
第三张、第四张……

看着附件文件夹里一堆 Pasted image 开头的文件,我知道,等会儿又得花几分钟,一张一张手动重命名。
不然过几天回头看,根本不知道这些图片分别是什么。
就在我准备手工一张张重命名时,突然想起来,就在几天前,Gemini CLI 发布了一个预览版本。
在这个版本里,Gemini CLI 也支持 Agent Skills 了。

我当时就想,要不试试看,能不能用 Skill 解决这个问题?
结果,完全可以。
什么是 Agent Skills?
在聊具体怎么做之前,先解释一下什么是 Agent Skills。
如果你最近没怎么关注 AI 领域的动态,可能对这个概念还有点陌生。

简单说,Skills 就是一组可以让 AI 反复调用的「任务模块」。
它最早是 Anthropic 在 2025 年 10 月给 Claude 推出的功能。
传统的 AI 对话,你得在每次提问时,把所有背景、要求、细节,全部塞进提示词里。
结果就是,同样的任务,每次都得重新描述一遍,既麻烦,又容易遗漏关键信息。
Skills 的出现,就是为了解决这个问题。
你可以把一个任务的完整流程、操作步骤、注意事项,全部封装成一个 Skill。
AI 在需要时,会自动加载这个 Skill,然后按照里面定义好的规则去执行。
Skills 有三个核心特点:
第一,模块化封装。
把具体的技能组织成文件夹,定义好操作流程和所需资源。
就像给 AI 配了一个「工具箱」,需要什么工具,就拿什么。
第二,按需加载。
Claude 只在需要时才加载相关 Skills,不会一股脑把所有东西都塞进上下文,避免上下文过长。
第三,跨平台支持。
不仅支持 Claude Web 和 CLI,还可以通过 API 使用。
这个功能刚推出时,我就觉得很有意思。
但当时只有 Claude 能用。
直到 2025 年 12 月 18 日,Anthropic 做了一件更重要的事——他们把 Agent Skills 发布成了开放标准。

这意味着什么?
意味着 Skills 不再是 Anthropic 的独家技术,其他 AI 平台也可以采用这个标准。
微软、谷歌、OpenAI、Figma、Stripe、Notion、Zapier 这些公司,都已经开始支持了。
开发者创建的 Skill,不再锁定单一平台,可以在支持 Agent Skills 标准的其他系统里复用。
而这次 Gemini CLI 支持 Skills,就是这个开放标准落地的一个重要节点。
这里需要补充一个技术细节,Skills 之所以能做到高效,核心在于它采用了「渐进式披露」机制。

这个机制分三步:
第一步,发现。
启动时,AI 只加载每个 Skill 的名称和描述,刚好够它判断这个 Skill 是否相关。
第二步,激活。
当任务和某个 Skill 的描述匹配时,AI 才会读取完整的 SKILL.md 指令。
第三步,执行。
AI 按照指令执行任务,需要时才加载引用的文件或执行代码。
这个设计让 AI 始终保持高效,同时又能在需要时获取更多上下文。
理解了这个机制,你就能明白,为什么 Skills 能从根本上改变 AI 的工作方式——从「生成答案」,变成了「执行任务」。
如何用上 Gemini CLI 的 Skills?
看到 Gemini CLI 支持 Skills 的消息后,我第一时间就去体验了一番。
这里分享一下具体步骤。
安装 Gemini CLI 预览版
首先,你需要安装最新的 Gemini CLI 预览版。
这一步,对于没有编程经验的人来说,可能会有点麻烦,因为需要准备环境。
不过,你完全可以让 AI 协助你完成。
打开任意一个你常用的 AI,把下面这段提示词发给它:
我是一个零编程基础的小白,我需要在电脑(Windows/Mac)安装 Gemini CLI,请你手把手教我如何操作。
把括号里的操作系统,换成你自己的电脑系统就行。

然后它会非常详细地一步步指引你,应该如何配置好所需环境。
需要注意的是,当你执行命令安装 gemini-cli 时,把安装命令换成下面这个预览版:
npm install -g @google/gemini-cli@preview
如果之前已经安装了正式版的 Gemini CLI,直接执行这个命令,会覆盖掉本地的版本。
安装完成后,在终端执行 gemini --version 命令,检查一下是否安装成功。

如果看到输出的是 0.24.0-preview.0,就说明安装成功了。
手动开启 Agent Skills
初次安装成功之后,还不能直接使用 Agent Skills,需要手动开启一下。
同样是在终端,在任意路径,执行命令:gemini,就可以进入 Gemini CLI 的控制台。
顺利的话,你应该可以看到这样一个界面。

然后输入命令 /settings。
此时,会看到一个新的页面,在最上方的输入框中输入:Agent Skills。

可以看到出现了一个 Agent Skills 的选项,默认是 false,表示没有启用。
按一下回车,可以看到 false 变成了 true。

再单独按一次键盘上的字母 r,自动保存退出。
再次回到主页面,你就会发现多了一个 /skills 命令。

到这里,Agent Skills 就算是开启成功了。
在 Obsidian 中使用 Skills 的完整方案
好,环境准备好了,接下来就是核心部分——如何在 Obsidian 中使用 Skills。
在正式开始之前,我们需要先理解一个 Skill 长什么样。
一个 Skill 的结构
根据 agentskills.io 的开放标准,一个完整的 Skill 是这样的:
my-skill/
├── SKILL.md # 必须存在:元数据 + 指令
├── scripts/ # 可选项:脚本(可执行代码)
├── references/ # 可选项:引用文档
└── assets/ # 可选项:模板、资源等
核心是 SKILL.md 文件,它包含元数据(至少包含「名称」和「描述」)以及指示 AI 如何执行特定任务的指令。
Skill 还可以添加脚本、模板和参考资料,也就是对应下面那些可选项。
在 Gemini CLI 中,它主要从三个地方获取可执行的 Skills:
- • Project Skills(
.gemini/skills/) - • User Skills(
~/.gemini/skills/) - • Extension Skills
简单理解就是,想要你的 Skill 能被 Gemini CLI 找到并执行,就需要把上面的文件结构,放在 .gemini/skills/ 或 ~/.gemini/skills/ 路径下。
配置 Obsidian 环境
我平时内容创作都是在 Obsidian 中完成的,所以我的目标,是能在 Obsidian 里直接调用 Gemini CLI 的 Skills。
第一步,安装 Terminal 插件。
这一步不是必需的,只是我不太喜欢频繁切换窗口,所以需要这个插件。
有了这个插件,我就可以直接在 Obsidian 中访问终端。
打开 Obsidian 的插件市场,搜索 terminal 关键词,找到第一个,点击安装启用。

第二步,创建文件夹结构。
打开 Obsidian 根目录所在的文件夹,新建一个 gemini 的文件夹。
然后在 gemini 文件夹下继续新建一个 skills 文件夹。
第三步,创建软链接。
因为 Obsidian 中不能显示隐藏文件,而想要 Skill 能被 Gemini CLI 找到,又需要放在 .gemini 文件夹下。
所以,可以给 Obsidian 的 skills 创建一个软链,指向 ~/.gemini/skills 目录。
打开终端,执行命令:
ln -s "你的 Obsidian skills 所在路径" "~/.gemini/skills"
这样,就可以在 Obsidian 中维护 Gemini CLI 的 Skills 了。
顺便说一句,如果你也在用 Claude Code 或 Codex,也可以通过同样的逻辑进行配置。
最终的文件夹结构就是这样的 👇

创建图片处理 Skill
环境配置好了,下一步就是创建一个具体的 Skill。
我在 skills 文件夹下新建了一个 image_processing 的文件夹,然后在这个文件夹下,新建了一个 SKILL.md 文件。
每个 SKILL.md 都需要包含 YAML 前置(元数据)和 Markdown 指令。
我的这个 Skill 是长这样的:
---
name: Obsidian 图片处理
description: Obsidian 附件整理助手
---
# 附件图片重命名
你是一个高效的 Obsidian 附件整理助手,你的唯一任务是通过重命名消除库中无意义的默认图片文件名。
# Skills
1. **视觉识别**:你能通过 Vision 能力理解图片的内容。
2. **文件操作**:你能重命名文件、移动文件。
# Trigger
当用户要求「整理附件」或「重命名图片」时,扫描指定目录(默认为 Obsidian 的根目录)。
# Workflow
找到每一个文件名包含 "Pasted image" 的图片文件,依次执行:
1. **分析与生成名称**:
* 读取图片内容。
* 根据图片内容生成一个语义化的中文新文件名(例如:`设置密码.png` 或 `添加水印.png`)。
* 尽量提取图片中的关键文字或标题作为文件名。如果没有关键词,则根据图片所在的上下文给图片进行命名。
2. **执行操作**:
* 将图片文件重命名。
* 并移动到 `09 TOOLS·工具/Obsidian/附件` 文件夹(如果没有该文件夹请创建)。
# Constraints
* 不要修改任何 Markdown 文件的内容(Obsidian 会自动处理引用更新)。
* 不要删除任何 Markdown 文件。
* 如果在 `09 TOOLS·工具/Obsidian/附件` 下已有同名文件,请在新文件名后自动追加数字后缀(例如 `-1`、`-2`)以避免移动失败。
* 操作完成后,输出一个简单的表格,列出:旧文件名 -> 新文件名。
这个 Skill 的设计逻辑很清晰:
- • 元数据部分定义了名称和描述,让 AI 知道这是干什么的。
- • 指令部分详细说明了 AI 拥有什么能力、什么时候触发、具体怎么操作、有哪些约束条件。
执行 Skill
Skill 创建好了,下一步就是验证它能否正常工作。
我直接通过 Obsidian 的 Terminal 插件打开终端,所以当前路径就是 Obsidian 的根目录。
如果你是单独打开终端,记得先进入到对应的 Obsidian 根目录。
然后在终端执行命令:gemini,回车进入 Gemini CLI。

因为前面已经启用了 Agent Skills,所以这里直接输入 /skills list 命令。
如果能看到 Gemini 顺利输出了相关的 Skills,就说明配置没有问题。

下一步,继续在对话窗口输入:
图片处理
因为我的这个 Skill 就是处理图片相关的任务,所以当我输出这个关键词,它就会主动问我是否要执行对应的 Skill。
如果你需要执行其他 Skill,也是一样的,用自然语言描述出你的需求即可。

确认执行后,它会向我索要权限,这里选择 Allow for this session,表示在这个会话中都允许。
然后,它就会依据 Skill 里面的指令,逐步完成对应的图片处理。
整个过程大概是这样的:
- • 它会扫描我的 Obsidian 根目录,找到所有文件名包含
Pasted image的图片。 - • 然后逐张读取图片内容,识别出图片里的关键信息。
- • 根据图片内容,生成一个语义化的中文文件名。
- • 把文件重命名,并移动到指定的附件文件夹。
- • 最后输出一个表格,列出所有重命名的结果。
最终,可以看到图片重命名全部成功了。

更重要的是,每一张图片的命名都是依据图片本身的内容,而不是胡编乱造。
这就大大节省了我手动处理这些任务的时间。
写在最后
这篇文章,从一个真实的使用痛点出发,抛砖引玉分享了 Gemini CLI 支持 Agent Skills 这个新功能,以及如何在 Obsidian 中实际应用它。
这个方案不仅解决了我图片整理的问题,更重要的是,它展示了 Agent Skills 这个开放标准的实用性。
当你理解了 Skills 的工作原理,掌握了创建和配置的方法,就可以根据自己的实际需求,创建更多专属的 Skills。
比如,自动整理笔记、批量处理文件格式、定期备份重要文档……
这些原本需要手动重复的任务,都可以封装成 Skill,让 AI 帮你自动完成。
这篇文章实操细节比较多,如果你在操作过程中遇到任何问题,可以在评论区留言。
