Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
4bdaef6
init
wenwenhua Jun 2, 2026
30eb00d
Merge branch 'master' into feat-mpx-skyline-adaptation
wenwenhua Jun 2, 2026
cbbfe50
init skyline skill
wenwenhua Jun 2, 2026
9748e27
init
wenwenhua Jun 3, 2026
93f1f26
Merge branch 'master' into feat-mpx-skyline-adaptation
wenwenhua Jun 3, 2026
4982248
add isSkyline
wenwenhua Jun 5, 2026
c9647fc
暂存
cwyyue Jun 8, 2026
6d6b8b1
Merge remote-tracking branch 'origin/feat-mpx-skyline-adaptation' int…
cwyyue Jun 9, 2026
ce5abbd
add skyline 更新
wenwenhua Jun 9, 2026
7f4e466
add skyline 更新
wenwenhua Jun 9, 2026
be050e9
add skyline 更新
wenwenhua Jun 9, 2026
76d8c3d
Merge remote-tracking branch 'origin/feat-mpx-skyline-adaptation' int…
cwyyue Jun 11, 2026
4dccd44
feat: 修正&完善
cwyyue Jun 12, 2026
0f913df
add skill
wenwenhua Jun 19, 2026
2e35091
Merge branch 'master' into feat-mpx-skyline-adaptation
wenwenhua Jun 19, 2026
b9079fd
优化 skyline skill
wenwenhua Jun 23, 2026
9726c6e
优化 skyline skill
wenwenhua Jun 23, 2026
f2ad074
优化 skyline skill
wenwenhua Jun 24, 2026
fef42d9
优化 skyline skill
wenwenhua Jun 24, 2026
3819814
优化 skyline skill
wenwenhua Jun 24, 2026
93bf128
优化 skyline skill
wenwenhua Jun 24, 2026
95a08b5
优化 skyline skill
wenwenhua Jun 24, 2026
89eb8a0
优化 skyline skill
wenwenhua Jun 25, 2026
9c7a839
Merge branch 'master' into feat-mpx-skyline-adaptation
wenwenhua Jun 29, 2026
ceb4b05
更新适用场景 & demo
wenwenhua Jun 30, 2026
09f8b4b
Merge branch 'master' into feat-mpx-skyline-adaptation
wenwenhua Jun 30, 2026
73d34a9
skill-creator 优化
wenwenhua Jun 30, 2026
b435bf1
skill-creator 优化
wenwenhua Jun 30, 2026
a4e811e
skill 优化
wenwenhua Jul 1, 2026
98f211e
Merge branch 'master' into feat-mpx-skyline-adaptation
wenwenhua Jul 1, 2026
8698fb6
Merge branch 'master' into feat-mpx-skyline-adaptation
wenwenhua Jul 4, 2026
67ebcf1
skill 优化
wenwenhua Jul 6, 2026
1bb0d2a
skill 优化
wenwenhua Jul 7, 2026
bef0c82
skill 优化
wenwenhua Jul 7, 2026
d620508
skill 优化
wenwenhua Jul 8, 2026
2139807
skill 优化
wenwenhua Jul 8, 2026
e01116c
skill 优化
wenwenhua Jul 10, 2026
9b62452
Merge branch 'master' into feat-mpx-skyline-adaptation
wenwenhua Jul 10, 2026
2577b46
skill 优化
wenwenhua Jul 10, 2026
dab5bda
skill 优化
wenwenhua Jul 13, 2026
27a57ec
skill 优化
wenwenhua Jul 14, 2026
631dd04
skill 优化 PostScript name
wenwenhua Jul 14, 2026
c0e1770
skill 优化
wenwenhua Jul 14, 2026
82ce09c
Merge branch 'master' into feat-mpx-skyline-adaptation
wenwenhua Jul 14, 2026
acabc0f
skill 优化
wenwenhua Jul 14, 2026
06b877a
skill 优化
wenwenhua Jul 15, 2026
61329b5
skill 优化
wenwenhua Jul 15, 2026
c8c2cbe
skill 优化:标点符号&大小写对齐
wenwenhua Jul 15, 2026
192405d
skill 优化
wenwenhua Jul 15, 2026
a24196d
skill 优化
wenwenhua Jul 15, 2026
c5f3c0b
skill 优化
wenwenhua Jul 15, 2026
e5ed97b
skill 优化
wenwenhua Jul 15, 2026
2e63882
Merge branch 'master' into feat-mpx-skyline-adaptation
wenwenhua Jul 15, 2026
0bac8ff
skill 优化
wenwenhua Jul 15, 2026
91cea3f
skill 优化
wenwenhua Jul 16, 2026
8e6a3b7
skill 优化
wenwenhua Jul 16, 2026
ce29623
Merge branch 'master' into feat-mpx-skyline-adaptation
wenwenhua Jul 21, 2026
1cffa62
Merge branch 'master' into feat-mpx-skyline-adaptation
wenwenhua Aug 12, 2026
550e487
:active 优化
wenwenhua Aug 19, 2026
08ca897
Merge branch 'master' into feat-mpx-skyline-adaptation
wenwenhua Aug 19, 2026
ac8eeba
新增case 装饰条+卡片场景
wenwenhua Sep 2, 2026
b15a983
Merge branch 'master' into feat-mpx-skyline-adaptation
wenwenhua Sep 8, 2026
73efa18
新增case合集
wenwenhua Sep 10, 2026
8c99434
Merge branch 'master' into feat-mpx-skyline-adaptation
wenwenhua Sep 10, 2026
0e909dd
新增case合集
wenwenhua Sep 10, 2026
1250e74
合并&优化case合集
wenwenhua Sep 11, 2026
d106a46
合并&优化case合集
wenwenhua Sep 11, 2026
6754e93
skill cr 优化:
wenwenhua Sep 16, 2026
12af430
Merge branch 'master' into feat-mpx-skyline-adaptation
wenwenhua Sep 16, 2026
724d551
测试集优化
wenwenhua Sep 16, 2026
15b9f38
测试集优化
wenwenhua Sep 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .agents/skills/mpx2skyline-workspace/benchmark.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Mpx2Skyline 测试集

当前有效定义:v4,4个case、37条断言,尚未执行。

[设计](test-design.md) · [定义](iteration-4/evals.json) · [评分标准](iteration-4/grading-standard.md)

[iteration-3历史结果](iteration-3/benchmark.md)属于旧任务上下文,分数不迁移至v4。
11 changes: 11 additions & 0 deletions .agents/skills/mpx2skyline-workspace/iteration-4/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# 当前测试集 v4

4个case/37条断言,未执行。原case 4合并到1并统一为orders.mpx页面输入,原case 3合并到2并统一为user-list.mpx组件输入(保留外部row.wxml和logo.svg);新case 3为仅提供需求的任务看板页面创建。

原始产物与评分保留在iteration-3。新版外层input只保留一份,不复制Skill,不预建执行目录。定义详见evals.json,迁移关系见assertion-migration.json。

从Mpx仓库根目录执行定义校验:

```sh
node node_modules/jest/bin/jest.js --config '{"rootDir":"./.agents/skills/mpx2skyline-workspace/iteration-4","testMatch":["**/validate-suite.test.cjs"],"testEnvironment":"node","transform":{}}' --runInBand --watchman=false
```

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
{
"eval_id": 0,
"eval_name": "style-layout",
"title": "样式与布局",
"description": "适配组件样式、间距、视觉效果及字体兼容。",
"task_type": "adaptation",
"prompt": "请按input/task.md将给定Mpx文件适配到微信Skyline,保持要求中的WebView体验,输出完整文件和验证报告。范围和交互已确认。",
"files": [
"input/style-card.mpx",
"input/task.md"
],
"assertions": [
{
"id": "s0_00",
"text": "Skyline 标题的实际 text 承载节点设置 max-lines=1、overflow=ellipsis,并与 WebView 单行省略样式共同实现长标题截断。",
"rule_id": "skyline.text-ellipsis",
"scope": "skyline",
"source": {
"file": "references/skyline-layout-practice.md",
"section": "文本溢出省略适配"
},
"verification": "检查标题节点属性和有界宽度;分别审查两种 renderer 的单行省略路径。",
"source_assertions": [
"e0_01",
"e0_02",
"e6_06",
"e7_08",
"e8_05"
]
},
{
"id": "s0_01",
"text": "Skyline 两列标签使用显式横向 Flex 和等分子项布局,实现两列等宽。",
"rule_id": "skyline.equal-columns",
"scope": "skyline",
"source": {
"file": "references/skyline-style-reference.md",
"section": "布局、盒模型与层叠差异"
},
"verification": "检查父子布局关系及 flex basis/width,计算两列可用宽度。",
"source_assertions": [
"e0_03",
"e6_07"
]
},
{
"id": "s0_02",
"text": "Skyline 活动状态通过受支持的 class 选择器映射到红色活动文案。",
"rule_id": "skyline.class-selector",
"scope": "skyline",
"source": {
"file": "references/skyline-style-reference.md",
"section": "选择器支持"
},
"verification": "追踪实际活动节点 class 与颜色声明的匹配关系。",
"source_assertions": [
"e0_04"
]
},
{
"id": "s0_03",
"text": "Skyline 通过 renderer 与屏宽状态选择容器 padding,宽度≤320px 为12rpx、>320px 为24rpx;Skyline 默认覆盖位于媒体查询之后,WebView 继续使用原媒体查询。",
"rule_id": "skyline.responsive-padding",
"scope": "skyline",
"source": {
"file": "references/skyline-layout-practice.md",
"section": "@media screen 替换方案"
},
"verification": "分别代入 renderer 两值和320/321px,按选择器优先级与源码顺序计算最终 padding。",
"source_assertions": [
"e0_06",
"e0_07",
"e0_08"
]
},
{
"id": "s0_04",
"text": "Skyline 内容与父容器上外沿的20px距离由父 padding 表达,子节点从父内容区起始位置布局。",
"rule_id": "skyline.parent-spacing",
"scope": "skyline",
"source": {
"file": "references/skyline-layout-practice.md",
"section": "垂直 margin 折叠处理"
},
"verification": "检查 .outer/.child 的盒模型,计算父外沿到首个子盒的20px距离。",
"source_assertions": [
"e5_00"
]
},
{
"id": "s0_05",
"text": "Skyline 相邻块的垂直间距集中由一侧的16px margin承担,最终相邻盒间距为16px。",
"rule_id": "skyline.sibling-spacing",
"scope": "skyline",
"source": {
"file": "references/skyline-layout-practice.md",
"section": "垂直 margin 折叠处理"
},
"verification": "计算第一块下边界到第二块上边界的间距,核对两侧 margin 的实际贡献。",
"source_assertions": [
"e5_02"
]
},
{
"id": "s0_06",
"text": "Skyline 将双阴影分配到同尺寸的嵌套节点或等效分层结构,呈现原有两层阴影的参数和前后关系。",
"rule_id": "skyline.layered-shadows",
"scope": "skyline",
"source": {
"file": "references/skyline-style-reference.md",
"section": "背景、边框与遮罩差异"
},
"verification": "追踪0 2px 4px #000与0 4px 8px #333分别作用的节点、尺寸和绘制层次。",
"source_assertions": [
"e5_04"
]
},
{
"id": "s0_07",
"text": "Skyline 将复合滤镜分层为内层blur(2px)和外层brightness(.8),组合呈现原有两种效果。",
"rule_id": "skyline.layered-filters",
"scope": "skyline",
"source": {
"file": "references/skyline-style-reference.md",
"section": "滤镜差异"
},
"verification": "检查滤镜节点嵌套与作用顺序,逐层核对单函数参数。",
"source_assertions": [
"e5_05"
]
},
{
"id": "s0_08",
"text": "Skyline 字体处理识别 City-Semibold 的同名独立字体族,明确 Trip-Medium 的宿主字体与 PostScript 映射核验点,并记录500/600字重的机型验证要求。",
"rule_id": "skyline.font-resolution",
"scope": "skyline",
"source": {
"file": "references/skyline-layout-practice.md",
"section": "字体 PostScript name 兼容"
},
"verification": "结合 @font-face 与报告核对两个字体来源;宿主二进制缺失时,记录待核验信息及保持现有视觉的集成方案。",
"source_assertions": [
"e5_06",
"e5_07"
]
},
{
"id": "s0_09",
"text": "Skyline 单阴影节点以单个 box-shadow 呈现原有 0 2px 4px rgba(0,0,0,.2) 效果,颜色函数作为完整颜色值解析。",
"rule_id": "skyline.single-shadow",
"scope": "skyline",
"source": {
"file": "references/skyline-style-reference.md",
"section": "背景、边框与遮罩差异"
},
"verification": "核对 .single-shadow 的实际阴影层数为1,偏移、模糊半径和颜色透明度均与输入一致。",
"source_assertions": [
"e5_03"
]
},
{
"id": "s0_10",
"text": "Skyline 单滤镜节点采用受支持的 blur(2px),呈现原有独立模糊效果。",
"rule_id": "skyline.single-filter",
"scope": "skyline",
"source": {
"file": "references/skyline-style-reference.md",
"section": "滤镜差异"
},
"verification": "追踪 .single-filter 的实际滤镜节点和参数,确认独立内容仍具有2px模糊效果。",
"source_assertions": [
"e5_05"
]
},
{
"id": "s0_11",
"text": "Skyline 在宿主 defaultContentBox=true 条件下,child 保持100px内容宽度及左右各10px padding,实际外宽为120px。",
"rule_id": "skyline.content-box-width",
"scope": "skyline",
"source": {
"file": "references/skyline-style-reference.md",
"section": "非标准默认值"
},
"verification": "结合宿主默认盒模型和实际节点 box-sizing、width、padding、border 计算内容宽与外宽,分别核对100px和120px。",
"source_assertions": [
"e5_01"
]
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<template>
<view class="card">
<text class="title">{{title}}</text>
<view class="labels"><text>包邮</text><text>次日达</text></view>
<view class="badge" data-kind="sale">活动</view>
<view class="outer"><view class="child">内容</view></view>
<view class="first">第一块</view><view class="second">第二块</view>
<view class="single-shadow">单阴影</view><view class="single-filter">单滤镜</view>
<view class="many">双阴影</view><view class="filters">复合滤镜</view>
<text class="font-a">品牌A</text><text class="font-b">品牌B</text>
</view>
</template>
<script>
import { createComponent } from '@mpxjs/core'
createComponent({ properties: { title: { type: String, value: '本周精选商品' } } })
</script>
<style>
.card { padding: 24rpx; }
.title { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.labels { display: grid; grid-template-columns: 1fr 1fr; }
.badge[data-kind="sale"] { color: #d00; }
.outer { overflow: hidden; }
.child { margin-top: 20px; width: 100px; padding: 10px; }
.first { margin-bottom: 16px; }
.second { margin-top: 12px; }
.single-shadow { box-shadow: 0 2px 4px rgba(0,0,0,.2); }
.single-filter { filter: blur(2px); }
.many { box-shadow: 0 2px 4px #000, 0 4px 8px #333; }
.filters { filter: blur(2px) brightness(.8); }
@font-face { font-family: 'City-Semibold'; src: url('./city.woff2'); }
.font-a { font-family: 'City-Semibold'; font-weight: 600; }
.font-b { font-family: 'Trip-Medium'; font-weight: 500; }
@media screen and (max-width: 320px) { .card { padding: 12rpx; } }
</style>
<script type="application/json">
{"component":true}
</script>
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# 样式与布局

适配 style-card.mpx。保持长标题单行省略、两列等宽标签和红色活动文案。两种renderer在屏宽≤320px时卡片padding为12rpx,否则24rpx,按当前屏宽即可。child盒子的顶部距outer上外沿20px,这段距离由outer的padding-top实现;child保持四周10px padding,因此其内容顶部距outer上外沿30px。child内容宽100px、含padding外宽120px,两块垂直间距16px;呈现原有单个rgba阴影、双阴影、独立blur滤镜、复合滤镜及品牌字体效果。宿主已配置defaultDisplayBlock/defaultContentBox。字体二进制由宿主提供,City-Semibold有当前独立字体族,Trip-Medium来自宿主;字体核验信息和机型风险写入report.md,视觉调整需沿用已确认设计。

交付所有输入业务文件的完整适配版本与report.md。多个组件分别保持自身接口与业务语义,无需为合并测试额外构造父子调用关系。评分目标为微信Skyline/glass-easel;WebView保持需求中的体验,其他目标分支可采用各自合法实现。验证证据放配置run-1/。
Loading
Loading