@agile-team/wl-skills-kit 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.2.1] - 2026-04-13
4
+
5
+ ### 新增:自然语言输入模式(模式 0)
6
+
7
+ - **prototype-scan**:新增模式 0(自然语言),用户口述需求时 AI 内部自动构建 page-spec JSON,无需提供原型/文档
8
+ - 触发区块改为三模式表格(模式 0/A/B)
9
+ - 新增关键词→交互模式映射表、降级默认值策略、page-spec 骨架模板
10
+ - **page-codegen**:支持模式 0 快捷路径,无 page-spec 时自动调用 prototype-scan 模式 0
11
+ - **copilot-instructions.md**:Skill 注册表及流水线同步更新自然语言触发词
12
+
3
13
  ## [1.2.0] - 2026-04-10
4
14
 
5
15
  ### 新增:CLI v2.0 — update 增量更新 + clean 构建清理
@@ -207,9 +207,9 @@ onMounted(() => select());
207
207
 
208
208
  | 触发场景(用户意图关键词) | 必须读取的文件 | Skill 名称 |
209
209
  |---|---|---|
210
- | 扫描原型、解析原型、页面清单、原型分析、详设文档 | `.github/skills/prototype-scan/SKILL.md` | prototype-scan |
210
+ | 扫描原型、解析原型、页面清单、原型分析、详设文档、口述需求、建个页面、写个页面 | `.github/skills/prototype-scan/SKILL.md` | prototype-scan |
211
211
  | 接口约定、api.md、字段定义、前后端对齐、接口设计 | `.github/skills/api-contract/SKILL.md` | api-contract |
212
- | 生成页面、创建页面、代码生成、vue页面、按原型生成 | `.github/skills/page-codegen/SKILL.md`(主文件会指示继续读取对应的 `TPL-*.md` 模板) | page-codegen |
212
+ | 生成页面、创建页面、代码生成、vue页面、按原型生成、口述生成页面、帮我生成 | `.github/skills/page-codegen/SKILL.md`(主文件会指示继续读取对应的 `TPL-*.md` 模板) | page-codegen |
213
213
  | 创建菜单、注册菜单、同步菜单、补菜单 | `.github/skills/menu-sync/SKILL.md` | menu-sync |
214
214
  | 规范审计、代码审计、规范检查、对齐规范、规范偏差 | `.github/skills/convention-extract/SKILL.md` | convention-audit |
215
215
 
@@ -224,6 +224,8 @@ Step 3 → 读取 page-codegen/SKILL.md → 逐页生成代码 + 追加/覆盖
224
224
  Step 4 → 读取 menu-sync/SKILL.md → 读取 SYS_MENU_INFO.md → 注册菜单到后端
225
225
  ```
226
226
 
227
+ > **模式 0 快捷路径**:当用户口述需求(如"帮我生成一个客户管理页面")而未提供原型/文档时,AI 内部调用 prototype-scan 模式 0 自动构建 page-spec JSON,然后从 Step 2 继续执行,无需用户提供任何文件。
228
+
227
229
  每个 Step 开始前读取对应 SKILL.md,**前一个 Step 完成后再进入下一个**。
228
230
  上一步的输出(如 page-spec)直接作为下一步的输入,无需用户中间干预。
229
231
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: page-codegen
3
- description: "Use when: generating complete Vue 3 page code (index.vue + data.ts + modal components + api.md + pages.ts registration) from a prototype page inventory and API contract, strictly following the cx-ui-produce project conventions. Read SKILL.md first (rules+constraints), then read the matching TPL-*.md for the template code. Triggers on: generate page, create page, code generation, 生成页面, 页面代码, 代码生成, vue页面, 按原型生成."
3
+ description: "Use when: generating complete Vue 3 page code (index.vue + data.ts + modal components + api.md + pages.ts registration) from a prototype page inventory and API contract, strictly following the cx-ui-produce project conventions. Read SKILL.md first (rules+constraints), then read the matching TPL-*.md for the template code. Triggers on: generate page, create page, code generation, 生成页面, 页面代码, 代码生成, vue页面, 按原型生成, 口述需求, 建个页面, 写个页面, 帮我生成, natural language page generation."
4
4
  ---
5
5
 
6
6
  # Skill: 页面代码生成(page-codegen)
@@ -21,6 +21,8 @@ description: "Use when: generating complete Vue 3 page code (index.vue + data.ts
21
21
 
22
22
  > **重要**:查询字段、表格列、按钮列表不再手动罗列,直接从 page-spec JSON 中读取。
23
23
  > 如果没有 page-spec JSON,必须先执行 prototype-scan Skill 生成。
24
+ >
25
+ > **模式 0 快捷路径**:当用户直接口述需求(如"帮我生成一个客户管理页面")而未提供 page-spec JSON 时,AI 内部自动调用 prototype-scan 模式 0 构建 page-spec JSON,然后继续执行代码生成,无需用户提供任何文件。
24
26
 
25
27
  ---
26
28
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: prototype-scan
3
- description: "Use when: analyzing Axure exported HTML prototype files to extract page inventory, classify interaction patterns, identify reusable components, and produce a structured page checklist for Vue development. Also supports detailed design documents (MD/Word) as input. Triggers on: prototype analysis, axure scan, page inventory, 原型解析, 页面清单, axure转vue, 详设文档, design doc, 详细设计."
3
+ description: "Use when: analyzing Axure exported HTML prototype files to extract page inventory, classify interaction patterns, identify reusable components, and produce a structured page checklist for Vue development. Also supports detailed design documents (MD/Word) or natural language descriptions as input. Triggers on: prototype analysis, axure scan, page inventory, 原型解析, 页面清单, axure转vue, 详设文档, design doc, 详细设计, 口述需求, 自然语言建页面, natural language page request, 建个页面, 写个页面, 口头描述页面."
4
4
  ---
5
5
 
6
6
  # Skill: 原型解析(prototype-scan)
@@ -11,8 +11,92 @@ description: "Use when: analyzing Axure exported HTML prototype files to extract
11
11
 
12
12
  ## 触发
13
13
 
14
- - **模式 A(Axure)**:提供 Axure HTML 文件包目录,AI 全量扫描 HTML
15
- - **模式 B(详设文档)**:提供 MD/Word/表格格式的详细设计文档,AI 解析结构化字段
14
+ | 模式 | 输入 | 典型场景 |
15
+ |------|------|----------|
16
+ | **模式 0(自然语言)** | 用户口述需求,无文件 | 日常对话:"帮我建一个客户管理页面,有XX字段" |
17
+ | **模式 A(Axure)** | Axure HTML 文件包目录 | 已有原型设计,AI 全量扫描 HTML |
18
+ | **模式 B(详设文档)** | MD/Word/表格格式的详细设计文档 | 已有详细设计文档,AI 解析结构化字段 |
19
+
20
+ ---
21
+
22
+ ## 模式 0 — 自然语言转 page-spec(内部步骤)
23
+
24
+ > **核心原则**:模式 0 是 AI 的**内部推导流程**,不输出中间 JSON 给用户。
25
+ > AI 从口述中提取信息 → 内部构建 page-spec JSON → 直接传递给 page-codegen 消费。
26
+ > **不向用户索要文件**,用注释标注不确定项即可。
27
+
28
+ ### 1. 提取关键信息
29
+
30
+ 从用户口述中识别以下实体(缺省则用默认值):
31
+
32
+ | 实体 | 识别关键词示例 | 默认值 |
33
+ |------|---------------|--------|
34
+ | 页面中文名 | "XX页面" / "XX管理" / "XX档案" | 必须由用户提供 |
35
+ | 交互模式 | 见下方映射表 | `LIST` |
36
+ | 服务缩写 | "生产"→pm, "精整"→mmwr, "销售"→sale, "人力"→hrms, "基础"→base | 从目标路径推断 |
37
+ | 资源名 | 从中文名推断 CamelCase | 自动推断 |
38
+ | 目录名 | 从中文名推断 kebab-case | 自动推断 |
39
+
40
+ ### 2. 关键词 → 交互模式映射
41
+
42
+ | 用户关键词 | 推断模式 |
43
+ |-----------|----------|
44
+ | "列表" / "查询" / "管理页" / 无特殊说明 | `LIST` |
45
+ | "主从" / "明细" / "上下表" | `MASTER_DETAIL` |
46
+ | "树形" / "左树右表" | `TREE_LIST` |
47
+ | "表单" / "详情" / "多Tab表单" | `DETAIL_TABS` |
48
+ | "独立表单" / "路由表单" / "复杂表单" | `FORM_ROUTE` |
49
+ | "变更历史" / "变更记录" | `CHANGE_HISTORY` |
50
+ | "记录表单" / "无分页" | `RECORD_FORM` |
51
+ | "工位" / "操作站" | `OPERATION_STATION` |
52
+
53
+ ### 3. 内部构建 page-spec 骨架
54
+
55
+ AI 根据提取的信息,内部构建 page-spec JSON(**不输出给用户**):
56
+
57
+ ```jsonc
58
+ {
59
+ "pageName": "[用户说的中文名]",
60
+ "kebabName": "[推断的kebab-case]",
61
+ "pattern": "[推断的交互模式,默认LIST]",
62
+ "path": "views/[域]/[模块]/[子模块]/[kebab-name]/",
63
+ "query": [
64
+ // 从用户描述中提取;未提及 → 基于资源名推断 1-2 个(如"名称"、"编码")
65
+ ],
66
+ "toolbar": [
67
+ // 默认: 新增(primary) + 删除(danger);用户提及"导出""导入"等则追加
68
+ ],
69
+ "columns": [
70
+ // 从用户描述中提取;未逐一列举 → 基于资源语义推断 5-8 个常见字段
71
+ ],
72
+ "operations": [
73
+ // 默认: 编辑 + 删除;用户提及"查看""审批"等则调整
74
+ ],
75
+ "features": {
76
+ "tabSwitch": false, "viewSwitch": false, "hiddenMenu": false
77
+ },
78
+ "notes": [
79
+ "[模式0] 字段英文名为AI推断值,请确认",
80
+ "[模式0] dictCode 为推断值,请后端确认"
81
+ ]
82
+ }
83
+ ```
84
+
85
+ ### 4. 降级与默认值原则
86
+
87
+ | 信息缺失项 | 默认策略 |
88
+ |-----------|----------|
89
+ | 交互模式 | `LIST`(最常见的列表查询页) |
90
+ | 查询字段 | 基于业务资源名推断 1-2 个("名称"、"编码") |
91
+ | 工具栏按钮 | `[新增(primary), 删除(danger)]` |
92
+ | 表格列 | 基于资源语义推断 5-8 个常见字段(编码、名称、类型、状态、创建时间等) |
93
+ | 操作列 | `[编辑, 删除]` |
94
+ | 字段英文名 | AI 推断 camelCase,notes 标注"字段名为推断值" |
95
+ | 字典 code | 状态类字段自动标注推断 dictCode,notes 标注"dictCode 为推断值" |
96
+ | 子表 | 不生成(用户未提及则不推断) |
97
+ | Tab/视角切换 | 关闭(`false`) |
98
+
99
+ > 构建完成后,直接进入输出流程(同模式 A/B),为 page-codegen 提供标准 page-spec JSON。
16
100
 
17
101
  ---
18
102
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agile-team/wl-skills-kit",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "AI Skill 模板包 — 一键导入 AI 指令 + 组件文档 + 通用组件 + 领域样例,覆盖 Copilot/Cursor/Windsurf/Kiro 等主流 AI 编辑器",
5
5
  "bin": {
6
6
  "wl-skills-kit": "./bin/wl-skills.js"