@aibyzero/byz 0.1.1 → 0.1.3

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 (114) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +34 -24
  3. package/dist/cli.js +22 -14
  4. package/dist/core/export-html/template.css +1066 -0
  5. package/dist/core/export-html/template.html +55 -0
  6. package/dist/core/export-html/template.js +1864 -0
  7. package/dist/core/export-html/vendor/highlight.min.js +1213 -0
  8. package/dist/core/export-html/vendor/marked.min.js +78 -0
  9. package/dist/fast.js +64 -0
  10. package/dist/modes/interactive/assets/clankolas.png +0 -0
  11. package/dist/modes/interactive/theme/dark.json +90 -0
  12. package/dist/modes/interactive/theme/light.json +89 -0
  13. package/dist/modes/interactive/theme/theme-schema.json +352 -0
  14. package/dist/runtime/bundle/chunks/{chunk-CCRJHU72.js → chunk-QY7DJQRI.js} +2 -2
  15. package/dist/runtime/bundle/chunks/github-copilot.js +1 -1
  16. package/dist/runtime/bundle/cli.js +1 -1
  17. package/dist/runtime/bundle/index.js +1 -1
  18. package/dist/runtime/bundle/rpc-entry.js +1 -1
  19. package/dist/runtime/core/resource-loader.d.ts +1 -0
  20. package/dist/runtime/core/resource-loader.d.ts.map +1 -1
  21. package/dist/runtime/core/resource-loader.js +8 -3
  22. package/dist/runtime/core/resource-loader.js.map +1 -1
  23. package/dist/workflows.js +4 -131
  24. package/package.json +2 -1
  25. package/workflows/cm-plugin/LICENSE +21 -0
  26. package/workflows/cm-plugin/README.md +195 -0
  27. package/workflows/cm-plugin/VERSION +1 -0
  28. package/workflows/cm-plugin/agents/cm-plugin-backend-agent.md +34 -0
  29. package/workflows/cm-plugin/agents/cm-plugin-extension-agent.md +35 -0
  30. package/workflows/cm-plugin/agents/cm-plugin-ui-agent.md +34 -0
  31. package/workflows/cm-plugin/commands/cm-plugin-ai-nodes/N1-init.md +60 -0
  32. package/workflows/cm-plugin/commands/cm-plugin-ai-nodes/N2-enter-feature.md +51 -0
  33. package/workflows/cm-plugin/commands/cm-plugin-ai-nodes/N3-execute-task.md +32 -0
  34. package/workflows/cm-plugin/commands/cm-plugin-ai-nodes/N4-review.md +58 -0
  35. package/workflows/cm-plugin/commands/cm-plugin-ai-nodes/N5-mark-done.md +80 -0
  36. package/workflows/cm-plugin/commands/cm-plugin-ai-nodes/N6-qa-eval.md +69 -0
  37. package/workflows/cm-plugin/commands/cm-plugin-ai-nodes/N7-context.md +23 -0
  38. package/workflows/cm-plugin/commands/cm-plugin-ai-nodes/N8-finish.md +61 -0
  39. package/workflows/cm-plugin/commands/cm-plugin-prd-modes/brownfield.md +13 -0
  40. package/workflows/cm-plugin/commands/cm-plugin-prd-modes/change-mode.md +130 -0
  41. package/workflows/cm-plugin/commands/cm-plugin-prd-modes/greenfield.md +82 -0
  42. package/workflows/cm-plugin/commands/cm-plugin:ai.md +75 -0
  43. package/workflows/cm-plugin/commands/cm-plugin:check.md +66 -0
  44. package/workflows/cm-plugin/commands/cm-plugin:fix.md +100 -0
  45. package/workflows/cm-plugin/commands/cm-plugin:idea.md +29 -0
  46. package/workflows/cm-plugin/commands/cm-plugin:init.md +145 -0
  47. package/workflows/cm-plugin/commands/cm-plugin:prd.md +403 -0
  48. package/workflows/cm-plugin/commands/cm-plugin:refactor.md +147 -0
  49. package/workflows/cm-plugin/commands/cm-plugin:rewrite.md +90 -0
  50. package/workflows/cm-plugin/commands/cm-plugin:scout.md +202 -0
  51. package/workflows/cm-plugin/docs//346/265/213/350/257/225/346/214/207/345/274/225-/345/277/253/351/200/237/344/270/212/346/211/213.md +189 -0
  52. package/workflows/cm-plugin/docs//351/207/215/346/236/204/346/265/201/347/250/213/350/256/276/350/256/241/README.md +17 -0
  53. package/workflows/cm-plugin/docs//351/207/215/346/236/204/346/265/201/347/250/213/350/256/276/350/256/241/refactor-flow.excalidraw +3650 -0
  54. package/workflows/cm-plugin/docs//351/207/215/346/236/204/346/265/201/347/250/213/350/256/276/350/256/241/refactor-flow.mp4 +0 -0
  55. package/workflows/cm-plugin/docs//351/207/215/346/236/204/346/265/201/347/250/213/350/256/276/350/256/241/refactor-flow.png +0 -0
  56. package/workflows/cm-plugin/docs//351/207/215/346/236/204/346/265/201/347/250/213/350/256/276/350/256/241/refactor-flow.spec.json +223 -0
  57. package/workflows/cm-plugin/package.json +33 -0
  58. package/workflows/cm-plugin/skills/cm-plugin-backend-engineer/SKILL.md +100 -0
  59. package/workflows/cm-plugin/skills/cm-plugin-devops-engineer/NOTICE.md +14 -0
  60. package/workflows/cm-plugin/skills/cm-plugin-devops-engineer/SKILL.md +120 -0
  61. package/workflows/cm-plugin/skills/cm-plugin-devops-engineer/references/cws-ci-cd.md +139 -0
  62. package/workflows/cm-plugin/skills/cm-plugin-devops-engineer/references/cws-submission-checklist.md +87 -0
  63. package/workflows/cm-plugin/skills/cm-plugin-doc-syncer/SKILL.md +149 -0
  64. package/workflows/cm-plugin/skills/cm-plugin-extension-engineer/SKILL.md +105 -0
  65. package/workflows/cm-plugin/skills/cm-plugin-product-manager/SKILL.md +83 -0
  66. package/workflows/cm-plugin/skills/cm-plugin-qa-engineer/NOTICE.md +14 -0
  67. package/workflows/cm-plugin/skills/cm-plugin-qa-engineer/SKILL.md +134 -0
  68. package/workflows/cm-plugin/skills/cm-plugin-qa-engineer/references/cws-scan-checklist.md +136 -0
  69. package/workflows/cm-plugin/skills/cm-plugin-qa-engineer/references/cws-violation-codes.md +68 -0
  70. package/workflows/cm-plugin/skills/cm-plugin-ui-engineer/SKILL.md +94 -0
  71. package/workflows/cm-plugin/skills/codebase-context/SKILL.md +489 -0
  72. package/workflows/cm-plugin/skills/darwin-skill/NOTICE.md +24 -0
  73. package/workflows/cm-plugin/skills/darwin-skill/README.md +272 -0
  74. package/workflows/cm-plugin/skills/darwin-skill/SKILL.md +492 -0
  75. package/workflows/cm-plugin/skills/darwin-skill/references/runtime-neutrality.md +68 -0
  76. package/workflows/cm-plugin/skills/darwin-skill/references/skilllens-evidence.md +142 -0
  77. package/workflows/cm-plugin/skills/darwin-skill/scripts/screenshot.mjs +71 -0
  78. package/workflows/cm-plugin/skills/darwin-skill/templates/result-card-dark.html +698 -0
  79. package/workflows/cm-plugin/skills/darwin-skill/templates/result-card-white.html +444 -0
  80. package/workflows/cm-plugin/skills/darwin-skill/templates/result-card.html +616 -0
  81. package/workflows/cm-plugin/skills/idea-to-prd/SKILL.md +289 -0
  82. package/workflows/cm-plugin/skills/idea-to-prd/references/domains/trading.md +97 -0
  83. package/workflows/cm-plugin/skills/idea-to-prd/references/example-prd.md +92 -0
  84. package/workflows/cm-plugin/templates/arch-reference.md +55 -0
  85. package/workflows/cm-plugin/templates/auto-update/cm-announce.sh +19 -0
  86. package/workflows/cm-plugin/templates/auto-update/cm-update.sh +251 -0
  87. package/workflows/cm-plugin/templates/dashboard/dashboard.html +153 -0
  88. package/workflows/cm-plugin/templates/dashboard/serve.sh +10 -0
  89. package/workflows/cm-plugin/templates/e2e/extension-harness.ts +110 -0
  90. package/workflows/cm-plugin/templates/e2e/smoke.spec.example.ts +51 -0
  91. package/workflows/cm-plugin/templates/hooks/pre-commit-cm-task-check +33 -0
  92. package/workflows/cm-plugin/templates/pixel/cm-pixel.html +388 -0
  93. package/workflows/cm-plugin/templates/pixel/cm-pixel.sh +212 -0
  94. package/workflows/cm-plugin/templates/pixel/dev/README.md +20 -0
  95. package/workflows/cm-plugin/templates/pixel/dev/atlas-preview.png +0 -0
  96. package/workflows/cm-plugin/templates/pixel/dev/build.py +55 -0
  97. package/workflows/cm-plugin/templates/pixel/dev/sheets/roguelikeChar_transparent.png +0 -0
  98. package/workflows/cm-plugin/templates/pixel/dev/sheets/roguelikeCity_tilemap.png +0 -0
  99. package/workflows/cm-plugin/templates/pixel/dev/sheets/roguelikeIndoor_transparent.png +0 -0
  100. package/workflows/cm-plugin/templates/pixel/dev/template.html +388 -0
  101. package/workflows/cm-plugin/templates/pixel/serve.sh +12 -0
  102. package/workflows/cm-plugin/templates/refactor/cm-refactor-denies.json +14 -0
  103. package/workflows/cm-plugin/templates/rules/backend-api.md +36 -0
  104. package/workflows/cm-plugin/templates/rules/chrome-extension.md +53 -0
  105. package/workflows/cm-plugin/templates/rules/coding-style.md +44 -0
  106. package/workflows/cm-plugin/templates/rules/frontend.md +32 -0
  107. package/workflows/cm-plugin/templates/rules/git-workflow.md +25 -0
  108. package/workflows/cm-plugin/templates/rules/security.md +31 -0
  109. package/workflows/cm-plugin/templates/rules/testing.md +36 -0
  110. package/workflows/cm-plugin/templates/scripts/cm-plugin-codex.sh +52 -0
  111. package/workflows/cm-plugin/templates/scripts/cm-plugin-log.sh +41 -0
  112. package/workflows/cm-plugin/templates/scripts/cm-plugin-preflight.sh +60 -0
  113. package/workflows/cm-plugin/templates/statusline/cm-plugin-statusline.sh +73 -0
  114. package/workflows.lock.json +4 -3
@@ -0,0 +1,698 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Darwin Skill - 暗夜成就</title>
7
+ <link rel="preconnect" href="https://fonts.googleapis.com">
8
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
9
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Noto+Sans+SC:wght@400;500;700;900&display=swap" rel="stylesheet">
10
+ <style>
11
+ *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
12
+
13
+ body {
14
+ display: flex;
15
+ justify-content: center;
16
+ align-items: flex-start;
17
+ min-height: 100vh;
18
+ background: #0D0D0F;
19
+ font-family: 'Noto Sans SC', 'Inter', sans-serif;
20
+ padding: 0;
21
+ }
22
+
23
+ .card {
24
+ width: 900px;
25
+ min-height: 600px;
26
+ position: relative;
27
+ display: flex;
28
+ flex-direction: column;
29
+ background: #0D0D0F;
30
+ color: #FFFFFF;
31
+ overflow: hidden;
32
+ }
33
+
34
+ /* ===== 全局光效底层 ===== */
35
+ .card::before {
36
+ content: '';
37
+ position: absolute;
38
+ top: 80px;
39
+ left: 50%;
40
+ transform: translateX(-50%);
41
+ width: 600px;
42
+ height: 600px;
43
+ background: radial-gradient(circle, rgba(232,89,12,0.12) 0%, rgba(232,89,12,0.04) 35%, transparent 70%);
44
+ pointer-events: none;
45
+ z-index: 0;
46
+ }
47
+ .card > * {
48
+ position: relative;
49
+ z-index: 1;
50
+ }
51
+
52
+ /* ===== 1. 顶部品牌条 ===== */
53
+ .brand-bar {
54
+ padding: 24px 48px;
55
+ display: flex;
56
+ justify-content: space-between;
57
+ align-items: center;
58
+ border-bottom: 1px solid rgba(255,255,255,0.06);
59
+ }
60
+ .brand-name {
61
+ font-size: 22px;
62
+ font-weight: 800;
63
+ color: #fff;
64
+ letter-spacing: 0.02em;
65
+ font-family: 'Inter', 'Noto Sans SC', sans-serif;
66
+ }
67
+ .brand-name .dot { color: #E8590C; }
68
+ .brand-date {
69
+ font-size: 15px;
70
+ font-weight: 500;
71
+ color: #555;
72
+ font-family: 'Inter', sans-serif;
73
+ }
74
+
75
+ /* ===== 2. 成就徽章区(视觉焦点) ===== */
76
+ .achievement-section {
77
+ padding: 36px 48px 24px;
78
+ display: flex;
79
+ flex-direction: column;
80
+ align-items: center;
81
+ text-align: center;
82
+ position: relative;
83
+ }
84
+
85
+ /* 徽章容器 */
86
+ .badge-container {
87
+ position: relative;
88
+ width: 220px;
89
+ height: 220px;
90
+ margin-bottom: 20px;
91
+ }
92
+
93
+ /* 外圈光晕 */
94
+ .badge-container::before {
95
+ content: '';
96
+ position: absolute;
97
+ top: -30px;
98
+ left: -30px;
99
+ right: -30px;
100
+ bottom: -30px;
101
+ border-radius: 50%;
102
+ background: radial-gradient(circle, rgba(232,89,12,0.25) 0%, rgba(255,107,53,0.08) 50%, transparent 75%);
103
+ pointer-events: none;
104
+ }
105
+
106
+ .badge-svg {
107
+ width: 240px;
108
+ height: 240px;
109
+ filter: drop-shadow(0 0 30px rgba(232,89,12,0.35)) drop-shadow(0 0 60px rgba(232,89,12,0.15));
110
+ }
111
+
112
+ .badge-ring-bg {
113
+ fill: none;
114
+ stroke: rgba(255,255,255,0.06);
115
+ stroke-width: 14;
116
+ }
117
+ .badge-ring-glow {
118
+ fill: none;
119
+ stroke: url(#darkOrangeGradient);
120
+ stroke-width: 16;
121
+ stroke-linecap: round;
122
+ /* 周长 = 2 * PI * 85 ≈ 534, 87% → dashoffset = 534 * 0.13 ≈ 69 */
123
+ stroke-dasharray: 534;
124
+ stroke-dashoffset: 69;
125
+ transform: rotate(-90deg);
126
+ transform-origin: center;
127
+ }
128
+ .badge-ring-track {
129
+ fill: none;
130
+ stroke: rgba(255,255,255,0.03);
131
+ stroke-width: 14;
132
+ stroke-dasharray: 6 6;
133
+ }
134
+
135
+ .badge-center {
136
+ position: absolute;
137
+ top: 50%;
138
+ left: 50%;
139
+ transform: translate(-50%, -50%);
140
+ text-align: center;
141
+ }
142
+ .badge-score {
143
+ font-size: 80px;
144
+ font-weight: 900;
145
+ color: #FFFFFF;
146
+ line-height: 1;
147
+ font-family: 'Inter', sans-serif;
148
+ letter-spacing: -0.04em;
149
+ text-shadow: 0 0 40px rgba(232,89,12,0.4);
150
+ }
151
+ .badge-max {
152
+ font-size: 22px;
153
+ font-weight: 600;
154
+ color: #555;
155
+ font-family: 'Inter', sans-serif;
156
+ margin-left: 2px;
157
+ }
158
+ .badge-label {
159
+ font-size: 13px;
160
+ font-weight: 600;
161
+ color: #666;
162
+ margin-top: 4px;
163
+ letter-spacing: 0.1em;
164
+ }
165
+
166
+ .achievement-title {
167
+ font-size: 30px;
168
+ font-weight: 900;
169
+ line-height: 1.3;
170
+ color: #FFFFFF;
171
+ margin-bottom: 6px;
172
+ }
173
+ .achievement-skill {
174
+ color: #FF6B35;
175
+ text-shadow: 0 0 20px rgba(232,89,12,0.3);
176
+ }
177
+ .achievement-subtitle {
178
+ font-size: 15px;
179
+ color: #555;
180
+ font-weight: 500;
181
+ font-family: 'Inter', sans-serif;
182
+ }
183
+
184
+ /* ===== 3. 经验条区 ===== */
185
+ .xp-section {
186
+ padding: 28px 48px 32px;
187
+ }
188
+ .xp-bar-wrapper {
189
+ background: rgba(255,255,255,0.04);
190
+ border-radius: 16px;
191
+ padding: 24px 28px;
192
+ }
193
+ .xp-labels {
194
+ display: flex;
195
+ justify-content: space-between;
196
+ align-items: baseline;
197
+ margin-bottom: 14px;
198
+ }
199
+ .xp-old {
200
+ font-size: 20px;
201
+ font-weight: 500;
202
+ color: #555;
203
+ font-family: 'Inter', sans-serif;
204
+ text-decoration: line-through;
205
+ text-decoration-color: #444;
206
+ }
207
+ .xp-new {
208
+ font-size: 28px;
209
+ font-weight: 900;
210
+ color: #FFFFFF;
211
+ font-family: 'Inter', sans-serif;
212
+ }
213
+ .xp-track {
214
+ position: relative;
215
+ width: 100%;
216
+ height: 20px;
217
+ background: rgba(255,255,255,0.06);
218
+ border-radius: 10px;
219
+ overflow: visible;
220
+ }
221
+ .xp-fill {
222
+ height: 100%;
223
+ width: 87%;
224
+ background: linear-gradient(90deg, #E8590C 0%, #FF6B35 100%);
225
+ border-radius: 10px;
226
+ box-shadow: 0 0 20px rgba(232,89,12,0.4), 0 0 6px rgba(232,89,12,0.6);
227
+ position: relative;
228
+ }
229
+ .xp-delta-badge {
230
+ position: absolute;
231
+ top: -32px;
232
+ right: -8px;
233
+ background: linear-gradient(135deg, #E8590C, #FF6B35);
234
+ color: #fff;
235
+ font-size: 16px;
236
+ font-weight: 800;
237
+ font-family: 'Inter', sans-serif;
238
+ padding: 4px 14px;
239
+ border-radius: 8px;
240
+ box-shadow: 0 4px 16px rgba(232,89,12,0.4);
241
+ white-space: nowrap;
242
+ }
243
+ .xp-delta-badge::after {
244
+ content: '';
245
+ position: absolute;
246
+ bottom: -5px;
247
+ left: 50%;
248
+ transform: translateX(-50%);
249
+ width: 0;
250
+ height: 0;
251
+ border-left: 6px solid transparent;
252
+ border-right: 6px solid transparent;
253
+ border-top: 6px solid #FF6B35;
254
+ }
255
+
256
+ /* ===== 4. 最大突破卡片 ===== */
257
+ .breakthrough-section {
258
+ padding: 0 48px 20px;
259
+ }
260
+ .breakthrough-card {
261
+ position: relative;
262
+ border-radius: 16px;
263
+ padding: 28px 32px;
264
+ background: rgba(255,255,255,0.03);
265
+ overflow: hidden;
266
+ }
267
+ /* 渐变边框效果 */
268
+ .breakthrough-card::before {
269
+ content: '';
270
+ position: absolute;
271
+ inset: 0;
272
+ border-radius: 16px;
273
+ padding: 2px;
274
+ background: linear-gradient(135deg, #E8590C 0%, #FF6B35 40%, rgba(255,107,53,0.2) 100%);
275
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
276
+ -webkit-mask-composite: xor;
277
+ mask-composite: exclude;
278
+ pointer-events: none;
279
+ }
280
+ .breakthrough-label {
281
+ font-size: 12px;
282
+ font-weight: 700;
283
+ letter-spacing: 0.12em;
284
+ color: #FF6B35;
285
+ margin-bottom: 12px;
286
+ text-transform: uppercase;
287
+ }
288
+ .breakthrough-content {
289
+ display: flex;
290
+ align-items: center;
291
+ gap: 24px;
292
+ }
293
+ .breakthrough-scores {
294
+ display: flex;
295
+ align-items: baseline;
296
+ gap: 12px;
297
+ flex-shrink: 0;
298
+ }
299
+ .bt-from {
300
+ font-size: 36px;
301
+ font-weight: 400;
302
+ color: #444;
303
+ font-family: 'Inter', sans-serif;
304
+ text-decoration: line-through;
305
+ text-decoration-color: #444;
306
+ }
307
+ .bt-arrow {
308
+ font-size: 20px;
309
+ color: #555;
310
+ }
311
+ .bt-to {
312
+ font-size: 52px;
313
+ font-weight: 900;
314
+ font-family: 'Inter', sans-serif;
315
+ color: #FF6B35;
316
+ line-height: 1;
317
+ text-shadow: 0 0 24px rgba(232,89,12,0.3);
318
+ }
319
+ .bt-pct {
320
+ font-size: 16px;
321
+ font-weight: 800;
322
+ font-family: 'Inter', sans-serif;
323
+ color: #4ADE80;
324
+ margin-left: 4px;
325
+ }
326
+ .breakthrough-text {
327
+ flex: 1;
328
+ }
329
+ .bt-dim-name {
330
+ font-size: 22px;
331
+ font-weight: 800;
332
+ color: #fff;
333
+ margin-bottom: 4px;
334
+ }
335
+ .bt-story {
336
+ font-size: 15px;
337
+ font-weight: 500;
338
+ color: #777;
339
+ line-height: 1.5;
340
+ }
341
+
342
+ /* ===== 5. 维度网格 2x4 ===== */
343
+ .dims-section {
344
+ padding: 0 48px 16px;
345
+ }
346
+ .dims-header {
347
+ font-size: 13px;
348
+ font-weight: 700;
349
+ color: #555;
350
+ letter-spacing: 0.1em;
351
+ margin-bottom: 16px;
352
+ text-transform: uppercase;
353
+ }
354
+ .dims-grid {
355
+ display: grid;
356
+ grid-template-columns: repeat(4, 1fr);
357
+ gap: 10px;
358
+ }
359
+ .dim-cell {
360
+ background: rgba(255,255,255,0.04);
361
+ border-radius: 12px;
362
+ padding: 16px 12px;
363
+ display: flex;
364
+ flex-direction: column;
365
+ align-items: center;
366
+ gap: 6px;
367
+ position: relative;
368
+ border: 1px solid rgba(255,255,255,0.04);
369
+ }
370
+ .dim-cell.hot {
371
+ background: rgba(232,89,12,0.08);
372
+ border: 1px solid rgba(232,89,12,0.2);
373
+ box-shadow: 0 0 20px rgba(232,89,12,0.1);
374
+ }
375
+ .dim-cell.warm {
376
+ background: rgba(255,255,255,0.05);
377
+ border: 1px solid rgba(255,255,255,0.06);
378
+ }
379
+ .dim-name {
380
+ font-size: 12px;
381
+ font-weight: 700;
382
+ color: #666;
383
+ text-align: center;
384
+ white-space: nowrap;
385
+ }
386
+ .dim-cell.hot .dim-name {
387
+ color: #888;
388
+ }
389
+ .dim-score-row {
390
+ display: flex;
391
+ align-items: baseline;
392
+ gap: 6px;
393
+ }
394
+ .dim-old-score {
395
+ font-size: 14px;
396
+ font-weight: 500;
397
+ color: #444;
398
+ font-family: 'Inter', sans-serif;
399
+ text-decoration: line-through;
400
+ text-decoration-color: #444;
401
+ }
402
+ .dim-score {
403
+ font-size: 30px;
404
+ font-weight: 900;
405
+ font-family: 'Inter', sans-serif;
406
+ color: #FFFFFF;
407
+ line-height: 1;
408
+ }
409
+ .dim-cell.hot .dim-score {
410
+ color: #FF6B35;
411
+ text-shadow: 0 0 12px rgba(232,89,12,0.3);
412
+ }
413
+ .dim-arrow {
414
+ display: inline-flex;
415
+ align-items: center;
416
+ justify-content: center;
417
+ font-size: 11px;
418
+ font-weight: 800;
419
+ font-family: 'Inter', sans-serif;
420
+ padding: 2px 8px;
421
+ border-radius: 6px;
422
+ line-height: 1;
423
+ }
424
+ .dim-arrow.up-big {
425
+ background: rgba(232,89,12,0.9);
426
+ color: #fff;
427
+ box-shadow: 0 0 8px rgba(232,89,12,0.3);
428
+ }
429
+ .dim-arrow.up-mid {
430
+ background: rgba(232,89,12,0.2);
431
+ color: #FF6B35;
432
+ }
433
+ .dim-arrow.up-small {
434
+ background: rgba(74,222,128,0.12);
435
+ color: #4ADE80;
436
+ }
437
+
438
+ /* ===== 6. 改进摘要 ===== */
439
+ .summary-section {
440
+ padding: 0 48px 32px;
441
+ }
442
+ .summary-header {
443
+ font-size: 13px;
444
+ font-weight: 700;
445
+ color: #555;
446
+ letter-spacing: 0.1em;
447
+ margin-bottom: 14px;
448
+ text-transform: uppercase;
449
+ }
450
+ .summary-items {
451
+ display: flex;
452
+ flex-direction: column;
453
+ gap: 8px;
454
+ }
455
+ .summary-item {
456
+ font-size: 15px;
457
+ font-weight: 500;
458
+ color: #888;
459
+ line-height: 1.6;
460
+ padding-left: 20px;
461
+ position: relative;
462
+ }
463
+ .summary-item::before {
464
+ content: '';
465
+ position: absolute;
466
+ left: 0;
467
+ top: 9px;
468
+ width: 8px;
469
+ height: 8px;
470
+ background: #E8590C;
471
+ border-radius: 50%;
472
+ box-shadow: 0 0 8px rgba(232,89,12,0.5);
473
+ }
474
+
475
+ /* ===== 7. 底部品牌条 ===== */
476
+ .footer {
477
+ margin-top: auto;
478
+ padding: 28px 48px;
479
+ display: flex;
480
+ justify-content: space-between;
481
+ align-items: center;
482
+ border-top: 1px solid rgba(255,255,255,0.06);
483
+ }
484
+ .footer-left {
485
+ display: flex;
486
+ flex-direction: column;
487
+ gap: 6px;
488
+ }
489
+ .footer-brand {
490
+ font-size: 20px;
491
+ font-weight: 800;
492
+ color: #fff;
493
+ font-family: 'Inter', 'Noto Sans SC', sans-serif;
494
+ }
495
+ .footer-brand .dot { color: #E8590C; }
496
+ .footer-slogan {
497
+ font-size: 14px;
498
+ color: #444;
499
+ font-weight: 500;
500
+ }
501
+ .footer-right {
502
+ text-align: right;
503
+ display: flex;
504
+ flex-direction: column;
505
+ gap: 4px;
506
+ }
507
+ .footer-url {
508
+ font-size: 14px;
509
+ color: #555;
510
+ font-family: 'Inter', monospace;
511
+ font-weight: 600;
512
+ }
513
+ .footer-by {
514
+ font-size: 13px;
515
+ color: #444;
516
+ }
517
+ </style>
518
+ </head>
519
+ <body>
520
+
521
+ <div class="card">
522
+
523
+ <!-- 1. 顶部品牌条 -->
524
+ <div class="brand-bar">
525
+ <div class="brand-name">Darwin<span class="dot">.</span>skill</div>
526
+ <div class="brand-date" data-field="date">2026.04.14</div>
527
+ </div>
528
+
529
+ <!-- 2. 成就徽章区 -->
530
+ <div class="achievement-section">
531
+ <div class="badge-container">
532
+ <svg class="badge-svg" viewBox="0 0 200 200">
533
+ <defs>
534
+ <linearGradient id="darkOrangeGradient" x1="0%" y1="0%" x2="100%" y2="100%">
535
+ <stop offset="0%" stop-color="#E8590C"/>
536
+ <stop offset="100%" stop-color="#FF6B35"/>
537
+ </linearGradient>
538
+ <filter id="glow">
539
+ <feGaussianBlur stdDeviation="3" result="coloredBlur"/>
540
+ <feMerge>
541
+ <feMergeNode in="coloredBlur"/>
542
+ <feMergeNode in="SourceGraphic"/>
543
+ </feMerge>
544
+ </filter>
545
+ </defs>
546
+ <!-- 底层虚线轨道 -->
547
+ <circle cx="100" cy="100" r="85" class="badge-ring-track"/>
548
+ <!-- 背景环 -->
549
+ <circle cx="100" cy="100" r="85" class="badge-ring-bg"/>
550
+ <!-- 发光进度环 -->
551
+ <circle cx="100" cy="100" r="85" class="badge-ring-glow" filter="url(#glow)"/>
552
+ </svg>
553
+ <div class="badge-center">
554
+ <div>
555
+ <span class="badge-score" data-field="score-after">87</span><span class="badge-max">/100</span>
556
+ </div>
557
+ <div class="badge-label">质量总分</div>
558
+ </div>
559
+ </div>
560
+
561
+ <div class="achievement-title">
562
+ 我的Skill进化报告<br>
563
+ <span class="achievement-skill" data-field="skill-name">审校降AI味</span>
564
+ </div>
565
+ <div class="achievement-subtitle" data-field="skill-id">huashu-proofreading</div>
566
+ </div>
567
+
568
+ <!-- 3. 经验条 -->
569
+ <div class="xp-section">
570
+ <div class="xp-bar-wrapper">
571
+ <div class="xp-labels">
572
+ <span class="xp-old" data-field="score-before">72</span>
573
+ <span class="xp-new" data-field="score-after-2">87</span>
574
+ </div>
575
+ <div class="xp-track">
576
+ <div class="xp-fill">
577
+ <div class="xp-delta-badge" data-field="score-delta">+15</div>
578
+ </div>
579
+ </div>
580
+ </div>
581
+ </div>
582
+
583
+ <!-- 4. 最大突破 -->
584
+ <div class="breakthrough-section">
585
+ <div class="breakthrough-card">
586
+ <div class="breakthrough-label">最大突破</div>
587
+ <div class="breakthrough-content">
588
+ <div class="breakthrough-scores">
589
+ <span class="bt-from" data-field="top1-from">5</span>
590
+ <span class="bt-arrow">&rarr;</span>
591
+ <span class="bt-to" data-field="top1-to">9</span>
592
+ <span class="bt-pct" data-field="top1-pct">+80%</span>
593
+ </div>
594
+ <div class="breakthrough-text">
595
+ <div class="bt-dim-name" data-field="top1-name">指令精度</div>
596
+ <div class="bt-story" data-field="top1-story">从模糊指令到精确可执行,指令精度翻了将近一倍</div>
597
+ </div>
598
+ </div>
599
+ </div>
600
+ </div>
601
+
602
+ <!-- 5. 八维度网格 -->
603
+ <div class="dims-section">
604
+ <div class="dims-header">八维度全景</div>
605
+ <div class="dims-grid">
606
+ <div class="dim-cell warm">
607
+ <div class="dim-name">元数据</div>
608
+ <div class="dim-score-row">
609
+ <span class="dim-old-score">6</span>
610
+ <span class="dim-score">8</span>
611
+ </div>
612
+ <span class="dim-arrow up-mid">+2</span>
613
+ </div>
614
+ <div class="dim-cell hot">
615
+ <div class="dim-name">工作流</div>
616
+ <div class="dim-score-row">
617
+ <span class="dim-old-score">5</span>
618
+ <span class="dim-score">8</span>
619
+ </div>
620
+ <span class="dim-arrow up-big">+3</span>
621
+ </div>
622
+ <div class="dim-cell hot">
623
+ <div class="dim-name">边界覆盖</div>
624
+ <div class="dim-score-row">
625
+ <span class="dim-old-score">4</span>
626
+ <span class="dim-score">7</span>
627
+ </div>
628
+ <span class="dim-arrow up-big">+3</span>
629
+ </div>
630
+ <div class="dim-cell">
631
+ <div class="dim-name">检查点</div>
632
+ <div class="dim-score-row">
633
+ <span class="dim-old-score">6</span>
634
+ <span class="dim-score">7</span>
635
+ </div>
636
+ <span class="dim-arrow up-small">+1</span>
637
+ </div>
638
+ <div class="dim-cell hot">
639
+ <div class="dim-name">指令精度</div>
640
+ <div class="dim-score-row">
641
+ <span class="dim-old-score">5</span>
642
+ <span class="dim-score">9</span>
643
+ </div>
644
+ <span class="dim-arrow up-big">+4</span>
645
+ </div>
646
+ <div class="dim-cell">
647
+ <div class="dim-name">资源整合</div>
648
+ <div class="dim-score-row">
649
+ <span class="dim-old-score">7</span>
650
+ <span class="dim-score">8</span>
651
+ </div>
652
+ <span class="dim-arrow up-small">+1</span>
653
+ </div>
654
+ <div class="dim-cell warm">
655
+ <div class="dim-name">整体架构</div>
656
+ <div class="dim-score-row">
657
+ <span class="dim-old-score">6</span>
658
+ <span class="dim-score">8</span>
659
+ </div>
660
+ <span class="dim-arrow up-mid">+2</span>
661
+ </div>
662
+ <div class="dim-cell hot">
663
+ <div class="dim-name">实测表现</div>
664
+ <div class="dim-score-row">
665
+ <span class="dim-old-score">5</span>
666
+ <span class="dim-score">8</span>
667
+ </div>
668
+ <span class="dim-arrow up-big">+3</span>
669
+ </div>
670
+ </div>
671
+ </div>
672
+
673
+ <!-- 6. 改进摘要 -->
674
+ <div class="summary-section">
675
+ <div class="summary-header">关键改进</div>
676
+ <div class="summary-items">
677
+ <div class="summary-item" data-field="improve-1">补充异常处理fallback路径,边界覆盖从4飙升到7</div>
678
+ <div class="summary-item" data-field="improve-2">工作流重组为线性可执行步骤,每步可验证</div>
679
+ <div class="summary-item" data-field="improve-3">测试prompt覆盖率从60%提升到95%,实测表现大幅进化</div>
680
+ </div>
681
+ </div>
682
+
683
+ <!-- 7. 底部品牌条 -->
684
+ <div class="footer">
685
+ <div class="footer-left">
686
+ <div class="footer-brand">Darwin<span class="dot">.</span>skill</div>
687
+ <div class="footer-slogan">像训练模型一样进化你的Skills</div>
688
+ </div>
689
+ <div class="footer-right">
690
+ <div class="footer-url">github.com/alchaincyf/darwin-skill</div>
691
+ <div class="footer-by">by 花叔</div>
692
+ </div>
693
+ </div>
694
+
695
+ </div>
696
+
697
+ </body>
698
+ </html>