mobile-ai-agents 1.0.31 → 1.0.33
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/cli/index.js
CHANGED
|
@@ -245,6 +245,10 @@ const PLATFORM_SKILLS = {
|
|
|
245
245
|
// Workflows are always installed regardless of platform selection
|
|
246
246
|
const ALL_WORKFLOWS = Object.keys(WORKFLOWS);
|
|
247
247
|
|
|
248
|
+
function workflowCommandName(name) {
|
|
249
|
+
return (AGENTS[name] || SKILLS[name]) ? `${name}-workflow` : name;
|
|
250
|
+
}
|
|
251
|
+
|
|
248
252
|
const PRIMARY_MEMORY_DIR = '.mobile-ai-agents';
|
|
249
253
|
const LEGACY_MEMORY_DIR = '.mobile-agency';
|
|
250
254
|
const MEMORY_DIR = fs.existsSync(path.join(process.cwd(), LEGACY_MEMORY_DIR)) &&
|
|
@@ -881,9 +885,10 @@ async function installForClaude(platforms) {
|
|
|
881
885
|
await Promise.all(ALL_WORKFLOWS.map(async (name) => {
|
|
882
886
|
const meta = WORKFLOWS[name];
|
|
883
887
|
if (!meta) return;
|
|
884
|
-
const
|
|
888
|
+
const commandName = workflowCommandName(name);
|
|
889
|
+
const dest = path.join(CLAUDE_COMMANDS_DIR, `${commandName}.md`);
|
|
885
890
|
await downloadFile(meta.file, [dest]);
|
|
886
|
-
ok(name);
|
|
891
|
+
ok(commandName === name ? name : `${name} → ${commandName}`);
|
|
887
892
|
}));
|
|
888
893
|
|
|
889
894
|
console.log('');
|
|
@@ -923,9 +928,10 @@ async function installForCursor(platforms) {
|
|
|
923
928
|
await Promise.all(ALL_WORKFLOWS.map(async (name) => {
|
|
924
929
|
const meta = WORKFLOWS[name];
|
|
925
930
|
if (!meta) return;
|
|
926
|
-
const
|
|
931
|
+
const commandName = workflowCommandName(name);
|
|
932
|
+
const dest = path.join(rulesDir, `${commandName}.mdc`);
|
|
927
933
|
await downloadFile(meta.file, [dest]);
|
|
928
|
-
ok(name);
|
|
934
|
+
ok(commandName === name ? name : `${name} → ${commandName}`);
|
|
929
935
|
}));
|
|
930
936
|
|
|
931
937
|
console.log('');
|
|
@@ -1181,10 +1187,11 @@ async function cmdAdd(args) {
|
|
|
1181
1187
|
process.exit(1);
|
|
1182
1188
|
}
|
|
1183
1189
|
ensureDir(CLAUDE_COMMANDS_DIR);
|
|
1184
|
-
const
|
|
1190
|
+
const commandName = workflowCommandName(name);
|
|
1191
|
+
const dest = path.join(CLAUDE_COMMANDS_DIR, `${commandName}.md`);
|
|
1185
1192
|
log(`Fetching ${bold(name)} workflow...`);
|
|
1186
1193
|
await downloadFile(meta.file, [dest]);
|
|
1187
|
-
ok(`${
|
|
1194
|
+
ok(`${commandName} → ${dim(dest)}`);
|
|
1188
1195
|
} else {
|
|
1189
1196
|
err(`Unknown type: ${type}. Use 'agent', 'skill', or 'workflow'.`);
|
|
1190
1197
|
process.exit(1);
|
package/package.json
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
Use Mobile MCP to run AI-assisted QA on a real device, emulator, or simulator. This skill turns a feature flow into a repeatable device test plan using screenshots, accessibility snapshots, element inspection, taps, typing, swipes, app install, app launch, and device orientation checks.
|
|
12
12
|
|
|
13
|
-
Mobile MCP is best used after implementation, during APPFORGE Stage 7 Full QA, or before store submission.
|
|
13
|
+
Mobile MCP is best used after implementation, during APPFORGE Stage 7 Full QA, after `/mobile-app-design` reskins, or before store submission.
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
@@ -61,6 +61,30 @@ EDGE_CASES:
|
|
|
61
61
|
<offline, invalid input, rotation, restart, permissions, api errors>
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
+
### Reskin QA Input
|
|
65
|
+
|
|
66
|
+
Use this format when verifying a `/mobile-app-design` redesign or reskin:
|
|
67
|
+
|
|
68
|
+
```text
|
|
69
|
+
COMMAND: /mobile-mcp-qa
|
|
70
|
+
MODE: RESKIN_QA
|
|
71
|
+
PLATFORM: <Android | iOS | Flutter | React Native>
|
|
72
|
+
APP_ID: <Android package name or iOS bundle id>
|
|
73
|
+
BUILD_PATH: <optional apk/ipa/app path>
|
|
74
|
+
DEVICE: <optional target device name>
|
|
75
|
+
SUPPORTED_THEMES: <light | dark | light,dark | custom themes>
|
|
76
|
+
SCREEN_INVENTORY:
|
|
77
|
+
| Screen/State | Decision | Expected Change | Route/Tab |
|
|
78
|
+
|---|---|---|---|
|
|
79
|
+
| <screen + state> | REDESIGN | <layout/hierarchy/state change> | <route/tab> |
|
|
80
|
+
BASELINE_EVIDENCE:
|
|
81
|
+
<before screenshots, screenshot paths, or "capture before from current build">
|
|
82
|
+
EXPECTED_REDESIGN:
|
|
83
|
+
<approved reskin plan, navigation changes, theme changes, and state coverage>
|
|
84
|
+
REGRESSION_RISKS:
|
|
85
|
+
<tab reorder, renamed copy, deep links, dark mode, keyboard, safe area, analytics, etc.>
|
|
86
|
+
```
|
|
87
|
+
|
|
64
88
|
---
|
|
65
89
|
|
|
66
90
|
## Skill Prompt
|
|
@@ -68,6 +92,8 @@ EDGE_CASES:
|
|
|
68
92
|
```text
|
|
69
93
|
Run a Mobile MCP QA pass for the provided mobile app flow.
|
|
70
94
|
|
|
95
|
+
If MODE is RESKIN_QA, run the Reskin QA flow instead of ordinary flow QA.
|
|
96
|
+
|
|
71
97
|
STEP 1 — VERIFY SETUP
|
|
72
98
|
- List available devices.
|
|
73
99
|
- Select the requested device, or choose the first available emulator/simulator.
|
|
@@ -101,7 +127,79 @@ Check:
|
|
|
101
127
|
- App restart preserves required state
|
|
102
128
|
- Offline/API error behavior is user-safe
|
|
103
129
|
|
|
104
|
-
|
|
130
|
+
RESKIN QA FLOW
|
|
131
|
+
Use this flow when MODE is RESKIN_QA or when the user provides a `/mobile-app-design` screen inventory.
|
|
132
|
+
|
|
133
|
+
STEP R1 — VERIFY RESKIN INPUTS
|
|
134
|
+
- Read SCREEN_INVENTORY and EXPECTED_REDESIGN.
|
|
135
|
+
- Preserve each inventory decision exactly: REDESIGN, RESTYLE, or LEAVE.
|
|
136
|
+
- Confirm SUPPORTED_THEMES. If the app supports light and dark, both are required.
|
|
137
|
+
- If baseline screenshots are missing and the current build is already the after build, mark before evidence as missing instead of inventing it.
|
|
138
|
+
|
|
139
|
+
STEP R2 — CAPTURE OR REGISTER BASELINE
|
|
140
|
+
- For each inventory row, attach the provided before screenshot or capture a before screenshot if the baseline build is available.
|
|
141
|
+
- Name evidence predictably: before-<theme>-<screen>-<state>.
|
|
142
|
+
- A screen/state without before evidence is still testable after the edit, but its before/after comparison status is UNVERIFIED.
|
|
143
|
+
|
|
144
|
+
STEP R3 — CAPTURE AFTER STATE
|
|
145
|
+
- Launch the after build.
|
|
146
|
+
- Visit every screen/state in SCREEN_INVENTORY.
|
|
147
|
+
- Capture after screenshots for every supported theme.
|
|
148
|
+
- For loading, empty, error, offline, permission-denied, and success states, use controlled test data, network toggles, permissions, or documented setup steps when available.
|
|
149
|
+
- Name evidence predictably: after-<theme>-<screen>-<state>.
|
|
150
|
+
|
|
151
|
+
STEP R4 — VERIFY STRUCTURAL CHANGE
|
|
152
|
+
For each inventory row:
|
|
153
|
+
- REDESIGN must show layout, hierarchy, grouping, density, information-priority, or state-layout changes. Token-only changes are FAIL.
|
|
154
|
+
- RESTYLE may show token/component updates only, but must have a justification.
|
|
155
|
+
- LEAVE should remain intentionally unchanged except for unavoidable global shell or token updates.
|
|
156
|
+
- Mark missing before or after screenshots as UNVERIFIED.
|
|
157
|
+
|
|
158
|
+
STEP R5 — VERIFY REGRESSIONS
|
|
159
|
+
Check:
|
|
160
|
+
- clipped or overlapping text
|
|
161
|
+
- safe areas, status bar, navigation bar, and notches
|
|
162
|
+
- keyboard avoidance
|
|
163
|
+
- minimum 44pt/48dp touch targets
|
|
164
|
+
- light/dark contrast and invisible text risk
|
|
165
|
+
- tab order, selected state, route names, deep links, and back behavior
|
|
166
|
+
- renamed screen/tab copy across labels, empty states, prompts, and accessibility text
|
|
167
|
+
- loading, empty, error, offline, disabled, permission-denied, and success states
|
|
168
|
+
- orientation when the app supports it
|
|
169
|
+
|
|
170
|
+
STEP R6 — REPORT RESKIN QA
|
|
171
|
+
Return:
|
|
172
|
+
MOBILE MCP RESKIN QA REPORT
|
|
173
|
+
===========================
|
|
174
|
+
Platform:
|
|
175
|
+
Device:
|
|
176
|
+
App:
|
|
177
|
+
Themes:
|
|
178
|
+
Result: PASS | FAIL | PARTIAL | BLOCKED
|
|
179
|
+
|
|
180
|
+
Screen Evidence:
|
|
181
|
+
| Screen/State | Decision | Theme | Before | After | Result |
|
|
182
|
+
|---|---|---|---|---|---|
|
|
183
|
+
|
|
184
|
+
Structural Verification:
|
|
185
|
+
| Screen/State | Decision | Expected Change | Observed Change | Result |
|
|
186
|
+
|---|---|---|---|---|
|
|
187
|
+
|
|
188
|
+
Regression Checks:
|
|
189
|
+
| Check | Screen/State | Result | Evidence |
|
|
190
|
+
|---|---|---|---|
|
|
191
|
+
|
|
192
|
+
Issues:
|
|
193
|
+
| Severity | Screen/State | Issue | Evidence | Fix |
|
|
194
|
+
|---|---|---|---|---|
|
|
195
|
+
|
|
196
|
+
Evidence For PRD Verification:
|
|
197
|
+
- <compact screenshot list and report summary that can be pasted into /prd-verification>
|
|
198
|
+
|
|
199
|
+
Recommended Next Action:
|
|
200
|
+
<single concrete fix or next test>
|
|
201
|
+
|
|
202
|
+
STEP 5 — REPORT ORDINARY FLOW QA
|
|
105
203
|
Return:
|
|
106
204
|
MOBILE MCP QA REPORT
|
|
107
205
|
====================
|
|
@@ -129,6 +227,81 @@ Recommended Next Action:
|
|
|
129
227
|
<single concrete fix or next test>
|
|
130
228
|
```
|
|
131
229
|
|
|
230
|
+
### Reskin QA Example
|
|
231
|
+
|
|
232
|
+
#### Input
|
|
233
|
+
|
|
234
|
+
```text
|
|
235
|
+
COMMAND: /mobile-mcp-qa
|
|
236
|
+
MODE: RESKIN_QA
|
|
237
|
+
PLATFORM: React Native
|
|
238
|
+
APP_ID: com.example.habits
|
|
239
|
+
SUPPORTED_THEMES: light,dark
|
|
240
|
+
SCREEN_INVENTORY:
|
|
241
|
+
| Screen/State | Decision | Expected Change | Route/Tab |
|
|
242
|
+
|---|---|---|---|
|
|
243
|
+
| Today/populated | REDESIGN | grouped morning/afternoon/evening sections | Today |
|
|
244
|
+
| Today/empty | REDESIGN | coaching empty state with primary action | Today |
|
|
245
|
+
| Insights/populated | REDESIGN | KPI strip + weekly chart + compact history | Insights |
|
|
246
|
+
| Settings/default | RESTYLE | tokenized surfaces and clearer typography | Settings |
|
|
247
|
+
BASELINE_EVIDENCE:
|
|
248
|
+
before-light-today-populated.png, before-dark-today-populated.png,
|
|
249
|
+
before-light-insights-populated.png, before-dark-insights-populated.png
|
|
250
|
+
EXPECTED_REDESIGN:
|
|
251
|
+
Tabs reordered to Today, Insights, Coach, Settings. Today and Insights require structural layout changes. Settings is restyle only.
|
|
252
|
+
REGRESSION_RISKS:
|
|
253
|
+
dark mode contrast, renamed Strategy copy, tab selected state, safe areas
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
#### Output
|
|
257
|
+
|
|
258
|
+
```text
|
|
259
|
+
MOBILE MCP RESKIN QA REPORT
|
|
260
|
+
===========================
|
|
261
|
+
Platform: React Native
|
|
262
|
+
Device: iPhone 15 Simulator
|
|
263
|
+
App: com.example.habits
|
|
264
|
+
Themes: light, dark
|
|
265
|
+
Result: FAIL
|
|
266
|
+
|
|
267
|
+
Screen Evidence:
|
|
268
|
+
| Screen/State | Decision | Theme | Before | After | Result |
|
|
269
|
+
|---|---|---|---|---|---|
|
|
270
|
+
| Today/populated | REDESIGN | light | before-light-today | after-light-today | PASS |
|
|
271
|
+
| Today/populated | REDESIGN | dark | before-dark-today | after-dark-today | PASS |
|
|
272
|
+
| Insights/populated | REDESIGN | light | before-light-insights | after-light-insights | PASS |
|
|
273
|
+
| Insights/populated | REDESIGN | dark | before-dark-insights | after-dark-insights | FAIL |
|
|
274
|
+
| Settings/default | RESTYLE | dark | missing | after-dark-settings | UNVERIFIED |
|
|
275
|
+
|
|
276
|
+
Structural Verification:
|
|
277
|
+
| Screen/State | Decision | Expected Change | Observed Change | Result |
|
|
278
|
+
|---|---|---|---|---|
|
|
279
|
+
| Today/populated | REDESIGN | grouped sections | sections visible | PASS |
|
|
280
|
+
| Insights/populated | REDESIGN | KPI + chart + history | chart clipped in dark | FAIL |
|
|
281
|
+
| Settings/default | RESTYLE | token updates | no before evidence | UNVERIFIED |
|
|
282
|
+
|
|
283
|
+
Regression Checks:
|
|
284
|
+
| Check | Screen/State | Result | Evidence |
|
|
285
|
+
|---|---|---|---|
|
|
286
|
+
| Dark contrast | Insights | FAIL | chart label unreadable |
|
|
287
|
+
| Tab selected state | All tabs | PASS | selected indicator moves |
|
|
288
|
+
| Renamed copy | Today | PASS | no stale Strategy copy |
|
|
289
|
+
|
|
290
|
+
Issues:
|
|
291
|
+
| Severity | Screen/State | Issue | Evidence | Fix |
|
|
292
|
+
|---|---|---|---|---|
|
|
293
|
+
| WARNING | Insights/dark | Chart label has low contrast | after-dark-insights | Use onSurface token |
|
|
294
|
+
| INFO | Settings/default | Missing baseline | after-dark-settings | Capture before image next run |
|
|
295
|
+
|
|
296
|
+
Evidence For PRD Verification:
|
|
297
|
+
- Today populated: light/dark before-after PASS.
|
|
298
|
+
- Insights dark: FAIL due chart contrast.
|
|
299
|
+
- Settings: UNVERIFIED because baseline missing.
|
|
300
|
+
|
|
301
|
+
Recommended Next Action:
|
|
302
|
+
Fix Insights dark chart label contrast and rerun Reskin QA for Insights and Settings.
|
|
303
|
+
```
|
|
304
|
+
|
|
132
305
|
---
|
|
133
306
|
|
|
134
307
|
## Example
|
|
@@ -27,6 +27,10 @@ IMPLEMENTATION:
|
|
|
27
27
|
<changed files, relevant source code, repo tree, or diff>
|
|
28
28
|
EVIDENCE:
|
|
29
29
|
<test output, build output, screenshots, Mobile MCP QA report, logs, accessibility report, security report>
|
|
30
|
+
RESKIN_PLAN:
|
|
31
|
+
<optional /mobile-app-design plan with REDESIGN, RESTYLE, and LEAVE screen inventory rows>
|
|
32
|
+
RESKIN_QA:
|
|
33
|
+
<optional /mobile-mcp-qa Reskin QA report, before/after screenshots, state coverage, and theme evidence>
|
|
30
34
|
KNOWN_LIMITATIONS:
|
|
31
35
|
<optional explicit constraints, skipped checks, unavailable device, unavailable backend>
|
|
32
36
|
```
|
|
@@ -45,11 +49,13 @@ Read these inputs in order:
|
|
|
45
49
|
1. PRD.md or product requirements
|
|
46
50
|
2. TASKS.md acceptance criteria
|
|
47
51
|
3. DESIGN.md or design plan
|
|
48
|
-
4.
|
|
49
|
-
5.
|
|
50
|
-
6.
|
|
51
|
-
7.
|
|
52
|
-
8.
|
|
52
|
+
4. /mobile-app-design reskin plan and screen inventory when provided
|
|
53
|
+
5. DEPENDENCIES.md and ROADMAP.md when provided
|
|
54
|
+
6. MOBILE_MEMORY.md or project context when provided
|
|
55
|
+
7. Relevant source code, diff, and file tree
|
|
56
|
+
8. Test/build output
|
|
57
|
+
9. Screenshots, videos, accessibility reports, security reports, or Mobile MCP QA reports
|
|
58
|
+
10. /mobile-mcp-qa Reskin QA report when provided
|
|
53
59
|
|
|
54
60
|
Verification rules:
|
|
55
61
|
|
|
@@ -61,6 +67,10 @@ Verification rules:
|
|
|
61
67
|
- Separate confirmed gaps from assumptions.
|
|
62
68
|
- Do not expand scope beyond the approved PRD unless it creates release risk.
|
|
63
69
|
- Do not mark release-ready if critical requirements, security blockers, crash risks, or required tests are missing.
|
|
70
|
+
- For mobile reskins, compile/build/test success is not UI proof by itself.
|
|
71
|
+
- For mobile reskins, every required screen inventory row needs screenshot, video, or Mobile MCP evidence.
|
|
72
|
+
- Mark missing required reskin evidence as UNVERIFIED, or PARTIAL only when some states/themes are proven.
|
|
73
|
+
- Reject shallow rethemes: a REDESIGN screen fails when it only inherits token, color, font, spacing, or theme changes.
|
|
64
74
|
|
|
65
75
|
Check these areas:
|
|
66
76
|
|
|
@@ -81,17 +91,28 @@ Check these areas:
|
|
|
81
91
|
- Layout, hierarchy, content, states, responsiveness, and accessibility evidence.
|
|
82
92
|
- Screenshot or Mobile MCP evidence when available.
|
|
83
93
|
|
|
84
|
-
4.
|
|
94
|
+
4. MOBILE RESKIN VERIFICATION
|
|
95
|
+
Use this section when RESKIN_PLAN is provided or the scope mentions /mobile-app-design, reskin, redesign, tab reorder, navigation rename, visual refresh, or restyle.
|
|
96
|
+
- Read every screen inventory row and preserve its decision: REDESIGN, RESTYLE, or LEAVE.
|
|
97
|
+
- REDESIGN must show structural change: layout, hierarchy, grouping, density, information architecture, state layout, tab order, or interaction model.
|
|
98
|
+
- RESTYLE must include justification and must not be counted as structurally redesigned.
|
|
99
|
+
- LEAVE must be intentionally out of scope and should not be reported as a missed redesign unless the PRD required it.
|
|
100
|
+
- Compare before/after screenshots or Mobile MCP evidence for each required screen, state, orientation, and light/dark theme listed in the plan.
|
|
101
|
+
- If navigation changed, verify routes, deep links, selected tab state, back behavior, accessibility labels, tests, snapshots, and docs.
|
|
102
|
+
- If tabs or screens were renamed, verify user-facing copy changed consistently in UI, tests, screenshots, and docs.
|
|
103
|
+
- Use per-screen status values: PASS, FAIL, PARTIAL, or UNVERIFIED.
|
|
104
|
+
|
|
105
|
+
5. TEST AND DEVICE EVIDENCE
|
|
85
106
|
- Unit, integration, UI, golden/snapshot, E2E, and manual QA evidence.
|
|
86
107
|
- Build/install/launch proof.
|
|
87
108
|
- Device, emulator, simulator, or Mobile MCP proof when available.
|
|
88
109
|
|
|
89
|
-
|
|
110
|
+
6. SECURITY AND RELEASE BLOCKERS
|
|
90
111
|
- Security audit findings that affect release.
|
|
91
112
|
- Sensitive data, auth, storage, network, permissions, deep links, WebViews, logging, and payment/subscription behavior when relevant.
|
|
92
113
|
- Performance blockers that affect launch readiness.
|
|
93
114
|
|
|
94
|
-
|
|
115
|
+
7. CONTEXT CONTINUITY
|
|
95
116
|
- MOBILE_MEMORY.md or project context reflects the current state.
|
|
96
117
|
- Remaining gaps and next action are captured for future sessions.
|
|
97
118
|
|
|
@@ -127,6 +148,10 @@ UI Match:
|
|
|
127
148
|
| Screen/State | Source | Status | Evidence |
|
|
128
149
|
|---|---|---|---|
|
|
129
150
|
|
|
151
|
+
Mobile Reskin Verification:
|
|
152
|
+
| Screen/State | Decision | Evidence | Status | Reason |
|
|
153
|
+
|---|---|---|---|---|
|
|
154
|
+
|
|
130
155
|
Test And Device Evidence:
|
|
131
156
|
| Check | Status | Evidence |
|
|
132
157
|
|---|---|---|
|
|
@@ -157,7 +182,7 @@ Test Gaps:
|
|
|
157
182
|
- <gap or "None">
|
|
158
183
|
|
|
159
184
|
Release Readiness:
|
|
160
|
-
PASS only if all required PRD items and acceptance criteria are PASS, no critical UI/security/test gaps remain, and unknowns are documented or risk-accepted.
|
|
185
|
+
PASS only if all required PRD items and acceptance criteria are PASS, no critical UI/security/test gaps remain, required reskin evidence is PASS or risk-accepted, and unknowns are documented or risk-accepted.
|
|
161
186
|
|
|
162
187
|
Next Action:
|
|
163
188
|
1. <single highest priority action>
|
|
@@ -299,6 +324,54 @@ Next Action:
|
|
|
299
324
|
|
|
300
325
|
---
|
|
301
326
|
|
|
327
|
+
## Mobile Reskin Example
|
|
328
|
+
|
|
329
|
+
Use this guidance when `/mobile-app-design` produced a reskin plan and `/mobile-mcp-qa` produced device evidence.
|
|
330
|
+
|
|
331
|
+
```text
|
|
332
|
+
RESKIN_PLAN:
|
|
333
|
+
- Home: REDESIGN. Replace feed cards with grouped Today, Progress, and Next Action sections.
|
|
334
|
+
- Profile: RESTYLE. Keep structure, update typography and spacing only.
|
|
335
|
+
- Billing: LEAVE. Out of scope for this release.
|
|
336
|
+
|
|
337
|
+
RESKIN_QA:
|
|
338
|
+
- Mobile MCP Reskin QA has before/after screenshots for Home light and dark.
|
|
339
|
+
- Profile screenshot exists only for light theme.
|
|
340
|
+
- No Billing screenshot because it is marked LEAVE.
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
Expected verification behavior:
|
|
344
|
+
|
|
345
|
+
```text
|
|
346
|
+
Mobile Reskin Verification:
|
|
347
|
+
| Screen/State | Decision | Evidence | Status | Reason |
|
|
348
|
+
|---|---|---|---|---|
|
|
349
|
+
| Home light/dark | REDESIGN | MCP screenshots | PASS | Structure changed |
|
|
350
|
+
| Profile light | RESTYLE | Screenshot | PARTIAL | Dark missing |
|
|
351
|
+
| Billing | LEAVE | Plan row | PASS | Out of scope |
|
|
352
|
+
|
|
353
|
+
Verification Details:
|
|
354
|
+
### UI-001 — Home redesign is proven
|
|
355
|
+
- Source: /mobile-app-design RESKIN_PLAN.
|
|
356
|
+
- Evidence: /mobile-mcp-qa before/after screenshots show new grouped sections.
|
|
357
|
+
- Status: PASS.
|
|
358
|
+
- Confirmed gap: None.
|
|
359
|
+
- Assumption: None.
|
|
360
|
+
- Required fix: None.
|
|
361
|
+
|
|
362
|
+
### UI-002 — Profile restyle has incomplete evidence
|
|
363
|
+
- Source: /mobile-app-design RESKIN_PLAN.
|
|
364
|
+
- Evidence: Only light theme screenshot was provided.
|
|
365
|
+
- Status: PARTIAL.
|
|
366
|
+
- Confirmed gap: Dark theme evidence is missing.
|
|
367
|
+
- Assumption: Profile was intentionally restyled, not redesigned.
|
|
368
|
+
- Required fix: Capture Profile dark theme screenshot or risk-accept the gap.
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
If Home only changed colors, fonts, or tokens, mark it FAIL because a REDESIGN requires structural proof.
|
|
372
|
+
|
|
373
|
+
---
|
|
374
|
+
|
|
302
375
|
## Composition Example
|
|
303
376
|
|
|
304
377
|
```text
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Workflow — Mobile MCP QA
|
|
2
2
|
|
|
3
3
|
**Type:** Device automation QA
|
|
4
|
+
**Slash Command:** `/mobile-mcp-qa-workflow` when installed alongside the `/mobile-mcp-qa` skill
|
|
4
5
|
**Agents Used:** APPFORGE, AXIOM / SWIFT / DART / BRIDGE, CRASHER, PERF, Mobile Memory
|
|
5
6
|
**Skills Used:** /mobile-mcp-qa, /accessibility-audit, /perf-audit, /mobile-memory-save
|
|
6
7
|
|