openyida 2026.7.18 → 2026.7.21

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 (200) hide show
  1. package/README.md +37 -2
  2. package/bin/yida.js +113 -18
  3. package/docs/capabilities.md +202 -0
  4. package/lib/agent-center/agent-center.js +2 -3
  5. package/lib/app/app-list.js +3 -4
  6. package/lib/app/build-page.js +13 -6
  7. package/lib/app/check-page.js +16 -6
  8. package/lib/app/compile.js +17 -7
  9. package/lib/app/create-app.js +14 -2
  10. package/lib/app/create-form/api-path.js +25 -0
  11. package/lib/app/create-form/args.js +13 -0
  12. package/lib/app/create-form/commands.js +4 -0
  13. package/lib/app/create-form/definition-reader.js +23 -23
  14. package/lib/app/create-form/field-normalizers.js +26 -7
  15. package/lib/app/create-form/schema-patch.js +4 -1
  16. package/lib/app/create-form.js +155 -68
  17. package/lib/app/create-page.js +47 -10
  18. package/lib/app/generate-page.js +20 -1
  19. package/lib/app/get-form-config.js +2 -1
  20. package/lib/app/get-schema.js +67 -15
  21. package/lib/app/import-app.js +94 -42
  22. package/lib/app/list-forms.js +4 -8
  23. package/lib/app/page-ir.js +140 -0
  24. package/lib/app/publish.js +289 -556
  25. package/lib/app/schema-field-resolution.js +370 -0
  26. package/lib/app/services/app-reader.js +85 -0
  27. package/lib/app/services/app-service.js +235 -0
  28. package/lib/app/services/canvas-page-compiler.js +91 -0
  29. package/lib/app/services/canvas-page-schema-builder.js +149 -0
  30. package/lib/app/services/field-bindings.js +68 -0
  31. package/lib/app/services/form-compiler.js +1922 -0
  32. package/lib/app/services/form-mode-service.js +182 -0
  33. package/lib/app/services/form-schema-patcher.js +333 -0
  34. package/lib/app/services/form-schema-reader.js +59 -0
  35. package/lib/app/services/form-service.js +379 -0
  36. package/lib/app/services/form-validation.js +562 -0
  37. package/lib/app/services/native-page-compiler.js +92 -0
  38. package/lib/app/services/native-page-schema-builder.js +428 -0
  39. package/lib/app/services/page-resource-service.js +185 -0
  40. package/lib/app/update-app.js +22 -9
  41. package/lib/app/update-form-config.js +4 -2
  42. package/lib/asset/asset-cmd.js +19 -6
  43. package/lib/auth/oauth-loopback.js +376 -15
  44. package/lib/auth/token-auth.js +34 -3
  45. package/lib/auth/token-store.js +22 -4
  46. package/lib/basic-info/basic-info.js +2 -1
  47. package/lib/bridge/bridge.js +43 -18
  48. package/lib/core/agent-capabilities.js +5 -3
  49. package/lib/core/command-errors.js +38 -0
  50. package/lib/core/command-manifest.js +59 -1
  51. package/lib/core/copy.js +12 -0
  52. package/lib/core/doctor.js +15 -4
  53. package/lib/core/env-cmd.js +1 -1
  54. package/lib/core/env.js +7 -6
  55. package/lib/core/i18n.js +66 -8
  56. package/lib/core/legacy-schema-guard.js +408 -0
  57. package/lib/core/locales/en.js +38 -46
  58. package/lib/core/locales/zh.js +30 -46
  59. package/lib/core/sample.js +12 -2
  60. package/lib/core/utils.js +334 -66
  61. package/lib/core/yida-client.js +108 -5
  62. package/lib/corp-efficiency/corp-efficiency.js +2 -2
  63. package/lib/corp-manager/corp-manager.js +3 -3
  64. package/lib/formula/evaluate.js +11 -68
  65. package/lib/formula/field-refs.js +83 -0
  66. package/lib/i18n-management/i18n-management.js +2 -3
  67. package/lib/process/configure-process.js +44 -1992
  68. package/lib/process/create-process.js +54 -87
  69. package/lib/process/preview-process.js +20 -8
  70. package/lib/process/services/process-compiler.js +2056 -0
  71. package/lib/process/services/process-reader.js +232 -0
  72. package/lib/process/services/process-resource-service.js +571 -0
  73. package/lib/process/services/process-service.js +122 -0
  74. package/lib/process/services/process-stage-checkpoint.js +246 -0
  75. package/lib/report/append.js +7 -26
  76. package/lib/report/http.js +31 -5
  77. package/lib/report/index.js +10 -2
  78. package/lib/samples/yida-canvas-custom-page/business-list.canvas.jsx +63 -14
  79. package/lib/samples/yida-canvas-custom-page/dashboard-overview.canvas.jsx +176 -32
  80. package/lib/samples/yida-canvas-custom-page/dashboard-starter.canvas.jsx +5 -2
  81. package/lib/samples/yida-canvas-custom-page/data-management.canvas.jsx +228 -14
  82. package/lib/samples/yida-canvas-custom-page/portal-shell-home.canvas.jsx +2 -2
  83. package/lib/samples/yida-canvas-custom-page/split-pane-detail.canvas.jsx +206 -10
  84. package/lib/samples/yida-custom-page/data-management.oyd.jsx +14 -3
  85. package/lib/samples/yida-custom-page/design-tokens.js +2 -2
  86. package/lib/samples/yida-custom-page/detail-profile.oyd.jsx +1 -1
  87. package/lib/samples/yida-custom-page/portal-shell-home.oyd.jsx +7 -2
  88. package/lib/samples/yida-custom-page/split-pane-detail.oyd.jsx +2 -1
  89. package/lib/schema/adapters/app-adapter.js +210 -0
  90. package/lib/schema/adapters/form-adapter.js +1362 -0
  91. package/lib/schema/adapters/keys.js +19 -0
  92. package/lib/schema/adapters/page-adapter.js +566 -0
  93. package/lib/schema/adapters/process-adapter.js +519 -0
  94. package/lib/schema/applier.js +1878 -0
  95. package/lib/schema/apply-store.js +1083 -0
  96. package/lib/schema/command.js +645 -0
  97. package/lib/schema/dependency-graph.js +83 -0
  98. package/lib/schema/errors.js +481 -0
  99. package/lib/schema/hash.js +9 -0
  100. package/lib/schema/manifest-limits.js +177 -0
  101. package/lib/schema/manifest-loader.js +309 -0
  102. package/lib/schema/manifest-schema-v1.json +193 -0
  103. package/lib/schema/normalize-manifest.js +281 -0
  104. package/lib/schema/page-canvas-foundation.js +447 -0
  105. package/lib/schema/page-data-source-builder.js +561 -0
  106. package/lib/schema/page-foundation.js +556 -0
  107. package/lib/schema/page-source-loader.js +314 -0
  108. package/lib/schema/planner.js +691 -0
  109. package/lib/schema/remote-dispatch-boundary.js +39 -0
  110. package/lib/schema/remote-missing.js +21 -0
  111. package/lib/schema/remote-reader.js +189 -0
  112. package/lib/schema/resource-registry.js +157 -0
  113. package/lib/schema/server-revision.js +71 -0
  114. package/lib/schema/sort.js +28 -0
  115. package/lib/schema/state-store.js +589 -0
  116. package/package.json +10 -8
  117. package/scripts/check-release-risks.js +254 -0
  118. package/scripts/generate-command-docs.js +6 -1
  119. package/scripts/i18n-baseline.json +11 -11
  120. package/scripts/postinstall.js +8 -12
  121. package/scripts/validate-ci.sh +15 -11
  122. package/scripts/validate-i18n.js +30 -9
  123. package/scripts/validate-package-size.js +5 -2
  124. package/scripts/validate-skills.js +4 -0
  125. package/scripts/validate-structure.js +15 -0
  126. package/yida-skills/SKILL.md +117 -30
  127. package/yida-skills/references/schema-as-code-phase1.md +99 -0
  128. package/yida-skills/references/setup-and-env.md +59 -59
  129. package/yida-skills/references/task-retrospective.md +6 -6
  130. package/yida-skills/skills/yida-app/SKILL.md +78 -17
  131. package/yida-skills/skills/yida-canvas-custom-page/SKILL.md +18 -7
  132. package/yida-skills/skills/yida-canvas-custom-page/references/data-bridge-guide.md +3 -3
  133. package/yida-skills/skills/yida-canvas-custom-page/references/page-generation-guide.md +15 -0
  134. package/yida-skills/skills/yida-create-app/SKILL.md +21 -3
  135. package/yida-skills/skills/yida-create-form-page/SKILL.md +19 -1
  136. package/yida-skills/skills/yida-create-page/SKILL.md +16 -3
  137. package/yida-skills/skills/yida-create-process/SKILL.md +100 -4
  138. package/yida-skills/skills/yida-custom-page/SKILL.md +19 -4
  139. package/yida-skills/skills/yida-dashboard/SKILL.md +1 -1
  140. package/yida-skills/skills/yida-dashboard/references/pitfalls.md +1 -1
  141. package/yida-skills/skills/yida-get-schema/SKILL.md +49 -5
  142. package/yida-skills/skills/yida-i18n/SKILL.md +1 -1
  143. package/yida-skills/skills/yida-integration/SKILL.md +7 -1
  144. package/yida-skills/skills/yida-login/SKILL.md +50 -99
  145. package/yida-skills/skills/yida-page-config/SKILL.md +7 -1
  146. package/yida-skills/skills/yida-page-uiux/references/app/blueprint.md +0 -1
  147. package/yida-skills/skills/yida-page-uiux/references/app/navigation-patterns.md +0 -1
  148. package/yida-skills/skills/yida-page-uiux/references/app/role-journey.md +0 -1
  149. package/yida-skills/skills/yida-page-uiux/references/dashboard/app-blueprint.md +0 -1
  150. package/yida-skills/skills/yida-page-uiux/references/dashboard/chart-contracts.md +0 -1
  151. package/yida-skills/skills/yida-page-uiux/references/dashboard/component-contracts.md +0 -1
  152. package/yida-skills/skills/yida-page-uiux/references/dashboard/layout-patterns.md +0 -1
  153. package/yida-skills/skills/yida-page-uiux/references/dashboard/theme-recipes.md +0 -1
  154. package/yida-skills/skills/yida-page-uiux/references/detail/object-narrative.md +0 -1
  155. package/yida-skills/skills/yida-page-uiux/references/detail/section-patterns.md +0 -1
  156. package/yida-skills/skills/yida-page-uiux/references/detail/timeline-and-related.md +0 -1
  157. package/yida-skills/skills/yida-page-uiux/references/landing/assets-workflow.md +0 -1
  158. package/yida-skills/skills/yida-page-uiux/references/landing/industry-playbooks.md +0 -1
  159. package/yida-skills/skills/yida-page-uiux/references/landing/research-levels.md +0 -1
  160. package/yida-skills/skills/yida-page-uiux/references/landing/section-patterns.md +0 -1
  161. package/yida-skills/skills/yida-page-uiux/references/list/drawer-detail.md +0 -1
  162. package/yida-skills/skills/yida-page-uiux/references/list/empty-loading-error.md +0 -1
  163. package/yida-skills/skills/yida-page-uiux/references/list/filter-patterns.md +0 -1
  164. package/yida-skills/skills/yida-page-uiux/references/list/table-patterns.md +0 -1
  165. package/yida-skills/skills/yida-page-uiux/references/scenes/screen.md +0 -1
  166. package/yida-skills/skills/yida-page-uiux/references/workbench/entry-patterns.md +0 -1
  167. package/yida-skills/skills/yida-page-uiux/references/workbench/portal-layouts.md +0 -1
  168. package/yida-skills/skills/yida-page-uiux/references/workbench/task-feed.md +0 -1
  169. package/yida-skills/skills/yida-page-uiux/workflow/output-decision-block.md +1 -1
  170. package/yida-skills/skills/yida-process-rule/SKILL.md +35 -1
  171. package/yida-skills/skills/yida-publish-page/SKILL.md +46 -4
  172. package/yida-skills/skills/yida-report/SKILL.md +9 -235
  173. package/yida-skills/skills/yida-report/references/schema-builder-details.md +239 -0
  174. package/yida-skills/skills/yida-skill-evaluator/SKILL.md +170 -0
  175. package/yida-skills/skills-index.json +238 -54
  176. package/lib/core/locales/ar.js +0 -834
  177. package/lib/core/locales/de.js +0 -834
  178. package/lib/core/locales/es.js +0 -834
  179. package/lib/core/locales/fr.js +0 -834
  180. package/lib/core/locales/hi.js +0 -834
  181. package/lib/core/locales/ja.js +0 -1227
  182. package/lib/core/locales/ko.js +0 -836
  183. package/lib/core/locales/pt.js +0 -834
  184. package/lib/core/locales/vi.js +0 -834
  185. package/lib/core/locales/zh-HK.js +0 -1263
  186. package/project/pages/src/demo-birthday-game.oyd.jsx +0 -832
  187. package/project/pages/src/demo-chip-insight.oyd.jsx +0 -983
  188. package/project/pages/src/demo-compat-smoke.oyd.jsx +0 -58
  189. package/project/pages/src/demo-crm-batch-entry.oyd.jsx +0 -805
  190. package/project/pages/src/demo-crm-dashboard.oyd.jsx +0 -677
  191. package/project/pages/src/demo-future-vision-2026.oyd.jsx +0 -1102
  192. package/project/pages/src/demo-ppt.oyd.jsx +0 -1192
  193. package/project/pages/src/demo-salary-calculator.oyd.jsx +0 -904
  194. package/project/pages/src/openyida-knowledge-doc.oyd.jsx +0 -1714
  195. package/yida-skills/skills/large-file-write/SKILL.md +0 -93
  196. package/yida-skills/skills/large-file-write/references/write-patterns.md +0 -147
  197. package/yida-skills/skills/large-file-write/scripts/write.js +0 -157
  198. package/yida-skills/skills/sls-log-workbench/SKILL.md +0 -134
  199. package/yida-skills/skills/sls-log-workbench/references/workbench-reference.md +0 -130
  200. package/yida-skills/skills/sls-log-workbench/sls-query.js +0 -295
@@ -0,0 +1,170 @@
1
+ ---
2
+ name: yida-skill-evaluator
3
+ description: >
4
+ 评测指定的 openyida 技能质量。输入技能名称,自动执行全链路闭环评测
5
+ (静态校验 → 路由测试 → 安全合规 → 覆盖度 → 多维评分 → 准出门槛 → 优化建议),
6
+ 生成评测报告和改进建议。不要触发本技能来执行其他 openyida 开发任务。
7
+ triggers:
8
+ - 评测技能
9
+ - 测试技能
10
+ - skill eval
11
+ - 评估技能质量
12
+ - 跑一下评测
13
+ - 技能打分
14
+ - 检查技能
15
+ - 技能准出
16
+ - 评测 xx 技能
17
+ - run eval
18
+ ---
19
+
20
+ ## 触发条件
21
+
22
+ 当用户的意图是「评测/测试/检查某个 openyida 技能的质量」时触发。典型表述:
23
+
24
+ - "评测一下 yida-dashboard 技能"
25
+ - "帮我跑一下 skill eval"
26
+ - "检查这个技能的质量"
27
+ - "这个技能能不能准出?"
28
+ - "评估 yida-report 技能"
29
+ - "测试下路由准确率"
30
+
31
+ ## 前置条件
32
+
33
+ 1. 确认目标技能名称(如 `yida-dashboard`)。若用户未指定,列出可用技能供选择:
34
+ ```bash
35
+ ls yida-skills/skills/
36
+ ```
37
+ 2. 确认 Node.js 版本 ≥ 18:
38
+ ```bash
39
+ node --version
40
+ ```
41
+ 3. 确认依赖已安装:
42
+ ```bash
43
+ npm install
44
+ ```
45
+
46
+ ## 工作流
47
+
48
+ ### Step 1 — 快速评测(默认,无副作用)
49
+
50
+ 大多数情况使用 `pipeline` 模式,它会自动串联所有评测步骤:
51
+
52
+ ```bash
53
+ node scripts/eval/pipeline.js --skill <技能名>
54
+ ```
55
+
56
+ 该命令自动执行以下全部步骤:
57
+ 1. 静态校验(文档规范性 + 可维护性)
58
+ 2. 路由测试(命中率 + 混淆对)
59
+ 3. 安全合规检查
60
+ 4. 覆盖度分析
61
+ 5. 10 维度综合评分 + 加权总分
62
+ 6. 准出门槛判定 + 自动优化建议
63
+
64
+ 产物目录:`project/.cache/eval/pipeline/<run-id>/`
65
+
66
+ 读取结果:
67
+ ```bash
68
+ cat project/.cache/eval/pipeline/*/pipeline-report.json | tail -1
69
+ ```
70
+
71
+ ### Step 2 — 解读结果
72
+
73
+ 从 `pipeline-report.json` 中提取关键信息,向用户报告:
74
+
75
+ 1. **Pipeline 状态**:`status` 字段(pass / fail / warn)
76
+ 2. **各步骤结果**:`steps[]` 数组的 step / status / score / detail
77
+ 3. **总分**:`scorecard.overall`(0-100 分)
78
+ 4. **准出判定**:`scorecard.gate`(pass = 可准出,fail = 不可准出)
79
+ 5. **硬门槛详情**:`scorecard.hardGates` 中每项的状态
80
+ 6. **优化建议**:`suggestions[]` 中按 priority 排序的改进项
81
+
82
+ ### Step 3 — 深度评测(可选,用户要求时)
83
+
84
+ 如果用户要求更深度的评测(如 A/B 对比、JUnit 报告):
85
+
86
+ ```bash
87
+ # A/B 基线对比(with_skill vs without_skill)
88
+ node scripts/eval/runner.js --mode baseline --skill <技能名> --format junit
89
+
90
+ # 单独维度评测
91
+ node scripts/eval/runner.js --mode doc-quality --skill <技能名>
92
+ node scripts/eval/runner.js --mode comprehensive --skill <技能名>
93
+ ```
94
+
95
+ ### Step 4 — Web 控制台(可选)
96
+
97
+ 如果用户希望在浏览器中查看评测结果:
98
+
99
+ ```bash
100
+ npm run eval:dashboard
101
+ ```
102
+
103
+ 然后打开 http://127.0.0.1:4500 查看控制台。
104
+
105
+ ### Step 5 — 输出评测报告
106
+
107
+ 向用户呈现结构化报告:
108
+
109
+ ```
110
+ ## 技能评测报告:<技能名>
111
+
112
+ ### Pipeline 状态:<PASS/FAIL/WARN>
113
+
114
+ | 步骤 | 状态 | 分数 | 详情 |
115
+ |------|------|------|------|
116
+ | 静态校验 | ✔/✗ | xx | ... |
117
+ | 路由测试 | ✔/✗ | xx% | ... |
118
+ | 安全合规 | ✔/✗ | xx | ... |
119
+ | 覆盖度 | ✔/✗ | xx% | ... |
120
+ | 综合评分 | ✔/✗ | xx/100 | ... |
121
+ | 准出判定 | ✔/✗ | - | ... |
122
+
123
+ ### 评分卡(10 维度)
124
+
125
+ | 维度 | 得分 | 权重 | 加权得分 |
126
+ |------|------|------|----------|
127
+ | 规范性 | xx | 10% | x.x |
128
+ | 可维护性 | xx | 5% | x.x |
129
+ | 路由准确率 | xx | 15% | x.x |
130
+ | ... | ... | ... | ... |
131
+ | **总分** | **xx** | | |
132
+
133
+ ### 准出门槛
134
+
135
+ | 门槛 | 要求 | 实际 | 状态 |
136
+ |------|------|------|------|
137
+ | 触发准确率 | ≥ 85% | xx% | ✔/✗ |
138
+ | 步骤完成率 | = 100% | xx% | ✔/✗ |
139
+ | 功能测试通过率 | ≥ 95% | xx% | ✔/✗ |
140
+ | 输出格式正确率 | ≥ 85% | xx% | ✔/✗ |
141
+ | 安全合规 | 0 failures | xx | ✔/✗ |
142
+
143
+ ### 优化建议(前 3 条)
144
+
145
+ 1. [blocker/critical/high] ...
146
+ 2. ...
147
+ 3. ...
148
+ ```
149
+
150
+ ## 可用评测模式
151
+
152
+ | 模式 | 命令 | 说明 |
153
+ |------|------|------|
154
+ | pipeline | `--mode pipeline` | 全自动闭环(推荐) |
155
+ | doc-quality | `--mode doc-quality` | 文档规范性 |
156
+ | routing | `--mode routing` | 路由准确率 |
157
+ | safety | `--mode safety` | 安全合规 |
158
+ | coverage | `--mode coverage` | 覆盖度 |
159
+ | comprehensive | `--mode comprehensive` | 10 维度评分 |
160
+ | baseline | `--mode baseline` | A/B 基线对比 |
161
+ | e2e | `--mode e2e` | 端到端基线(需 OPENYIDA_E2E=1) |
162
+ | generate | `--mode generate` | 真实生成(需 OPENYIDA_E2E=1) |
163
+
164
+ ## WHEN NOT
165
+
166
+ - **不处理**应用搭建、页面开发、数据管理等开发任务
167
+ - **不处理**非 openyida 技能的评测
168
+ - **不修改**技能文件——仅读取和评测(除非用户明确要求根据建议修改)
169
+ - **不执行**需要真实宜搭资源的评测(e2e / generate),除非用户明确要求
170
+ - 不与 `yida-dashboard`、`yida-report`、`yida-create-process` 等搭建类技能混淆
@@ -3,39 +3,6 @@
3
3
  "source": "openyida",
4
4
  "entry": "openyida",
5
5
  "skills": [
6
- {
7
- "name": "large-file-write",
8
- "path": "skills/large-file-write/SKILL.md",
9
- "display_name": "大文件可靠写入",
10
- "description": "解决 heredoc 或 shell 命令写入大文件内容被截断的问题。优先使用 agent 结构化文件写入工具;超大文件可用该工具创建 Node.js payload 后执行。适用于需要可靠写入超过 100 行文本文件时。",
11
- "category": "yida-skills/agent",
12
- "tags": [
13
- "大文件",
14
- "写入",
15
- "结构化文件",
16
- "heredoc"
17
- ],
18
- "aliases": [
19
- "大文件写入"
20
- ]
21
- },
22
- {
23
- "name": "sls-log-workbench",
24
- "path": "skills/sls-log-workbench/SKILL.md",
25
- "display_name": "SLS 日志查询工作台",
26
- "description": "SLS 日志查询工作台排查技能。用于快速定位和排查宜搭平台的页面请求、业务规则、集成自动化、流程审批、TraceId、灰度匹配等问题。",
27
- "category": "yida-skills/ops",
28
- "tags": [
29
- "SLS",
30
- "日志",
31
- "排查",
32
- "TraceId"
33
- ],
34
- "aliases": [
35
- "日志查询",
36
- "平台排障"
37
- ]
38
- },
39
6
  {
40
7
  "name": "yida-agent-center",
41
8
  "path": "skills/yida-agent-center/SKILL.md",
@@ -56,7 +23,8 @@
56
23
  "name": "yida-app",
57
24
  "path": "skills/yida-app/SKILL.md",
58
25
  "display_name": "宜搭完整应用开发",
59
- "description": "从零到一搭建完整宜搭应用的流程编排技能。默认 fast_build 只创建应用、必要表单、主页面、发布并输出链接;不默认使用未绑定 dataSourceMap,导航、示例数据和深度设计按需后置。",
26
+ "description": "完整搭建或补齐普通 OpenYida 应用的流程编排技能。默认 fast_build 先解析并复用 app/page/form/process 上下文,只创建缺失且允许创建的应用、表单或页面;预创建占位应用在语义名称稳定后通过 update-app 重命名;不默认使用未绑定 dataSourceMap,导航、示例数据和深度设计按需后置。",
27
+ "done_when": "若本轮 Write/Edit 页面源码,必须真实执行成功 openyida publish <source> <appType> <displayPageFormUuid> 并返回访问 URL;没有 publish 证据只能声明源码已修改,尚未发布。",
60
28
  "category": "yida-skills/app",
61
29
  "tags": [
62
30
  "宜搭",
@@ -136,7 +104,25 @@
136
104
  ],
137
105
  "aliases": [
138
106
  "业务关联"
139
- ]
107
+ ],
108
+ "positive_signals": [
109
+ "业务关联规则",
110
+ "高级函数",
111
+ "表单内跨表联动",
112
+ "INSERT",
113
+ "UPDATE",
114
+ "DELETE 规则"
115
+ ],
116
+ "negative_signals": [
117
+ "集成自动化逻辑流",
118
+ "HTTP 连接器",
119
+ "页面 dataSourceMap",
120
+ "流程审批节点"
121
+ ],
122
+ "command_ids": [
123
+ "create-form.rule"
124
+ ],
125
+ "done_when": "业务关联规则配置写入目标表单 Schema。"
140
126
  },
141
127
  {
142
128
  "name": "yida-canvas-custom-page",
@@ -153,7 +139,28 @@
153
139
  "aliases": [
154
140
  "代码画布",
155
141
  "Canvas 页面"
156
- ]
142
+ ],
143
+ "positive_signals": [
144
+ "Code Canvas",
145
+ "代码画布",
146
+ "现代 React 页面",
147
+ "官网首页",
148
+ "工作台",
149
+ "看板页面",
150
+ ".canvas.jsx"
151
+ ],
152
+ "negative_signals": [
153
+ "普通自定义页面 JSX/Jsx",
154
+ "强依赖 this.$",
155
+ "强依赖 this.dataSourceMap",
156
+ "renderJsx 旧页面迁移"
157
+ ],
158
+ "command_ids": [
159
+ "generate-page",
160
+ "build-page",
161
+ "publish"
162
+ ],
163
+ "done_when": "Canvas 源码生成或修改后,必须真实执行成功 openyida publish <source> <appType> <displayPageFormUuid> 写入 YidaCodeCanvas Schema;没有 publish 证据只能声明源码已修改,尚未发布。"
157
164
  },
158
165
  {
159
166
  "name": "yida-canvas-data-binding",
@@ -203,7 +210,25 @@
203
210
  "aliases": [
204
211
  "高级图表",
205
212
  "数据大屏"
206
- ]
213
+ ],
214
+ "positive_signals": [
215
+ "ECharts",
216
+ "高级图表",
217
+ "数据大屏图表",
218
+ "地图",
219
+ "雷达图",
220
+ "散点图"
221
+ ],
222
+ "negative_signals": [
223
+ "原生报表",
224
+ "完整驾驶舱交付",
225
+ "仅创建报表数据源"
226
+ ],
227
+ "command_ids": [
228
+ "sample",
229
+ "publish"
230
+ ],
231
+ "done_when": "ECharts 页面源码完成并发布,必要时报表数据源已绑定。"
207
232
  },
208
233
  {
209
234
  "name": "yida-connector",
@@ -273,7 +298,7 @@
273
298
  "name": "yida-create-app",
274
299
  "path": "skills/yida-create-app/SKILL.md",
275
300
  "display_name": "创建宜搭应用",
276
- "description": "创建宜搭应用并返回 appType。搭建应用的第一步。",
301
+ "description": "仅在没有目标 app 且允许创建时创建宜搭应用并返回 appType。已绑定或预创建 app 不调用 create-app,应交给 yida-app 复用,并在需要时通过 update-app 重命名。",
277
302
  "category": "yida-skills/app",
278
303
  "tags": [
279
304
  "创建应用",
@@ -299,7 +324,32 @@
299
324
  "aliases": [
300
325
  "建表单",
301
326
  "字段设计"
302
- ]
327
+ ],
328
+ "positive_signals": [
329
+ "创建表单",
330
+ "新建表单",
331
+ "新增字段",
332
+ "修改字段结构",
333
+ "字段联动",
334
+ "数据源绑定字段"
335
+ ],
336
+ "negative_signals": [
337
+ "查询表单数据",
338
+ "新增记录",
339
+ "更新记录",
340
+ "删除记录",
341
+ "发起流程实例"
342
+ ],
343
+ "command_ids": [
344
+ "create-form.create",
345
+ "create-form.update",
346
+ "create-form.patch",
347
+ "create-form.rule",
348
+ "create-form.validation",
349
+ "create-form.bind-datasource",
350
+ "create-form.add-option"
351
+ ],
352
+ "done_when": "表单结构创建或更新成功,并拿到真实 formUuid / fieldId 证据。"
303
353
  },
304
354
  {
305
355
  "name": "yida-create-page",
@@ -348,7 +398,28 @@
348
398
  "aliases": [
349
399
  "页面开发",
350
400
  "普通自定义页面"
351
- ]
401
+ ],
402
+ "positive_signals": [
403
+ "普通自定义页面",
404
+ "Jsx 组件链路",
405
+ "this.$",
406
+ "this.utils.yida",
407
+ "this.dataSourceMap",
408
+ "renderJsx",
409
+ ".oyd.jsx"
410
+ ],
411
+ "negative_signals": [
412
+ "默认现代 React 页面",
413
+ "Code Canvas 默认链路",
414
+ "只做视觉方向决策"
415
+ ],
416
+ "command_ids": [
417
+ "sample",
418
+ "check-page",
419
+ "compile",
420
+ "publish"
421
+ ],
422
+ "done_when": "普通自定义页面源码通过 check-page / compile 后,必须真实执行成功 openyida publish <source> <appType> <displayPageFormUuid> 发布到目标 display 页面;没有 publish 证据只能声明源码已修改,尚未发布。"
352
423
  },
353
424
  {
354
425
  "name": "yida-dashboard",
@@ -365,7 +436,26 @@
365
436
  "aliases": [
366
437
  "经营看板",
367
438
  "驾驶舱"
368
- ]
439
+ ],
440
+ "positive_signals": [
441
+ "经营看板",
442
+ "管理驾驶舱",
443
+ "产品化工作台",
444
+ "指标闭环",
445
+ "行动看板"
446
+ ],
447
+ "negative_signals": [
448
+ "单个 ECharts 图",
449
+ "原生报表",
450
+ "只做页面视觉美化"
451
+ ],
452
+ "command_ids": [
453
+ "create-page",
454
+ "generate-page",
455
+ "create-report",
456
+ "publish"
457
+ ],
458
+ "done_when": "看板页面、数据来源和关键行动入口形成可访问交付。"
369
459
  },
370
460
  {
371
461
  "name": "yida-data-management",
@@ -382,7 +472,27 @@
382
472
  "aliases": [
383
473
  "数据管理",
384
474
  "造数"
385
- ]
475
+ ],
476
+ "positive_signals": [
477
+ "查询数据",
478
+ "新增记录",
479
+ "更新记录",
480
+ "批量导入",
481
+ "表单实例",
482
+ "子表数据",
483
+ "任务中心"
484
+ ],
485
+ "negative_signals": [
486
+ "新增字段",
487
+ "修改表单结构",
488
+ "字段联动规则",
489
+ "页面数据源设计器配置"
490
+ ],
491
+ "command_ids": [
492
+ "data",
493
+ "task-center"
494
+ ],
495
+ "done_when": "目标数据查询或写入完成,并用 query/get 抽查真实记录。"
386
496
  },
387
497
  {
388
498
  "name": "yida-data-source-connectors",
@@ -574,13 +684,36 @@
574
684
  ],
575
685
  "aliases": [
576
686
  "自动化流"
577
- ]
687
+ ],
688
+ "positive_signals": [
689
+ "集成自动化",
690
+ "逻辑流",
691
+ "提交后跨表写入",
692
+ "外部 API 自动化",
693
+ "开启自动化",
694
+ "关闭自动化",
695
+ "异常日志"
696
+ ],
697
+ "negative_signals": [
698
+ "表单内业务关联规则",
699
+ "只创建 HTTP 连接器动作",
700
+ "页面 dataSourceMap 数据源"
701
+ ],
702
+ "command_ids": [
703
+ "integration.create",
704
+ "integration.list",
705
+ "integration.enable",
706
+ "integration.disable",
707
+ "integration.check",
708
+ "integration.diagnose"
709
+ ],
710
+ "done_when": "集成自动化创建/启停/诊断完成,并返回 processCode 或检查结果。"
578
711
  },
579
712
  {
580
713
  "name": "yida-login",
581
714
  "path": "skills/yida-login/SKILL.md",
582
715
  "display_name": "宜搭登录态管理",
583
- "description": "宜搭登录态管理。默认 OAuth token 模式,access_token / refresh_token 持久化到 .cache/auth-token-<env>.json。",
716
+ "description": "宜搭登录态管理。默认 OAuth token 模式;YIDA_AUTH_ENABLED=true 时使用宿主注入 token。",
584
717
  "category": "yida-skills/context",
585
718
  "tags": [
586
719
  "登录",
@@ -686,7 +819,25 @@
686
819
  ],
687
820
  "aliases": [
688
821
  "视觉决策"
689
- ]
822
+ ],
823
+ "positive_signals": [
824
+ "页面美化",
825
+ "视觉方向",
826
+ "去 AI 味",
827
+ "高级感",
828
+ "品牌化",
829
+ "页面太丑"
830
+ ],
831
+ "negative_signals": [
832
+ "创建页面资源",
833
+ "发布页面",
834
+ "表单字段建模",
835
+ "数据记录操作"
836
+ ],
837
+ "command_ids": [
838
+ "generate-page"
839
+ ],
840
+ "done_when": "输出可执行视觉方向决策块,并交给页面实现技能落地。"
690
841
  },
691
842
  {
692
843
  "name": "yida-ppt",
@@ -741,6 +892,12 @@
741
892
  "path": "skills/yida-publish-page/SKILL.md",
742
893
  "display_name": "发布自定义页面",
743
894
  "description": "将自定义页面源码编译为宜搭可运行 Schema 并发布;源码依赖 dataSourceMap 但发布无数据源时不能视为完成。",
895
+ "command_ids": [
896
+ "check-page",
897
+ "compile",
898
+ "publish"
899
+ ],
900
+ "done_when": "final 证据只认真实执行成功的 openyida publish <source> <appType> <displayPageFormUuid> 命令结果;本地文件编辑、diff、check-page 或 compile 不能证明远端页面已更新。",
744
901
  "category": "yida-skills/page",
745
902
  "tags": [
746
903
  "发布",
@@ -766,7 +923,24 @@
766
923
  ],
767
924
  "aliases": [
768
925
  "原生报表"
769
- ]
926
+ ],
927
+ "positive_signals": [
928
+ "原生报表",
929
+ "统计报表",
930
+ "指标卡",
931
+ "表格报表",
932
+ "筛选器"
933
+ ],
934
+ "negative_signals": [
935
+ "ECharts 大屏",
936
+ "产品化驾驶舱页面",
937
+ "自定义页面视觉实现"
938
+ ],
939
+ "command_ids": [
940
+ "create-report",
941
+ "append-chart"
942
+ ],
943
+ "done_when": "原生报表或图表创建成功并返回 reportId / 页面链接。"
770
944
  },
771
945
  {
772
946
  "name": "yida-table-form",
@@ -801,6 +975,22 @@
801
975
  "品牌色"
802
976
  ]
803
977
  },
978
+ {
979
+ "name": "yida-skill-evaluator",
980
+ "path": "skills/yida-skill-evaluator/SKILL.md",
981
+ "display_name": "技能质量评测",
982
+ "description": "评测指定的 openyida 技能质量,自动执行多维评测(规范性、触发准确率、执行完整性、输出有效性、可维护性),生成评测报告和改进建议。",
983
+ "category": "yida-skills/ops",
984
+ "tags": [
985
+ "评测",
986
+ "技能质量",
987
+ "skill eval",
988
+ "评估"
989
+ ],
990
+ "aliases": [
991
+ "技能评测"
992
+ ]
993
+ },
804
994
  {
805
995
  "name": "yida-voc",
806
996
  "path": "skills/yida-voc/SKILL.md",
@@ -946,13 +1136,8 @@
946
1136
  {
947
1137
  "name": "yida-skills/ops",
948
1138
  "display_name": "排障与支持",
949
- "description": "SLS 日志排查、数据库 Sequence 修复、VOC 故障/需求反馈材料整理。",
1139
+ "description": "数据库 Sequence 修复、VOC 故障/需求反馈材料整理。",
950
1140
  "signals": [
951
- "SLS",
952
- "日志",
953
- "traceId",
954
- "排障",
955
- "灰度",
956
1141
  "Sequence",
957
1142
  "主键冲突",
958
1143
  "VOC",
@@ -962,9 +1147,8 @@
962
1147
  {
963
1148
  "name": "yida-skills/agent",
964
1149
  "display_name": "Agent 辅助工具",
965
- "description": "非宜搭业务资源本身的 agent 辅助能力:大文件可靠写入、导出对话、会议/闪记转 PRD。",
1150
+ "description": "非宜搭业务资源本身的 agent 辅助能力:导出对话、会议/闪记转 PRD。",
966
1151
  "signals": [
967
- "大文件写入",
968
1152
  "导出对话",
969
1153
  "会议纪要",
970
1154
  "闪记",