L2 — Skill(结构化技能文件)
当前项目核心。触发词驱动 → SKILL.md → 规范门控 → Pre-flight 声明 → 生成产物追加到 reports/。
能力概览
Skills 层是体系的核心内核——一组纯 TS 实现的业务原子能力,MCP Server 和 CLI 都依赖这一层的封装。
Skills 核心能力(Core 内核,纯 TS,MCP / CLI 共用底层)
│
├── 1. 工程元数据解析
│ ├── 原型文件解析、页面清单提取
│ ├── 路由 / 菜单 / 字典结构化提取
│ ├── 项目模块、目录、文件元信息解析
│ └── 业务模块标识、权限标识提取
│
├── 2. 代码结构化处理
│ ├── TS / JS / Vue 文件结构化读写
│ ├── 接口、类型、枚举、常量批量解析
│ ├── 组件结构、入参、事件、样式结构提取
│ └── 代码片段插入、替换、增量修改
│
├── 3. 接口与数据处理
│ ├── API 结构化生成、api.md 标准化产出
│ ├── 请求参数、响应体、枚举自动推导
│ ├── 接口批量同步、字段对齐、归一化
│ └── 模拟数据、默认结构自动生成
│
├── 4. 工程质检与修复
│ ├── 工程规范扫描、目录合规校验
│ ├── 命名、文件结构、引用依赖合规检查
│ ├── 常见不规范代码自动修复
│ └── 问题结构化上报、清单输出
│
├── 5. 模板化代码生成
│ ├── 列表 / 表单 / 详情页标准模板渲染
│ ├── 基础 CRUD 模块、基础组件批量生成
│ ├── 配置文件、脚本文件模板生成
│ └── 自定义模板变量渲染、动态填充
│
├── 6. 配置与环境管理
│ ├── 工程配置读取、解析、序列化
│ ├── 环境变量、项目全局配置统一处理
│ └── 工程依赖、基础环境信息读取
│
└── 7. 通用原子工具封装
├── 日期、格式化、数据转换通用方法
├── 路径处理、文件编码、内容编解码
└── 通用正则、校验规则、数据清洗核心特征:无副作用,可被 MCP Tools 包裹后赋予“执行能力”,也可被 CLI 批量调用。v3.0 规划将此层抽离为独立
core/包,MCP 和 CLI 同时依赖。
什么是 Skill?
Skill 是一个放在项目 .wl-skills/skills/ 目录下的 Markdown 文件(SKILL.md),里面用自然语言描述:
- 何时触发(触发词)
- 执行前声明什么(Pre-flight)
- 按什么步骤执行
- 输出什么产物
AI 在对话时读取 SKILL.md,然后严格按照描述的流程执行——不是让 AI 自由发挥,而是让 AI 执行一份"剧本"。
Skill 调用流程
用户触发 → AI 匹配 _registry.md 触发词
→ 加载 SKILL.md + 前置规范子集
→ 输出 Pre-flight 声明(可观测)
→ 按 SKILL 流程执行 → 生成产物 + reports/ 追加前端示例 — 已启用的 13 个 Skill
13 个 Skill 覆盖"原型 → 页面 → 同步 → 审计 → 修复 → 沉淀"全链路,分组为 core(9)/ sync(3)/ ops(2)。完整速查表与触发词见 PC Skills 概述,本页不重复。
每个启用 Skill 同目录都有 SKILL.md(AI 触发用)+ USAGE.md(团队成员阅读)。
Skill 结构示例
.wl-skills/skills/
├── _registry.md ← ★ 触发词 → SKILL 路径单一数据源
├── core/
│ ├── prototype-scan/
│ │ ├── SKILL.md ← AI 读取,描述执行流程
│ │ └── USAGE.md ← 团队成员读取,使用说明
│ └── page-codegen/
│ ├── SKILL.md
│ ├── USAGE.md
│ └── templates/ ← 9 个页面模板(TPL-*.md)
├── sync/
│ ├── menu-sync/
│ ├── dict-sync/
│ ├── permission-sync/
│ └── env.local.json ← 统一环境配置(不入 git)
└── ops/
└── code-fix/可扩展的候选 Skill
| Skill 候选 | 描述 | 前置依赖 |
|---|---|---|
prototype-diff | 新版原型 vs 已生成代码,输出变更清单 | prototype-scan |
api-impact-scan | api.md 字段变更 → 扫描受影响的 data.ts | api-contract |
changelog-gen | 从 git diff 提炼 Conventional Commits 条目 | wls_git_log_extract |
perf-audit | 扫描 AGGrid 列配置的性能反模式 | convention-audit |
场景实践:两种输入,同一份 page-spec
同样要生成"客户档案列表页",两种输入殊途同归:
| 你手里有什么 | 说一句话 | 走哪条线 | 产物 |
|---|---|---|---|
| Axure 原型 / 截图 / 口述 | "扫描这些原型,出页面清单" | 原型线:prototype-scan | page-spec JSON |
| 标准说明书(含功能编码 / IPO 表) | "解析这份说明书" | 规范线:spec-doc-parse | page-spec JSON |
两线汇聚到同一份 page-spec 后,下游完全一致:api-contract → page-codegen → convention-audit → menu-sync。AI 按输入自动判线(路径含 docs/spec/ 或文档含功能编码 / IPO 表走规范线),不需要人指定。
可观测性:每次触发 Skill,AI 先输出 Pre-flight 声明(已读哪些文件、工具链状态)——没输出声明 = 没读规范 = 立即重触发,这让"AI 是否按剧本执行"变成可验证而非靠信任。
延伸阅读
- Skills 详细文档 — 13 个 Skill 的完整使用指南
- L3 — MCP — 赋予 Skill "手和眼"(执行真实操作)
- AI 最佳实践总览
参考资料
| 资源 | 说明 |
|---|---|
| @agile-team/wl-skills-kit 包(npm) | 本项目 Skill 体系的原包 |
| GitHub Copilot — 指令文件官方文档 | Skill 触发机制的底层原理 |
| Cursor Rules 官方文档 | Cursor 中如何配置自动读取 SKILL.md |
| Anthropic — Building effective agents | "Prompt + Tool" 结合的设计思路,Skill 模式的理论基础 |
