vibeinging/yiyi/skill-creator
Claude Code and agent skill by vibeinging/yiyi
- community
Checking that the SKILL.md file is still in the repository.
技能创建器:创建新技能、修改和改进现有技能、测试技能性能。当用户想要从零创建技能、编辑或优化现有技能、运行评估来测试技能、基准测试技能性能、或优化技能描述以提高触发准确性时使用。只要用户提到「创建技能」「新建skill」「改进技能」「技能模板」「skill开发」等相关话题,即使没有明确说出skill-creator,也应该使用此技能。
Install
npx vskill@latest install vibeinging/yiyi/skill-creatorSKILL.md
Skill Creator
创建新技能并迭代改进的核心技能。
YiYi 技能系统说明
YiYi 的技能目录位于 ~/.yiyi/active_skills/,每个技能是一个包含 SKILL.md 的文件夹。SKILL.md 使用 YAML frontmatter 定义元数据(name, description, metadata),正文为 Markdown 指令。
技能结构:
流程概览
创建技能的整体流程:
- 明确技能要做什么、大致怎么做
- 编写技能草稿
- 用几个测试提示词试运行
- 帮助用户定性和定量评估结果
- 在后台运行测试期间,起草定量评估断言
- 使用
eval-viewer/generate_review.py脚本展示结果
- 根据用户反馈重写技能
- 重复直到满意
- 扩大测试集,更大规模验证
你的任务是判断用户处于这个流程的哪个阶段,然后帮助他们推进。灵活应变——如果用户说「不需要跑一堆评估,直接和我聊就行」,那就按他们的方式来。
技能完成后,还可以运行描述优化器来提升技能的触发精度。
与用户沟通
注意根据上下文线索调整沟通方式。默认情况下:
- 「评估」和「基准测试」这类词可以直接用
- 对于 JSON、assertion 等技术术语,先确认用户是否熟悉再使用
- 不确定时简短解释术语即可
创建技能
捕获意图
先理解用户的意图。当前对话可能已经包含用户想要捕获的工作流(比如他们说「把这个变成一个技能」)。如果是,先从对话历史中提取信息——使用的工具、步骤序列、用户做的修正、观察到的输入输出格式。
- 这个技能应该让 AI 能做什么?
- 什么时候应该触发这个技能?(什么用户短语/上下文)
- 期望的输出格式是什么?
- 是否需要设置测试用例来验证?
调研与访谈
主动询问边缘情况、输入输出格式、示例文件、成功标准和依赖。在确定这些之前不要急着写测试提示词。
编写 SKILL.md
基于用户访谈,填写这些组件:
- name: 技能标识符(使用下划线命名,如
my_skill) - description: 触发条件和功能描述。这是主要的触发机制——同时包含技能做什么和什么时候使用。为了对抗「触发不足」的倾向,描述要稍微「积极主动」一些
- metadata: YiYi 特有的元数据
``yaml metadata: { "yiyi": { "emoji": "适合的emoji", "requires": {} } } ``
- 技能正文: Markdown 格式的指令
技能编写指南
渐进式披露
技能使用三层加载系统:
- 元数据(name + description)- 始终在上下文中(~100词)
- SKILL.md 正文 - 技能触发时加载(理想<500行)
- 附带资源 - 按需加载(不限大小,脚本可直接执行)
关键模式:
- SKILL.md 控制在 500 行以内
- 从 SKILL.md 清晰引用参考文件,说明何时读取
- 大参考文件(>300行)包含目录
安全原则
技能不得包含恶意软件、漏洞利用代码或任何可能危及系统安全的内容。
编写模式
优先使用祈使语气编写指令。
定义输出格式:
示例模式:
编写风格
解释为什么某些事情很重要,而不是堆砌死板的 MUST。利用心智理论让技能通用而不是局限于特定示例。先写草稿,然后用新鲜眼光审视改进。
测试用例
编写技能草稿后,想出 2-3 个真实的测试提示词。与用户分享确认后运行。
保存测试用例到 evals/evals.json:
参见 references/schemas.md 获取完整 schema。
运行和评估测试用例
将结果放在 <skill-name>-workspace/ 目录中(作为技能目录的同级)。在工作区内,按迭代组织(iteration-1/、iteration-2/ 等),每个测试用例一个目录。
步骤 1: 启动所有运行
对每个测试用例,同时启动两个子 agent——一个带技能,一个不带。同一轮全部启动。
带技能运行:
基线运行:
- 创建新技能:不使用任何技能,保存到
without_skill/outputs/ - 改进现有技能:使用旧版本,先快照 (
cp -r)
为每个测试用例写 eval_metadata.json。
步骤 2: 运行期间起草断言
利用等待时间起草定量断言并向用户解释。好的断言是客观可验证的,且有描述性名称。主观技能(写作风格、设计质量)更适合定性评估。
步骤 3: 运行完成后捕获计时数据
子 agent 完成时保存 timing.json:
步骤 4: 评分、聚合、启动查看器
- 评分 — 读取
agents/grader.md评估每个断言。保存到grading.json - 聚合基准 — 运行:
``bash python -m scripts.aggregate_benchmark <workspace>/iteration-N --skill-name <name> ``
- 分析 — 参见
agents/analyzer.md分析基准数据 - 启动查看器:
``bash python <skill-creator-path>/eval-viewer/generate_review.py \ <workspace>/iteration-N \ --skill-name "my-skill" \ --benchmark <workspace>/iteration-N/benchmark.json ` 无显示环境用 --static <output_path>` 生成静态 HTML。
- 告诉用户结果已就绪
步骤 5: 读取反馈
用户完成后读取 feedback.json,空反馈表示满意,重点改进有具体意见的测试用例。
改进技能
改进思路
- 从反馈中泛化 — 技能要能被广泛使用,不要过拟合到测试用例
- 保持精炼 — 删除没有贡献的内容,阅读转录而不仅是最终输出
- 解释原因 — 解释 为什么 而不是堆砌 ALWAYS/NEVER
- 发现重复工作 — 如果多个测试用例都独立写了类似脚本,那就打包到
scripts/
迭代循环
- 应用改进
- 重新运行所有测试到新的
iteration-<N+1>/ - 启动查看器(带
--previous-workspace) - 等待用户评审
- 读取新反馈,继续改进
直到用户满意或反馈全为空。
描述优化
description 字段决定 AI 是否调用技能。技能完成后,可以优化描述提高触发准确性。
步骤 1: 生成触发评估查询
创建 20 个评估查询——should-trigger 和 should-not-trigger 混合。
查询必须真实具体:
- 差:
"格式化数据","提取PDF文本" - 好:
"我老板发了个xlsx文件在下载目录里,叫什么'Q4销售终版v2.xlsx',她让我加一列显示利润率百分比"
步骤 2: 用户评审
使用 assets/eval_review.html 模板让用户评审查询集。
步骤 3: 运行优化循环
步骤 4: 应用结果
取 best_description 更新 SKILL.md frontmatter,展示前后对比和分数。
参考文件
agents/grader.md— 评估断言agents/comparator.md— 盲比 A/B 对比agents/analyzer.md— 分析胜出原因references/schemas.md— JSON 结构定义
核心循环:
- 明确技能目标
- 草拟或编辑技能
- 用测试提示词运行
- 与用户评估输出(创建 benchmark.json + 运行 eval-viewer)
- 重复直到满意
- 打包最终技能
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingapp/src-tauri/skills/skill_creator/SKILL.md
Popularity
- Repository stars
- 108
- Repository forks
- 6
- 7-day trend score
- 23
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/vibeinging/yiyi/skill-creator)