oil-skill-creator 用来创建、Review、整改和发布 Agent Skill。它关心的不只是说明有没有写完,而是这个 Skill 是否值得安装、能否稳定执行、是否适合能力较弱的模型,以及效果不好时能不能找到真正的设计原因。
静态校验通过,只能证明已知结构没有问题,不能证明一个 Skill 真的有用。
你会得到什么
- 最小且清楚的 Skill 文件结构,不为了完整感创建空目录;
- 明确的触发与反向边界,减少误触发和漏触发;
- 静默、可恢复的首次使用流程;
- 用程序固定确定、重复、失败敏感的步骤;
- 整改前不可变快照,以及新版与旧版的对照依据;
- 触发测试、效果聚合、本地评审页和可重复发布包;
- 对 Token、弱模型可读性、宿主中立和跨平台范围的检查。
三种使用模式
| 模式 | 什么时候使用 | 默认结果 |
|---|---|---|
| 创建 | 从零设计一个可重复使用的 Skill | 可执行、可验证的 Skill |
| Review | 只想知道现有 Skill 哪里有问题 | 按 P0、P1、P2 排列的只读报告 |
| 整改 | 已经确认需要修复或优化 | 保留基线、局部修改并完成复验 |
Review 默认不修改文件。只有明确要求整改时,才会保存快照并开始写入。
安装
让 Agent 安装
复制下面的仓库地址,告诉你正在使用的 Agent:“请帮我安装这个 Skill。”
https://github.com/oil-oil/oil-skill-creator
使用命令安装
npx skills add oil-oil/oil-skill-creator
该安装方式需要本机能够运行 npx,但 Node.js 不是 Skill 的运行依赖。
核心脚本要求 Python 3.10 或更高版本,只使用标准库,无需安装额外依赖,也不需要密钥或初始化配置。
下文中的 <python> 表示已确认版本不低于 3.10 的 Python 解释器:macOS 和 Linux 通常使用 python3,Windows 通常使用 py -3。
开始使用
直接用自然语言说明目标和写入权限:
用 oil-skill-creator 创建一个可公开发布的 Skill。
只 Review 这个 Skill,按优先级给出证据,不要修改文件。
整改这个现有 Skill,先保留旧版基线,再修复和复验。
验证新版是否比普通 Agent 或旧版更有效。
如果已有文件已经说明用户、输入、输出或平台限制,Skill 会直接读取,不会重复提问。只有缺少的决定会改变结果、需要新权限或可能覆盖内容时,才会集中询问。
它重点检查什么
Skill 是否值得做
先确认它解决的是重复问题,并且相比普通 Agent 有可见改善。一次性任务、简单提醒或已经足够稳定的工作,不会被强行包装成 Skill。
Agent 与程序是否分工合理
语义、策略、例外和主观质量交给 Agent 或用户判断;结构、格式、快照、统计、组装和打包等确定流程交给程序。这样既减少遗漏,也避免把主观问题硬编码成规则树。
大型产物是否容易生成和修改
当目标 Skill 容易生成难以维护的巨型单文件时,会检查产物能否按稳定边界拆分、独立验证和局部重做,再由脚本确定性组装。不会按固定行数机械拆分。
是否需要可复用操作页面
复杂配置、反复预览或人工确认不必每次临时生成界面。适合时,Skill 会使用固定页面读取 manifest,由程序负责加载和保存,Agent 只串联操作流程。
能力较弱的模型能否看懂
检查入口、模式、术语、分支位置和资源读取时机。主文件只保留主流程,阶段细节按需读取,同一规则不在多个文件重复。
稳定工具
| 工具 | 用途 |
|---|---|
scaffold_skill.py |
预览并创建最小 Skill 骨架,拒绝覆盖已有目录 |
validate_skill.py |
检查结构、链接、重复、个人路径、明文凭据、弱模型风险和宿主中立 |
snapshot_skill.py |
在整改前保存不可覆盖的旧版基线 |
prepare_evaluation.py |
创建固定的新版、普通 Agent 或旧版对照目录 |
aggregate_evaluation.py |
聚合执行结果、耗时和检查数据 |
generate_review.py |
生成不自动打开浏览器的本地静态评审页 |
score_triggers.py |
统计正向、反向和保留集上的触发表现 |
package_skill.py |
生成内容稳定、默认不覆盖的 .skill 发布包 |
查看任一工具的参数:
<python> scripts/validate_skill.py --help
公开发布或整改完成前,运行严格校验:
<python> scripts/validate_skill.py <skill-path> --public --strict --weak-model --universal
只有产品明确依赖某个宿主时,才省略 --universal,并如实说明不兼容范围。
效果评估
创建模式比较“使用 Skill”和“普通 Agent”;整改模式比较当前版本和写入前快照。程序负责准备固定目录、检查数据格式和聚合结果,隔离执行者负责分别运行候选,人类负责审美、文案和整体体验等主观结论。
<python> scripts/prepare_evaluation.py <skill-path> --mode create --iteration 1
<python> scripts/aggregate_evaluation.py <iteration-path>
<python> scripts/generate_review.py <iteration-path>
没有子 Agent 或等价的隔离执行能力时,仍可完成静态 Review、程序测试和作者试跑,但不能宣称已经完成独立对照。
兼容性
| 范围 | 当前状态 |
|---|---|
| Python | 3.10+,核心脚本只使用标准库 |
| macOS | 已运行自动化测试 |
| Windows / Linux | 已按标准库和跨平台路径实现,真实平台运行仍待验证 |
| 无浏览器或 GUI | 核心流程可用;评审页只生成文件,不自动打开 |
| 无子 Agent | 创建、静态 Review 和程序测试可用;独立效果对照降级 |
| 离线环境 | 核心脚本只处理本地文件,不联网 |
脚本使用 pathlib 和 UTF-8,不依赖 bash、PowerShell、Homebrew 或单平台打开命令。兼容性只描述已经实现或验证过的范围。
数据与安全边界
- 只处理用户明确指定的本地文件;普通配置与密钥分开保存;
- 本项目自身无需密钥,也不提供通用凭据适配器;它要求目标 Skill 优先使用系统凭据存储,JSON 只保存非敏感配置和凭据引用;
- 默认拒绝覆盖已有 Skill、快照、评审页、iteration 和发布包;
- 打包默认排除 Git、虚拟环境、缓存、评估数据和运行 workspace;
- 不负责执行目标 Skill 的实际业务任务;
- 不用 AI 自评分数替代视觉、文案等主观评审;
- Review、反馈、版本差异和单次任务记录不会写入正式 Skill。
开发与验证
<python> -m unittest discover -s tests -v
<python> scripts/validate_skill.py . --public --strict --weak-model --universal
测试覆盖文件保护、快照、基础结构、资源链接、敏感信息、宿主中立、内容重复、弱模型结构、效果评估、触发测试和可重复打包。
需要继续设计 GitHub 首页时,可以使用 beautify-github-readme 调整阅读顺序或制作视觉资源;它不是安装或运行依赖。
No comments yet
Be the first to share your take.