不用API、不用AppKey!录一段HAR,AI帮你把任意网站变成专属Skill
Skill就是一份给AI Agent看的结构化操作手册。它是一个独立的文件夹,里面有一个必须的SKILL.md入口文件,再加上几个可选的脚本、参考资料和示例。就这么简单。它不是什么高大上的技术,就是把你平时做事情的步骤,用AI能看懂的方式写下来而已。HAR(HTTP Archive)是浏览器的网络请求录制文件。请求的URL地址请求方法(GET/POST/PUT等)请求头(包括Cookie、User
不用API、不用AppKey!录一段HAR,AI帮你把任意网站变成专属Skill
15分钟零代码搞定所有重复操作,亲测全程无坑
每天打开电脑,你是不是都在重复这些事:
- 打开GitHub,点New Issue,填标题、写描述、选标签、指派负责人,提交
- 切到Notion,点New Page,选模板,填内容,分享给同事
- 再切到Jira/Linear,创建任务,设置优先级、截止日期、关联项目
- 最后打开公司SaaS后台,选上周的日期范围,点导出报表,等下载
- 来回切换十几个标签页,复制粘贴几十次,半小时就这么没了
更气人的是,这些操作没有任何技术含量,纯机械劳动,但你又不得不做。
今天我要分享一个彻底改变我工作方式的黑科技——Skill。不用啃厚厚的API文档,不用申请任何AppKey,不用写复杂的代码,甚至不用懂编程。你只需要用浏览器录一段你的操作,剩下的全部交给AI。15分钟,就能把任何网站变成你的专属AI自动化工具。
我说的是任何网站:GitHub、Notion、Slack、飞书、钉钉、公司内部系统、甚至各种没有公开API的论坛和后台。只要你能在浏览器里打开并操作,就能变成Skill。
这篇文章我会写得比原文更详细、更落地,把所有坑都踩过告诉你,跟着做,今天就能做出你的第一个Skill。
先彻底搞懂:Skill到底是什么?又不是什么?
在动手之前,先把这个核心概念掰碎了讲,保证你看完就懂,没有任何模糊的地方。
一句话定义
Skill就是一份给AI Agent看的结构化操作手册。它是一个独立的文件夹,里面有一个必须的SKILL.md入口文件,再加上几个可选的脚本、参考资料和示例。
就这么简单。它不是什么高大上的技术,就是把你平时做事情的步骤,用AI能看懂的方式写下来而已。
90%的人都会搞错的5个误区
我一开始也走了很多弯路,以为Skill是程序员才能玩的东西,直到我真正做了第一个才明白,它和你想的完全不一样:
| 你以为的Skill | Skill实际上是 |
|---|---|
| 一段需要编译运行的复杂代码 | 一份纯文本的Markdown操作手册 |
| 需要安装各种环境和依赖的程序 | 零构建、零部署,打开就能用 |
| 对网站公开API的专业封装 | 你自己操作的复刻 + AI决策规则 |
| 只有资深工程师才能开发 | 任何会用浏览器、会写中文的人都能写 |
| 一次做好就能用一辈子的完美工具 | 会跟着你的工作习惯不断进化的活文档 |
Skill的运行核心:渐进式披露
这是Skill设计最聪明的地方,也是它能跑这么快、这么省的原因。
你可能知道,AI的上下文窗口是有限的,而且每一个token都要花钱。如果把所有信息都一股脑塞给AI,不仅会变慢、变贵,还容易出错。
所以Skill遵循渐进式披露原则:AI一开始只看SKILL.md这一个文件,知道自己要做什么、第一步该干嘛。只有当执行到某一步需要用到某个脚本或资料时,才会去读取对应的文件。
就像你看书一样,先看目录,知道大概讲什么,需要哪一章再翻哪一章,而不是把整本书一次性背下来。
核心干货:4步把任意网站变成Skill(手把手保姆级)
这是全文最重要的部分,我会把每一个点击、每一个选项都写清楚,你跟着做,一步都不会错。
Step 1:搞定登录认证,让AI替你“持证上岗”
所有需要登录的网站,第一个拦路虎就是认证。但这其实是最简单的一步,两种方法,你选一个就行。
方法A:直接复用Cookie(新手首选,5分钟搞定)
这是最简单、最不容易出错的方法,我强烈建议新手从这个开始。
具体步骤:
- 打开Chrome浏览器,登录你想要自动化的目标网站(比如GitHub)
- 按
F12打开开发者工具,切换到顶部的Application标签 - 在左侧菜单栏找到Storage → Cookies,点击目标网站的域名
- 右侧会出现所有的Cookie,点击任意一个,然后按
Ctrl+A全选,再按Ctrl+C复制 - 把复制的Cookie字符串粘贴到Skill的本地配置文件里(比如
~/.my-skills/config.json)
注意事项:
- Cookie的有效期通常是几天到几个月,不同网站不一样
- 过期了没关系,重复上面的步骤重新复制一次就行
- 不要把你的Cookie分享给任何人,这相当于你的账号密码
方法B:用CDP自动登录(进阶,完全自动化)
如果你不想每次Cookie过期都手动复制,可以用这个方法,实现真正的无人值守。
Chrome DevTools Protocol(CDP)允许程序控制Chrome浏览器。你只需要写一段10行左右的简单脚本,让AI复用你已经登录的Chrome个人资料,就能直接拿到认证状态。
核心原理:你平时用Chrome登录网站后,Chrome会把你的登录状态存在本地的个人资料文件夹里。CDP可以直接读取这个文件夹,不用重新输入账号密码。
核心原则:无论用哪种方法,登录成功后一定要把Cookie持久化到本地配置文件。这样所有的Skill都可以复用这个Cookie,不用每个Skill都重新登录一次。
Step 2:用Chrome HAR录制你的目标操作
这是整个流程最核心的一步,也是Skill最神奇的地方——你不需要懂任何网络知识,不需要抓包,不需要分析接口,浏览器会帮你把所有事情都做好。
什么是HAR文件?
HAR(HTTP Archive)是浏览器的网络请求录制文件。它会完整记录你在页面上的每一个HTTP请求:
- 请求的URL地址
- 请求方法(GET/POST/PUT等)
- 请求头(包括Cookie、User-Agent等)
- 请求体(你提交的表单数据、JSON内容等)
- 服务器返回的响应内容
简单说,HAR文件就是你操作的完整网络录像。AI只要看了这个录像,就能100%复刻你的操作。
手把手教你录制HAR
- 按
F12打开开发者工具,切换到顶部的Network标签 - 确认左上角的红色录制按钮是亮着的(如果没亮,点一下它)
- 勾选Preserve log(这个非常重要!不勾选的话,页面跳转后录制的内容会丢失)
- 点击Clear按钮,清空之前的所有请求记录
- 只执行你想要自动化的那一个操作,不要做任何多余的点击
- 操作完成后,右键点击任意一条请求记录,选择Save all as HAR with content
- 把文件保存到你的Skill文件夹里
到底该录什么?(附常见场景对照表)
记住一个原则:只录核心操作,不要录多余的步骤。操作越干净,生成的HAR文件越小,AI分析得越准,出错的概率越低。
| 你想自动化的功能 | 你只需要录制这些操作 |
|---|---|
| 在GitHub上创建Issue | 点击New Issue → 填写标题和描述 → 点击Submit |
| 在Notion中新建页面 | 点击New Page → 填写标题 → 点击空白处确认 |
| 在Linear上创建任务 | 点击Create → 填写标题和描述 → 点击Save |
| 从SaaS后台导出周报表 | 选择上周的日期范围 → 点击导出按钮 → 等待下载开始 |
| 在论坛发布新帖子 | 填写标题和内容 → 选择分类 → 点击发布 |
| 给飞书群发送每日日报 | 打开飞书群 → 输入日报内容 → 点击发送 |
💡 录制技巧:
- 录制前先把所有无关的标签页都关掉
- 不要刷新页面,不要点击任何无关的链接
- 如果操作过程中出现了弹窗,只录和目标操作相关的弹窗
- 尽量用最快的速度完成操作,减少不必要的等待
Step 3:把HAR丢给AI,自动生成可复用脚本
这一步是真正的魔法时刻。你什么都不用做,只要把HAR文件发给AI,剩下的全部交给它。
具体操作
- 打开你常用的AI工具(GPT-4o、Claude 3、豆包4都可以,效果都很好)
- 上传你刚才录制的HAR文件
- 输入下面这个提示词(直接复制粘贴就行):
请帮我分析这个HAR文件,找出实现【创建GitHub Issue】这个操作的关键API请求。
过滤掉所有无关的静态资源请求和页面跳转请求。
提取关键请求的URL、请求方法、请求头和请求体结构。
然后生成一个完整的、可直接运行的Python脚本,实现这个功能。
脚本需要支持从本地配置文件读取Cookie,并且把标题、描述、仓库地址这些参数做成可配置的。
- 等待10秒钟,AI就会给你返回一个完整的Python脚本
AI会帮你做什么?
- 自动过滤掉所有无关的请求(比如图片、CSS、JS文件)
- 精准识别出真正实现功能的那1-3个核心API请求
- 自动提取请求的所有必要信息,包括各种加密的头信息
- 自动处理请求的编码和格式问题
- 生成结构清晰、注释完整的可运行脚本
80%的情况下,AI生成的脚本可以直接运行。你最多只需要微调一下Cookie的读取路径,或者某个参数的名称,完全不用自己写一行代码。
💡 一个超级实用的冷知识:
通过HAR分析出来的接口,是网站自己前端调用的私有接口。这些接口通常比网站公开的API更稳定、功能更全、速度更快。因为网站自己也要用这些接口,它们不会随便改动。很多没有公开API的网站,用这个方法一样可以自动化。
Step 4:写SKILL.md,把脚本组装成完整的Skill
现在你有了登录用的Cookie,有了实现功能的脚本,最后一步就是写一份SKILL.md文件,告诉AI Agent:
- 什么时候应该调用这个Skill
- 调用之前需要检查什么
- 按什么顺序执行哪些步骤
- 遇到错误的时候应该怎么处理
这份文件就是AI的行动总指南,AI会严格按照这份文件里写的来执行。
SKILL.md的基本结构
我给你一个通用的模板,你直接填空就行:
---
name: GitHub Issue Creator
description: 当用户说"创建GitHub Issue"、"新建GitHub问题"或"create github issue"时,使用这个Skill在指定的GitHub仓库创建一个新的Issue。
author: 你的名字
version: 0.1
---
# GitHub Issue 创建 Skill
## 前置检查
1. 检查本地配置文件中是否存在GitHub的Cookie
2. 如果Cookie不存在,提示用户先登录GitHub并复制Cookie
## 执行步骤
1. 使用AskUserQuestion询问用户以下信息:
- 目标仓库地址(例如:octocat/Hello-World)
- Issue标题
- Issue描述
- 标签(可选)
- 负责人(可选)
2. 运行脚本:`python ${SKILL_DIR}/scripts/create_issue.py`
3. 将脚本返回的Issue链接展示给用户
## 错误处理
| 错误类型 | 处理方式 |
|----------|----------|
| 401 Unauthorized | Cookie已过期,提示用户重新复制Cookie |
| 404 Not Found | 仓库不存在,提示用户检查仓库地址 |
| 网络超时 | 等待15秒后重试一次,再失败则提示用户检查网络 |
就是这么简单。你只需要把里面的内容换成你自己的Skill就行。
让你的Skill好用10倍:SKILL.md设计黄金法则
做好基础版的Skill很简单,但要做一个真正好用、不折腾、不打断用户的Skill,需要注意下面这些细节。这些都是我踩了无数坑总结出来的经验,原文里也提到了,但我会讲得更透彻。
1. SKILL.md是唯一入口,且必须精简
这是Skill设计最重要的原则,没有之一。
AI Agent只需要读取
SKILL.md这一个文件,就能理解整个Skill的全部行为。
反模式:把所有的说明、所有的代码、所有的参考资料都堆进SKILL.md里,导致文件超过400行。AI的阅读效率会急剧下降,很容易漏看信息,甚至完全看不懂。
正确做法:
SKILL.md只写最核心的触发条件、执行步骤和错误处理- 所有的脚本都放在
scripts/子文件夹里 - 所有的参考资料和详细说明都放在
references/子文件夹里 SKILL.md里只写对应的路径,AI需要的时候会自己去读- 严格控制
SKILL.md的长度,最好不要超过300行
2. Frontmatter是触发器的关键,一定要写好
SKILL.md开头的YAML Frontmatter不只是元数据,它直接决定了AI什么时候会激活你的Skill。
写好description的3个技巧:
- 功能+触发词合写:在描述功能的同时,把所有可能的触发关键词都嵌进去
- 中英文双语:同时覆盖中英文的用户指令,避免漏触发
- 显式声明触发条件:用"Use when user asks to…"这样的句式,减少误触发
反面例子:
description: 一个用于创建GitHub Issue的Skill
正面例子:
description: Use when user asks to 创建GitHub Issue、新建GitHub问题、提交GitHub bug、create github issue、open a github issue。在指定的GitHub仓库中创建一个新的Issue,支持设置标题、描述、标签和负责人。
3. 永远不要硬编码路径,用${SKILL_DIR}
这是新手最容易犯的错误。如果你在SKILL.md里写了python /home/xxx/skills/github/scripts/create_issue.py,那么这个Skill只能在你的电脑上运行,换个电脑、换个文件夹就会报错。
正确做法:
在SKILL.md里声明${SKILL_DIR}为当前文件所在的目录,所有的脚本路径都写成${SKILL_DIR}/scripts/xxx.py。
AI会自动推算出实际的绝对路径,无论你把Skill安装在哪个文件夹、哪台电脑上,都能正确执行。
4. 工作流要用编号Step,不要用散文
不要用大段的文字描述流程,一定要用清晰的编号Step结构。
每一步都要明确写清楚:
- 这一步的输入是什么
- 需要执行什么命令或操作
- 这一步的输出是什么
AI会严格按照编号的顺序执行,不会跳步,也不会漏步。如果有分支判断,也要明确写出来。
5. 用AskUserQuestion,一次确认所有信息
这是让Skill变得"聪明"的最关键技巧,90%的人都不知道。
AI Agent内置了一个原生的提问确认能力。当SKILL.md里出现AskUserQuestion这个关键词时,Agent会暂停执行,弹出一个原生的选项卡UI,让用户直接点选或填写信息,而不是在对话框里来回打字确认。
反模式:每个字段单独问一次用户。
AI:你要在哪个仓库创建Issue?
用户:octocat/Hello-World
AI:Issue的标题是什么?
用户:修复登录bug
AI:Issue的描述是什么?
用户:点击登录按钮没反应
AI:要加什么标签吗?
用户:bug
这样来回打断用户5次,体验差到极点,用户宁愿自己手动做。
正确模式:把所有需要确认的信息打包成一次提问。
1. 使用AskUserQuestion询问用户以下信息:
- 目标仓库地址(必填)
- Issue标题(必填)
- Issue描述(必填)
- 标签(可选,多选:bug, feature, documentation)
- 负责人(可选)
用户只需要填写一次表单,点击确认,AI就会自动执行剩下的所有步骤,不再中断。
6. 进阶:让AI记住你的习惯,越用越顺手
AskUserQuestion还有一个更高级的用法——结合习惯文件,让Skill在和你的交互中不断学习你的偏好。
实现逻辑:
- 第一次使用时,
AskUserQuestion正常询问所有字段 - 用户提交后,脚本自动把用户的选择写入本地的习惯文件(比如
~/.my-skills/habits.json) - 习惯文件按工作区分组存储,比如不同的项目有不同的习惯
- 第二次使用时,AI会自动读取习惯文件,把用户上次的选择作为预填默认值
- 用户只需要确认或微调个别字段,不用每次都重新填写所有内容
优先级:当前工作区习惯 > 全局习惯 > Skill内置默认值
这个模式真的非常好用。比如我创建GitHub Issue,90%的情况都是在同一个仓库,标签都是bug,负责人都是我自己。现在我只需要输入标题和描述,其他的AI都已经帮我填好了,一键确认就行。
7. 错误处理一定要写进SKILL.md,不要让AI猜
不要指望AI能自己处理所有的错误。你必须把所有已知的错误类型和对应的处理方式,明确地写进SKILL.md里。
写得越具体,AI处理异常的表现就越稳定。如果不写,AI遇到错误可能会瞎猜,做出一些奇怪的操作。
一个标准的错误处理表格应该是这样的:
| HTTP状态码 | 错误原因 | 处理方式 |
|---|---|---|
| 401 | Cookie过期或无效 | 提示用户重新登录并复制Cookie |
| 403 | 没有权限访问该资源 | 提示用户检查账号权限 |
| 404 | 请求的资源不存在 | 提示用户检查输入的参数是否正确 |
| 429 | 请求过于频繁,被限流 | 等待60秒后重试一次 |
| 500/502/503 | 服务器内部错误 | 等待30秒后重试一次,再失败则提示用户稍后再试 |
进阶技巧:让你的Skill更鲁棒、更耐用
上面的内容已经足够你做出一个很好用的Skill了。如果你想让你的Skill更稳定、在不同的环境下都能跑,可以再看看下面这些进阶技巧。
1. 渐进重试机制
网络超时、服务器波动、Cookie刚过期这些问题,很多时候重试一下就能解决。
在SKILL.md里指定渐进重试逻辑:
- 第一次失败:等待15秒后重试
- 第二次失败:等待30秒后重试
- 第三次失败:等待60秒后重试
- 第四次失败:停止重试,提示用户手动处理
特别是自动登录的场景,需要等待页面跳转和Cookie写入,等待时间不足是最常见的失败原因。
2. 工具检测降级链
不要假设用户的电脑上一定安装了某个工具。你应该给脚本设计一个工具降级链。
比如,发送HTTP请求:
- 优先检测
curl是否可用,如果可用就用curl - 如果
curl不可用,检测wget是否可用 - 如果
wget也不可用,回退到Python内置的requests库 - 如果
requests也没安装,提示用户运行pip install requests
这样你的Skill在几乎所有的电脑上都能跑起来,不会因为缺少某个依赖就直接罢工。
3. 健康检查步骤
网站的私有API可能会不定期更新。如果等到执行关键操作的时候才发现接口变了,可能会造成数据丢失或错误。
建议在Skill的最前面加一个健康检查步骤:
## 前置检查
1. 检查Cookie是否存在且有效
2. 发送一个低风险的GET请求(比如获取用户信息),验证接口是否正常
3. 如果健康检查失败,提示用户接口可能已更新,需要重新录制HAR
这样可以提前发现问题,避免在执行到一半的时候出错。
真实案例:我15分钟做出的任务管理Skill
光说不练假把式,我给你看一个我自己做的真实案例。我用了15分钟,做了一个Linear任务管理的Skill。
完整流程
- 登录:打开Linear,F12复制Cookie,粘贴到本地配置文件(2分钟)
- 录制HAR:点击Create → 填写标题和描述 → 点击Save,保存HAR文件(3分钟)
- AI生成脚本:把HAR文件发给GPT-4o,用上面的提示词生成脚本(2分钟)
- 写SKILL.md:用上面的模板,填写触发词、执行步骤和错误处理(8分钟)
最终成果
- 一个50行的
SKILL.md文件 - 一个100行左右的Python脚本
- 总大小不到10KB
第一版虽然简单,只能创建任务,不能查询,也不支持多项目,但它能用。它解决了我每天要创建十几个任务的痛点,每天能帮我省20分钟。
后来我慢慢迭代:
- v0.2:加了查询任务列表的功能
- v0.3:加了按优先级和负责人筛选的功能
- v0.4:加了批量创建任务的功能
- v0.5:加了习惯文件支持,自动记住我常用的项目和优先级
每次加一个功能,只需要半小时左右。现在这个Skill已经成了我每天用得最多的工具之一。
完工检查清单:写完Skill必做的8件事
写完一个Skill后,对照这张清单做最后检查,能帮你避免90%的常见问题:
| 维度 | 检查项 |
|---|---|
| ✅ 入口 | SKILL.md精简可执行,长度小于300行 |
| ✅ 触发 | Frontmatter的description包含中英文触发词 |
| ✅ 路径 | 所有脚本路径都使用${SKILL_DIR},没有硬编码 |
| ✅ 工作流 | 步骤清晰,每一步都有明确的输入和输出 |
| ✅ 认证 | Cookie持久化到本地配置文件,有过期提示 |
| ✅ 错误 | 有完整的错误处理表格和渐进重试逻辑 |
| ✅ 脚本 | 有依赖检测和工具降级链 |
| ✅ 文档 | 详细的参考资料放在references/文件夹,SKILL.md只列路径 |
从零到一:现在就做你的第一个Skill
不要等到"准备好"再开始,现在就动手。从最简单的操作开始,先跑通整个流程,再慢慢迭代。
给新手的第一个Skill推荐
我建议你从只涉及1-2个HTTP请求的查询类操作开始,这类操作最简单,最容易成功,也最容易获得成就感。
比如:
- 查询GitHub仓库的Star数
- 查询Notion数据库里的待办事项
- 查询今天的天气预报
- 查询快递物流信息
完整的第一步行动指南
- 选一个你每天都要做的、最简单的重复操作
- 用Cookie方法搞定登录认证
- 录制这个操作的HAR文件
- 把HAR文件发给AI,生成脚本
- 写一个最简单的SKILL.md,定义触发词和执行步骤
- 测试一下,看看能不能跑通
- 如果能跑通,恭喜你!你已经做出了你的第一个Skill
最重要的一句话:Skill不追求完美,追求持续迭代
90%的人都死在了这一步:他们想一开始就做一个"完美的"、"全能的"Skill,结果想了一个星期,一行都没写。
这是对Skill最大的误解。
Skill不是一个需要一次性做好的产品,它是一个会跟着你一起成长的活文档。它的生命周期应该是这样的:
- v0.1:解决一个最具体、最痛的小问题,能用就行,哪怕很粗糙
- v0.2:用了几天,发现少了一个参数,加上
- v0.3:同事说他也想用,把文档写清楚一点
- v0.4:遇到了一个新的错误,把错误处理加上
- v1.0:经过几十次的使用和迭代,真正适合你工作方式的工具
一个用了三个月、经历了十几次迭代的"粗糙"Skill,比一个精心设计但从来没有真正用过的"完美"Skill,价值高出一个数量级。
写在最后
Skill的本质是什么?
它不是什么高大上的AI技术,也不是什么程序员的专属玩具。它是一种把你自己的隐性操作知识,沉淀为可复用的专属AI工具的方式。
以前,你会做一件事,只能你自己做。你教别人做,要花几个小时,别人还不一定能学会。
现在,你只需要录一遍你的操作,AI就能学会。而且它永远不会累,不会出错,不会忘记,24小时随时待命。
传统的自动化方式,需要你去研究API文档、申请AppKey、封装SDK、处理各种异常。门槛高,耗时长,通常只有专业的工程师才会做。
而HAR录制 + AI分析的方式,把这个门槛打到了地板上。你不需要懂任何编程知识,不需要懂任何网络知识,你只需要会用浏览器,会描述你想做什么,剩下的全部交给AI。
你每天要用多少个网站?你每天要重复多少次相同的操作?
这些操作,都可以变成你的专属Skill。
不要等了。现在花15分钟,做你的第一个Skill。让AI替你干那些机械重复的活,把你的时间留给真正重要的事。
更多推荐





所有评论(0)