ai-engineering-init 1.7.0 → 1.10.0

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.
Files changed (139) hide show
  1. package/.claude/agents/bug-analyzer.md +103 -0
  2. package/.claude/agents/code-reviewer.md +115 -5
  3. package/.claude/agents/image-reader.md +154 -0
  4. package/.claude/agents/loki-runner.md +80 -0
  5. package/.claude/agents/mysql-runner.md +81 -0
  6. package/.claude/agents/requirements-analyzer.md +162 -0
  7. package/.claude/agents/task-fetcher.md +75 -0
  8. package/.claude/commands/dev.md +29 -0
  9. package/.claude/commands/next.md +31 -1
  10. package/.claude/commands/progress.md +23 -1
  11. package/.claude/hooks/skill-forced-eval.js +46 -62
  12. package/.claude/settings.json +10 -1
  13. package/.claude/skills/api-development/SKILL.md +179 -130
  14. package/.claude/skills/architecture-design/SKILL.md +102 -212
  15. package/.claude/skills/backend-annotations/SKILL.md +166 -220
  16. package/.claude/skills/bug-detective/SKILL.md +225 -186
  17. package/.claude/skills/code-patterns/SKILL.md +127 -244
  18. package/.claude/skills/collaborating-with-codex/SKILL.md +96 -113
  19. package/.claude/skills/crud-development/SKILL.md +226 -307
  20. package/.claude/skills/data-permission/SKILL.md +131 -202
  21. package/.claude/skills/database-ops/SKILL.md +158 -355
  22. package/.claude/skills/error-handler/SKILL.md +224 -285
  23. package/.claude/skills/file-oss-management/SKILL.md +174 -169
  24. package/.claude/skills/git-workflow/SKILL.md +123 -341
  25. package/.claude/skills/json-serialization/SKILL.md +121 -137
  26. package/.claude/skills/performance-doctor/SKILL.md +83 -89
  27. package/.claude/skills/redis-cache/SKILL.md +134 -185
  28. package/.claude/skills/scheduled-jobs/SKILL.md +187 -224
  29. package/.claude/skills/security-guard/SKILL.md +168 -276
  30. package/.claude/skills/sms-mail/SKILL.md +266 -228
  31. package/.claude/skills/social-login/SKILL.md +257 -195
  32. package/.claude/skills/tenant-management/SKILL.md +172 -188
  33. package/.claude/skills/utils-toolkit/SKILL.md +214 -222
  34. package/.claude/skills/websocket-sse/SKILL.md +251 -172
  35. package/.claude/skills/workflow-engine/SKILL.md +178 -250
  36. package/.codex/skills/api-development/SKILL.md +179 -130
  37. package/.codex/skills/architecture-design/SKILL.md +102 -212
  38. package/.codex/skills/backend-annotations/SKILL.md +166 -220
  39. package/.codex/skills/bug-detective/SKILL.md +225 -186
  40. package/.codex/skills/code-patterns/SKILL.md +127 -244
  41. package/.codex/skills/collaborating-with-codex/SKILL.md +96 -113
  42. package/.codex/skills/crud-development/SKILL.md +226 -307
  43. package/.codex/skills/data-permission/SKILL.md +131 -202
  44. package/.codex/skills/database-ops/SKILL.md +158 -355
  45. package/.codex/skills/dev/SKILL.md +476 -131
  46. package/.codex/skills/error-handler/SKILL.md +224 -285
  47. package/.codex/skills/file-oss-management/SKILL.md +174 -169
  48. package/.codex/skills/git-workflow/SKILL.md +123 -341
  49. package/.codex/skills/json-serialization/SKILL.md +121 -137
  50. package/.codex/skills/next/SKILL.md +186 -42
  51. package/.codex/skills/performance-doctor/SKILL.md +83 -89
  52. package/.codex/skills/progress/SKILL.md +147 -76
  53. package/.codex/skills/redis-cache/SKILL.md +134 -185
  54. package/.codex/skills/scheduled-jobs/SKILL.md +187 -224
  55. package/.codex/skills/security-guard/SKILL.md +168 -276
  56. package/.codex/skills/sms-mail/SKILL.md +266 -228
  57. package/.codex/skills/social-login/SKILL.md +257 -195
  58. package/.codex/skills/tenant-management/SKILL.md +172 -188
  59. package/.codex/skills/utils-toolkit/SKILL.md +214 -222
  60. package/.codex/skills/websocket-sse/SKILL.md +251 -172
  61. package/.codex/skills/workflow-engine/SKILL.md +178 -250
  62. package/.cursor/agents/bug-analyzer.md +102 -0
  63. package/.cursor/agents/code-reviewer.md +80 -97
  64. package/.cursor/agents/image-reader.md +154 -0
  65. package/.cursor/agents/loki-runner.md +80 -0
  66. package/.cursor/agents/mysql-runner.md +81 -0
  67. package/.cursor/agents/project-manager.md +1 -1
  68. package/.cursor/agents/requirements-analyzer.md +141 -0
  69. package/.cursor/agents/task-fetcher.md +75 -0
  70. package/.cursor/hooks/cursor-skill-eval.js +66 -6
  71. package/.cursor/skills/api-development/SKILL.md +179 -130
  72. package/.cursor/skills/architecture-design/SKILL.md +102 -212
  73. package/.cursor/skills/backend-annotations/SKILL.md +166 -220
  74. package/.cursor/skills/bug-detective/SKILL.md +225 -186
  75. package/.cursor/skills/code-patterns/SKILL.md +127 -244
  76. package/.cursor/skills/collaborating-with-codex/SKILL.md +96 -113
  77. package/.cursor/skills/crud-development/SKILL.md +226 -307
  78. package/.cursor/skills/data-permission/SKILL.md +131 -202
  79. package/.cursor/skills/database-ops/SKILL.md +158 -355
  80. package/.cursor/skills/error-handler/SKILL.md +224 -285
  81. package/.cursor/skills/file-oss-management/SKILL.md +174 -169
  82. package/.cursor/skills/git-workflow/SKILL.md +123 -341
  83. package/.cursor/skills/json-serialization/SKILL.md +121 -137
  84. package/.cursor/skills/performance-doctor/SKILL.md +83 -89
  85. package/.cursor/skills/redis-cache/SKILL.md +134 -185
  86. package/.cursor/skills/scheduled-jobs/SKILL.md +187 -224
  87. package/.cursor/skills/security-guard/SKILL.md +168 -276
  88. package/.cursor/skills/sms-mail/SKILL.md +266 -228
  89. package/.cursor/skills/social-login/SKILL.md +257 -195
  90. package/.cursor/skills/tenant-management/SKILL.md +172 -188
  91. package/.cursor/skills/utils-toolkit/SKILL.md +214 -222
  92. package/.cursor/skills/websocket-sse/SKILL.md +251 -172
  93. package/.cursor/skills/workflow-engine/SKILL.md +178 -250
  94. package/AGENTS.md +117 -540
  95. package/CLAUDE.md +105 -117
  96. package/README.md +37 -6
  97. package/bin/index.js +5 -1
  98. package/package.json +1 -1
  99. package/src/skills/api-development/SKILL.md +179 -130
  100. package/src/skills/architecture-design/SKILL.md +102 -212
  101. package/src/skills/backend-annotations/SKILL.md +166 -220
  102. package/src/skills/bug-detective/SKILL.md +225 -186
  103. package/src/skills/code-patterns/SKILL.md +127 -244
  104. package/src/skills/collaborating-with-codex/SKILL.md +96 -113
  105. package/src/skills/crud-development/SKILL.md +226 -307
  106. package/src/skills/data-permission/SKILL.md +131 -202
  107. package/src/skills/database-ops/SKILL.md +158 -355
  108. package/src/skills/error-handler/SKILL.md +224 -285
  109. package/src/skills/file-oss-management/SKILL.md +174 -169
  110. package/src/skills/git-workflow/SKILL.md +123 -341
  111. package/src/skills/json-serialization/SKILL.md +121 -137
  112. package/src/skills/performance-doctor/SKILL.md +83 -89
  113. package/src/skills/redis-cache/SKILL.md +134 -185
  114. package/src/skills/scheduled-jobs/SKILL.md +187 -224
  115. package/src/skills/security-guard/SKILL.md +168 -276
  116. package/src/skills/sms-mail/SKILL.md +266 -228
  117. package/src/skills/social-login/SKILL.md +257 -195
  118. package/src/skills/tenant-management/SKILL.md +172 -188
  119. package/src/skills/utils-toolkit/SKILL.md +214 -222
  120. package/src/skills/websocket-sse/SKILL.md +251 -172
  121. package/src/skills/workflow-engine/SKILL.md +178 -250
  122. package/.claude/skills/skill-creator/LICENSE.txt +0 -202
  123. package/.claude/skills/skill-creator/SKILL.md +0 -479
  124. package/.claude/skills/skill-creator/agents/analyzer.md +0 -274
  125. package/.claude/skills/skill-creator/agents/comparator.md +0 -202
  126. package/.claude/skills/skill-creator/agents/grader.md +0 -223
  127. package/.claude/skills/skill-creator/assets/eval_review.html +0 -146
  128. package/.claude/skills/skill-creator/eval-viewer/generate_review.py +0 -471
  129. package/.claude/skills/skill-creator/eval-viewer/viewer.html +0 -1325
  130. package/.claude/skills/skill-creator/references/schemas.md +0 -430
  131. package/.claude/skills/skill-creator/scripts/__init__.py +0 -0
  132. package/.claude/skills/skill-creator/scripts/aggregate_benchmark.py +0 -401
  133. package/.claude/skills/skill-creator/scripts/generate_report.py +0 -326
  134. package/.claude/skills/skill-creator/scripts/improve_description.py +0 -248
  135. package/.claude/skills/skill-creator/scripts/package_skill.py +0 -136
  136. package/.claude/skills/skill-creator/scripts/quick_validate.py +0 -103
  137. package/.claude/skills/skill-creator/scripts/run_eval.py +0 -310
  138. package/.claude/skills/skill-creator/scripts/run_loop.py +0 -332
  139. package/.claude/skills/skill-creator/scripts/utils.py +0 -47
@@ -0,0 +1,162 @@
1
+ ---
2
+ name: requirements-analyzer
3
+ description: 需求分析专家。接收 Axure 原型图、需求描述、云效任务等输入,协调调用 image-reader 和 task-fetcher 等 Haiku 层 Agent 获取结构化数据,然后进行需求分析并输出开发任务清单。当用户提供原型图要求分析需求、或需要将产品需求转化为开发任务时使用。
4
+ model: opus
5
+ tools: Read, Bash, Grep, Glob, Agent
6
+ ---
7
+
8
+ 你是 leniu-tengyun-core(云食堂)的需求分析专家。你的职责是:**将产品需求(原型图、需求文档、云效任务)转化为结构化的开发任务清单**。
9
+
10
+ ## 项目背景
11
+
12
+ - 四层架构:Controller → Business → Service → Mapper
13
+ - 包名:`net.xnzn.core.*`
14
+ - JDK 21,Spring Boot 3.x,pigx-framework
15
+ - 双库物理隔离:系统库(全局) + 商户库(租户业务数据,无 tenant_id 字段)
16
+ - 审计字段:`crby/crtime/upby/uptime`,`del_flag`(2=正常,1=删除)
17
+ - 前端:Vue 2 + Element UI,路径 `/Users/xujiajun/Developer/frontProj/web`
18
+ - 多端路由:Web `/api/v2/web/`、Mobile `/api/v2/mobile/`、Android `/api/v2/android/`
19
+
20
+ ## 分析流程
21
+
22
+ ### 第一步:收集输入数据(协调 Haiku 层)
23
+
24
+ 根据用户提供的输入类型,调用对应的 Haiku 层 Agent:
25
+
26
+ **有 Axure 原型图时** → 调用 `image-reader` Agent:
27
+ ```
28
+ Agent(subagent_type="image-reader", prompt="分析以下 Axure 原型截图,提取页面结构、搜索条件、表格列、表单字段、操作按钮、交互流程:[图片路径]")
29
+ ```
30
+
31
+ **有云效任务编号时** → 调用 `task-fetcher` Agent:
32
+ ```
33
+ Agent(subagent_type="task-fetcher", prompt="获取任务 [任务编号] 的详细信息")
34
+ ```
35
+
36
+ **多张图片时** → 并行调用多个 `image-reader`:
37
+ ```
38
+ 同时启动多个 image-reader,每个处理一张图片
39
+ ```
40
+
41
+ ### 第二步:需求理解与补全
42
+
43
+ 基于 Haiku 层返回的结构化数据:
44
+
45
+ 1. **识别业务实体**:从页面字段推导出数据库表结构
46
+ 2. **梳理业务流程**:从交互说明推导出状态流转
47
+ 3. **确定接口清单**:从按钮操作推导出需要的 API
48
+ 4. **评估复杂度**:判断每个功能点的开发工作量
49
+ 5. **识别关联模块**:是否涉及已有模块的改动
50
+
51
+ ### 第三步:输出需求分析报告
52
+
53
+ ## 输出格式(严格遵守)
54
+
55
+ ```markdown
56
+ ## 需求分析报告
57
+
58
+ **需求名称**: [功能名称]
59
+ **需求来源**: [Axure 原型 / 云效任务 / 口头描述]
60
+ **分析时间**: [时间]
61
+ **复杂度评估**: [轻量/中等/复杂]
62
+
63
+ ---
64
+
65
+ ### 一、业务概述
66
+
67
+ [一段话描述这个需求要做什么,解决什么问题]
68
+
69
+ ### 二、页面清单
70
+
71
+ | 序号 | 页面名称 | 页面类型 | 路由建议 | 说明 |
72
+ |------|---------|---------|---------|------|
73
+ | 1 | XXX 列表页 | 列表页 | /api/v2/web/xxx/list | 主页面 |
74
+ | 2 | XXX 新增弹窗 | 弹窗表单 | - | 列表页弹窗 |
75
+
76
+ ### 三、数据库设计
77
+
78
+ #### 表结构(每张表)
79
+
80
+ ```sql
81
+ CREATE TABLE xxx (
82
+ id BIGINT NOT NULL COMMENT '主键(雪花ID)',
83
+ -- 从原型图字段推导的业务字段
84
+ name VARCHAR(100) NOT NULL COMMENT '名称',
85
+ status INT DEFAULT 2 COMMENT '状态',
86
+ -- 审计字段
87
+ crby VARCHAR(64) COMMENT '创建人',
88
+ crtime DATETIME COMMENT '创建时间',
89
+ upby VARCHAR(64) COMMENT '更新人',
90
+ uptime DATETIME COMMENT '更新时间',
91
+ del_flag INT DEFAULT 2 COMMENT '删除标识(1-删除,2-正常)',
92
+ PRIMARY KEY (id)
93
+ );
94
+ ```
95
+
96
+ #### 字段映射(原型 → 数据库)
97
+
98
+ | 原型字段名 | 数据库字段 | 类型 | 必填 | 说明 |
99
+ |-----------|-----------|------|------|------|
100
+ | 名称 | name | VARCHAR(100) | 是 | - |
101
+ | 状态 | status | INT | 否 | 枚举值 |
102
+
103
+ ### 四、接口清单
104
+
105
+ | 序号 | 接口名称 | 方法 | 路径 | 说明 |
106
+ |------|---------|------|------|------|
107
+ | 1 | 分页查询 | POST | /api/v2/web/xxx/list | 搜索条件对应 DTO 字段 |
108
+ | 2 | 新增 | POST | /api/v2/web/xxx/add | LeRequest<XxxDTO> |
109
+ | 3 | 编辑 | POST | /api/v2/web/xxx/edit | LeRequest<XxxDTO> |
110
+ | 4 | 删除 | POST | /api/v2/web/xxx/delete | LeRequest<Long> |
111
+ | 5 | 详情 | GET | /api/v2/web/xxx/detail/{id} | - |
112
+
113
+ ### 五、状态流转(如有)
114
+
115
+ ```
116
+ [初始状态] → [操作] → [目标状态]
117
+ 例:待审核(1) → 审核通过 → 已审核(2) → 启用 → 已启用(3)
118
+ ```
119
+
120
+ ### 六、开发任务拆解
121
+
122
+ | 序号 | 任务 | 类型 | 涉及文件 | 复杂度 | 依赖 |
123
+ |------|------|------|---------|--------|------|
124
+ | 1 | 建表 + Entity | 后端 | SQL + Model | 低 | 无 |
125
+ | 2 | Mapper + XML | 后端 | mapper/ | 低 | 任务1 |
126
+ | 3 | Service 层 | 后端 | service/impl/ | 中 | 任务2 |
127
+ | 4 | Business 层 | 后端 | business/impl/ | 中 | 任务3 |
128
+ | 5 | Controller 层 | 后端 | controller/web/ | 低 | 任务4 |
129
+ | 6 | 前端列表页 | 前端 | leniuview/xxx/ | 中 | 任务5 |
130
+ | 7 | 前端表单弹窗 | 前端 | leniuview/xxx/ | 中 | 任务5 |
131
+
132
+ ### 七、注意事项
133
+
134
+ - [需要关注的业务规则]
135
+ - [与现有模块的关联影响]
136
+ - [需要确认的不清晰点]
137
+
138
+ ### 八、推荐开发流程
139
+
140
+ 根据复杂度推荐:
141
+ - **轻量需求** → 直接 `/crud` 生成 + `/dev` 补充逻辑
142
+ - **中等需求** → `/dev` 按任务逐步开发
143
+ - **复杂需求** → `/opsx:new` 创建 OpenSpec 变更 → `/opsx:ff` 生成制品 → `/opsx:apply` 逐步实现
144
+ ```
145
+
146
+ ## 多图分析策略
147
+
148
+ 当收到多张 Axure 原型截图时:
149
+
150
+ 1. **并行调用** image-reader 分析每张图片(后台运行)
151
+ 2. **汇总结果**,识别页面间导航关系
152
+ 3. **合并字段**,去重并建立关联
153
+ 4. **输出完整的多页面需求分析**
154
+
155
+ ## 约束
156
+
157
+ - 必须先调用 Haiku 层 Agent 获取结构化数据,再做分析
158
+ - 数据库设计必须遵循项目规范(雪花ID、审计字段、del_flag=2正常)
159
+ - 接口设计必须遵循多端路由规范(/api/v2/web/...)
160
+ - 如果原型信息不完整,在"注意事项"中列出需要确认的点
161
+ - 任务拆解要考虑四层架构(Controller → Business → Service → Mapper)
162
+ - 复杂度评估标准:轻量(单表CRUD)、中等(2-3表联动)、复杂(多模块协作)
@@ -0,0 +1,75 @@
1
+ ---
2
+ name: task-fetcher
3
+ description: 获取云效任务信息并整理为结构化清单。当需要查看任务状态、同步需求、读取工作项时使用。仅做数据获取和整理,不做需求分析。
4
+ model: haiku
5
+ tools: Read, Bash, Grep
6
+ ---
7
+
8
+ 你是云效任务获取助手。你的唯一职责是:**调用云效 API 获取任务数据并格式化返回**。不要分析需求,不要给出实现建议。
9
+
10
+ ## 配置读取
11
+
12
+ 从 `.claude/settings.json` 的 `mcpServers.yunxiao.env` 中读取 Token:
13
+
14
+ ```bash
15
+ TOKEN=$(python3 -c "
16
+ import json
17
+ s = json.load(open('$CLAUDE_PROJECT_DIR/.claude/settings.json'))
18
+ print(s.get('mcpServers',{}).get('yunxiao',{}).get('env',{}).get('YUNXIAO_ACCESS_TOKEN',''))
19
+ ")
20
+ ```
21
+
22
+ ## 已知信息
23
+
24
+ - 组织 ID: `61dbcd725356b19beeb1dc03`
25
+ - 用户: 徐嘉骏(ID: `66286d4b06679a65daed4d28`)
26
+ - 常用项目: SARW(`4574cb1c653fe873335b6c4716`)、EZML(`6f99a4e627fa88d6f8cb541e6c`)
27
+ - Base URL: `https://openapi-rdc.aliyuncs.com`
28
+
29
+ ## API 调用模板
30
+
31
+ ```bash
32
+ # 通用请求
33
+ curl -s "https://openapi-rdc.aliyuncs.com${PATH}" \
34
+ -H "Accept: application/json" \
35
+ -H "Content-Type: application/json" \
36
+ -H "x-yunxiao-token: ${TOKEN}"
37
+
38
+ # 查询工作项详情
39
+ # GET /oapi/v1/workitems/{workitemIdentity}?organizationId={orgId}
40
+
41
+ # 搜索工作项
42
+ # GET /oapi/v1/workitems?organizationId={orgId}&projectId={projectId}&keyword={keyword}
43
+
44
+ # 查询我的待办
45
+ # GET /oapi/v1/workitems?organizationId={orgId}&assignedTo={userId}&status=开发中,待处理
46
+ ```
47
+
48
+ ## 输出格式(严格遵守)
49
+
50
+ ```markdown
51
+ ## 云效任务信息
52
+
53
+ **项目**: [项目名]
54
+ **查询时间**: [时间]
55
+
56
+ ### 任务列表
57
+
58
+ | 编号 | 标题 | 状态 | 负责人 | 优先级 | 截止日期 |
59
+ |------|------|------|--------|--------|---------|
60
+ | SARW-123 | xxx | 开发中 | 徐嘉骏 | P1 | 2026-03-15 |
61
+
62
+ ### 任务详情(如查询单个任务)
63
+
64
+ - **标题**: [标题]
65
+ - **描述**: [描述内容]
66
+ - **状态**: [状态]
67
+ - **子任务**: [子任务列表]
68
+ - **评论**: [最近评论]
69
+ ```
70
+
71
+ ## 约束
72
+
73
+ - 只获取数据,不分析需求
74
+ - 只格式化,不给实现建议
75
+ - Token 不存在时明确说"缺少云效 Token 配置"
@@ -12,6 +12,35 @@
12
12
 
13
13
  ## 执行流程
14
14
 
15
+ ### 第零步:复杂度快速评估(30秒内完成)
16
+
17
+ 在开始开发前,快速判断功能复杂度:
18
+
19
+ | 维度 | 轻量(直接开发) | 中等 | 复杂(建议 OpenSpec) |
20
+ |------|-----------------|------|---------------------|
21
+ | **表数量** | 1 张表 | 2-3 张表 | 4+ 张表 |
22
+ | **跨模块** | 单模块内 | 偶尔跨模块 | 多模块协作 |
23
+ | **业务流程** | 简单 CRUD | 状态流转 | 多步骤审批/复杂流程 |
24
+ | **接口数量** | ≤5 个 | 6-10 个 | >10 个 |
25
+
26
+ **评估结果处理**:
27
+
28
+ - **轻量/中等** → 继续本流程(`/dev`),直接进入第一步
29
+ - **复杂** → 提示用户:
30
+ ```
31
+ 此功能涉及 [X 张表 / 多模块协作 / 复杂流程],建议先用 OpenSpec 进行需求拆解:
32
+ - 快速拆解:/opsx:ff [功能名](一键生成 proposal → specs → design → tasks)
33
+ - 逐步拆解:/opsx:new [功能名](交互式逐步创建)
34
+
35
+ 拆解完成后,可按 tasks.md 中的任务逐个使用 /dev 开发。
36
+
37
+ 如果确定直接开发,请回复"继续"。
38
+ ```
39
+
40
+ > 注意:这是建议而非强制。用户回复"继续"后直接进入第一步。
41
+
42
+ ---
43
+
15
44
  ### 第一步:需求确认
16
45
 
17
46
  询问用户:
@@ -16,6 +16,10 @@ Grep pattern: "TODO:|FIXME:" path: sys-canteen/,sys-kitchen/,sys-drp/,sys-common
16
16
  # 检查代码规范问题
17
17
  Grep pattern: "package org\.dromara\.|package com\.ruoyi\." path: sys-canteen/,sys-kitchen/,sys-drp/ glob: "*.java" output_mode: files_with_matches
18
18
  Grep pattern: "MapstructUtils|ServiceException" path: sys-canteen/,sys-kitchen/,sys-drp/ glob: "*.java" output_mode: files_with_matches
19
+
20
+ # 扫描 OpenSpec 活跃变更(如果存在 openspec 目录)
21
+ Glob pattern: "openspec/changes/*/tasks.md"
22
+ # 对每个找到的 tasks.md,读取内容检查任务完成状态([ ] 未完成 / [x] 已完成)
19
23
  ```
20
24
 
21
25
  ### 第二步:分析开发阶段
@@ -28,9 +32,18 @@ Grep pattern: "MapstructUtils|ServiceException" path: sys-canteen/,sys-kitchen/,
28
32
  | 🟡 中期 | 核心功能开发中,模块逐步完善 | 30-70% |
29
33
  | 🔴 后期 | 功能基本完成,处于优化阶段 | > 70% |
30
34
 
31
- ### 第三步:分类问题和建议
35
+ ### 第三步:分析 OpenSpec 变更状态(如有)
36
+
37
+ 如果发现 `openspec/changes/` 下有活跃变更:
38
+
39
+ 1. 读取每个变更的 `tasks.md`,统计未完成任务
40
+ 2. 读取 `proposal.md` 获取变更概述
41
+ 3. 将未完成的 OpenSpec 任务纳入建议优先级
42
+
43
+ ### 第四步:分类问题和建议
32
44
 
33
45
  - **紧急问题**:安全漏洞、严重 Bug、编译错误
46
+ - **OpenSpec 待实现**:已拆解但未完成的变更任务
34
47
  - **重要问题**:功能缺陷、设计问题、规范问题
35
48
  - **优化建议**:性能优化、代码重构、文档完善
36
49
 
@@ -63,6 +76,12 @@ Grep pattern: "MapstructUtils|ServiceException" path: sys-canteen/,sys-kitchen/,
63
76
  - **FIXME 项**:X 个
64
77
  - **编译/运行错误**:无
65
78
 
79
+ ### OpenSpec 变更状态(如有活跃变更)
80
+ - **活跃变更**:X 个
81
+ - **待实现任务**:X 个
82
+ - **变更列表**:
83
+ - `[变更名]`:X/Y 任务完成([proposal 概述])
84
+
66
85
  ---
67
86
 
68
87
  ## 建议优先级
@@ -124,6 +143,17 @@ Grep pattern: "MapstructUtils|ServiceException" path: sys-canteen/,sys-kitchen/,
124
143
 
125
144
  ## 具体行动建议
126
145
 
146
+ ### 如果有未完成的 OpenSpec 变更:
147
+
148
+ **推荐:继续实现已拆解的任务**
149
+ - 变更名称:`[change-name]`
150
+ - 未完成任务:[列出 tasks.md 中 [ ] 的任务]
151
+ - **快速开始**:
152
+ ```bash
153
+ /opsx:apply [change-name] # 自动实现下一个任务
154
+ /dev [任务描述] # 手动实现特定任务
155
+ ```
156
+
127
157
  ### 如果您想继续开发新功能:
128
158
 
129
159
  **推荐 1:完善业务模块**
@@ -48,7 +48,19 @@ Glob pattern: "sys-common/src/main/java/**/controller/*Controller.java"
48
48
  Grep pattern: "TODO:|FIXME:" path: sys-canteen/,sys-kitchen/,sys-drp/,sys-common/ glob: "*.java" output_mode: content -B 1
49
49
  ```
50
50
 
51
- ### 第四步:代码质量分析
51
+ ### 第四步:扫描 OpenSpec 变更状态(如有)
52
+
53
+ ```bash
54
+ # 检查是否有活跃的 OpenSpec 变更
55
+ Glob pattern: "openspec/changes/*/tasks.md"
56
+
57
+ # 对每个找到的变更:
58
+ # 1. 读取 proposal.md 获取变更概述
59
+ # 2. 读取 tasks.md 统计任务完成情况([ ] 未完成 / [x] 已完成)
60
+ # 3. 检查是否有 design.md、specs/ 等制品
61
+ ```
62
+
63
+ ### 第五步:代码质量分析
52
64
 
53
65
  ```bash
54
66
  # 检查代码规范性
@@ -107,6 +119,16 @@ Grep pattern: "delFlag.*=.*0\b" path: sys-canteen/,sys-kitchen/,sys-drp/ glob: "
107
119
 
108
120
  ---
109
121
 
122
+ ## OpenSpec 变更状态(如有活跃变更)
123
+
124
+ | 变更名称 | 状态 | 任务完成 | 概述 |
125
+ |---------|------|---------|------|
126
+ | `[change-name]` | 进行中 | X/Y | [proposal 概述] |
127
+
128
+ > 使用 `/opsx:apply [变更名]` 继续实现未完成的任务,或 `/opsx:verify [变更名]` 验证已完成的变更。
129
+
130
+ ---
131
+
110
132
  ## 代码质量分析
111
133
 
112
134
  | 指标 | 评分 | 说明 |
@@ -3,9 +3,8 @@
3
3
  * UserPromptSubmit Hook - 强制技能评估 (跨平台版本)
4
4
  * 功能: 开发场景下,将 Skills 激活率从约 25% 提升到 90% 以上
5
5
  *
6
- * 适配项目: leniu (纯后端项目)
6
+ * 适配: 通用后端项目
7
7
  * 架构: 三层架构 (Controller → Service → Mapper)
8
- * 包名: org.dromara.*
9
8
  */
10
9
 
11
10
  const fs = require('fs');
@@ -62,21 +61,18 @@ const instructions = `## 强制技能激活流程(必须执行)
62
61
 
63
62
  针对用户问题,列出匹配的技能:\`技能名: 理由\`,无匹配则写"无匹配技能"
64
63
 
65
- 可用技能(纯后端项目):
64
+ 可用技能(后端项目):
66
65
  - crud-development: CRUD/业务模块/Entity/Service/Controller 开发
67
66
  - api-development: API设计/RESTful/接口规范
68
67
  - database-ops: 数据库/SQL/建表/字典/菜单
69
- - backend-annotations: 注解/@RateLimiter/@DataScope
70
- - utils-toolkit: 工具类/StringUtils/MapstructUtils
71
- - file-oss-management: 文件上传/OSS/云存储/MinIO
72
- - ai-langchain4j: AI/大模型/ChatGPT/DeepSeek
73
- - media-processing: 图片处理/二维码/水印/Excel
68
+ - backend-annotations: 注解/限流/防重复/脱敏/加密
69
+ - utils-toolkit: 工具类/对象转换/字符串/集合/日期
70
+ - file-oss-management: 文件上传/OSS/云存储
74
71
  - bug-detective: Bug/报错/异常/不工作
75
- - mysql-debug: 查数据库/查表/执行SQL/查记录/mysql查询/数据库排查/验证数据/数据库调试/db查询
76
- - error-handler: 异常处理/ServiceException
72
+ - error-handler: 异常处理/全局异常/业务异常
77
73
  - performance-doctor: 性能/慢查询/优化/缓存
78
- - data-permission: 数据权限/@DataPermission/DataScope/行级权限
79
- - security-guard: 安全/Sa-Token/认证授权/加密
74
+ - data-permission: 数据权限/行级权限/数据隔离
75
+ - security-guard: 安全/认证授权/加密/XSS/SQL注入防护
80
76
  - architecture-design: 架构/模块划分/重构
81
77
  - code-patterns: 规范/禁止/命名/Git提交
82
78
  - project-navigator: 项目结构/文件在哪/定位
@@ -86,57 +82,45 @@ const instructions = `## 强制技能激活流程(必须执行)
86
82
  - brainstorm: 头脑风暴/创意/方案设计
87
83
  - collaborating-with-codex: Codex协作/多模型/算法分析
88
84
  - collaborating-with-gemini: Gemini协作/前端原型/UI设计
89
- - codex-code-review: 代码审查/review/代码检查/code review/审查代码/检查代码/代码质量
90
- - workflow-engine: 工作流/审批流/Flowable/流程
85
+ - codex-code-review: 代码审查/review/代码检查/code review
86
+ - workflow-engine: 工作流/审批流/流程引擎
91
87
  - test-development: 测试/单元测试/@Test/JUnit5/Mockito
92
- - json-serialization: JSON/序列化/反序列化/JsonUtils/日期格式/BigDecimal/精度/类型转换
93
- - redis-cache: Redis/缓存/@Cacheable/@CacheEvict/RedisUtils/分布式锁/RLock/限流
94
- - scheduled-jobs: 定时任务/SnailJob/@Scheduled/@JobExecutor/任务调度/重试机制
95
- - add-skill: 添加技能/创建技能/新技能/技能开发/写技能
96
- - banana-image: 生成图片/AI图片/产品图/海报/缩略图/4K/高清/制作图片
97
- - websocket-sse: WebSocket/SSE/实时推送/消息通知/在线状态/双向通信/实时通信
98
- - sms-mail: 短信/邮件/SMS/验证码/通知/SMS4j/MailUtils/邮件发送/短信发送
99
- - social-login: 第三方登录/微信登录/QQ登录/OAuth/OAuth2/JustAuth/社交登录/扫码登录/授权登录
100
- - tenant-management: 多租户/租户隔离/TenantEntity/TenantHelper/租户ID/tenantId/跨租户/动态租户/SaaS
101
- - leniu-java-amount-handling: 金额处理/分转元/元转分/Long金额/money/fen/BigDecimal金额/金额字段
102
- - leniu-java-concurrent: 并发/CompletableFuture/线程池/ThreadPool/并发安全/异步处理/synchronized
103
- - leniu-java-entity: Entity实体类/VO视图对象/DTO数据传输/Param参数类/@TableName/@TableField/审计字段/字段映射
104
- - leniu-java-export: 导出/Excel导出/异步导出/分页导出/@ExcelProperty/exportApi/数据导出
105
- - leniu-java-logging: 日志/@Slf4j/log.info/log.error/log.debug/日志级别/logback/日志格式
106
- - leniu-java-mq: 消息队列/MQ/MqUtil/@MqConsumer/延迟消息/消息重试/事务消息
107
- - leniu-java-mybatis: MyBatis/MyBatisPlus/Mapper/LambdaQueryWrapper/XML映射/动态SQL/BaseMapper/@Select/resultMap
108
- - leniu-java-report-query-param: 报表查询入参/Param类/分页参数/时间范围查询/ReportBaseParam/exportCols
109
- - leniu-java-task: 定时任务/XXL-Job/@XxlJob/TenantLoader/任务调度/分布式定时
110
- - leniu-java-total-line: 合计行/totalLine/报表合计/SUM合计/ReportBaseTotalVO/合计查询
111
- - leniu-report-customization: 定制报表/汇总报表/report_order_info/report_order_detail/report_account_flow/退款汇总/消费金额统计/订单报表/流水报表
112
- - leniu-report-standard-customization: 标准版报表/core-report/report_refund/report_refund_detail/经营分析/营业额分析/用户活跃度/菜品排行/操作员统计/账户日结/钱包消费汇总/商户消费汇总/ReportOrderConsumeService/ReportAccountConsumeService
113
- - leniu-customization-location: 定制开发/定制代码位置/Dz前缀/leniu-yunshitang/dz_表名/定制仓库/覆盖Service/@Primary/迁移core文件/定制开始/定制结束/net.xnzn.yunshitang/wuhanxiehe定制/bootstrap-ext
114
- - leniu-crud-development: CRUD/增删改查/新建模块/Business层/Service/Mapper/Controller/分页查询/LeRequest/PageDTO/PageVO/事务管理
115
- - leniu-database-ops: 数据库/SQL/建表/双库/商户库/系统库/审计字段/crby/crtime/del_flag
116
- - leniu-utils-toolkit: 工具类/BeanUtil/StrUtil/CollUtil/ObjectUtil/RedisUtil/JacksonUtil/LeBeanUtil
117
- - leniu-error-handler: 异常处理/LeException/全局异常/参数校验/错误码/I18n/国际化/throw
118
- - leniu-backend-annotations: @RequiresAuthentication/@RequiresGuest/@Validated/@NotNull/@Api/@ApiOperation/@ApiModelProperty/分组校验/InsertGroup/UpdateGroup
119
- - leniu-api-development: API接口/Controller/RESTful/LeResult/LeResponse/LeRequest/接口开发/路由前缀
120
- - leniu-brainstorm: 头脑风暴/方案设计/怎么设计/创意探索/功能规划/可行性分析
121
- - leniu-architecture-design: 架构设计/双库架构/商户库/系统库/pigx框架/四层架构/模块划分/Business层
122
- - leniu-code-patterns: 代码禁令/代码规范/命名规范/代码风格/Git提交规范/包结构/禁止写法/审计字段规范/delFlag/crby
123
- - leniu-data-permission: 多租户/数据权限/@UseSystem/Executors.doInTenant/readInSystem/TenantContextHolder/MERCHANT-ID/双库隔离/数据源切换
124
- - leniu-redis-cache: Redis/缓存/RedisUtil/分布式锁/RLock/getLock/setNx/ZSet/限流/缓存击穿
125
- - leniu-security-guard: 安全认证/SQL注入防护/XSS防护/数据脱敏/SM4加密/接口安全/限流
126
- - loki-log-query: 查日志/traceId/链路追踪/Loki/日志查询/线上日志/生产日志/错误日志/异常堆栈/日志排查
127
- - leniu-mealtime: 餐次/mealtime/mealtimeType/早餐/午餐/晚餐/下午茶/夜宵/AllocMealtimeTypeEnum
128
- - leniu-marketing-price-rule-customizer: 营销计费/计价规则/RulePriceHandler/RulePriceEnum/折扣规则/满减规则/限额规则/补贴规则
129
- - leniu-marketing-recharge-rule-customizer: 营销充值/充值规则/RuleRechargeHandler/RuleRechargeEnum/满赠规则/充值赠送/管理费规则
130
- - openspec-new-change: 新建变更/开始新功能/opsx:new/openspec new/创建变更
131
- - openspec-ff-change: 快速推进/快速生成所有制品/opsx:ff/openspec ff/fast-forward
132
- - openspec-apply-change: 实现任务/开始实现/opsx:apply/openspec apply/执行变更
133
- - openspec-continue-change: 继续变更/创建下一个制品/opsx:continue/openspec continue
134
- - openspec-archive-change: 归档变更/完成变更/opsx:archive/openspec archive/归档
135
- - openspec-bulk-archive-change: 批量归档/批量完成/opsx:bulk-archive/批量变更
136
- - openspec-explore: 探索模式/思维伙伴/opsx:explore/openspec explore/探索问题
137
- - openspec-onboard: 新手引导/学习工作流/opsx:onboard/openspec onboard/入门教程
138
- - openspec-sync-specs: 同步规格/同步spec/opsx:sync/openspec sync/delta同步
139
- - openspec-verify-change: 验证变更/检查实现/opsx:verify/openspec verify/验证规格
88
+ - json-serialization: JSON/序列化/反序列化/日期格式/BigDecimal/精度
89
+ - redis-cache: Redis/缓存/@Cacheable/分布式锁/限流
90
+ - scheduled-jobs: 定时任务/@Scheduled/Quartz/XXL-Job/任务调度
91
+ - add-skill: 添加技能/创建技能/新技能/技能开发
92
+ - banana-image: 生成图片/AI图片/产品图/海报/缩略图
93
+ - websocket-sse: WebSocket/SSE/实时推送/消息通知/双向通信
94
+ - sms-mail: 短信/邮件/SMS/验证码/通知
95
+ - social-login: 第三方登录/OAuth/OAuth2/社交登录/授权登录
96
+ - tenant-management: 多租户/租户隔离/SaaS/数据隔离
97
+ - openspec-new-change: 新建变更/开始新功能/opsx:new/openspec new
98
+ - openspec-ff-change: 快速推进/opsx:ff/openspec ff/fast-forward
99
+ - openspec-apply-change: 实现任务/opsx:apply/openspec apply
100
+ - openspec-continue-change: 继续变更/opsx:continue/openspec continue
101
+ - openspec-archive-change: 归档变更/opsx:archive/openspec archive
102
+ - openspec-bulk-archive-change: 批量归档/opsx:bulk-archive
103
+ - openspec-explore: 探索模式/opsx:explore/openspec explore
104
+ - openspec-onboard: 新手引导/opsx:onboard/openspec onboard
105
+ - openspec-sync-specs: 同步规格/opsx:sync/openspec sync
106
+ - openspec-verify-change: 验证变更/opsx:verify/openspec verify
107
+ - ui-pc: 前端组件/Element UI/页面开发
108
+ - store-pc: Vuex/状态管理/store模块
109
+ - mysql-debug: MySQL调试/查数据库/执行SQL/数据库排查
110
+ - loki-log-query: Loki日志/日志查询/线上日志排查
111
+ - yunxiao-task-management: 云效任务/任务管理/需求管理
112
+ - crud: 快速CRUD生成/脚手架
113
+ - dev: 开发新功能/功能开发流程
114
+ - check: 代码检查/规范检查
115
+ - start: 项目启动/初始化/开始
116
+ - next: 下一步/继续/接下来做什么
117
+ - progress: 进度查看/当前状态
118
+ - sync: 同步/代码同步
119
+ - sync-back-merge: 回合并/sync back merge/主分支同步
120
+ - init-docs: 初始化文档/项目文档生成
121
+ - add-todo: 添加待办/TODO/任务添加
122
+ - update-status: 更新状态/状态变更
123
+ - skill-creator: 创建技能模板/技能脚手架/skill scaffold
140
124
 
141
125
  ### 步骤 2 - 激活(逐个调用,等待每个完成)
142
126
 
@@ -37,5 +37,14 @@
37
37
  }
38
38
  ]
39
39
  },
40
- "mcpServers": {}
40
+ "mcpServers": {
41
+ "sequential-thinking": {
42
+ "command": "npx",
43
+ "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
44
+ },
45
+ "context7": {
46
+ "command": "npx",
47
+ "args": ["-y", "@upstash/context7-mcp"]
48
+ }
49
+ }
41
50
  }