读懂 skills 项目架构:SKILL.md + rules 文档驱动的技能包设计哲学
读懂 skills 项目架构SKILL.md rules 文档驱动的技能包设计哲学【免费下载链接】skillsMy own collection of skills for modern Node.js development项目地址: https://gitcode.com/gh_mirrors/skills15/skillsskills是一个面向 AI 辅助开发AI-assisted development的技能包合集收录了 11 个针对现代 Node.js 开发的技能包每个技能包都由SKILL.md 入口 rules/ 规则文档库两层结构组成用零行可执行业务逻辑的方式把最佳实践注入 AI 编码助手。本文拆解这套文档驱动的技能包架构是如何设计的为什么规则必须拆成独立文件以及基准测试如何保证技能真正生效。一、总览11 个技能包零行业务逻辑README.md 开门见山这不是一个常规应用而是面向 AI 辅助开发的skills/prompt 库。目前收录的技能包如下技能包定位nodeNode.js 开发最佳实践流、测试、性能、优雅关闭fastifyFastify 后端开发最佳实践覆盖请求完整生命周期nodejs-coreNode.js 内部机制V8、libuv、C 插件、构建系统typescript-magicianTypeScript 高级类型系统与泛型技巧oauthOAuth 2.0/2.1 规范专家与 Fastify 集成模式init创建并维护高信号 AGENTS.md其余documentation、linting-neostandard-eslint9、octocat、snipgrapher、skill-optimizer整个仓库唯一的代码只有少量 TypeScript作用见第七节。二、技能包三件套一个目录一个技能包打开任意技能目录结构完全一致。以skills/node为例skills/node/ ├── SKILL.md # 入口元数据 激活说明 规则索引 ├── tile.json # 注册表清单 └── rules/ # 15 份详细规则文档 ├── streams.md ├── testing.md └── ...SKILL.md是技能包入口与索引契约告诉 AI 何时使用该技能并链接到每一个 rules 文档。rules/*.md是详细规则每一份都是一个可独立加载的知识单元。tile.json是让技能注册表识别该包的清单声明包名、版本并指向 SKILL.md 入口参见 skills/fastify/tile.json。三、SKILL.md 设计为激活而写而非为人类阅读每个 SKILL.md 顶部都是 YAML frontmatter 元数据见 skills/node/SKILL.mdname: node description: Provides domain-specific best practices for Node.js development... Use when setting up Node.js projects with native TypeScript support... metadata: tags: node, nodejs, typescript, backend关键设计藏在description里它不是给人看的功能摘要而是给模型看的激活说明。node 技能的描述中显式列出了触发词native TypeScript in Node、strip types、Node 22 TypeScript 等AI 遇到类似的任务描述时才会激活对应技能包。fastify 技能同样在 skills/fastify/SKILL.md 中枚举了完整触发词清单Fastify、REST API、server.ts 等。frontmatter 之后SKILL.md 通常只有三部分When to use—— 激活边界说明什么任务该用这个技能Common Workflows / 高优先级清单—— 高信号操作摘要比如优雅关闭的四步流程注册信号 → 停止接活 → 排空请求 → 关闭外部连接How to use—— 规则索引逐一链接全部规则文件完整列表见 skills/node/SKILL.md。仓库的 AGENTS.md 把这条索引契约写成了硬规则每个 rules 文件都必须被 SKILL.md 显式引用新增/重命名/删除任何规则文件时必须在同一次变更中同步更新链接。四、rules/ 目录按需加载的详细规则每个 rules 文件自带 frontmattername、description、tags是一个自包含的知识单元。例如 skills/node/rules/error-handling.md 只讲错误分类与异步边界处理skills/node/rules/streams.md 只讲流与背压。fastify 技能更进一步在 skills/fastify/SKILL.md 中给出了**推荐阅读顺序**新手走plugins → routes → schemas上生产走logging → configuration → deployment——阅读路径本身也成了技能设计的一部分。五、为什么不在一个文件里写完所有规则这是整套设计哲学的核心项目给出了四个答案上下文预算—— SKILL.md 可能常驻 AI 上下文而 rules 只有在主题命中时才被加载。skill-optimizer 技能专门有一篇 rules/context-budget.md主题就是如何在不损失行为的前提下降低 token 成本。激活率—— 入口写得越长越容易被上下文稀释。skill-optimizer 的实用启发式很直接宁要少数高信号规则不要大量软建议。可维护性—— 独立文件可以单独修改、评审与回归而索引契约让结构一致性可检查。可度量—— 两层结构让每条规则的效果可以单独归因、单独优化。六、基准测试闭环一个被度量的技能包仓库的 docs/skill-benchmarking.md 定义了跨模型基准测试流程对每个测试场景在多个模型上分别运行无技能与有技能两组对照发布门槛docs/skill-benchmarking.md任何标准在所有模型上保持 0%或任何关键场景启用技能后分数反而下降都不能发布每次运行结果记录在 docs/skill-benchmark-runs.md 中失败项会立即开 issue 跟踪。更有趣的是skill-optimizer这个技能——一个优化技能的技能它自己定义了完整的优化闭环测基线 → 找失败模式 → 改措辞 → 重跑评测 → 带护栏发布见 skills/skill-optimizer/SKILL.md。用文档驱动的方式管理如何写文档形成了自指式设计。七、极简代码面一个也是文档的库有人可能会疑惑有 package.json 的文档项目是什么src/index.ts 只导出一个version常量package.json 中 TypeScript 配置为 strict noEmit只做类型检查、lint 与单元测试守护少量代码与示例资产AGENTS.md 一句话点题绝大多数逻辑是 Markdown 中的指令文本。这让同一份文件同时服务两种读者装给 AI 工具时是技能库人打开时是可读文档。总结记住三点即可把 SKILL.md 当激活契约—— description 写给模型看要列触发词与激活边界rules/ 存细节SKILL.md 只存索引—— 拆分上下文预算实现按需加载任何改动都要过基准门槛—— 对比启用/禁用技能无回归才允许发布。如果你想写自己的第一个技能包直接以 skills/node/ 为模板复制frontmatter When to use 规则索引骨架再把每个主题拆成一个独立的 rule 文件即可。【免费下载链接】skillsMy own collection of skills for modern Node.js development项目地址: https://gitcode.com/gh_mirrors/skills15/skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

5MW永磁直驱风电1200V直流并网Simulink仿真模型搭建与调试

5MW永磁直驱风电1200V直流并网Simulink仿真模型搭建与调试

前前后后折腾了三周,终于把一台5MW永磁直驱风力发电机、1200V直流母线并网的全过程在Simulink里跑通了。模型不算特别复杂,但五脏俱全:风轮气动、永磁同步发电机、PWM整流器、直流母线、直流并网接口,外加MPPT和矢量控制&#xff…

2026/10/9 4:17:41 阅读更多 →
MiMo-V2.6:无奖励函数的自改进强化学习架构

MiMo-V2.6:无奖励函数的自改进强化学习架构

1. 这不是又一篇“RLMoE”的缝合怪论文——MiMo-V2.6真正想干的事,藏在标题里的“Self-Improvement”四个字母里你点开这篇论文PDF时,大概率会先扫一眼标题里的“MiMo-V2.6”和“Reinforcement Learning”,心里默念:“哦&#xff…

2026/10/9 4:17:41 阅读更多 →
Java Web 单一登录踢人:Filter + 全局 Session 注册表实现

Java Web 单一登录踢人:Filter + 全局 Session 注册表实现

简介:面向Java Web开发者的账号单一登录实现资料,围绕同一账号仅允许一处在线、后登录者自动踢出前者的核心需求,讲解如何通过Filter过滤器配合HttpSession完成用户状态校验与强制下线。内容从需求背景、实现思路到具体步骤层层展开&#xff…

2026/10/9 4:17:41 阅读更多 →

最新新闻

oneTBB concurrent_hash_map 非成员二元比较运算符(operator== / operator!=)详解

oneTBB concurrent_hash_map 非成员二元比较运算符(operator== / operator!=)详解

并发编程高性能计算 【免费下载链接】oneTBB oneAPI Threading Building Blocks (oneTBB) 项目地址: https://gitcode.com/gh_mirrors/on/oneTBB 点击查看 免费下载 导读 本文聚焦 oneAPI Threading Building Blocks(oneTBB)中 oneapi::tbb…

2026/10/9 4:49:04 阅读更多 →
Claude Code 命令速查手册:高频命令、快捷键与高效工作流

Claude Code 命令速查手册:高频命令、快捷键与高效工作流

1. 为什么需要一个命令速查手册刚接触 Claude Code 的人,十有八九会经历这么一个阶段:装好了,敲了个claude进去,然后对着那个闪烁的光标发呆——接下来该干嘛?官方文档当然有,但文档是线性的,从…

2026/10/9 4:49:04 阅读更多 →
ESP32 SoC与模组选型指南:从芯片架构到量产料号

ESP32 SoC与模组选型指南:从芯片架构到量产料号

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 4:49:04 阅读更多 →
Claude Code Mods扩展开发:工具挂载与终端界面渲染实战

Claude Code Mods扩展开发:工具挂载与终端界面渲染实战

1. 从终端里的AI助手说起:为什么需要给它加装工具和界面很多人第一次接触命令行里的AI编程助手时,感受往往是矛盾的。一方面,它能理解自然语言、能读写文件、能执行命令,确实比传统补全工具强出一大截;另一方面&#x…

2026/10/9 4:49:03 阅读更多 →
SSM框架2025年真实处境与Spring Boot渐进式迁移实战

SSM框架2025年真实处境与Spring Boot渐进式迁移实战

直接开写 说实话,每次在技术群里看到有人问“SSM框架还能打吗”,我就知道问这问题的十有八九是两种人:一种是刚接手了祖传项目、天天被XML配置折磨得想跑路的年轻开发,另一种是还在用SSM做老系统维护、看着外面的技术新闻越来越焦…

2026/10/9 4:49:03 阅读更多 →
LRE框架:重构AI智能体的时间感知与因果记忆机制

LRE框架:重构AI智能体的时间感知与因果记忆机制

1. 这不是“给AI加个备忘录”,而是重构智能体的时间感知能力很多人第一次看到“AI智能体记忆管理”这个词,下意识会想:不就是让大模型多存点上下文、加个向量数据库当外挂硬盘吗?我试过——在某个模拟项目X里,给一个任…

2026/10/9 4:48:03 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →