@xgent-ai/skills 0.7.7 → 0.7.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -23
- package/bin/xgent-skills.js +4 -1
- package/dist/phoenix-diagram/VERSION.json +11 -11
- package/dist/phoenix-diagram/bundle/ENGINE.json +11 -11
- package/dist/phoenix-ui/VERSION.json +15 -15
- package/docs/phoenix-ui.md +2 -2
- package/package.json +1 -1
- package/skills/agi-mode/evals/scenarios.md +7 -8
- package/skills/agi-mode/playbooks/sdlc.md +8 -12
- package/skills/agi-mode/playbooks/what-next.md +7 -8
- package/skills/apply-ui-review/SKILL.md +31 -23
- package/skills/apply-ui-review/agents/openai.yaml +2 -2
- package/skills/apply-ui-review/evals/scenarios.md +10 -7
- package/skills/apply-ui-review/references/record-contract.md +6 -6
- package/skills/crd/SKILL.md +36 -8
- package/skills/crd/assets/cr-template.md +10 -6
- package/skills/crd/evals/scenarios.md +12 -0
- package/skills/crd-respond/SKILL.md +22 -10
- package/skills/crd-respond/agents/openai.yaml +2 -2
- package/skills/crd-respond/assets/response-template.md +7 -6
- package/skills/crd-respond/evals/scenarios.md +10 -1
- package/skills/phoenix-diagram/ENGINE.json +11 -11
- package/skills/phoenix-ui/GENERATED.json +20 -20
- package/skills/phoenix-ui/scripts/ENGINE.json +15 -15
- package/skills/portal-external-app/SKILL.md +3 -2
- package/skills/portal-external-app/references/oauth-discovery.md +94 -0
- package/skills/portal-external-app/references/public-entrypoints.md +2 -0
- package/skills/portal-external-app/references/registration-and-onebox.md +3 -0
- package/skills/resolve-blocked/SKILL.md +292 -139
- package/skills/resolve-blocked/agents/openai.yaml +2 -2
- package/skills/resolve-blocked/evals/scenarios.md +10 -4
- package/skills/resolve-blocked/references/decisions-contract.md +2 -1
- package/skills/review-ui/SKILL.md +60 -95
- package/skills/review-ui/agents/openai.yaml +2 -2
- package/skills/review-ui/evals/fresh-context.md +14 -4
- package/skills/review-ui/evals/scenarios.md +19 -14
- package/skills/review-ui/references/judge.md +19 -20
- package/skills/review-ui/references/report-contract.md +18 -18
- package/skills/review-ui/references/target-and-capture.md +31 -11
- package/skills/xgent-app-release/SKILL.md +11 -2
- package/skills/xgent-app-release/references/public-delivery.md +64 -0
- package/skills/xgent-app-release/references/publish-api.md +5 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: review-ui
|
|
3
3
|
argument-hint: "[开发计划] [页面URL/路由] [设计稿/目标图] [上轮报告] [复审/重建基线] [单元/范围] [门槛分] [报告路径]"
|
|
4
|
-
description: 用于界面实现后的 UI/UX 验收或修复复审;不用于代码 diff
|
|
4
|
+
description: 用于界面实现后的 UI/UX 验收或修复复审;不用于代码 diff 评审、直接修复或从零设计。以真实界面证据增量复审,同状态共用截图;独立评分并判定是否通过。
|
|
5
5
|
disable-model-invocation: true
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -12,7 +12,6 @@ disable-model-invocation: true
|
|
|
12
12
|
- 定位循环、报告路径、计分、停滞和判定时读 [UI 验收报告合同](references/report-contract.md)。
|
|
13
13
|
- 定位或建立目标包、计算指纹及采集真实界面时读 [目标包与采集](references/target-and-capture.md)。
|
|
14
14
|
- 派发、复核、合并及确认评审时读 [独立评审](references/judge.md)。
|
|
15
|
-
- 探测或续接 managed 循环时读 [Phoenix 评审协议](references/phoenix-review.md)。
|
|
16
15
|
|
|
17
16
|
```formal
|
|
18
17
|
INTENT:
|
|
@@ -32,9 +31,10 @@ RULE @round_continuity:
|
|
|
32
31
|
|
|
33
32
|
RULE @actual_effects_only:
|
|
34
33
|
MUST: |
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
分数、差距的开立与关闭、验收判定,依据真实运行产品的截图、操作和实测。
|
|
35
|
+
按采集合同复用仍有效的历史证据与已通过结论,明确来源,不冒充本轮采集。
|
|
36
|
+
代码与 diff 只用于定位入口、问题和影响范围,不能证明界面达标。
|
|
37
|
+
新增、受影响或未关闭的问题用当前有效证据复核;缺证单元不造分,判「需补证」。
|
|
38
38
|
MUST_NOT: imagined_effects_as_evidence
|
|
39
39
|
|
|
40
40
|
RULE @review_boundary:
|
|
@@ -50,19 +50,22 @@ RULE @applicability:
|
|
|
50
50
|
代码缺陷用 review-code;修复差距用 apply-ui-review;视觉方向用 design-reference;
|
|
51
51
|
交互方案选型用 ui-pattern-research;维护 DESIGN.md 用 design-md。
|
|
52
52
|
|
|
53
|
+
RULE @tool_independence:
|
|
54
|
+
MUST: complete_review_using_target_package_real_evidence_and_markdown_reports
|
|
55
|
+
MUST_NOT: block_review_due_to_absent_or_incompatible_independent_tools
|
|
56
|
+
|
|
53
57
|
WORKFLOW @review_ui:
|
|
54
58
|
DO: [read_applicable_rules_and_goal_sources,
|
|
55
59
|
resolve_prefix_round_and_existing_loop_history,
|
|
56
|
-
|
|
57
|
-
probe_capabilities_and_select_permitted_loop_mode,
|
|
60
|
+
prepare_artifact_ignore_rules_before_services_and_version_record,
|
|
58
61
|
locate_or_create_target_package_and_compute_fingerprint,
|
|
59
|
-
|
|
60
|
-
|
|
62
|
+
resume_unfinished_round_or_allocate_next_report_round,
|
|
63
|
+
plan_incremental_evidence_then_run_checks_and_capture_representative_states,
|
|
61
64
|
conduct_independent_judgment_using_allowed_materials,
|
|
62
65
|
save_raw_judgments_and_merged_judge_record,
|
|
63
|
-
|
|
66
|
+
merge_page_checks_then_read_full_history_repairs_and_threshold,
|
|
64
67
|
adjudicate_with_required_confirmation_and_contract_rules,
|
|
65
|
-
|
|
68
|
+
save_and_reread_round_report_and_links,
|
|
66
69
|
stop_owned_temporary_services_and_check_artifact_ignores,
|
|
67
70
|
write_registered_project_status_after_primary_artifact_delivery_when_allowed,
|
|
68
71
|
deliver_verdict_scores_gaps_captures_and_next_step_commands]
|
|
@@ -74,9 +77,9 @@ WORKFLOW @review_ui:
|
|
|
74
77
|
```formal
|
|
75
78
|
RULE @artifact_locations:
|
|
76
79
|
MUST: |
|
|
77
|
-
|
|
80
|
+
确定前缀后、启动临时服务或记录被测版本前,
|
|
78
81
|
检查目标仓忽略规则。截图放 <前缀>.ui-captures/r<n>/,控制台、失败请求、
|
|
79
|
-
|
|
82
|
+
临时服务及检查日志集中放本轮 logs/ 子目录。
|
|
80
83
|
MUST_NOT: [move_delete_or_overwrite_historical_artifacts]
|
|
81
84
|
|
|
82
85
|
RULE @artifact_ignore_rules:
|
|
@@ -88,7 +91,7 @@ RULE @artifact_ignore_rules:
|
|
|
88
91
|
default_ignore_captures_and_runtime_logs_unless_repository_requires_evidence_commits]
|
|
89
92
|
MUST_NOT: |
|
|
90
93
|
全仓 *.png、*.log 或忽略整个 .ui-captures/;
|
|
91
|
-
忽略目标图、目标包、报告、修复记录、capture.md
|
|
94
|
+
忽略目标图、目标包、报告、修复记录、capture.md或 judge.md。
|
|
92
95
|
# 前缀 docs/reviews/orders 的规则示例:
|
|
93
96
|
# /docs/reviews/orders.ui-captures/**/*.png
|
|
94
97
|
# /docs/reviews/orders.ui-captures/**/*.log
|
|
@@ -106,40 +109,6 @@ RULE @artifact_ignore_skip:
|
|
|
106
109
|
MUST: disclose_why_gitignore_was_not_written
|
|
107
110
|
```
|
|
108
111
|
|
|
109
|
-
## 循环模式与能力探测
|
|
110
|
-
|
|
111
|
-
```formal
|
|
112
|
-
RULE @loop_discovery:
|
|
113
|
-
MUST: |
|
|
114
|
-
先确定前缀,检查 <前缀>.ui-review.json、已有报告和安装回执。
|
|
115
|
-
已有纯 Markdown 历史但无 managed 索引时继续人工流程,只有显式 review import 才接管。
|
|
116
|
-
全新无索引、无旧历史且用户已要求 UI 验收时,先探测真实 engine 与 review verbs;
|
|
117
|
-
匹配后可 review begin,缺 CLI 或能力不匹配时走人工流程。
|
|
118
|
-
MUST_NOT: [missing_cli_blocks_manual_source_reading_real_capture_or_persistence,
|
|
119
|
-
claim_managed_takeover_without_machine_index,
|
|
120
|
-
unknown_historical_attempt_or_refactor_count_as_zero]
|
|
121
|
-
|
|
122
|
-
RULE @existing_managed_identity:
|
|
123
|
-
WHEN: managed_index_exists
|
|
124
|
-
MUST: verify_pinned_engine_identity_and_actual_review_protocol_using_phoenix_reference
|
|
125
|
-
|
|
126
|
-
RULE @managed_capability_failure:
|
|
127
|
-
WHEN: existing_managed_engine_missing_or_mismatched_or_future_schema_or_corrupt_index
|
|
128
|
-
MUST: [read_only_history, allow_unregistered_material_collection,
|
|
129
|
-
explain_how_to_restore_matching_engine_then_resume_original_round_and_revision]
|
|
130
|
-
MUST_NOT: [score, adjudicate, write_dispositions_counts_or_generated_report_sections,
|
|
131
|
-
create_new_cycle_to_bypass_existing_state]
|
|
132
|
-
|
|
133
|
-
RULE @managed_operations:
|
|
134
|
-
WHEN: matching_managed_engine_and_protocol_available
|
|
135
|
-
MUST: |
|
|
136
|
-
review begin 分配或续接轮次,冻结目标与矩阵;之后依次登记采集、
|
|
137
|
-
读取白名单 packet、登记评审原文、裁定与回读。
|
|
138
|
-
JSON 依据实际 review --help 与 review schema --json 的 typed examples 构造;
|
|
139
|
-
身份、hash、revision 来自真实操作和材料。
|
|
140
|
-
MUST_NOT: [guess_json_fields, typed_examples_as_evidence, implicit_import_of_legacy_markdown]
|
|
141
|
-
```
|
|
142
|
-
|
|
143
112
|
## 1. 锚定对象与目标包
|
|
144
113
|
|
|
145
114
|
```formal
|
|
@@ -159,8 +128,8 @@ RULE @single_acceptance:
|
|
|
159
128
|
|
|
160
129
|
RULE @round_identity:
|
|
161
130
|
MUST: |
|
|
162
|
-
|
|
163
|
-
|
|
131
|
+
按报告合同命名,依据已有最大轮次确定本轮;未结束轮次续接原记录,
|
|
132
|
+
不自行加一。已有本循环报告即为复审。
|
|
164
133
|
每个单元的上一轮,是最近一次覆盖它且有评审结论的轮次;
|
|
165
134
|
覆盖了但没有评审结论的轮次(如全部缺证封存)不算。
|
|
166
135
|
|
|
@@ -179,10 +148,11 @@ RULE @target_freeze:
|
|
|
179
148
|
MUST_NOT: rewrite_established_expectations_during_review
|
|
180
149
|
```
|
|
181
150
|
|
|
182
|
-
## 2.
|
|
151
|
+
## 2. 增量取证与截图复用
|
|
183
152
|
|
|
184
153
|
```formal
|
|
185
154
|
RULE @tested_environment:
|
|
155
|
+
WHEN: new_live_checks_or_captures_required
|
|
186
156
|
MUST: [start_or_connect_environment_using_target_package,
|
|
187
157
|
record_head_and_dirty_fingerprint_or_build_id_and_access_address,
|
|
188
158
|
confirm_current_code_is_running_instead_of_stale_build,
|
|
@@ -192,13 +162,15 @@ RULE @tested_environment:
|
|
|
192
162
|
MUST_NOT: [writes_to_real_business_data, destructive_operations]
|
|
193
163
|
|
|
194
164
|
RULE @capture_coverage:
|
|
195
|
-
MUST: [
|
|
196
|
-
|
|
165
|
+
MUST: [cover_target_requirements_with_current_checks_representative_images_and_valid_history,
|
|
166
|
+
recapture_only_affected_states_under_same_conditions,
|
|
167
|
+
share_one_image_across_gaps_in_the_same_page_state,
|
|
168
|
+
map_each_requirement_to_evidence_or_explicit_missing_reason,
|
|
197
169
|
honor_user_limited_scope_and_mark_other_cells_unreviewed]
|
|
198
170
|
MUST_NOT: cherry_pick_flattering_angles_or_data
|
|
199
171
|
|
|
200
172
|
RULE @capture_authenticity:
|
|
201
|
-
MUST: [
|
|
173
|
+
MUST: [real_product_provenance_for_each_image_with_explicit_source_round,
|
|
202
174
|
follow_target_and_capture_authenticity_contract,
|
|
203
175
|
treat_nonconforming_images_as_missing]
|
|
204
176
|
MUST_NOT: [design_image_as_capture, old_image_as_current_capture,
|
|
@@ -206,21 +178,21 @@ RULE @capture_authenticity:
|
|
|
206
178
|
|
|
207
179
|
RULE @interaction_capture:
|
|
208
180
|
MUST: [actually_execute_interaction_steps,
|
|
209
|
-
|
|
181
|
+
capture_only_visually_distinct_key_transitions_including_required_focus_states,
|
|
210
182
|
record_only_executed_actions_and_observed_results,
|
|
211
|
-
|
|
183
|
+
save_console_logs_and_failed_requests_for_adjudication]
|
|
212
184
|
MUST_NOT: expected_or_code_inferred_results_as_operation_records
|
|
213
185
|
|
|
214
186
|
RULE @unreachable_state:
|
|
215
187
|
WHEN: required_state_unreachable
|
|
216
|
-
MUST: [
|
|
217
|
-
|
|
188
|
+
MUST: [check_prerequisites_before_dependent_steps,
|
|
189
|
+
try_applicable_existing_seed_mock_or_route_interception_once_per_unchanged_blocker,
|
|
190
|
+
stop_blocked_capture_and_record_reason_action_and_resume_condition]
|
|
218
191
|
MUST_NOT: similar_state_substituted_for_required_state
|
|
219
192
|
|
|
220
193
|
RULE @capture_record:
|
|
221
194
|
MUST: [save_tested_version_target_fingerprint_conditions_cell_mapping_provenance_and_missing_cells,
|
|
222
|
-
|
|
223
|
-
managed_round_uses_review_capture_add_and_rereads_generated_manifest,
|
|
195
|
+
write_and_reread_capture_md,
|
|
224
196
|
supplementary_capture_appends_attempt]
|
|
225
197
|
MUST_NOT: overwrite_original_images_or_old_records
|
|
226
198
|
```
|
|
@@ -231,22 +203,15 @@ RULE @capture_record:
|
|
|
231
203
|
RULE @independent_judge:
|
|
232
204
|
MUST: [fresh_context_read_only_nondelegating_subagent_each_round_unless_fallback_required,
|
|
233
205
|
dispatch_and_recheck_using_judge_reference,
|
|
234
|
-
|
|
235
|
-
|
|
206
|
+
give_only_target_package_affected_state_captures_capture_md_and_observed_interaction_records,
|
|
207
|
+
provide_relevant_previous_judgments_and_on_demand_comparison_images,
|
|
236
208
|
judge_opens_only_listed_materials]
|
|
237
209
|
MUST_NOT: |
|
|
238
210
|
向评审提供代码、diff、提交说明、修复记录、修复者自述、完整报告、
|
|
239
211
|
机器检查结果或门槛分。
|
|
240
212
|
|
|
241
|
-
RULE @managed_judge_packet:
|
|
242
|
-
WHEN: managed_round
|
|
243
|
-
MUST: [dispatch_review_judge_pack_allowlisted_materials,
|
|
244
|
-
bind_and_verify_same_material_batch_with_packet_hash]
|
|
245
|
-
MUST_NOT: [follow_material_links_to_excluded_files,
|
|
246
|
-
claim_allowlist_is_host_filesystem_permission_sandbox]
|
|
247
|
-
|
|
248
213
|
RULE @judge_grouping_and_supplement:
|
|
249
|
-
MUST: [
|
|
214
|
+
MUST: [default_one_judge_for_changed_units_and_open_gaps,
|
|
250
215
|
use_temporary_ids_for_new_gaps_then_main_agent_assigns_unified_ids,
|
|
251
216
|
recapture_cells_reported_unreadable_then_fresh_judge_reassesses_affected_units,
|
|
252
217
|
retain_lower_total_score_for_reassessed_unit]
|
|
@@ -266,11 +231,11 @@ RULE @judge_integrity:
|
|
|
266
231
|
replace_judge_or_rejudge_due_to_disagreement]
|
|
267
232
|
|
|
268
233
|
RULE @confirmation_judge:
|
|
269
|
-
WHEN:
|
|
234
|
+
WHEN: user_requests_confirmation_or_specific_material_fact_requires_independent_confirmation
|
|
270
235
|
MUST: [dispatch_another_fresh_judge_with_same_material_batch,
|
|
271
236
|
keep_lower_total_judge_entire_four_dimension_score_group_and_reasons_per_unit,
|
|
272
237
|
union_gaps_from_all_judges]
|
|
273
|
-
MUST_NOT: [
|
|
238
|
+
MUST_NOT: [automatic_confirmation_due_only_to_score_margin,
|
|
274
239
|
splice_dimension_scores_from_different_judges]
|
|
275
240
|
```
|
|
276
241
|
|
|
@@ -278,12 +243,11 @@ RULE @confirmation_judge:
|
|
|
278
243
|
|
|
279
244
|
```formal
|
|
280
245
|
RULE @judgment_persistence:
|
|
281
|
-
MUST: [save_each_judge_raw_output_and_merged_judge_md_before_adjudication_stage
|
|
282
|
-
managed_round_registers_raw_output_and_faithful_structured_results_via_review_judge_add_and_rereads]
|
|
246
|
+
MUST: [save_each_judge_raw_output_and_merged_judge_md_before_adjudication_stage]
|
|
283
247
|
|
|
284
|
-
RULE @
|
|
285
|
-
MUST: [
|
|
286
|
-
|
|
248
|
+
RULE @runtime_checks:
|
|
249
|
+
MUST: [run_deterministic_checks_before_capture_and_keep_results_out_of_visual_judge_materials,
|
|
250
|
+
check_only_affected_conditions_and_open_gaps_using_runtime_measurements_and_real_keyboard,
|
|
287
251
|
read_previous_full_report_and_each_round_repair_records_after_judgment]
|
|
288
252
|
MUST_NOT: code_or_stylesheet_inference_as_machine_check_result
|
|
289
253
|
# 推断只提示去哪里补拍或实测。
|
|
@@ -294,22 +258,16 @@ RULE @threshold:
|
|
|
294
258
|
determine_after_judgment_without_disclosing_to_judge]
|
|
295
259
|
|
|
296
260
|
RULE @adjudication:
|
|
297
|
-
MUST: [
|
|
261
|
+
MUST: [main_agent_rechecks_open_or_affected_machine_and_main_agent_verified_gaps,
|
|
298
262
|
compute_round_score_gate_items_pending_decisions_and_stagnation_using_report_contract,
|
|
299
263
|
derive_acceptance_verdict_using_report_contract]
|
|
300
264
|
|
|
301
265
|
RULE @round_report:
|
|
302
|
-
MUST: [
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
MUST_NOT: [hand_edit_managed_generated_sections,
|
|
306
|
-
operation_exit_zero_as_acceptance_pass]
|
|
266
|
+
MUST: [write_report_using_contract,
|
|
267
|
+
reread_report_and_links_for_verdict_scores_and_id_mappings]
|
|
268
|
+
MUST_NOT: [overwrite_historical_reports, operation_exit_zero_as_acceptance_pass]
|
|
307
269
|
ON_UNMET: [state_report_not_saved, deliver_verified_content_in_chat]
|
|
308
270
|
|
|
309
|
-
RULE @confirmation_required:
|
|
310
|
-
WHEN: review_finalize_returns_confirmation_required
|
|
311
|
-
MUST: [keep_round_draft, complete_confirmation_judgment_before_finalizing_again]
|
|
312
|
-
|
|
313
271
|
OUTPUT:
|
|
314
272
|
FORMAT: markdown
|
|
315
273
|
STYLE: follow_user_language
|
|
@@ -318,9 +276,9 @@ OUTPUT:
|
|
|
318
276
|
verdict_source: references/report-contract.md
|
|
319
277
|
|
|
320
278
|
REVIEW:
|
|
321
|
-
CHECK: [@actual_effects_only, @
|
|
279
|
+
CHECK: [@actual_effects_only, @tool_independence, @target_freeze,
|
|
322
280
|
@capture_coverage, @independent_judge, @judge_integrity,
|
|
323
|
-
@confirmation_judge, @round_report]
|
|
281
|
+
@confirmation_judge, @round_report, @next_step_commands, @needs_evidence_next]
|
|
324
282
|
ALSO: [round_continuity, evidence_traceability, id_mapping_consistency,
|
|
325
283
|
artifact_ignore_coverage]
|
|
326
284
|
EXPOSE: on_issue
|
|
@@ -331,7 +289,8 @@ REVIEW:
|
|
|
331
289
|
```formal
|
|
332
290
|
RULE @next_step_commands:
|
|
333
291
|
MUST: [final_reply_starts_with_contract_acceptance_verdict,
|
|
334
|
-
commands_use_current_client_skill_syntax_and_actual_paths
|
|
292
|
+
commands_use_current_client_skill_syntax_and_actual_paths,
|
|
293
|
+
final_reply_includes_applicable_commands_even_if_already_in_report]
|
|
335
294
|
MUST_NOT: automatically_start_repairs_code_recheck_or_prd_gap_review
|
|
336
295
|
|
|
337
296
|
RULE @first_target_confirmation:
|
|
@@ -343,7 +302,7 @@ RULE @needs_changes_next:
|
|
|
343
302
|
WHEN: "验收判定为「需要修改」"
|
|
344
303
|
MUST: |
|
|
345
304
|
给出 apply-ui-review <本报告路径>,修复后用本技能复审。
|
|
346
|
-
|
|
305
|
+
有「停滞预警」时要求诊断相应范围,不强制重构;
|
|
347
306
|
有「待裁定」时列出事项请用户决定,修复方先处理其余差距。
|
|
348
307
|
|
|
349
308
|
RULE @passed_next:
|
|
@@ -365,9 +324,15 @@ RULE @needs_decision_next:
|
|
|
365
324
|
RULE @needs_evidence_next:
|
|
366
325
|
WHEN: "验收判定为「需补证」"
|
|
367
326
|
MUST: |
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
327
|
+
在报告及最终回复列出缺少的环境、账号、数据、工具、目标或交互证据,
|
|
328
|
+
给出执行动作和完成条件;已在本轮尝试的动作及失败原因一并保留。
|
|
329
|
+
下一步给 apply-ui-review <本报告路径>,由执行 agent 修复、补证并解除可处理的阻塞,
|
|
330
|
+
完成后再 review-ui <计划路径或原范围> 独立复审,不默认把补证交给用户。
|
|
331
|
+
若只缺独立评审/用户要求的确认评审且材料已齐,继续本技能,无需空跑 apply。
|
|
332
|
+
若代码、证据和阻塞条件均未变化,续接已有记录,不新增轮次或建议原条件下重跑;
|
|
333
|
+
已有材料尚未完成独立评审的,仍完成当前轮评审。
|
|
334
|
+
确需用户权限、资料或决定时明确所需输入;不把缺证视为缺陷,
|
|
335
|
+
不授权绕过待裁定事项。
|
|
371
336
|
|
|
372
337
|
RULE @explicit_waiver:
|
|
373
338
|
WHEN: user_explicitly_accepts_current_overall_ui
|
|
@@ -394,7 +359,7 @@ RULE @project_status:
|
|
|
394
359
|
兼容已有 docs/project-status/protocol.md。两套并存且未登记切换时先核对,不双写。
|
|
395
360
|
按协议更新受影响对象当前状态与来源链接,必要时维护索引;v4 日常直接更新当前页,
|
|
396
361
|
事件留存条件或旧版事件要求以仓内协议为准。
|
|
397
|
-
|
|
362
|
+
只读/仅聊天/不保存约束优先;
|
|
398
363
|
登记失败须说明,不影响如实交付已完成的原产物。
|
|
399
364
|
MUST_NOT: [create_ledger_when_not_enabled, require_separately_installed_skill]
|
|
400
365
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "UI/UX 验收评审"
|
|
3
|
-
short_description: "
|
|
4
|
-
default_prompt: "使用 $review-ui
|
|
3
|
+
short_description: "真实界面增量取证,同状态共用截图,由独立评审判定验收并列出差距"
|
|
4
|
+
default_prompt: "使用 $review-ui 对指定界面做独立 UI/UX 验收。读取目标包、报告和修复历史,按影响范围先实测再采集必要代表帧;同状态多问题共用一图,复用有效历史及 apply 材料。默认一位全新上下文评审变化和未关闭项,继承未受影响的已通过结论,不按分差自动追加评审。保存并回读原文、证据清单和报告,给出判定及下一步命令;有可执行补证交 apply-ui-review,只缺独立评审则继续当前轮;条件未变不空跑新轮。"
|
|
5
5
|
policy:
|
|
6
6
|
allow_implicit_invocation: false
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
| T1 | 订单页已经实现了,我想按目标图验收并列出下一轮能修的差距。 | review-ui |
|
|
12
12
|
| T2 | 刚按上一轮意见修完登录页,请对当前页面和目标图做一次复审。 | review-ui |
|
|
13
13
|
| T3 | 按这份 UI 验收报告处理 UI-04 和 UI-07,修完留证据交回复审。 | apply-ui-review |
|
|
14
|
+
| T9 | 按这份 UI 报告补齐测试环境、失败恢复和键盘操作证据,目前没有确认要改的代码。 | apply-ui-review |
|
|
14
15
|
| T4 | 这份 UI 报告要求重构 U3,请核实后修这一单元,其他部分保持范围。 | apply-ui-review |
|
|
15
16
|
| T5 | 帮我评审这次代码 diff 的并发和错误处理问题。 | none |
|
|
16
17
|
| T6 | 我想给新产品找几种视觉方向和参考,现在还没有界面实现。 | none |
|
|
@@ -23,12 +24,13 @@
|
|
|
23
24
|
|
|
24
25
|
| ID | 原请求与材料 | 评测侧观察 |
|
|
25
26
|
| --- | --- | --- |
|
|
26
|
-
| E1 | 使用 review-ui 核查订单页是否具备验收材料;目前应用无法启动,没有 Phoenix CLI,先读计划、partial DESIGN.md 与 PRD
|
|
27
|
+
| E1 | 使用 review-ui 核查订单页是否具备验收材料;目前应用无法启动,没有 Phoenix CLI,先读计划、partial DESIGN.md 与 PRD,暂不保存。 | 读取原文,区分已知与 partial;不凭代码/建议计分,列真实采集缺口 |
|
|
27
28
|
| E2 | 使用 apply-ui-review,先核实这份人工 UI 报告,不改文件、不提交。报告、目标、接口和 CSS 可读,页面无法运行。 | 直接读原文;CSS 不能证明不采纳或已解决;AND 接口不被发明成 OR |
|
|
28
|
-
| E3 | 使用 review-ui
|
|
29
|
-
| E4 | 使用 apply-ui-review
|
|
29
|
+
| E3 | 使用 review-ui 续接 r3;产品、目标及证据齐全,未安装 Phoenix UI,目录中有其他工具的旧索引。 | 按报告历史继续独立评分与落盘,不依赖 engine、不改旧工具文件 |
|
|
30
|
+
| E4 | 使用 apply-ui-review 按报告修 UI-04;产品可运行、报告与目标齐全,但未安装 Phoenix UI。 | 直接核实、修复、自检和记录,不要求安装或恢复工具协议 |
|
|
30
31
|
| E5 | 请按 review-ui 合同核查这次评审材料与下一步;两位评审对同一单元给出交叉维度分,旧轮未覆盖该单元,材料有完整报告链接。只读。 | 保留整组低分与全部差距;最近覆盖轮而非最新轮;不把完整报告/修复信息传给评审;不把 fixture 分数宣称为产品验收 |
|
|
31
32
|
| E6 | 使用 apply-ui-review 接续旧循环。旧报告发过重构预警,一份修复记录缺失;这次先核实范围,暂不实现。 | 历史不明不当零;不领取新重构次数,不改目标或旧评审 |
|
|
33
|
+
| E7 | 使用 apply-ui-review 执行这份需补证报告;本地测试服务有既定启动与seed脚本,缺键盘交互截图,无已确认缺陷,允许本地操作与保存。 | 实际启动、准备测试数据并采集,保存版本和证据;不回推用户或空跑评审,不为补证虚构产品改动;交独立复审 |
|
|
32
34
|
|
|
33
35
|
## 可复现执行与留证
|
|
34
36
|
|
|
@@ -49,4 +51,12 @@ codex exec --ephemeral --sandbox read-only --skip-git-repo-check \
|
|
|
49
51
|
|
|
50
52
|
源码与引用的哈希在整轮前后核对不变。受维护者已读判据影响的开放材料结果单独标注;协议 fixture、description 路由、正文解释、真实 CLI 与安装后 provider 会话分别记录,不互相替代。
|
|
51
53
|
|
|
52
|
-
源码修订后保存旧源快照与所有首跑,再为受影响场景建立带新版本/hash
|
|
54
|
+
源码修订后保存旧源快照与所有首跑,再为受影响场景建立带新版本/hash 的独立变体;不覆盖原题、首跑或结果。真实产品的操作、开图和独立评审需另行验证,不能用合同 fixture 代替;两项 skill 的验证不包含独立工具的安装器或协议测试。
|
|
55
|
+
|
|
56
|
+
## 2026-11-01 源码合同演练(历史记录,非当前修订验收)
|
|
57
|
+
|
|
58
|
+
一次全新上下文、只读 subagent 读取两份源码 skill 及四份合同,未提供本表判据或维护 diff。输入为明确标记的三页面协议 fixture:U1/U3 已通过且未受影响,U2 的 12 个问题已由 apply 留同一状态原图;另分别替换为全局字体变化、权限条件不变。
|
|
59
|
+
|
|
60
|
+
观察到的结果:基例计划新增截图 0 张、只派一位评审复核 U2,继承 U1/U3;字体变化扩大相关复查;条件不变续接记录,材料已齐但尚未独立评审时仍完成当前轮。演练还发现概括性的环境/检查指令可能被理解成全量重跑,随后收窄为新增取证及受影响条件;这是维护后的明确化,未再宣称独立重放通过。
|
|
61
|
+
|
|
62
|
+
验证层次仅为指令执行与材料规划:未运行产品、开真实图片、执行 CLI 或实际派发视觉评审,没有真实 UI 分数、截图节省量或 provider 安装验收结论。模型配置继承宿主,未覆盖;不是与旧版本的效果对照实验。
|
|
@@ -4,18 +4,20 @@
|
|
|
4
4
|
|
|
5
5
|
| 场景与请求 | 应观察的行为 | 失败信号 |
|
|
6
6
|
| --- | --- | --- |
|
|
7
|
-
| 代码评审已通过,计划有前端改动并链接设计稿导出图:「review-ui goal/X.md」 |
|
|
8
|
-
| 首次验收,目标 Git 仓库尚未忽略本轮截图、控制台、请求和临时服务日志 |
|
|
7
|
+
| 代码评审已通过,计划有前端改动并链接设计稿导出图:「review-ui goal/X.md」 | 建立目标包,摘录规范原文并计算指纹;按全范围规划实测与代表帧,同状态共用图;派全新 subagent 评审;保存 `judge.md`;报告含单元分、差距清单、轨迹和判定 | 读代码给分;只截首页一张;主 agent 自己打分;目标包写了门槛分或只写需求编号 |
|
|
8
|
+
| 首次验收,目标 Git 仓库尚未忽略本轮截图、控制台、请求和临时服务日志 | 记录被测版本前最小补充 `.gitignore`;日志集中到本轮 `logs/`;用实际路径检查忽略状态,截图和日志被忽略,采集清单、评审原文、目标图及报告仍可跟踪 | 忽略整个采集目录或全仓图片、日志;在冻结版本后才改忽略规则;只改 skill 仓库的 `.gitignore` |
|
|
9
9
|
| 复审时已有忽略规则,部分历史截图已跟踪;仓库明确要求提交一类截图证据 | 复用有效规则,遵从证据提交约定;说明已跟踪产物,保留历史与索引;只读或禁止改配置时不写 `.gitignore` | 重复追加规则;删除历史、自动 `git rm --cached`,或忽略仓库要求提交的证据 |
|
|
10
10
|
| 没有设计稿,只有 DESIGN.md 和 PRD 的 UAT | 用规范模式,期望都引用规范要点;找不到依据的列为建议,不扣分 | 按个人口味扣分;编造目标图细节 |
|
|
11
11
|
| 复审时,上一轮差距清单里有机器检查条目,报告写着门槛 | 评审只拿目标包、截图和上一轮 `judge.md`;机器检查差距由主 agent 重新检查 | 把完整报告或机器检查结果交给评审;提示里提到门槛 |
|
|
12
12
|
| 评审给了 8.3,但机器检查发现主路径用键盘提交不了 | 列为 P1 门槛项,判需要修改 | 分数过线就判通过 |
|
|
13
|
-
| 本轮将判通过,最低单元 8.1 |
|
|
13
|
+
| 本轮将判通过,最低单元 8.1 | 证据覆盖充分且无 P0/P1 时,一位独立评审即可通过 | 仅因接近 8 分再派评审或重复截图 |
|
|
14
14
|
| 评审对某条 P1 的状态看不出 | 补采这些格子,再就它们派一位全新评审;仍看不出则判需补证,并照常列出已评单元的差距 | 把看不出的 P1 从清单里删掉后判通过 |
|
|
15
|
+
| 本轮判需补证,含缺失交互与待核实旧项,没有已确认的产品缺陷 | 报告列缺口、可执行动作、完成条件及已尝试结果;最终给 apply-ui-review 实际报告路径,由执行 agent 补证后交回独立复审 | 因无代码可改而只让用户补证或直接重跑 review-ui;把缺证当产品缺陷 |
|
|
16
|
+
| 本轮材料完整,用户明确要求独立确认评审 | 续接 review-ui 完成确认,不要求空跑 apply | 让 apply 自评打分或无工作仍要求先 apply |
|
|
15
17
|
| 评审说按钮是蓝色,截图里看着是绿色 | 只在该差距下附核对说明;分数、差距和门槛项都不变,交修复方核实,下一轮由评审复核 | 主 agent 改分、删差距,或换一位评审重评后采用更高的分 |
|
|
16
18
|
| 最后一轮各单元 8.7 以上,但还有一条 P1,主 agent 认为评审看错 | 仍判需要修改;修复方核实后可以不采纳,下一轮由全新评审复核 | 以主 agent 的核对为由去掉门槛项后判通过 |
|
|
17
19
|
| 本轮分数 8.6;唯一的 P1 已是待裁定事项(修复方上一轮不采纳,评审仍判存在),另有几条新 P3 | 判需用户裁定,因为继续修 P3 也无法通过 | 判需要修改,让循环继续修 P3;修复方跳过该 P1 后记「未处理」,导致它下一轮又变回可修复 |
|
|
18
|
-
| R2–R4 的分数分别为 6.8、7.0、7.3,门槛 8 | 判需要修改 ·
|
|
20
|
+
| R2–R4 的分数分别为 6.8、7.0、7.3,门槛 8 | 判需要修改 · 停滞预警(全局),要求下一轮诊断原因,有结构性根因才重构 | 继续给微调建议,不提示停滞 |
|
|
19
21
|
| R3 为 8.2 但有一条 P1;R4 为 8.3,修复记录标已修改的该 P1 连续第二轮部分解决 | 不判全局平台期(分数已过门槛);对该差距所在单元发停滞预警 | 因 2 轮内涨不满 1 分就要求全局重构 |
|
|
20
22
|
| R4 发了全局预警,修复记录显示做了全局重构,R5 从 7.3 涨到 7.4 | 平台期仍成立,判全局停滞,转为需用户裁定 | 因为分数涨了一点就再发一次预警,循环下去 |
|
|
21
23
|
| 修复方上一轮对一条 P1 标不采纳并给出 token 依据,本轮评审仍判存在,另有 5 条可修复差距 | 判「需要修改 · 待裁定(该差距)」,请用户决定该项,其余照常修复 | 整个循环停下;或者每轮反复判需要修改,永不收尾 |
|
|
@@ -25,19 +27,22 @@
|
|
|
25
27
|
| 只在「采集」节补了等待条件 | 指纹不变,不重建基线 | 因目标包文件变了就重置停滞判定 |
|
|
26
28
|
| 应用起不来或没有截图工具;agent 读了组件代码,觉得布局与设计稿一致 | 判需补证,不打分、不出差距,说明缺什么、怎么补 | 根据代码给分、开差距或判通过 |
|
|
27
29
|
| 截图目录里混入了设计稿导出图、上一轮截图,或为评审临时写的 demo 页面截图 | 抽查发现后当作没采到并重拍;重拍不了判需补证 | 拿这些图交给评审打分 |
|
|
28
|
-
|
|
|
30
|
+
| 操作记录只有「点击提交后应显示成功提示」这种预期,没有实际观察或必要视觉证据 | 实际操作并记录观察;必要视觉特征才补拍 | 把推断当观察交给评审 |
|
|
29
31
|
| 机器检查时读 CSS,发现容器写死了宽度,推断窄屏会溢出 | 不算检查结果;在 390 宽的页面上实测,测不了就写未检查 | 把推断写成机器检查差距 |
|
|
30
32
|
| 多轮后通过,UI 修复登记了「UI修复」提交 | 给出最新截图,问用户是否继续打磨;下一步 `review-code <计划>` 复审这些提交,再按来源提示差异核查 | 自动启动代码复审;漏掉 UI 修复带来的代码改动 |
|
|
31
33
|
| 用户要的是代码 diff 评审,或想找新的视觉方向 | 转到 `review-code` 或 `design-reference` | 触发本技能,截图打分 |
|
|
32
|
-
| 「没有 Phoenix CLI;这里有部分 DESIGN.md、PRD
|
|
33
|
-
|
|
|
34
|
-
|
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
|
|
|
38
|
-
| 最低分恰好 8.5,门槛 8;另有确认评审 A/B 的维度交叉高低 | 严格边界不强制确认;需合并时选总分低者整组四维和理由、差距并集 | epsilon 或取整改变边界;逐维取最小拼造评分;丢弃高分评审的差距 |
|
|
39
|
-
| 「把旧 Markdown 循环接到 Phoenix」;一次摘要遗漏重构记录 | 逐份核对再显式 import;历史未知不填零,旧文件/hash 保留 | 自动猜全部轮次、关闭旧差距或新领重构机会 |
|
|
40
|
-
| 「报告里我补了几句话,继续这轮」;补充落在 managed 生成区 | 保留原文/source hash,核对允许导入范围与 revision | 覆盖用户文字;封存历史或原始评审被回写 |
|
|
34
|
+
| 「没有 Phoenix CLI;这里有部分 DESIGN.md、PRD 和目标图,先核查这页能否验收」 | 直接读实际原文,注明 partial;继续评审,缺真实采集时需补证 | 把缺 CLI 当作不能读规范;凭建议或代码给分 |
|
|
35
|
+
| 未安装 Phoenix UI,存在其他工具旧索引,但当前产品、目标、报告与证据均可用 | 按独立 skill 合同完成评分、判定与落盘,保留旧工具文件,不探测或修复 engine | 因旧索引而只读、要求安装工具或禁止评分 |
|
|
36
|
+
| 「继续上次中断的订单验收」;同前缀有未结束 round | 按原报告轮次续接;采集追加 attempt | 再分配一轮;覆盖首采或旧评审原文 |
|
|
37
|
+
| 「这次只评 U2」;U2 当前完整,上一轮覆盖 U2 的轮次早于最新报告 | 评审材料只含 U2 白名单和最近覆盖 U2 的截图、评审自述 | 把最新完整报告、修复说明或机器检查交给评审;按最新文件代替每单元上一轮 |
|
|
38
|
+
| 「修好了,再验一次」;最新一轮因沙箱起不了服务全部缺证封存、没有评审结论 | 对照材料的上一轮取更早有评审结论的覆盖轮的截图与评审自述,待复核旧差距取最新一轮仍未关闭的清单 | 只给旧差距编号让评审凭空复核;把缺证轮当作上一轮结论 |
|
|
39
|
+
| 最低分恰好 8.5,门槛 8;另有确认评审 A/B 的维度交叉高低 | 分差不触发自动确认;需合并时选总分低者整组四维和理由、差距并集 | epsilon 或取整改变边界;逐维取最小拼造评分;丢弃高分评审的差距 |
|
|
41
40
|
| 「context 里有 profile 建议,也发现了两份旧 brief,按这些把本轮目标更新一下」 | 区分建议、已接受/可用和 stale/ambiguous;冻结目标不因 profile 更新自动变化 | default advice 替代项目规范;未确认 brief 成为像素目标 |
|
|
41
|
+
| 同页同状态有 12 条差距,已有一张清晰且版本一致的原图 | 12 条问题共用原图并注明位置,不按编号截图 | 新拍 12 张或复制 12 份 |
|
|
42
|
+
| 修复 U2 两条问题,U1/U3 已通过且共享依赖和条件均未变;apply 已留合格当前图 | 复用 U1/U3 证据和整组结论;一位评审看 U2 的 apply 图与必要旧图;完整覆盖可判整体通过 | 把局部采集等同局部验收,要求全量重拍才能通过 |
|
|
43
|
+
| 只改 U2 文件,但全局字体和主题 token 也变化 | 扩大到受影响单元复查,不继承失效的分数 | 只看页面文件路径决定复用 |
|
|
44
|
+
| 3 个简单页面,4 张图已覆盖必要视觉特征,其他条件有实测记录 | 4 张即可,不凑 6 张;检查数量与截图数量分别报告 | 为满足预算补拍,或把自动检查当成完整视觉验收 |
|
|
45
|
+
| 上轮环境阻塞未解除,代码和材料均没变化,再次调用 | 读原记录说明解除条件,不新开轮、不重拍禁用入口 | 重复启动全套验收或在 review/apply 间空转 |
|
|
46
|
+
| 4 个有效全局评分轮仍满足平台期,未做重构;或一条差距两次实际修改后仍存在/回归、三次实际修改后仅部分解决 | 对应范围停滞并按合同裁定,不要求先做一次大改 | 无限停滞预警或为了退出而重构 |
|
|
42
47
|
|
|
43
48
|
路由与正文验证方法见 [全新上下文验证](fresh-context.md)。结构检查覆盖 frontmatter、description 全文及前 100 字符、相对链接。试跑另行记录输入、产物、实际执行范围和限制;场景通过不代表任何具体产品界面已验收。
|
|
@@ -5,15 +5,14 @@
|
|
|
5
5
|
- 每轮派**全新上下文**的 subagent,模型继承主 agent。评审只读,不改文件,不再派生其他 agent。
|
|
6
6
|
- 只给以下材料:
|
|
7
7
|
- 目标包;
|
|
8
|
-
-
|
|
8
|
+
- 新增/受影响单元、未关闭问题的有效截图,以及本轮的 `capture.md`(每张图对应的单元、状态、视口和主题);
|
|
9
9
|
- 交互关键帧与操作记录;
|
|
10
10
|
- 差分图(可选);
|
|
11
|
-
-
|
|
11
|
+
- 复审时,每个单元上一轮(最近一次覆盖它且有评审结论的轮次;覆盖了却没有任何评审结论的轮次不算)的相关截图按需调取,以及那一轮 `judge.md` 中待复核单元的部分。目标包自那一轮以来有变更时,附上目标包完整的「变更记录」节,作为目标事实;变更条目不标单元或轮次,不做筛选。
|
|
12
12
|
- 不给以下材料:代码、diff、提交说明、修复记录、修复者自述、完整报告、机器检查结果、门槛分、主 agent 的看法。
|
|
13
|
-
-
|
|
13
|
+
- 默认一位独立评审,只看本轮待评单元的必要证据,按状态去重,同图多问题只开一次;旧图按比较需要读取,不整批重看。材料仍多时按单元分批读取,不因截图数量自动增加评审。未受影响的已通过单元继承结论并标注来源,不要求评审重新打分。
|
|
14
14
|
- 发送绝对路径。评审打不开图片时,按派发失败处理。
|
|
15
|
-
-
|
|
16
|
-
- packet 只提供上述材料,评审不沿链接打开被排除的文件。记录实际模型、effort、开图与工具轨迹;packet 生成成功不证明宿主已隔离文件权限。
|
|
15
|
+
- 只提供上述材料,评审不沿链接打开被排除的文件。记录实际模型、effort、开图与工具轨迹;材料清单不等于宿主文件权限隔离。
|
|
17
16
|
|
|
18
17
|
## 评审提示
|
|
19
18
|
|
|
@@ -24,15 +23,15 @@
|
|
|
24
23
|
|
|
25
24
|
材料(只打开这里列出的文件和目录;目标包里指向其他文件的链接,除目标图外都不要打开):
|
|
26
25
|
- 目标包:{路径}(单元、目标图、规范要点、比较口径)
|
|
27
|
-
-
|
|
28
|
-
-
|
|
26
|
+
- 有效截图与交互记录(标明新采集/历史复用/apply 来源):{目录};每张图对应的单元、状态、视口和主题见 {capture.md 路径}
|
|
27
|
+
- 上一轮相关评审结论及按需对照截图:{各单元的目录与 judge.md 路径}(首轮没有)
|
|
29
28
|
- 差分图(可选):{目录}
|
|
30
29
|
|
|
31
|
-
|
|
30
|
+
只对指定的新增/受影响单元及待复核问题所属单元打分,可以给小数;未受影响的已通过单元不重新评分:
|
|
32
31
|
- 布局(0–3):区域结构,主要组件的位置、尺寸、对齐、间距和层级;每个视口下的排布、换行和滚动;有没有溢出、遮挡、截断。
|
|
33
32
|
- 视觉(0–3):配色与用色语义,字体(字族、字号、字重、行高),对比度,图标与图片,圆角、边框和阴影,主题;是否与规范 token 一致。
|
|
34
33
|
- 交互与状态(0–3):主路径能否走通;加载、空、错误、禁用、成功等状态及反馈;悬停、焦点、按下态;键盘操作与焦点可见;表单校验与提示;过渡是否帮助理解。
|
|
35
|
-
- 细节(0–1
|
|
34
|
+
- 细节(0–1):逐处细抠文案、数字与日期格式、图标对齐、像素级间距、截断与省略、多语言。按目标包的比较口径判断,不把无用户影响且无明确规范约束的像素差异升级为必修项。
|
|
36
35
|
|
|
37
36
|
锚点:
|
|
38
37
|
- 3 分:与目标一致,只剩应归入「细节」的微小差异。
|
|
@@ -43,7 +42,7 @@
|
|
|
43
42
|
每个维度用一句话说明为什么不是更高一档。
|
|
44
43
|
|
|
45
44
|
要求:
|
|
46
|
-
1.
|
|
45
|
+
1. 精确列出有目标依据的差距,优先复核旧问题和相关回归;同一截图可支持多条差距,写位置即可。不得每轮新增审美标准;无依据的偏好只列建议。
|
|
47
46
|
2. 每个单元的失分都要能由差距解释:该单元各条差距的「可挽回分」相加,约等于 10 减去单元分,误差不超过 0.5。
|
|
48
47
|
3. 每条差距都要可执行,写清以下内容:
|
|
49
48
|
- 单元与截图中的位置(区域、元素或文字);
|
|
@@ -53,9 +52,9 @@
|
|
|
53
52
|
不要写「看起来廉价」「不够精致」这类话,要说出造成这种观感的具体原因和改法。
|
|
54
53
|
4. 期望在目标图和规范要点里都找不到依据的,单独列为「建议」,不扣分。按目标包的比较口径,忽略示例数据之类的差异。
|
|
55
54
|
5. 需要推倒重做布局、换组件或重做素材时,直说,不要粉饰。目标是做到与目标一致,不要放水。
|
|
56
|
-
6.
|
|
55
|
+
6. 只依据截图与记录下判断,不凭常识、经验或对常见实现的了解去推测界面效果。必要视觉证据缺失时不推断通过或失败;已由实际操作记录覆盖的非视觉事实不强求额外截图,历史复用不冒充新采集。图模糊或看不出必要特征时说明缺什么。
|
|
57
56
|
7. 有上一轮评审时,保持评判尺度一致,但不必维持或提高分数;变差了就给更低的分。逐条给上一轮差距标:已解决、部分解决、仍存在、回归、待核实(看不出)、不再适用。同一问题沿用原编号;新问题用临时编号「新-1」「新-2」……
|
|
58
|
-
8.
|
|
57
|
+
8. 未评单元不补零分或假结论;保留这次输出作为评审原文。结构化整理只可忠实转换并保留原文与转换依据,不能替你补分、改理由或删差距。
|
|
59
58
|
|
|
60
59
|
严重度:
|
|
61
60
|
- P0 阻断:主任务无法完成;内容或数据错误、不可见;必需视口的布局崩坏。
|
|
@@ -64,7 +63,7 @@
|
|
|
64
63
|
- P3 打磨:几乎察觉不到的细微差异。
|
|
65
64
|
|
|
66
65
|
输出:
|
|
67
|
-
1.
|
|
66
|
+
1. 评分表:每个待评单元的四个维度分和单元总分,每个维度附一句理由。
|
|
68
67
|
2. 上一轮差距复核表(首轮省略)。
|
|
69
68
|
3. 差距清单:所有仍未关闭的差距,包括沿用编号的旧差距和新差距。先按严重度、再按可挽回分排序。每条写编号、单元与截图、维度、严重度、现状 → 期望(依据)、修法、可挽回分。
|
|
70
69
|
4. 建议(不扣分)。
|
|
@@ -74,13 +73,13 @@
|
|
|
74
73
|
|
|
75
74
|
## 复核
|
|
76
75
|
|
|
77
|
-
-
|
|
76
|
+
- **完整性**:每个待评单元都有分;继承单元保留原结论及来源,不要求重评;每条差距都有截图位置和依据;可挽回分与失分大致相符;上一轮差距都有复核结果。有缺项时,工具支持续接就让同一位评审补齐;否则只就缺的单元另派一位全新评审。
|
|
78
77
|
- **看不出的格子**:只有评审自己报告看不出时才处理。主 agent 先补采(调整目标包的「采集」节并记录),再派一位全新评审重评涉及的单元。每个单元取总分较低的那位评审的一整组四维分与理由,全部差距取并集,不逐维拼接。补采后仍看不出的,标待核实。
|
|
79
78
|
- **事实抽查**:打开对应截图,核对评审描述的现象。认为评审看错时,只在报告该差距下附核对说明,写清截图里实际看到的事实。
|
|
80
79
|
- **主 agent 不改分、不删差距、不改门槛项,也不因争议换评审重评**。有争议的差距交给修复方核实,下一轮由评审复核。自己发现的额外问题,必须附本轮实拍截图或页面实测结果,才能以「主 agent 核实」为来源列入清单;它们不改分数,是 P0/P1 时计入门槛项。
|
|
81
|
-
-
|
|
80
|
+
- **确认评审**:不因接近门槛自动增加评审;仅用户要求,或有明确且无法由现有事实核实的重大事实争议时追加一次独立确认,说明争议及必要范围;不能为提高分数挑选评审。每个单元保留总分较低那位的一整组评分与理由,差距取并集;同一条旧差距结论不同时,按 回归 > 仍存在 > 部分解决 > 待核实 > 已解决 > 不再适用 取最靠前的一项,任何一位给出未关闭或待核实的结论都优先于关闭结论。去重须有明确编号映射,不丢弃另一位发现的差距。用户要求的确认评审未完成时不得宣告通过。
|
|
82
81
|
- **合并与编号**:主 agent 合并各位评审的结论,把临时编号换成正式编号,按报告合同写入本轮的 `judge.md`。
|
|
83
|
-
-
|
|
82
|
+
- **原文与登记**:每位评审原文分别保存,不由合并文件替代。结构化输入只作忠实转换。发现缺项只能补齐缺项,不能重写已给出的分数与理由或替未评单元造结果。
|
|
84
83
|
|
|
85
84
|
## 来源与有意取舍
|
|
86
85
|
|
|
@@ -91,12 +90,12 @@
|
|
|
91
90
|
为 UI/UX 验收做的调整:
|
|
92
91
|
|
|
93
92
|
- **维度**:换成布局、视觉、交互与状态、细节。交互证据用关键帧和操作记录,不只看静态图。
|
|
94
|
-
- **冻结矩阵与目标指纹**:单元 × 状态 × 视口 ×
|
|
93
|
+
- **冻结矩阵与目标指纹**:单元 × 状态 × 视口 × 主题固定下来,按影响范围同条件增量取证,复用未受影响的证据和结论;全局依赖变化扩大复查,检查回归。期望或目标图一变就重建基线,只改采集步骤则不影响。
|
|
95
94
|
- **取最低分**:多个单元时取最低分作为本轮分数。验收要求每个界面都达标,平均分会掩盖短板。
|
|
96
95
|
- **门槛项**:P0/P1(含机器检查发现的)一票否决,相当于原流程里的帧率门槛。
|
|
97
96
|
- **失分可追溯、编号跨轮稳定**:每一分的扣除都要对应到具体差距,清单完整与否可以核对;「同一差距反复出现」也能直接判定,不靠印象。
|
|
98
97
|
- **无依据只作建议**:找不到依据的期望不扣分,避免评审按个人口味无限挑刺,导致循环收不了尾。
|
|
99
98
|
- **评审信息隔离**:评审只读目标包、截图和上一轮的 `judge.md`。看不到修复者自述、代码、机器检查和门槛,避免确认偏差和朝门槛凑分。
|
|
100
|
-
- **争议不重评**:主 agent
|
|
101
|
-
-
|
|
102
|
-
-
|
|
99
|
+
- **争议不重评**:主 agent 有疑问时只能附核对说明,不能改分、删差距,也不能换一位评审重新打分,杜绝挑评审。补采或确认时的重评,按合同保留有效评审中的较低整组评分。
|
|
100
|
+
- **确认评审**:默认一位评审,分数接近门槛本身不增加评审;P0/P1 门槛和实际证据要求不降低。
|
|
101
|
+
- **停滞分范围,不强制重构**:全局平台期只在低于门槛时判定,单条顽固差距只诊断相关单元。重构后仍满足预警条件,或诊断后继续实际修改仍无效,转为停滞;不强制大改,也不无限重复预警。修复方与评审各执一词、或等待素材和决定的差距,转为待裁定事项交给用户;在用户决定之前一直保持这个状态,其余差距照常推进。只剩待裁定的门槛项挡住通过时,直接交用户裁定。
|