
AI Agent技能怎么写NotFair SKILL.md结构拆解References、Scripts与Evals三件套【免费下载链接】notfair-pluginOpen-source SEO, GEO, and marketing skills for AI agents.项目地址: https://gitcode.com/gh_mirrors/to/notfair-pluginNotFair Plugin 是一个开源的 AI Agent 技能库为 Claude Code、Codex 等 AI Agent 提供 48 个可复用的 SEO、GEO 与营销工作流。它的核心思路是每个技能就是一个文件夹由SKILL.md指令主文件、references/参考资料、scripts/确定性脚本和evals/评估用例四个部分组成。本文带你逐个拆解这套 SKILL.md 三件套看完你就能写出自己的 Agent 技能。 先认识 NotFair一个技能就是一个文件夹NotFair 把营销工作拆成一个个职责单一、可测试的技能而不是一个什么都能干的巨型 Prompt。仓库根目录的 AGENTS.md 是一张意图路由表用户说什么话就路由到哪个技能的哪个SKILL.md例如用户意图路由到技能路径全站 SEO 审计、流量下跌排查seo-analysisseo/seo-analysis/SKILL.md找关键词、做主题聚类keyword-researchseo/keyword-research/SKILL.md查死链、站点体检broken-link-checkerseo/broken-link-checker/SKILL.md如果想本地体验先克隆仓库可选git clone https://gitcode.com/gh_mirrors/to/notfair-plugin仓库里还附带了一个本地目标看板应用可以把自然点击 30%这类可度量目标变成 AI Agent 的周期性任务循环效果如下 第一步写好 SKILL.md 的路由卡片Frontmatter打开任意技能比如 seo/keyword-research/SKILL.md最开头是一段 YAML Frontmatter它相当于一张路由卡片name技能唯一标识如keyword-researchargument-hint告诉调用者该传什么参数如topic, niche, or seed keyworddescription技能说明书最关键的是写清触发时机——例如当用户说 find keywords、keyword research、search volume 时使用本技能并说明与相邻技能的边界做内容日历请用 content-planner新手最容易踩的坑description 只写做什么不写什么时候用。技能多了之后Agent 无法区分该调哪一个。 SKILL.md 正文给 Agent 的可执行流程Frontmatter 之后是 Markdown 正文NotFair 的技能普遍按这个骨架组织When This Must Trigger——触发场景清单覆盖用户不会说专业术语的情况What This Skill Does——技能交付物定义发现→分类→评分→聚类Quick Start——几条可直接复制的用户 Prompt 示例Data Sources——有连接器就用真实数据没有就降级为手动输入Instructions——编号化的步骤每步给出判定标准如难度 70-100 才算高难度和计算公式Validation Checkpoints——输入/输出自检清单要求每条建议必须引用具体数据点这种写法的好处指令是祈使句 可验收标准Agent 执行时可对照检查而不是自由发挥。 References把知识库从主 Prompt 里拆出去SKILL.md只放流程知识则放到references/子目录。以 seo/content-planner/references/planning-methodology.md 为例它开头就写明了存在理由本文件承载核心规则load-bearing logic刻意放在 SKILL.md 之外让主 Prompt 聚焦于工作流。里面是完整的 CTR-排名位置曲线表、机会分桶判定规则等重知识。同样地seo/keyword-research/SKILL.md 末尾列出了 4 份参考资料references/keyword-intent-taxonomy.md——搜索意图分类体系references/keyword-prioritization-framework.md——优先级评分矩阵references/example-report.md——完整示例报告经验法则Agent 每次都会完整读取SKILL.md而references/按需加载。把表格、模板、领域知识拆出去既能控制主 Prompt 长度又方便单独迭代知识而不改流程。 Scripts确定性活交给脚本别让模型心算当任务需要精确、可重复的结果时如爬站查死链NotFair 用scripts/里的确定性脚本兜底。看 seo/broken-link-checker/scripts/checker.pypython3 seo/broken-link-checker/scripts/checker.py --url $TARGET_URL --max-pages 50它的分工非常清晰seo/broken-link-checker/SKILL.md 只负责三步编排步骤谁来做做什么Step 1 确认目标 URLAgent用户没给 URL 就追问存为$TARGET_URLStep 2 执行扫描脚本爬虫抓取、并发检测 4xx/5xx输出 JSON 报告Step 3 分析汇报Agent解析 JSON按内部链接优先、给出修复建议组织报告这就是混合架构的精髓爬取、状态码判断这类确定性工作交给 Python还处理了 HEAD 被拒后回退 GET 的边界情况理解语义、组织人话汇报交给 LLM。脚本只输出结构化数据Agent 不接触数数、拼 URL这类容易出错的活。✅ Evals给技能配一张考卷改坏了能立刻发现前三个部分决定技能能不能跑evals/决定它跑得对不对。每个技能目录下的evals/evals.json是一份评估考卷结构如下以 seo/keyword-research/evals/evals.json 为例{ skill_name: keyword-research, evals: [ { id: 1, prompt: 找一家奥斯汀屋顶修补公司的关键词机会……, expected_output: 包含意图分类、难度评估的关键词报告……, expectations: [ 生成 20 个关键词并整理为主题聚类, 包含本地关键词变体Austin、near me, 按评分框架排序而非随机罗列 ] } ] }设计要点有三条Prompt 要像真实用户——口语化、带业务背景而不是测试腔expectations 写成可勾选的检查项——每条都能客观判断满足/不满足一个技能多道考题——覆盖不同行业、不同起点有内容 vs 从零开始跑考卷的方式见 test/helpers/llm_judge.py用另一个 LLMGemini当评委对 Agent 的实际输出逐条核对 expectations 并打 1–5 分。这样改一版SKILL.md措辞后跑一遍 evals 就知道效果是变好还是变坏——技能从此有了回归测试。️ 动手写一个三件套组合清单把 NotFair 的模式浓缩成一张表组件路径必需职责指令主文件SKILL.md✅触发条件 编号化流程 验收清单参考资料references/*.md可选模板、公式、领域知识按需加载确定性脚本scripts/*.py可选精确计算/抓取输出结构化数据评估用例evals/evals.json强烈建议真实 Prompt 可勾选期望防退化新手五步法建目录your-category/your-skill/写SKILL.mdFrontmatter 写清 name 和什么时候用我正文按触发场景→输入→步骤→自检清单编号化步骤用祈使句知识性内容拆到references/主文件只留一句See [references/xxx.md]有精确计算需求就加scripts/脚本只出数据、不做解释写 2–3 条evals/evals.json用真实口吻的 Prompt 可勾选的 expectations写完别忘登记按 CONTRIBUTING.md 的清单更新 AGENTS.md 路由表、插件清单、VERSION与CHANGELOG.md——一个只存在磁盘上、没进路由表的技能对 Agent 而言等于不存在。小结NotFair 给我们的启示是AI Agent 技能 一张路由卡片 一份可执行流程 按需加载的知识 一个确定性脚本 一套考卷。SKILL.md管怎么做references/管依据是什么scripts/管精确计算evals/管有没有改坏。四者各司其职技能才既稳定又可维护——这套结构完全可以平移到你的任何 Agent 工作流上。【免费下载链接】notfair-pluginOpen-source SEO, GEO, and marketing skills for AI agents.项目地址: https://gitcode.com/gh_mirrors/to/notfair-plugin创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考