Summary
- 当用户处于 skill 生命周期时使用本 skill:从工作流 / 模板 / 流程 / 决策模式创建新 skill、
- 通过 eval-and-iterate 改进现有 skill、独立优化某个 skill 的触发
- description、或拿写作原则审计 skill 合规性(只报告、不改写)。
- 触发:"我想 / 帮我…
yzr95924/yzr-skill
当用户处于 skill 生命周期时使用本 skill:从工作流 / 模板 / 流程 / 决策模式创建新 skill、 通过 eval-and-iterate 改进现有 skill、独立优化某个 skill 的触发 description、或拿写作原则审计 skill 合规性(只报告、不改写)。 触发:"我想 / 帮我 做一个 X 的 skill" / "从零做一个 skill 处理 X" / "把 XX 流程沉淀成 skill" / "以后能用 / 新人也能用 / 按这个走";改进 / 修改 / 评估 / 迭代 XX skill (修改含单点编辑:修 typo 等)、给 XX skill 增加 / 扩展功能;检查 / 审查 XX skill ? 不准或行为不对;想跑评估。 不适用…
npx skills add yzr95924/yzr-skill --skill yzr-skill-creator
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Create new skills, modify and improve existing skills, and measure skill performance. Use when …
375.6K installsKnowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, v…
67.1K installsCreate, organize, and distribute content across Workspace.
27.6K installsIntelligent Git Flow branch creator that analyzes git status/diff and creates appropriate branc…
9.6K installsCreate agent skills for Microsoft technologies using Learn MCP tools. Use when users want to cr…
9K installsCreate new skills, modify and improve existing skills, and measure skill performance. Use when …
6.2K installsOther skills from yzr95924/yzr-skill · top by installs.
npx skills add yzr95924/yzr-skill
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
master
Parsed from SKILL.md frontmatter.
Files included with this skill beyond the listing page.
SKILL.md
17,454 B
SUMMARY.md
926 B
这是一个用于创建、改进 skill、独立优化 skill 触发描述,并能校验 skill 写作原则符合度的 skill
用户进入本 skill 通常属于以下四种之一。先判断用户属于哪一种,再介入(介入路径随条给出):
skill")。介入:访谈边界 → 起草 SKILL.md(骨架从 assets/skill-template.md 拷贝)→ RED 演练 → eval 验证。
修改(含增加 / 扩展功能)分级介入——改动面 = 整个 skill 文件夹(SKILL.md / references/ / scripts/ / assets/ / eval/),不只 SKILL.md。判别尺度 = 改的是说法 (怎么表达:措辞 / typo / 指称 / 注释)还是规矩(怎么做决定 / 执行:规则 / 流程 / 脚本行为 / 新增功能)——说法 = 单点,规矩 = 行为性。单点修改直接做:对照 references/skill-writing-principles.md 写作原则自查 + 按文件类型验证(md → quick_validate.py / markdownlint;py → ruff check + format),汇报里声明分类 + 一句理由;行为性修改先问用户是否跑 eval 循环——不点头不跑、不静默降级。 行为性(评估 + 迭代)介入:快照旧版 → with-skill vs baseline 同轮并行 → 读 transcript 找"模型在哪里挣扎"→ 改 → 重跑验证。
触发准确率,不动 skill 正文("帮我优化 XX 的描述,让它该触发时触发")。这是独立 入口,不需要先创建或改进那个 skill,详见「工作流 / 步骤」下对应小节
审计某个已有 skill 符合多少、违反哪些("帮我检查 XX skill 写得规不规范 / 有没有 散弹式散落、口径冲突")。只报告、不改写;要修让用户点头再动。详见 「工作流 / 步骤」下对应小节
| 入口 | skill 交付 |
|---|---|
| 1. 创建 | 起草好的 <skill-name>/SKILL.md + 骨架,可选的 eval/evals.json |
| 2. 改进 | 改写后的 SKILL.md + <skill-name>-workspace/iteration-N/ 评估产物(outputs + grading.json) |
| 3. 描述优化 | 新 description 候选 + before/after 触发准确率(按 DEFAULTHOLDOUTRATIO 拆分) |
| 4. 原则校验 | 审计报告(每条原则 pass/fail + 证据 + 建议修法),不动手改 |
无论走哪个入口,下面这些原则贯穿全程——不是单独某一步的规则,而是 agent 在用本 skill 时应保持的判断基线:
cp -r 旧版到 workspace 做 baseline,否则"是否更好"无法量化description + 标题 + 章节 +when-to-use 措辞 + 操作步骤,不默认专指 frontmatter;用户要细分会用精确措辞 ("只改 frontmatter" / "只动 description 字段")。维度分清:frontmatter 只决定 "何时调"、正文决定"怎么用"——入口 3 只动前者,入口 1/2 才动正文
会偏向自己刚写的版本(grader 盲评约定见 references/agents/grader.md)
CONST = value 的,prose 用 ` CONST ` 引用,禁止写字面量(原则见 references/skill-writing-principles.md;本 skill 常量清单见「参考文件」)
一句人话解释
创建 / 改进一个 skill 的主要流程如下(入口 3、4 是独立入口,见本节尾部两个小节):
「创建一个 skill · baseline 演练(RED 阶段)」,此处不重抄);纯参考资料型 skill 可跳过
不预堵"可能存在的"漏洞
相邻负例)再跑一轮完整评估——小样本收敛 ≠ 大样本成立
用户说「不跑评估,直接头脑风暴」时照做。
先理解用户的意图。当前对话可能已包含用户希望捕获的工作流(如"把这段流程沉淀成 skill")—— 若是,先从对话历史抽取答案:用到了哪些工具、步骤顺序、用户做了哪些修正、观察到的 输入/输出格式。再主动补齐缺口,梳理清楚之前先不写测试 prompt,需要确认的:
数据抽取、代码生成、固定工作流步骤——测试用例有益)
调研:检查可用的 MCP,对调研有帮助(搜索文档、查找类似 skill、查阅最佳实践)且支持 子 agent 时并行调研,否则直接内联进行。
原则见
references/skill-writing-principles.md「Iron Law」。
不写 skill,先用旧版 skill(改进场景)或完全不带 skill(创建场景)跑 2–3 个典型 prompt——
这些 transcript 作为起草 skill 的输入——skill 不是凭空设计,是针对观察到的违规做最小封堵。 后续 Rationalization Table + Red Flags 的素材都来自这里。纯参考资料型 skill 跳过。
基于用户访谈的结果,按 assets/skill-template.md 的 frontmatter 占位符填充—— description 的三组件格式(场景一句 + 触发: + 不适用:)与写法原则的 SSOT 在 references/skill-writing-principles.md「description 优化原则」,不在此重抄。
后面为 skill 的正文——骨架从 assets/skill-template.md 拷贝,逐节填充(规范节名 / 顺序 / 各类型豁免的 SSOT 在 scripts/utils.py::CANONICALBODYSECTIONS,变体规则见 references/skill-template-guide.md「变体」)。先填全骨架再按「精简与粒度约束」删节,不要"想到哪写到哪"—— SKILL.md 格式统一靠的就是这份骨架。
起草完成后先跑预检再进入测试用例: python -m scripts.quick_validate <skill-dir>(frontmatter 合法性 + 正文结构 + description 格式标记;WARN 级提示不阻断)。
通用骨架 / 变体规则见 references/skill-template-guide.md;写作风格与语言原则见 references/skill-writing-principles.md「正文写作原则」——不在此重抄 agent 通识。
写完 skill 草稿后,设计几个测试 prompt(条数与「baseline 演练(RED 阶段)」同量级, 用真实用户会说的话)——先跟用户确认:"这是我准备跑的几个测试用例,你看这样 OK 吗? 要不要再补几个?"再跑起来
测试用例存到 eval/evals.json(结构见 references/schemas.md)。先不写断言,只写 prompt,等下一步再起草断言。
本节是连续流程,不要中途停下来。
- 入口 1(创建)→ withoutskill/ - 入口 2(改进)→ oldskill/(编辑前先快照旧版)
references/eval-pipeline.md
跑过测试用例、用户评审过结果后,根据反馈迭代——迭代原则(从反馈归纳泛化 / 保持精简 / 解释"为什么" / 找跨用例重复工作进 scripts/)见 references/skill-writing-principles.md 「精简与粒度约束」+「解释为什么」+「机械操作脚本化」三条,此处不重抄。
完成改进后:(1) 应用改动 → (2) 跑新 iteration-<N+1>/(含 baseline,baseline 取值:创建场景始终 without_skill;改进场景:用户最初版本 or 上一轮迭代,由你判)→ (3) 在对话里展示本轮对比(含上一轮对比)、请用户反馈 → (4) 按反馈继续循环。
原则见
references/skill-writing-principles.md「Iron Law」+「反合理化」。
每次迭代结束 + 读 transcript 后:(1) 识别新合理化(agent 又用什么借口绕禁令); (2) 加进 Rationalization Table(只补 agent 实际说过的——预写"可能存在"借口是反模式); (3) 对应红旗征兆若有缺则补 Red Flags;(4) agent 是否用看似不同但效果一致的手法绕禁令 → 在"违反字面 = 违反精神"里加新案例;(5) 重测同批 prompt,新借口应不再出现; 仍出现 = 回 GREEN 重写。
下轮改动前对每段答「精简与粒度约束」三问(哪段必需?哪段是 agent 常识冗余?哪段是 case 抄进去的 过拟合?),处理顺序按修法优先级——见 references/skill-writing-principles.md「精简与粒度约束」。
停止条件:用户满意 / 反馈全空 / 看不到有意义的进展。
优化原则见
references/skill-writing-principles.md「description 优化原则」
(optimize_description.py运行时也读这一节)。
直接优化某个已有 skill 的 description,提升触发准确率。--skill-path 原生支持 任意 skill 目录。
生成评估查询(数量 / should-trigger 配比 / 写作指南见 references/trigger-eval-guide.md), 存为 JSON。
把评估集在对话里呈现给用户审阅(should-trigger / should-not-trigger 分组列出, 请用户确认或增删改),确认后存为 JSON。
告诉用户:这一步会花一些时间,我会在后台跑优化循环,并定期检查进度。 把评估集存到 workspace,然后后台运行(用 setsid + 重定向 + < /dev/null 脱离进程组, 否则 agent shell 工具超时会连坐杀掉跑到一半的循环):
setsid python3 -m scripts.optimize_description \
--eval-set <path-to-trigger-eval.json> \
--skill-path <path-to-skill> \
--max-iterations 5 --verbose \
> /tmp/desc-eval-results.json 2> /tmp/desc-eval.log < /dev/null &
--model 可选:省略时 claude -p 用本机 claude CLI 的默认模型(不强绑定具体模型); 要指定时传 --model <id>。跑的过程中定期 tail 输出,告知用户当前在第几轮、分数长什么样。 脚本自动把评估集按 DEFAULTHOLDOUTRATIO 拆训练 / 保留测试(SSOT 在 scripts/optimize_description.py),每轮评估前跑 canary 对照查询(canary 失败 = 测量通道异常,脚本中止报错而非产数字)。结束时会打印 before/after 摘要(stderr), JSON 结果走 stdout。
从 JSON 输出取 bestdescription,向用户展示 before/after 并汇报分数; 用户确认后才更新到 skill 的 SKILL.md frontmatter(触发措辞属行为性改动,不先斩后奏)。 若 bestdescription 与原版相同,无动作,直接汇报。
拿写作原则当 checklist,审计某个已有 skill 符合多少、违反哪些——frontmatter 合法性 / 指标散落 / 口径冲突 / 章节覆盖 / 触发措辞等,产出 pass/fail 报告。只审计、不改写; 要修让用户点头再动或转入口 2。
references/skill-writing-principles.md 当 checklist(description 优化原则 + 正文写作原则 + 末尾「审计速查」表,逐条核对)。
SKILL.md(必要时连带 references/ / scripts/)。| 类别 | 操作 | ||
|---|---|---|---|
| frontmatter 合法性 + description 固定格式标记(触发: / 不适用:) | python -m scripts.quick_validate <skill-dir> |
||
| 正文结构一致性(规范节缺失 / 乱序 / 额外节) | `python -m scripts.quick_validate <skill-dir> --tier <default\ | reference\ | meta>——WARN 不 fail;节名 SSOT 在 scripts/utils.py::CANONICALBODYSECTIONS` |
| 跨 skill 双向依赖 | python -m scripts.checkskilldependencies <repo-root>("互提" ≠ "互依",是否成环靠 agent 读正文确认) |
||
| 跨文件 link anchor 漂移(spec 演进 / 段号变 / 章节删后无人察觉) | python -m scripts.checkanchorhealth <skill-dir> 或 --repo-root 全扫(--json 机器可读 / --include-templates 审模板) |
其余 grep 类检查(正文长度 / 跨文件重复 / 常量引用 / 链接路径基准 / Iron Law / 三件套 / 形式匹配 / 版本史 / 精简)集中在 principles 末尾「审计速查」表,逐条执行。
入口 4 默认按深度标准执行(全量精读 + 逐段删除测试,不只跑速查表机械检查)—— 细则见 references/skill-writing-principles.md「审查深度标准」。
references/ 补充文档:
references/agents/grader.md —— 如何对照输出评估断言(spawn grader 子 agent 时读)references/schemas.md —— evals.json、grading.json 的 JSON 结构references/trigger-eval-guide.md —— 描述优化的查询写作指南 + 触发原理 + 审阅流程references/skill-template-guide.md —— 通用写作骨架 / 变体规则references/skill-writing-principles.md —— description + 正文写作原则 + 末尾审计速查表(SSOT)references/eval-pipeline.md —— 行为评估的机械细节(workspace 布局 / 并行启动 / 评分 / 对话展示)assets/:
assets/skill-template.md —— 可拷贝的 SKILL.md 正文骨架(起草新 skill 时用)scripts/ 常量 SSOT:
scripts/utils.py::CANONICALBODYSECTIONS —— 正文规范节名 / 顺序 / 豁免(节名列表唯一真源)scripts/utils.py::DESCRIPTIONMAXCHARS —— description 长度硬上限scripts/optimizedescription.py::DEFAULTHOLDOUT_RATIO —— 触发评估集训练 / 保留测试拆分比例